AD73360與TMS320F206的接口設(shè)計(jì)
摘要:AD73360是一主要適用于工業(yè)電表和多路輸入系統(tǒng)的可編程三相電量測(cè)量IC器件。本文簡(jiǎn)單介紹了它的功能特點(diǎn),詳細(xì)說(shuō)明了通過(guò)其同步串行口與 TMS320F206定點(diǎn)DSP的軟硬件接口設(shè)計(jì)方法。
關(guān)鍵詞:AD73360 A/D轉(zhuǎn)換 DSP TMS320F206
0 引言
電力系統(tǒng)本身的特點(diǎn)決定了在對(duì)其數(shù)據(jù)采集時(shí)各路要保持嚴(yán)格的同步性。普通的AD 轉(zhuǎn)換器件由于內(nèi)部共用一個(gè)轉(zhuǎn)換電路或沒有保持電路,不能保證各路數(shù)據(jù)同步,通常只能通過(guò)增加外部電路的方法達(dá)到各路數(shù)據(jù)的同步性,這樣難免使整個(gè)系統(tǒng)電路變的復(fù)雜,增加了開銷。AD73360 由于各路自帶轉(zhuǎn)換電路,路與路之間的聯(lián)系只是共用一個(gè)串行口,所以保證了各路采樣轉(zhuǎn)換的同步性,極適合電力系統(tǒng)的數(shù)據(jù)采集。就微處理器而言,51系列和96系列是電力系統(tǒng)設(shè)備中最常用的。目前,由于電力系統(tǒng)對(duì)設(shè)備實(shí)時(shí)性、計(jì)算能力及大數(shù)據(jù)量等各方面要求的不斷提高,這些器件在計(jì)算能力和實(shí)時(shí)性上,已不能很好的適應(yīng)系統(tǒng)要求。于是DSP處理器以其ns級(jí)指令系統(tǒng)和哈佛結(jié)構(gòu)顯著的計(jì)算能力和實(shí)時(shí)性逐漸滲透到電力系統(tǒng)中來(lái)。本文就AD73360和TMS320F206定點(diǎn)DSP的接口設(shè)計(jì)作了詳細(xì)的介紹,實(shí)現(xiàn)了基于TMS320F206的電力系統(tǒng)數(shù)據(jù)采集。
1 AD73360簡(jiǎn)介
AD73360是ADI公司新近推出的可編程通用6通路16位精度的串行模擬輸入前端處理器,是一主要適用于工業(yè)電表或多路輸入系統(tǒng)的三相電量測(cè)量IC器件。它的主要特點(diǎn)是:
(1) 6通路間相互隔離且各含一信號(hào)調(diào)理電路和片上輸入增益放大器,由0到38dB之間設(shè)8級(jí),可編程控制選擇,容許低電平幅度模擬信號(hào)的輸入,幾乎不存在時(shí)間(對(duì)三相電來(lái)說(shuō)是相位)延遲。各通道在音頻范圍內(nèi)可提供77分貝的信噪比。
(2) 采用同步串行端口傳輸,且端口前端采樣速率和后端傳輸速率可編程控制(最高采樣可支持64KHz),使其與快速DSP 或其他慢速微控制器連接非常方便。工作模式可以選擇數(shù)據(jù)模式,程序模式和程序/數(shù)據(jù)混合模式,很適合各種測(cè)量場(chǎng)合。
(3)帶片內(nèi)基準(zhǔn)電壓允許其單電源工作。參考電壓則可經(jīng)編程控制來(lái)配合3伏或5伏的操作。兩種封裝,分別為28腳的小巧外型集成電路SOIC和44引腳的纖薄四方扁平封裝TQFP。極適合用作便攜式設(shè)備器件。
2 TMS320F206簡(jiǎn)介
TMS320F206是TI公司近年來(lái)推出的一種性價(jià)比較高的定點(diǎn)DSP芯片,內(nèi)含豐富的片內(nèi)外設(shè),多用于測(cè)量控制領(lǐng)域。其主要特點(diǎn)如下:
(1) 采用改進(jìn)型哈佛結(jié)構(gòu),使程序區(qū)和數(shù)據(jù)區(qū)相互獨(dú)立,設(shè)置了程序總線和數(shù)據(jù)總線,允許在同一時(shí)間對(duì)數(shù)據(jù)和指令的讀取,使系統(tǒng)的數(shù)據(jù)吞吐量提高了一倍,同時(shí)也節(jié)約了指令周期提高了速度;指令系統(tǒng)功能強(qiáng)大且高度專業(yè)化;內(nèi)含32K閃速存儲(chǔ)器。
(2) 采用4級(jí)流水線操作使取指、譯碼、取操作數(shù)、執(zhí)行各處于獨(dú)立的操作階段可交疊進(jìn)行操作,從而減少了指令執(zhí)行時(shí)間;專用的16x16硬件乘法器可在一個(gè)指令周期內(nèi)完成乘法操作,把乘法時(shí)間從通用微處理器的us級(jí)提高到了ns級(jí)。
(3) 可尋址4個(gè)獨(dú)立空間:64K程序存儲(chǔ)器,64K字?jǐn)?shù)據(jù)存儲(chǔ)器,64K字I/O空間,32K字全局?jǐn)?shù)據(jù)存儲(chǔ)器。
(4) 含用于仿真和測(cè)試的片內(nèi)掃描邏輯電路(IEEE標(biāo)準(zhǔn)1149.1),可做完全硬件仿真,不占用硬件資源,通過(guò)該口可察看寄存器和存儲(chǔ)器的存儲(chǔ)情況,調(diào)試很方便。
3 AD73360與TMS320F206的接口設(shè)計(jì)
3.1 工作時(shí)序分析:
本設(shè)計(jì)中AD73360 與TMS320F206的同步串行口相連構(gòu)成電力系統(tǒng)的采集數(shù)據(jù)。該同步串行口具有4個(gè)字深FIFO緩存,可設(shè)置寄存器SSPCR控制產(chǎn)生合適的接收/發(fā)送中斷,且工作速率適應(yīng)范圍寬,可使用內(nèi)部或外部時(shí)鐘工作,有突發(fā)和連續(xù)兩種工作模式??紤]到AD73360的時(shí)序(圖1),本設(shè)計(jì)采用突發(fā)模式工作,其發(fā)送與接收時(shí)序如圖2所示。
圖1 AD73360串行口發(fā)送和接收時(shí)序
分析AD73360串行口的發(fā)送/接收時(shí)序和TMS320F206同步串行口的發(fā)送/接收時(shí)序,不難發(fā)現(xiàn)兩者的時(shí)序關(guān)系存在一致性: AD73360采樣數(shù)據(jù)的發(fā)送發(fā)生在其發(fā)送幀同步信號(hào)SDOFS 由低變?yōu)楦唠娖胶蟮南乱粋€(gè)SCLK的上升沿,且發(fā)送過(guò)程中SDOFS一直保持為低電平直到下一個(gè)數(shù)據(jù)字發(fā)送。TMS320F206同步串行口在接收幀信號(hào)FSR變?yōu)楦唠娖胶蟮慕邮諘r(shí)鐘CLKR的下一個(gè)上升沿處開始數(shù)據(jù)的接收,且接收過(guò)程中FSR始終保持低電平,直到下一個(gè)數(shù)據(jù)接收開始。而AD73360的控制字接收發(fā)生在接收幀同步信號(hào)SDIFS變?yōu)楦唠娖胶蟮南乱粋€(gè)SCLK的上升沿處,接收過(guò)程中SDIFS一直保持為低電平,直到下一個(gè)數(shù)據(jù)字接收開始。在TMS320F206同步串行口發(fā)送幀同步信號(hào)FSX變?yōu)楦唠娖胶蟮陌l(fā)送時(shí)鐘CLKX的下一個(gè)上升沿處,同步串行口開始發(fā)送數(shù)據(jù)字,最高位(MSB)在前。且發(fā)送過(guò)程中FSX一直保持為低電平,直到下一個(gè)數(shù)據(jù)字傳送開始。
a.發(fā)送時(shí)序圖
b.接收時(shí)序圖
圖2 TMS320F206的同步串行口發(fā)送與接收時(shí)序
通過(guò)以上分析得出結(jié)論:TMS320F206同步串行口的幀同步信號(hào)與AD73360的幀同步時(shí)鐘信號(hào)實(shí)際上是一致性的關(guān)系,所以將TMS320F206的幀同步信號(hào)直接與AD73360的幀同步信號(hào)相連接。 將AD73360的輸出時(shí)鐘SCLK作為TMS320F206同步串行口的發(fā)送和接收時(shí)鐘。
3.2 硬件接口示意圖
圖3給出了AD73360T與MS320F206的接口示意圖。
設(shè)計(jì)中TMS320F206工作于20MHz時(shí)鐘下,其系統(tǒng)時(shí)鐘輸出CLKOUT1作為AD73360的主時(shí)鐘輸入,通用輸出口XF使能AD73360。
3.3 接口程序設(shè)計(jì)
在開始接收AD73360采集的數(shù)據(jù)之前按照設(shè)計(jì)要求進(jìn)行初始化。對(duì)TMS320F206的設(shè)置:關(guān)閉可屏蔽中斷,設(shè)置中斷屏蔽寄存器,允許同步串行口發(fā)送中斷,由于在啟動(dòng)AD轉(zhuǎn)換之前,AD所傳數(shù)據(jù)為無(wú)效,所以在發(fā)送完控制字之前沒有必要允許接受中斷。按照需要設(shè)置SSPCR寄存器,本設(shè)計(jì)中使FSM=1, MCM=0,TXM=0,確定其工作模式為外部幀同步源,外部時(shí)鐘源,突發(fā)模式字緩沖發(fā)送與接收;設(shè)置FT1=0,F(xiàn)T0=0,F(xiàn)R1=0,F(xiàn)R0=0,使同步串行口工作于1字緩沖發(fā)送與1字緩沖接收;置輸出引腳XF為高使能AD73360.對(duì)于AD73360: 按需要設(shè)置好控制字,存放在存儲(chǔ)器中以便發(fā)送。
開發(fā)送中斷,檢查是否發(fā)送完控制字,若發(fā)送完則開接收中斷,接收采集的數(shù)據(jù)。若將AD73360設(shè)置在混合模式工作則在接收AD所傳數(shù)據(jù)的同時(shí)還可發(fā)控制字按需要更改AD的設(shè)置。程序流程如圖4所示。
部分程序如下:
初始化:
setc intm;關(guān)中斷
setc xf;使能AD73360
splk #0010h,imr;設(shè)置中斷屏蔽寄存器
splk #0ffffh,ifr;清除中斷標(biāo)志位
splk #0000h,60h
out 60h,wsgr;設(shè)置軟件等待為0
splk #0ce02h,60h
out 60h,sspcr;復(fù)位同步串行口
splk #0ce32h,60h
out 60h,sspcr;設(shè)置同步串行口
clrc intm;開中斷
發(fā)送中斷:
ssptx: setc intm
mar *,ar3
out *+,sdtr,ar1;ar3中放AD控制字地址
;ar1中為控制字個(gè)數(shù)-1
banz skip
splk #1,flag;置發(fā)送完標(biāo)志
splk #0018h,imr;開接收中斷
skip: splk #0010h,ifr;清除發(fā)送中斷標(biāo)志位
clrc intm
ret
接收中斷:
ssprx: setc intm
mar *,ar2;ar2中存放AD數(shù)據(jù)的目的地址
in *+,sdtr;收數(shù)據(jù)
splk #0008h,ifr;清除接收中斷標(biāo)志位
clrc intm
ret
在選擇AD73360的采樣速率和數(shù)據(jù)傳送速率時(shí),應(yīng)注意的是確保在采樣間隔中能將所有轉(zhuǎn)換數(shù)據(jù)傳給DSP以免數(shù)據(jù)丟失。如將AD73360設(shè)置為混合工作模式,則在選擇采樣速率和數(shù)據(jù)傳送速率時(shí),還要考慮發(fā)送轉(zhuǎn)換結(jié)果之后AD73360是否有足夠的時(shí)間接收TMS320F206傳來(lái)的控制字。接收中斷中可以加入適當(dāng)?shù)奶幚?,如將各路分開存放、濾波等操作,但是應(yīng)特別注意的是不能使中斷程序過(guò)長(zhǎng),嚴(yán)格計(jì)算好AD73360發(fā)送數(shù)據(jù)的時(shí)間間隔和中斷程序的執(zhí)行時(shí)間保證在下一個(gè)數(shù)據(jù)到來(lái)之前完成中斷程序的執(zhí)行,避免因TMS320F206來(lái)不及接收引起數(shù)據(jù)丟失。
按照上述接口設(shè)計(jì)方法和思想,我們實(shí)現(xiàn)了TMS320F206和AD73360之間的接口設(shè)計(jì),且傳輸可靠,說(shuō)明這種連接和設(shè)置方法是可行的。
4結(jié)束語(yǔ)
分析各個(gè)信號(hào)之間的時(shí)序關(guān)系在成功地設(shè)計(jì)DSP與外圍的接口電路中是十分關(guān)鍵的,正確的分析能在接口設(shè)計(jì)中起到事半功倍的效果。本文通過(guò)分析AD73360收發(fā)數(shù)據(jù)工作時(shí)序與TMS320F206同步串行口收發(fā)時(shí)序完成了兩個(gè)器件之間的接口設(shè)計(jì),并成功應(yīng)用于電量參數(shù)測(cè)試系統(tǒng)中,實(shí)現(xiàn)了基于TMS320F206的電力系統(tǒng)數(shù)據(jù)采集。
參考文獻(xiàn)
[1] 張雄偉,曹鐵勇.DSP芯片的原理與開發(fā)應(yīng)用[M].北京:電子工業(yè)出版社,2000
[2] 張?zhí)m芳.TMS320C2XX用戶指南[M].北京:電子工業(yè)出版社,1999
[3] TMS320C2XX User’s Guide[M]. USA:TEXAS INSTRUMENTS, 1997
[4] 彭啟宗,李玉柏.DSP技術(shù)[M].成都:電子科技大學(xué)出版社,1997
評(píng)論