??? 摘 要: 介紹了A/D" title="A/D">A/D轉(zhuǎn)換芯片ADS8364與數(shù)字信號處理器芯片TMS320LF2407的接口技術(shù)及其工程應(yīng)用。給出了硬件接口電路" title="接口電路">接口電路及軟件編程方法。
??? 關(guān)鍵詞: 同步采集?? ADS8364?? TMS320LF2407DSP
?
??? 電力系統(tǒng)配網(wǎng)自動化是一個龐大、復(fù)雜、綜合性的系統(tǒng)工程,如何將配電網(wǎng)在正常及事故情況下的監(jiān)測、保護、控制有機地融合在一起,提高供電質(zhì)量,是電力系統(tǒng)微機保護的一個重要課題;而對配電網(wǎng)的電壓、電流參數(shù)進行快速、準確地采集,及時反映配電網(wǎng)的故障狀態(tài)并進行相應(yīng)處理,是配電系統(tǒng)微機保護的首要任務(wù)。使用美國德州儀器公司(TI)推出的ADS8364 A/D芯片與TMS320LF2407 DSP芯片構(gòu)成控制系統(tǒng)是一個較好的解決方案,現(xiàn)已將其成功應(yīng)用到配電網(wǎng)中。
??? 本文在簡介ADS8364和TMS320LF2407的功能、性能和特點的基礎(chǔ)上,介紹ADS8364與TMS320LF2407的硬件接口電路和軟件編程方法。
1 ADS8364介紹[1]
??? ADS8364是TI公司推出的專為高速同步數(shù)據(jù)采集系統(tǒng)設(shè)計的高速、低功耗、6通道同步采樣的16位A/D轉(zhuǎn)換芯片,共有64個引腳,大致可以分為兩類,各引腳功能如表1所示。
?

??? ADS8364有6個模擬輸入通道,分為A、B、C三組,每組包括2個通道,
啟動A/D轉(zhuǎn)換。模擬量的輸入采用差分方式,可以抑制共模干擾。模擬電源為單+5V供電,將ADS8364的REFin和REFout引腳接到一起可以輸出+2.5V的參考電壓提供給差分電路。ADS8364的時鐘信號" title="時鐘信號">時鐘信號由外部提供,轉(zhuǎn)換時間為20個時鐘周期,最高頻率為5MHz,在5MHz的時鐘頻率下ADS8364轉(zhuǎn)換時間為3.2μs,相應(yīng)的數(shù)據(jù)采集時間為0.8μs,每個通道的總的轉(zhuǎn)換時間為4μs,A/D轉(zhuǎn)換完成后產(chǎn)生轉(zhuǎn)換結(jié)束信號
數(shù)字電源供電電壓為3V~5V,即可以與3.3V供電的微控制器接口,也可以與5V供電的微控制器接口。A/D轉(zhuǎn)換結(jié)果為16位,最高位為符號位,數(shù)據(jù)輸出方式很靈活,分別由BYTE、ADD與地址線A2A1A0的組合控制,如表2所示。
?

??? 從表2中可以看出,轉(zhuǎn)換結(jié)果的讀取方式有三種:直接讀取、循環(huán)讀取和FIFO方式。根據(jù)BYTE為0或者為1可確定每次讀取時得到的數(shù)據(jù)位數(shù),根據(jù)ADD為0或者為1可確定第一次讀取的是通道地址信息還是通道A/D轉(zhuǎn)換結(jié)果。表中的db15…db0表示16位數(shù)據(jù),db7…db0表示16位數(shù)據(jù)的低8位,db15…db8表示16位數(shù)據(jù)的高8位,A2A1A0表示通道地址。
2 TMS320LF2407 DSP簡介[2~4]
??? TMS320LF2407 DSP是TI公司C2000系列DSP 中的一款高性能芯片。具有以下幾個方面的特點:
??? (1)資源豐富
??? 具有多達41個的通用、雙向數(shù)字I/O" title="I/O">I/O引腳;兩個事件管理器EVA和EVB,包含了4個通用定時器、6個比較單元、6個捕獲單元、12路PWM輸出電路和4路正交編碼脈沖電路;串行外設(shè)接口模塊SPI可實現(xiàn)TMS320LF2407與其它SPI接口芯片之間的數(shù)據(jù)交換;串行通信模塊SCI和CAN控制器可實現(xiàn)TMS320LF2407與PC機之間的數(shù)據(jù)交換;可變周期的看門狗定時器和基于鎖相環(huán)的時鐘模塊提高了系統(tǒng)的適應(yīng)性;片內(nèi)2.5K字的RAM單元可以存放程序運行過程中的大量參數(shù)而無需外擴數(shù)據(jù)RAM,32K字FLASH為程序提供了較大的程序空間;具有六個可屏蔽的硬件中斷源" title="中斷源">中斷源,通過DSP內(nèi)核將這六個中斷源加以擴展,可使每一個中斷源同時掛接幾個外部中斷源,使得DSP能夠處理的外設(shè)硬件中斷將近50個,具有很強的事件處理能力。
??? (2)數(shù)據(jù)處理能力強且運算速度快
??? TMS320LF2407采用改進的哈佛結(jié)構(gòu),片內(nèi)有六條獨立、并行的數(shù)據(jù)和地址總線,極大地提高了系統(tǒng)的數(shù)據(jù)吞吐能力;32位的累加器、16位的硬件乘法器和輸入、輸出數(shù)據(jù)移位寄存器相結(jié)合能快速地完成復(fù)雜的數(shù)值運算;豐富的指令集系統(tǒng)、流水線的操作方式、33.3ns的指令周期使得系統(tǒng)的運行速度特別快,指令執(zhí)行速度可達到30MIPS。
??? (3)功耗低
??? TMS320LF2407采用高性能靜態(tài)CMOS技術(shù),供電電壓為3.3V,而且有多種低功耗工作模式,能充分而有效地降低系統(tǒng)功耗。
3 ADS8364與TMS320LF2407的接口電路及編程
??? 由于ADS8364與TMS320LF2407都是TI公司提供的高速芯片,兩者在速度上能夠完全匹配,實現(xiàn)芯片間的無縫連接。圖1是ADS8364與TMS320LF2407的接口電路圖。
?

??? 圖中的PTout為模擬信號的輸入,其電壓范圍為-5V~+5V,經(jīng)過差分電路輸入到ADS8364的模擬輸入通道A0。ADS8364的BYTE和ADD引腳都接地,因此選擇16位數(shù)據(jù)輸出方式,并且對每個通道轉(zhuǎn)換結(jié)果的讀取通過地址線A2、A1、A0來選擇。ADS8364的片選信號由TMS320LF2407的地址線A15、A14、A13和I/O空間選通
因此ADS8364芯片地址所占用的是TMS320LF2407的I/O空間的低32K地址空間,與程序的調(diào)試和運行地址無關(guān)。為了實現(xiàn)ADS8364六個通道的同步采樣,ADS8364的A、B、C三組啟動控制信號
同一I/O引腳控制,這樣只要TMS320LF2407使該引腳有效就可以同時啟動ADS8364的六個通道,從而實現(xiàn)六通道的同步采樣。
??? ADS8364的時鐘信號由TMS320LF2407的定時器4的周期PWM輸出信號T4PWM提供,頻率為4MHz。在DSP復(fù)位時,A/D芯片也復(fù)位。A/D轉(zhuǎn)換結(jié)束信號接到DSP的外部中斷引腳 XINT2,因此對A/D轉(zhuǎn)換結(jié)果的讀取可采用中斷和查詢兩種方式,視編程和工程應(yīng)用的具體要求而定。
????由于ADS8364的轉(zhuǎn)換速度很快,在啟動A/D轉(zhuǎn)換之后,只需等待5μs即可讀取轉(zhuǎn)換結(jié)果,因此采用等待方式,等待時間大于5μs即讀數(shù)據(jù)。圖2為定時器中斷采樣程序的流程圖。
??? A/D采樣在定時器1的周期中斷中完成。TMS320LF2407通過ADS8364實現(xiàn)等間隔的采樣程序如下:
??? (1)在頭文件中定義
?? ?由16根地址線和
確定的硬件I/O空間存儲器,高3位(bit15~13)由74LV138的片選信號確定,低3位與ADS8364的相同(參見表2),其余10位(bit12~3)可忽略,本定義只給出了Ad_A0(0通道)和Ad_A1(1通道)的定義,其余A2~A5可參照定義,在程序中就可以象使用數(shù)據(jù)存儲器一樣使用定義的I/O空間存儲器。
??? #define FCMR portFF0F ??/*Flash 控制方式寄存器*/
??? ioport unsigned int portFF0F; /*C2xx編譯特定關(guān)鍵字*/
??? #define WSGR portFFFF?? ?/*等待插入狀態(tài)寄存器*/
??? ioport unsigned int portFFFF; /*C2xx編譯特定關(guān)鍵字*/
??? #define Ad_A0 port2000
??? ioport unsigned int port2000;? /*定義AD采樣通道A0*/
??? #define Ad_A1 port2001
??? ioport unsigned int port2001; ? /*定義AD采樣通道A1*/
??? (2)主程序及中斷程序(TMS320LF2407的C語言中斷矢量表及頭文件參見參考文獻[3])
??? Main()???????? ????? ???/*TMS320LF2407主程序*/
??? {
??? ??asm(' SETC INTM');?/*禁止所有中斷*/
??? ??asm(' CLRC SXM');?? ?/*抑制符號位擴展*/
??? ??asm(' CLRC OVM'); ?/*累加器結(jié)果正常溢出*/
??? ??asm(' CLRC CNF');??? ?/*DSP的B0配置為數(shù)據(jù)存儲空間*/
??? ??SCSR1=0x81FE;? ??/*對系統(tǒng)時鐘進行4倍頻,使其工作于24MHz */
??? ??WDCR=0xE8;????? ??/*關(guān)看門狗 */
??? ??WSGR=0x1C0;??? ????? ?/*對訪問IO空間插入等待狀態(tài) */
??? ??IFR=0xFFFF;? ??/*清中斷標志*/?
??? ??IMR=0x2;????? ??/*使能中斷INT2(定時器1的定時AD采樣中斷)*/
??? ??MCRC=MCRC&0xfeff;?/*將IOPF0設(shè)為I/O口*/
??? ??PFDATDIR=PFDATDIR|0x0101;?/* IOPF0設(shè)為輸出,作為ADS8364的啟動信號,初始時為1,不啟動AD */
??? ??AD_Init();?????? ?/*調(diào)AD定時器1初始化子程序*/
??? ??asm(' CLRC INTM');?/*使能全局中斷*/
??? ??while(1);????/*程序進入循環(huán),可在此添加用戶處理程序*/
??? }
??? AD_Init()??????? ??/*A/D初始化子程序*/
??? {
??? ??T4PR=5;?? ???? /*使T4PWM輸出頻率為4MHz*/
??? ??T4CMPR=3; ???/*T4PWM的周期輸出作為ADS8364的時鐘信號 */
??? ??T4CNT=0;????????????? ?/*計數(shù)器清0*/
??? ??GPTCONB=0x48;??/*使能所有通用定時器比較輸出,高有效? */
??? ??T4CON=0x104a; ??/*使能定時器4比較操作*/
??? ??T1PR=0x3a90;?????? ?/*使定時器1每0.625ms產(chǎn)生一次中斷*/
??? ??T1CNT=0;
??? ??T1CON=0x100C;??/*設(shè)置定時器1周期中斷*/
??? ??EVAIMRA=0x80;??/*使能定時器1周期中斷*/
??? ??EVAIFRA=0x80;??/*清定時器1周期中斷標志位 */
??? ??T1CON=0x104C; ??/*啟動定時器1*/
??? ??return;
??? }
??? T1_interrupt() ????? ???/*定時器1周期中斷程序*/
??? {
??? ??EVAIFRA=0x80; ????? ?/*清定時器1的周期中斷標志 */
??? ??T4PR=5;????? ???? /*使T4PWM輸出頻率為4MHz*/
??? ??T4CMPR=3; ???/*T4PWM的周期輸出作為ADS8364的時鐘信號*/
??? ??T4CNT=0;
??? ??GPTCONB=0x48;
??? ??T4CON=0x104a;??/*使能定時器4比較操作*/
??? ??PFDATDIR=PFDATDIR&0xfffe; /*IOPF0置低,啟動A/D轉(zhuǎn)換*/
??? ??asm(“ NOP”);?
??? ??asm(“NOP”);?
??? ??PFDATDIR=PFDATDIR|0x01;? /*已啟動A/D轉(zhuǎn)換,IOPF0置高,本次不再啟動A/D轉(zhuǎn)換*/
??? ??asm(“RPT #120”);??/*延時,大于5微秒,等待A/D轉(zhuǎn)換結(jié)束 */
??? ??asm(“NOP”);?
??? ??AD0=Ad_A0; ???/*讀取6個通道的轉(zhuǎn)換結(jié)果,分別存放在AD0~AD5的RAM中*/?
??? ??AD1=Ad_A1;???/*AD0~AD5為定義在TMS320 TMS320LF2407 RAM空間的變量*/
??? ??AD2=Ad_A2;????
??? ??AD3=Ad_A3; ??
??? ??AD4=Ad_A4;??
??? ??AD5=Ad_A5;?
??? ??/* 可在此添加用戶處理程序*/
??? ??return;
??? }
?? ?上面介紹的ADS8364與TMS320LF2407的接口電路已成功應(yīng)用于電力系統(tǒng)配網(wǎng)自動化裝置中。實踐證明,該電路具有良好的抗干擾能力,A/D采樣結(jié)果能很好地滿足系統(tǒng)要求。
參考文獻
1 ADS8364 250kHz, 16-Bit, 6-ChannelSimultaneous Sampling?Analog-to-digital Converters.TI Company,2002
2 劉和平,嚴利平,張學(xué)鋒. TMS320LF240x DSP結(jié)構(gòu)、原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,2002年4月
3 劉和平,王維俊,江 渝. TMS320LF240x DSP? C語言應(yīng)用.北京:北京航空航天大學(xué)出版社, 2003
4 TMS320LF/LC240xA DSP Controllers Reference Guide: System and Peripherals. TI Company, April 2001
