DSP應(yīng)用系統(tǒng)中的硬件接口電路設(shè)計(jì)
關(guān)鍵詞:DSP硬件接口電路電平變換
數(shù)字信號處理(Digital Signal Processing ,DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科,自DSP芯片誕生的二十多年來,其在控制、通信等領(lǐng)域得到了廣泛的發(fā)展。在眾多的DSP器件中,以TI公司的DSP應(yīng)用最為廣泛,本文以TI DSP為例介紹系統(tǒng)接口電路的設(shè)計(jì)。一個(gè)完整地DSP控制系統(tǒng)的硬件接口電路一般包括電平變換電路、仿真器接口JTAG電路、以及可擴(kuò)展的硬件接口(如A/D、D/A、SRAM等)電路,而這些硬件接口電路是DSP系統(tǒng)工作的基礎(chǔ)。
一、電平變換接口設(shè)計(jì):
DSP系統(tǒng)是一個(gè)混合電壓系統(tǒng),存在著5V/3.3V混合供電現(xiàn)象:DSP芯片的I/O供電電壓一般是3.3V,而外圍芯片工作電壓為5V,如EPROM、SRAM、A/D器件等。通常它們之間是不能直接相連的,設(shè)計(jì)中必須進(jìn)行電平變換。
1、 在混合電壓系統(tǒng)中,不同電源電壓的邏輯器件接口時(shí)存在的問題
(1)加到輸入和輸出引腳上允許的最大電壓限制問題。器件對加到輸入或者輸出引腳上的電壓通常是有限制的。這些引腳上一般有二極管或者分離元件接到電源。如果接入的電壓過高,則電流將會通過二極管或者分離元件流向電源。例如I/O為3.3V供電的DSP,其輸入電平不允許超過電源電壓3.3V,而5V器件輸出信號高電平可達(dá)4.4V,它會向3.3V電源充電,持續(xù)的電流將會損壞二極管和其它電路元件。
(2)兩個(gè)電源間電流的互串問題。在等待或者掉電方式時(shí),3.3V電源降到OV,大電流將流通到地,這使得總線上的高電壓被下拉到地,這些情況將引起數(shù)據(jù)丟失和元件損壞。必須注意的是:不管在3.3V的工作狀態(tài)還是在OV的等待狀態(tài)都不允許電流流向電源。
(3)接口輸入轉(zhuǎn)換門限問題。5V器件和3.3V器件的接口有很多情況,同樣TTL和CMOS間的電平轉(zhuǎn)換也存在著不同情況。驅(qū)動器必須滿足接收器的輸入轉(zhuǎn)換電平,并且要有足夠的容限以保證不損壞電路元件。而輸出電平一般無需變換。
2、 在混合電壓系統(tǒng)中,必須處理的信號電平配置
(1)5V TTL器件輸出驅(qū)動3.3V TTL器件(LVC)輸入。通常5V TTL器件可以驅(qū)動3.3V TTL器件的輸入,因?yàn)榈湫碗p極性晶體管的輸出并不能達(dá)到電源電壓幅度。當(dāng)一個(gè)5V器件的輸出為高電平時(shí),內(nèi)部壓降限制了輸出電壓,典型情況是VCC-2VBE,即約為3.6V,這樣工作通常不會引起5V電源的電流流向3.3V電源。但是因?yàn)轵?qū)動器結(jié)構(gòu)會有所不同,所以必須控制驅(qū)動器的輸出不宜超過3.6V,以防萬一。
(2)3.3V TTL器件輸出驅(qū)動5V TTL器件輸入。由于二者的電平轉(zhuǎn)換標(biāo)準(zhǔn)是一樣的,因此不需要額外的器件就可將兩者直接相連。只要3.3V器件的VOH和VOL電平分別是2.4V和0.4V,5V器件就可將輸入讀為有效電平,因?yàn)樗腣IH和VIL電平分別是2V和0.8V。
(3)5V CMOS器件輸出驅(qū)動3.3V TTL器件輸入。顯然二者的轉(zhuǎn)換電平是不一樣的,但二者雖存在一定的差別,若設(shè)計(jì)時(shí)使用能夠承受5V 電壓的3.3V TTL器件,則5V器件的輸出是可以直接與3.3V器件的輸入端接口的。
(4)3V輸出驅(qū)動5V CMOS輸入。二者的轉(zhuǎn)換電平標(biāo)準(zhǔn)是不一樣的,3.3V器件輸出的高電平最高值是3.3V,而5V CMOS器件要求的高電平最低值是3.5V,因此3.3V器件的輸出不能直接與5V CMOS器件的輸入相接,這種情況下就需要用雙電壓(一邊是3.3V供電,另一邊是5V供電)供電的驅(qū)動器,如使用TI總線收發(fā)器SN74LVTH245A(8位)、SN74LVTH16245A(16位)等。圖1給出了利用總線收發(fā)器SN74LVTH245A的3.3V DSP芯片與5V EPROM的連接。
圖1
另外電平轉(zhuǎn)換還可用以下器件:
(1)使用總線開關(guān)。主要應(yīng)用于McBSP(Multichannel Buffered Serial Port)多通道緩沖性串行接口等外設(shè)信號的電平轉(zhuǎn)換,5V供電。常用器件:SNCBTD3384(10位),SN74CBTD16210(20位)
(2)使用2選1切換器。實(shí)現(xiàn)2選1,4.1V供電,主要適用于多路切換信號的電平轉(zhuǎn)換,如雙路復(fù)用的McBSP信號的電平轉(zhuǎn)換等,常用器件為SN74CBT3257(4位)、SN74CBT16292(12位)
(3)使用CPLD器件??梢酝ㄟ^雙電壓工作的CPLD可編程器件實(shí)現(xiàn)電平之間的轉(zhuǎn)化,如Altera公司的MAX7000S系列器件等。
二、DSP與JTAG接口設(shè)計(jì):
同單片機(jī)控制系統(tǒng)一樣,DSP應(yīng)用系統(tǒng)也必須具有與仿真器連接的標(biāo)準(zhǔn)接口,通過這個(gè)接口用戶可以通過PC機(jī)進(jìn)行調(diào)試、下載應(yīng)用軟件到指定的應(yīng)用板上。圖2給出了DSP系統(tǒng)的JTAG接口與應(yīng)用板中DSP芯片連接的原理圖。在圖中給出的是TI公司的IEEE1149.1標(biāo)準(zhǔn)的通用JTAG接口,其引腳的定義的順序不同于一般的集成芯片的順序,是從上到下、左右交替排列。JTAG引腳的功能定義如下:
EMU0: EMU0引腳,需要接3.3V上拉電阻。
EMU1: EMU1引腳,需要接3.3V上拉電阻。
GND:地。
PD(VCC):此引腳必須連接到DSP應(yīng)用板的+5V電源端。
TCK:測試時(shí)鐘引腳,該信號來自于仿真器。
TCK_RET: 測試時(shí)鐘返回引腳。
TDI:測試數(shù)據(jù)輸入引腳。
TDO:測試數(shù)據(jù)輸出引腳。
TMS:測試模式選擇引腳。
:測試復(fù)位引腳。
三、DSP的A/D、D/A接口設(shè)計(jì):
DSP與外部模擬信號的接口主要包括A/D、D/A兩大部分,而TI DSP內(nèi)部大多已包含了A/D轉(zhuǎn)換模塊,所以在這里只介紹外擴(kuò)D/A轉(zhuǎn)換接口。
1、通過DSP片內(nèi)SPI(串行外設(shè)接口)實(shí)現(xiàn)串行D/A接口
由于DSP內(nèi)部包含有串行外設(shè)接口SPI模塊,SPI 是同步串行外圍接口,它允許1~8 位的串行比特流以特定的傳輸速率移進(jìn)移出芯片,主要用于與各種外圍器件進(jìn)行通訊,這些外圍器件可以是簡單的TTL移位寄存器或是復(fù)雜的LCD顯示驅(qū)動器或A/D、D/A轉(zhuǎn)換子系統(tǒng)。SPI 接口很容易與許多廠家的各種外圍器件直接相連。其中,MAX5120/5121是適合于SPI通信的D/A轉(zhuǎn)換芯片。它是Maxim 公司生產(chǎn)的12位,具有兩級輸入緩沖區(qū):輸入寄存器和DAC寄存器。SPI總線上接收到的數(shù)據(jù)位首先進(jìn)入到16位的移位寄存器,然后進(jìn)入輸入寄存器和DAC寄存器進(jìn)行D/A轉(zhuǎn)換。
MAX5120/5121與DSP的SPI接口連接進(jìn)行DAC轉(zhuǎn)換的電路如圖3所示,其中DSP設(shè)置為主機(jī)工作模式,MAX5120/5121設(shè)置為從機(jī)模式。工作時(shí),通過SCLK引腳接收外來時(shí)鐘驅(qū)動,在此時(shí)鐘下,從DIN引腳接收串行數(shù)據(jù)到移位寄存器中,并進(jìn)行D/A轉(zhuǎn)換,在OUT引腳輸出模擬信號。圖中,當(dāng)開關(guān)S閉合到S1端時(shí),為雙極性輸出;當(dāng)開關(guān)S閉合到S2端時(shí),為單極性輸出。
2、DSP并行D/A接口
DSP對并行D/A接口芯片的訪問形式是只寫不讀,下面介紹DSP與AD7837的接口方法。如圖4所示電路,AD7837為12位D/A轉(zhuǎn)換器,對每個(gè)內(nèi)部轉(zhuǎn)換器(A或B)來講,完成一次D/A轉(zhuǎn)換操作的過程是:首先將待轉(zhuǎn)換的低8位數(shù)據(jù)送到AD7837,然后再寫高4位,最后通過I/O引腳輸出一個(gè)轉(zhuǎn)換鎖存信號到AD7837的引腳,從而啟動D/A轉(zhuǎn)換。地址信號A0和A1用來決定AD7837中的A或B轉(zhuǎn)換器中的哪一個(gè)。
四、DSP與SRAM接口設(shè)計(jì):
SRAM時(shí)DSP最常用的外圍存儲設(shè)備,它具有接口簡單、讀寫速度快等優(yōu)點(diǎn),常用的SRAM芯片有IDT7128、CY7C1024、CY7C1021等。圖5給出了CY7C1021與DSP的接口電路。
CY7C1021是高性能、16位、CMOS靜態(tài)RAM,對其基本操作有兩種:使能的同時(shí)進(jìn)行讀或?qū)憽.?dāng)輸入信號 和 同時(shí)為低電平時(shí),寫選通該芯片。當(dāng)?shù)妥止?jié)使能位BLE變低時(shí),選通低8位數(shù)據(jù)端口,即來自I/O引腳I/O1~I(xiàn)/O8的數(shù)據(jù)被寫入到地址引腳A0~A15所指定的位置;當(dāng)BHE變低時(shí),選通高8位數(shù)據(jù)端口,即來自I/O引腳I/O9~I(xiàn)/O16的數(shù)據(jù)被寫入到地址引腳A0~A15所指定的位置。
當(dāng)輸入信號 和 為低電平時(shí),同時(shí)迫使 變?yōu)楦唠娖綍r(shí),讀選通該芯片。當(dāng)?shù)妥止?jié)使能位 變低時(shí),存儲器中指定位置中的數(shù)據(jù)將出現(xiàn)在I/O引腳I/O1~I(xiàn)/O8上;如果當(dāng)高字節(jié)使能位 變低時(shí),選通高8位數(shù)據(jù)端口,存儲器中指定位置中的數(shù)據(jù)將出現(xiàn)在I/O引腳I/O9~I(xiàn)/O16上。
從電路可知,每次讀、寫操作的是整個(gè)16位數(shù)據(jù),不分高低字節(jié)。通過譯碼器電路將64KB的SRAM空間分為兩個(gè)地址區(qū)間(由地址的最高位A15的值決定),即數(shù)據(jù)區(qū)和程序區(qū),具體區(qū)間的劃分由用戶的譯碼方法決定,DSP可方便的對CY7C1021進(jìn)行讀寫操作。
五、要注意接口電路設(shè)計(jì)時(shí)的時(shí)序問題
時(shí)序問題是任何數(shù)字電路設(shè)計(jì)所必須重視的問題。在低速數(shù)字系統(tǒng)設(shè)計(jì)中要著重解決的問題為時(shí)序的邏輯性是否正確,而在高速數(shù)字系統(tǒng)設(shè)計(jì)中除了要解決時(shí)序邏輯性問題外,還要著重解決時(shí)序的時(shí)延性問題。為保證DSP在規(guī)定的時(shí)間內(nèi)正確讀/寫外部擴(kuò)展器件,首先要選用高速器件,要求擴(kuò)展器件的讀/寫周期小于DSP的機(jī)器周期的60%,否則要插等待周期,但這樣DSP的高速特性就不能得到充分發(fā)揮。其次,要求擴(kuò)展器件的總線接口電路的時(shí)延盡量小,否則需要另外插入等待周期。解決此問題的方法是盡量采用高速接口器件和單級接口電路。另外,在設(shè)計(jì)時(shí)一般還要用CPLD實(shí)現(xiàn)一些特殊的邏輯:如用來控制外設(shè)的驅(qū)動時(shí)鐘、各種同步控制時(shí)鐘(A/D轉(zhuǎn)換、數(shù)字信號存?。┮约按鎯ζ鞯刂返漠a(chǎn)生等。使用CPLD實(shí)現(xiàn),具有明顯的優(yōu)點(diǎn):它可使時(shí)序關(guān)系整齊,延遲一致,易于修改,并且具有高集成、高可靠性。
六、結(jié)論
具體的DSP應(yīng)用系統(tǒng)接口電路的設(shè)計(jì),可能在性能指標(biāo)、器件選取、外圍電路設(shè)計(jì)等方面會有所不同,所以在設(shè)計(jì)DSP應(yīng)用系統(tǒng)接口電路時(shí),一定要根據(jù)具體情況綜合考慮,仔細(xì)選取器件,合理布局布線,精心設(shè)計(jì)電路,才能達(dá)到理想的設(shè)計(jì)效果。
本文作者創(chuàng)新點(diǎn): 給出了DSP應(yīng)用系統(tǒng)的硬件接口電路的設(shè)計(jì)方法,介紹了接口電路在設(shè)計(jì)時(shí)須注意的幾個(gè)問題
六、參考文獻(xiàn):
[1] TMS320 DSP Designer’s Notebook: Volume1,Texas Instruments, 2001.
[2] Texas Instruments,TMS320C54xx DSP CPU and Peripherals Reference,1999.
[3] 張雄偉 陳亮 徐光輝, DSP芯片的原理與開發(fā)應(yīng)用(第3版),北京, 電子工業(yè)出版社, 2003.2.
[4] 徐文;王峻峰。基于DSP和AD7846的高精度控制系統(tǒng)。微計(jì)算機(jī)信息,2006 年第 17 期
評論