新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320C30與A/D和D/A接口的設(shè)計(jì)

TMS320C30與A/D和D/A接口的設(shè)計(jì)

作者: 時(shí)間:2009-03-11 來源:網(wǎng)絡(luò) 收藏

MAX153 和MX7545 是美國(guó)MAXIM 公司近幾年推出的8位轉(zhuǎn)換器和12位 轉(zhuǎn)換器。MAX153具有高達(dá)1MSPS的采樣率,MX7545具有4MSPS的數(shù)/模轉(zhuǎn)換速度。它們集跟蹤/保持器于一體,因而由它們構(gòu)成的數(shù)據(jù)采集和波形產(chǎn)生電路結(jié)構(gòu)較為簡(jiǎn)單。與其它同類產(chǎn)品相比,具有性能/價(jià)格比高的優(yōu)點(diǎn),故在高速數(shù)據(jù)采集、數(shù)字信號(hào)處理及可變?cè)鲆娣糯笃鞯葎?dòng)態(tài)性能要求比較高的系統(tǒng)中,用它們作為數(shù)據(jù)采集和波形產(chǎn)生器件或控制信號(hào)的產(chǎn)生器件十分理想。MAX153和MX7545可以很容易地與一般的微處理器,而不需要過多地考慮時(shí)序問題。然而,當(dāng)它們同時(shí)與高速數(shù)字信號(hào)處理器()時(shí),就需要從軟硬件的上仔細(xì)考慮時(shí)序問題和其它問題。下面先簡(jiǎn)單介紹一下MAX153和MX7545 的工作模式,隨后以它們與數(shù)字信號(hào)處理器的為例,詳細(xì)介紹其接口的軟硬件方法。

本文引用地址:http://butianyuan.cn/article/173870.htm

1 MAX153的工作模式

根據(jù)MODE管腳上信號(hào)的不同,MAX153有兩種不同的工作模式。當(dāng)MODE接地(0V)時(shí),轉(zhuǎn)換器處于RD工作模式;當(dāng)MODE接高電平(+5V)時(shí),轉(zhuǎn)換器處于WR-RD工作模式。限于篇幅,下面將只介紹WR-RD工作模式。

從圖1可以看出,轉(zhuǎn)換器在的下降沿開始啟動(dòng),當(dāng)變高時(shí),高4位的數(shù)據(jù)已轉(zhuǎn)換完畢且已送到輸出緩沖器,同時(shí)低4位數(shù)據(jù)開始轉(zhuǎn)換,380ns后變低,表明低四位數(shù)據(jù)轉(zhuǎn)換也已完成。數(shù)據(jù)的讀取有兩種方式,這里僅介紹最快工作模式下的數(shù)據(jù)讀取方式。

圖1所示的是由外部信號(hào)控制的轉(zhuǎn)換時(shí)序圖。在這種讀取數(shù)據(jù)的模式中,號(hào)提前有效,可以獲得最快的轉(zhuǎn)換時(shí)間。一般的上升沿250ns后變?yōu)榈?就可以完成轉(zhuǎn)換獲得數(shù)據(jù)。的下降沿變?yōu)榈?之后,隨著的上升沿而變?yōu)楦摺?


2 MX7545的工作模式

與一般的轉(zhuǎn)換器一樣,MX7545也有電流和電壓兩種工作模式。其中,電流工作模式又分為單極性和雙極性兩種,這里只介紹單極性電流工作模式。不論是電流工作模式還是電壓工作模式,MX7545的工作時(shí)序是一樣的,如圖2所示。其中,MX7545在一個(gè)轉(zhuǎn)換周期內(nèi),片選信號(hào)有效時(shí)間tcs需要180ns,寫信號(hào)的有效時(shí)間tWR需要160ns。

3 硬件接口

根據(jù)汽車防撞雷達(dá)系統(tǒng)的要求,在發(fā)送三角波調(diào)頻信號(hào)的同時(shí)需采集雷達(dá)的回波信號(hào)。由于系統(tǒng)資源的限制,我們把同時(shí)配置在的擴(kuò)展總線上。是TI公司的通用芯片,有很強(qiáng)的浮點(diǎn)/定點(diǎn)數(shù)據(jù)運(yùn)算能力和很高的處理速度,特別適合于實(shí)時(shí)數(shù)據(jù)采集及運(yùn)算處理(如FFT,FIR,IIR濾波等)。圖3是該接口的硬件連接圖。圖中,XA[8~10]為擴(kuò)展總線的地址線中的3條,經(jīng)過譯碼器(74LS138)譯碼后,其輸出Y1、Y2分別接到MX7545和MAX153的片選信號(hào)()端,分別作為他們的片選信號(hào)。RD/WR為TMS320C30擴(kuò)展總線的讀寫控制信號(hào),為擴(kuò)展總線的選通脈沖,XD[0~11]為擴(kuò)展總線的數(shù)據(jù)總線。和D/A的讀寫信號(hào)由的擴(kuò)展總線的讀寫信號(hào)和選通信號(hào)來決定,它們的關(guān)系可由下式表示:

當(dāng)A/D工作時(shí),Y2尋址選中MAX153。DSP的寫信號(hào)有效時(shí),A/D轉(zhuǎn)換啟動(dòng);DSP的讀信號(hào)有效時(shí), A/D輸出數(shù)據(jù)。當(dāng)D/A工作時(shí),Y1尋址使MX7545有效。DSP的寫信號(hào)有效時(shí),D/A轉(zhuǎn)換啟動(dòng)。MAX153工作于最快的轉(zhuǎn)換方式,口地址是804200;MX7545工作于通用的單極性電流工作模式,口地址是804100。從圖中可以看出,其硬件電路是較為簡(jiǎn)單的。

4 時(shí)序的配合和程序的編制

下面將介紹D/A在通用電流工作模式下和A/D在最快工作模式下與TMS320C30 DSP接口的時(shí)序配合問題。

4.1 時(shí)序配合問題

從系統(tǒng)硬件電路的接法和工作時(shí)序上,可以分析“啟動(dòng)轉(zhuǎn)換”和“讀取數(shù)據(jù)”的。一個(gè)假寫操作便可使A/D的/WR有效,即可啟動(dòng)轉(zhuǎn)換。就DSP的擴(kuò)展總線的信號(hào)線選通的端口而言,讀寫都需兩個(gè)時(shí)鐘周期。當(dāng)DSP采用33.3MHz的時(shí)鐘時(shí),每個(gè)時(shí)鐘周期H1為60ns(即主時(shí)鐘的二分頻)。從圖1可見,啟動(dòng)轉(zhuǎn)換時(shí)間tWR的最小需要250ns,故需要插入總線等待周期。若插入4個(gè)等待周期,此時(shí)tWR為60×5=300ns,除去高速譯碼器的傳輸延遲17ns,實(shí)際WR的脈沖寬度遠(yuǎn)大于MAX153所規(guī)定的tWR的最小脈寬250ns,因而啟動(dòng)A/D轉(zhuǎn)換是可靠的。

由圖1可知,MAX153要求的轉(zhuǎn)換時(shí)間tRD須大于250ns,故這里需要加入300ns的延遲時(shí)間,此時(shí)讀取A/D轉(zhuǎn)換的數(shù)據(jù)也是可靠的。接著讀取并轉(zhuǎn)移A/D數(shù)據(jù),然后向D/A送數(shù)據(jù)。從圖2可以看出,tCS至少需要180ns,tWR至少需要160ns,故設(shè)置4個(gè)總線等待周期也是完全可以滿足要求的。

4.2 匯編程序編寫

由于此電路用于汽車防撞雷達(dá)信號(hào)的采集和處理系統(tǒng)中,故此電路應(yīng)完成的功能是:在發(fā)送雷達(dá)所需的三角波的同時(shí)采集雷達(dá)的回波信號(hào),即二者須同時(shí)完成。具體程序如下:

SECT ″INIT″

.TEXT

BR INIT

INIT LDP 0,DP ;設(shè)置頁(yè)指針

LDI 1800H,ST ;禁止全局中斷

LDI @STCK,SP ;設(shè)置系統(tǒng)堆棧指針

LDI @CTRL,AR0 ;設(shè)置寄存器首址

LDI @PRIMARY,R0 ;主總線上存儲(chǔ)器處于0等待狀態(tài)

STI R0,*+AR0(100)

LDI @SECONDARY,R0 ;擴(kuò)展總線等待4個(gè)總線周期

STI R0,*+AR0(96)

LDI @DADAT,AR0 ;設(shè)置存儲(chǔ)D/A數(shù)據(jù)的地址

LDI 0H,R0

LDI @STEP,R1 ;設(shè)置增加步長(zhǎng)

LDI @LEH1,RC ;設(shè)置三角波上升沿的點(diǎn)數(shù)

RPTB LODUP ;裝載要發(fā)送的D/A上升沿?cái)?shù)據(jù)

STI R0,*AR0++(1)

LODUP ADDI R1,R0

NOP

LDI @LEH1,RC ;設(shè)置三角波下降沿的點(diǎn)數(shù)

RPTB LODOW ;裝載要發(fā)送的D/A下降沿?cái)?shù)據(jù)

STI R0,*AR0++(1)

LODOW SUBI R1,R0

LDI @DAPORT,AR0 ;設(shè)置D/A端口地址

LDI @ADPORT,AR1 ;設(shè)置A/D端口地址

LDI @ADDAT,AR4 ;假讀一次,復(fù)位A/D

LDI 0,R4

LDI @DADAT,AR3 ;賦D/A數(shù)據(jù)地址

LDI @LEH,RC ;設(shè)置循環(huán)次數(shù)

RPTB LOOP ;塊循環(huán)

STI R4,*AR1 ;假寫一次,啟動(dòng)A/D轉(zhuǎn)換

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

LDI *AR1,R3 ;讀取A/D數(shù)據(jù)

STI R3,*AR4++(1) ;存儲(chǔ)A/D數(shù)據(jù)

LDI *AR3++(1),R0 ;轉(zhuǎn)移D/A數(shù)據(jù)

LOOP STI R0,*AR0 ;向D/A 送數(shù)據(jù)

BR PROSESS ;轉(zhuǎn)向后續(xù)信號(hào)處理程序

.DATA

CTRL .WORD 808000H ;控制寄存器首地址

PRIMARY .WORD 00000808H ;主總線控制字

SECONDARY .WORD 00000088H ;擴(kuò)展總線控制字

STCK .WORD 0809F00H ;系統(tǒng)堆棧指針值

DAPORT .WORD 804100H ;D/A口地址

ADPORT .WORD 804200H ;A/D口地址

DADAT .WORD 10000H ;存放D/A數(shù)據(jù)的首地址

ADDAT .WORD 11000H ;存放A/D數(shù)據(jù)的首地址

LEH .WORD 0682H ;塊循環(huán)長(zhǎng)度控制字

STEP .WORD 02H ;步長(zhǎng)控制字

.END

根據(jù)程序,可以得到系統(tǒng)的時(shí)序,如圖4所示。

根據(jù)以上硬件和軟件的,由時(shí)序圖可以得到:

AD啟動(dòng)轉(zhuǎn)換時(shí)間:60×5=300ns

等待A/D轉(zhuǎn)換時(shí)間:60×5=300ns

讀取A/D數(shù)據(jù)時(shí)間:60×5=300ns

存儲(chǔ)A/D數(shù)據(jù)和轉(zhuǎn)移D/A數(shù)據(jù)時(shí)間:60×7=420ns

發(fā)送D/A數(shù)據(jù)時(shí)間:60×5=300ns

發(fā)送D/A數(shù)據(jù)時(shí)間到啟動(dòng)A/D下一個(gè)轉(zhuǎn)換所需時(shí)間:60ns

所以,總的轉(zhuǎn)換時(shí)間是:

Ts=300+300+300+420+300+60=1680ns

故其轉(zhuǎn)化頻率為:

Fs=1/Ts=1/1.68μs=595.2kHz

程序設(shè)計(jì)中需注意的問題有:

(1)在啟動(dòng)A/D轉(zhuǎn)換前,應(yīng)先假讀一次,使A/D復(fù)位,以避免不可靠的操作。

(2)TMS320C30的擴(kuò)展總線應(yīng)設(shè)置4個(gè)等待周期,以保證A/D和D/A與DSP 收發(fā)數(shù)據(jù)時(shí)序的配合。

(3)無論A/D還是D/A與DSP或MCU的接口電路的設(shè)計(jì),最重要的是保證它們的時(shí)序正確。特別是當(dāng)它們同時(shí)與DSP連接時(shí),更應(yīng)該從軟件方面仔細(xì)考慮它們的時(shí)序配合問題。

MAX153和MX7545不僅功能較強(qiáng),而且能方便地與一般的微處理器接口,但在與DSP接口時(shí)要考慮一些特殊的問題。鑒于詳細(xì)介紹DSP同時(shí)與A/D和D/A轉(zhuǎn)換器接口方面的文章較少,故我們選擇其一接口方式加以介紹,對(duì)于其它模式的應(yīng)用也可以參考本文介紹的方法。我們已將該設(shè)計(jì)成功地應(yīng)用于基于DSP的汽車防撞雷達(dá)信號(hào)的處理系統(tǒng)中。





評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉