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