基于VK3366 的DSP 異步串行通信的設(shè)計
0 引言
隨著數(shù)字信號處理技術(shù)和集成電路技術(shù)的不斷發(fā)展,數(shù)字信號處理器的可靠性也越來越高,應(yīng)用亦越來越廣。在DSP應(yīng)用系統(tǒng)中通常需要由DSP接受上位機的控制信號或進行下位機通信,最常見的方式是采用異步串行接口RS 232或RS4 22來實現(xiàn)。本文的信號采集模塊采用TMS320C6713B 芯片為例,但沒有集成UART接口,因此進行擴展異步串口通訊芯片或者配置McBSP以實現(xiàn)與其他串行設(shè)備高速異步通信。本文選擇異步串口擴展芯片VK3366進行擴展。
1 數(shù)據(jù)采集硬件系統(tǒng)設(shè)計
數(shù)據(jù)采集電路系統(tǒng)主要包括:數(shù)據(jù)信號處理TMS320C6713B 子系統(tǒng)、AIC32 音頻采集電路子系統(tǒng)和異步串口擴展芯片VK3366系統(tǒng)等,其邏輯框圖如圖1所示。音頻采集電路子系統(tǒng)負(fù)責(zé)采集外部語音信號,數(shù)字信號處理器TMS320C6713B子系統(tǒng)進行采集數(shù)據(jù)的信號處理,VK3366子系統(tǒng)負(fù)責(zé)系統(tǒng)接口擴展進行數(shù)據(jù)傳輸。
1.1 數(shù)字信號處理器子系統(tǒng)
TMS320C6713B(簡稱C6713)是美國德州儀器公司(TI)推出一款32位浮點型高速數(shù)字處理器DSP,它可在300 MHz的時鐘頻率下實現(xiàn)1 800 MIPS/2 400 MFLOPS的定點和浮點運算,極大滿足了高速數(shù)據(jù)采集與實時控制系統(tǒng)對信號處理速度的要求。采用2級Cache結(jié)構(gòu),片上共有264K×8 b存儲器。C6713的具有豐富的片上外設(shè)設(shè)備,已經(jīng)在圖像處理、數(shù)字信號處理以及自動控制等領(lǐng)域得到了廣泛的應(yīng)用。McASP接口可以外擴音頻芯片,32 b的外部存儲器接口(EMIF)可以外接異步設(shè)備、外擴存儲器設(shè)備,并可尋址512 MB的片外存儲空間,豐富的外設(shè)接口滿足本次設(shè)計的要求。
1.2 UART芯片VK3366基本特性
異步串口擴展芯片VK3366 是成都維肯科技研制的業(yè)界首款具備I2C/UART/SPI/8 位并行總線接口的4 通道UART擴展器件,該芯片在通信系統(tǒng)等實時性要求較高場合有良好的應(yīng)用效果。其擴展子通道的UART具備以下功能特點:每個子通道UART的波特率、字長、校驗格式進行獨立設(shè)置,最高提供1 Mb/s的通信速率。每個子通道獨立設(shè)置工作模式,包括IrDA 紅外通信、RS 485自動收發(fā)控制、9位網(wǎng)絡(luò)地址自動識別、軟件/硬件自動流量控制和廣播接收等高級工作模式。每個子通道具備收/發(fā)獨立的16 BYTE FIFO,FIFO的中斷為4級可編程條件觸發(fā)點。提供一個子通道的調(diào)制解調(diào)器控制信號。無需采用地址線控制串口擴展方式,而是通過芯片內(nèi)置的協(xié)議處理器實現(xiàn)多串口擴展,以減少C6713通用I/O 的使用個數(shù),降低系統(tǒng)布線難度。本次設(shè)計通過模式選擇使VK3366實現(xiàn)一個8位并行數(shù)據(jù)總線與4 通道UART 串行總線數(shù)據(jù)通信相互轉(zhuǎn)換的功能。
1.3 VK3366的通信接口硬件設(shè)計
數(shù)據(jù)采集電路模塊中C6713B的2路SPI、I2C接口都已經(jīng)被其他接口使用,因此選擇C6713 的外部存儲器(EMIF)接口來實現(xiàn)4 通道UART 串行總線數(shù)據(jù)擴展。
C6713的32位EMIF接口用于擴展外圍異步設(shè)備,EMIF接口包括數(shù)據(jù)線、地址線、讀/寫控制信號、片選空間等。C6713 上EMIF 共提供4 個外設(shè)片選空間CE[3:0].
UART 芯片VK3366 采用3.3 V 電源供電,使VK3366 與C6713B的EMIF直接連接,無需連接額外的電平轉(zhuǎn)化芯片,節(jié)約了空間。VK3366 選通信號CS 與C6713B 的CE3 直接相連,讀/寫信號WR,RD 與C6713B 的ARE,AWE 直接相連,從而將系統(tǒng)中地址0xB0000000~0xBFFFFFFF 分配給VK3366 芯片,以便按照統(tǒng)一編址來讀/寫VK3366的寄存器了。
VK3366的M0,M1引腳分別接高電平和地[1:0],即將VK3366 的主接口設(shè)置成8 位并行數(shù)據(jù)總線模式與4 通道UART串行總線數(shù)據(jù)通信模式相互轉(zhuǎn)換的工作模式。復(fù)位引腳通過上拉電阻接到3.3 V電源上,平時保持該引腳工作高電平。為了保證復(fù)位的可靠性,復(fù)位信號時間要保持20 ms以上。中斷引腳通過上拉電阻接到3.3 V電源上保持高電平,當(dāng)全局中斷產(chǎn)生,引腳信號變成低電平。VK3366的中斷信號引腳與C6713的INT5相連。
VK3366的8位并口命令和數(shù)據(jù)是共用8位地址總線,通過其A0(數(shù)據(jù)/控制)信號引腳進行切換。4 個子通道的選擇通過命令字控制,在系統(tǒng)中僅占用2個地址空間,無需額外的通道指示信號線。本文設(shè)計電路中使用C6713的通用I/O口GP11引腳與VK336的A0引腳相連來進行數(shù)據(jù)/地址的控制選擇。VK3366 擴展模塊采用11.059 2 MHz晶體振蕩器。VK3366的4個子串口分別與語音模塊、GPS定位模塊、無線通訊模塊和手持顯示設(shè)備相連,具體模塊電路連接如圖2所示。
2 VK3366 異步通信軟件設(shè)計
VK3366異步通信軟件設(shè)計主要包括DSP 初始化、主函數(shù)、VK3366初始化和數(shù)據(jù)發(fā)送/接收等部分。C語言作為一種高級語言,具有清晰易懂、可維護性和可移植性好、通用性強等優(yōu)點,尤其對算法的編寫更加容易,因此本文在TI公司CCS 3.3編譯環(huán)境下采用C語言進行軟件設(shè)計。
2.1 DSP初始化
C6713 上電后,首先要對DSP 的EMIF 進行配置。
本設(shè)計將CE3作為VK3366的片選,代碼如下:
*(int *)EMIF_CE3 = 0xffffff03;
即設(shè)置CE3部分為8位數(shù)據(jù)格式擴展,然后配置鎖相環(huán)PLL 寄存器,從而在不同部分產(chǎn)生不同時鐘,如DSP內(nèi)核、內(nèi)部外圍控制和外部存儲器接口等。[!--empirenews.page--]
2.2 VK3366初始化
VK3366初始化主要包括以下兩部分:
(1)VK3366復(fù)位
VK3366為低電平復(fù)位,復(fù)位時或復(fù)位后,各子串口處于禁止收發(fā)狀態(tài)。VK3366的復(fù)位過程是通過上電后外接阻容來實現(xiàn)的。
(2)子串口配置
C6713B首先通過GP11口來選擇寄存器地址,然后通過接口全局控制寄存器對VK3366 進行配置。
VK3366 的寄存器為6 位地址編號,地址000000~111111,其中有7 個全局寄存器、10 個子串口寄存器。
為了實現(xiàn)DSPTMS320c6713 對VK3366 的準(zhǔn)確控制,應(yīng)配置VK3366相應(yīng)寄存器。同時要嚴(yán)格按照VK3366的寫時序,如圖3所示。讀時序如圖4所示。
具體代碼如下:
實際信號處理卡電路板如圖5所示。
3 結(jié)語
本文主要闡述了基于異步串口芯片VK3366 擴展C6713 的串口理卡中的設(shè)計與實現(xiàn)。使用C 語言編寫VK3366的驅(qū)動程序,在CCS3.3編譯器上通過編譯,實現(xiàn)了C6713的串口擴展。本設(shè)計已在實際項目中得到應(yīng)用,為DSP擴展串口通信提供了一種新的傳輸方式和途徑。