《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > ADS8364 與TMS320LF2407 的接口及應(yīng)用

ADS8364 與TMS320LF2407 的接口及應(yīng)用

2008-08-06
作者:劉 釗 劉和平 王春燕

??? 摘 要: 介紹了A/D" title="A/D">A/D轉(zhuǎn)換芯片ADS8364與數(shù)字信號(hào)處理器芯片TMS320LF2407的接口技術(shù)及其工程應(yīng)用。給出了硬件接口電路" title="接口電路">接口電路及軟件編程方法。
??? 關(guān)鍵詞: 同步采集?? ADS8364?? TMS320LF2407DSP

?

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

?


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

?


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

?


??? 圖中的PTout為模擬信號(hào)的輸入,其電壓范圍為-5V~+5V,經(jīng)過差分電路輸入到ADS8364的模擬輸入通道A0。ADS8364的BYTE和ADD引腳都接地,因此選擇16位數(shù)據(jù)輸出方式,并且對(duì)每個(gè)通道轉(zhuǎn)換結(jié)果的讀取通過地址線A2、A1、A0來選擇。ADS8364的片選信號(hào)由TMS320LF2407的地址線A15、A14、A13和I/O空間選通因此ADS8364芯片地址所占用的是TMS320LF2407的I/O空間的低32K地址空間,與程序的調(diào)試和運(yùn)行地址無關(guān)。為了實(shí)現(xiàn)ADS8364六個(gè)通道的同步采樣,ADS8364的A、B、C三組啟動(dòng)控制信號(hào)同一I/O引腳控制,這樣只要TMS320LF2407使該引腳有效就可以同時(shí)啟動(dòng)ADS8364的六個(gè)通道,從而實(shí)現(xiàn)六通道的同步采樣。
??? ADS8364的時(shí)鐘信號(hào)由TMS320LF2407的定時(shí)器4的周期PWM輸出信號(hào)T4PWM提供,頻率為4MHz。在DSP復(fù)位時(shí),A/D芯片也復(fù)位。A/D轉(zhuǎn)換結(jié)束信號(hào)接到DSP的外部中斷引腳 XINT2,因此對(duì)A/D轉(zhuǎn)換結(jié)果的讀取可采用中斷和查詢兩種方式,視編程和工程應(yīng)用的具體要求而定。
????由于ADS8364的轉(zhuǎn)換速度很快,在啟動(dòng)A/D轉(zhuǎn)換之后,只需等待5μs即可讀取轉(zhuǎn)換結(jié)果,因此采用等待方式,等待時(shí)間大于5μs即讀數(shù)據(jù)。圖2為定時(shí)器中斷采樣程序的流程圖。
??? A/D采樣在定時(shí)器1的周期中斷中完成。TMS320LF2407通過ADS8364實(shí)現(xiàn)等間隔的采樣程序如下:
??? (1)在頭文件中定義
?? ?由16根地址線和確定的硬件I/O空間存儲(chǔ)器,高3位(bit15~13)由74LV138的片選信號(hào)確定,低3位與ADS8364的相同(參見表2),其余10位(bit12~3)可忽略,本定義只給出了Ad_A0(0通道)和Ad_A1(1通道)的定義,其余A2~A5可參照定義,在程序中就可以象使用數(shù)據(jù)存儲(chǔ)器一樣使用定義的I/O空間存儲(chǔ)器。
??? #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語言中斷矢量表及頭文件參見參考文獻(xiàn)[3])
??? Main()???????? ????? ???/*TMS320LF2407主程序*/
??? {
??? ??asm(' SETC INTM');?/*禁止所有中斷*/
??? ??asm(' CLRC SXM');?? ?/*抑制符號(hào)位擴(kuò)展*/
??? ??asm(' CLRC OVM'); ?/*累加器結(jié)果正常溢出*/
??? ??asm(' CLRC CNF');??? ?/*DSP的B0配置為數(shù)據(jù)存儲(chǔ)空間*/
??? ??SCSR1=0x81FE;? ??/*對(duì)系統(tǒng)時(shí)鐘進(jìn)行4倍頻,使其工作于24MHz */
??? ??WDCR=0xE8;????? ??/*關(guān)看門狗 */
??? ??WSGR=0x1C0;??? ????? ?/*對(duì)訪問IO空間插入等待狀態(tài) */
??? ??IFR=0xFFFF;? ??/*清中斷標(biāo)志*/?
??? ??IMR=0x2;????? ??/*使能中斷INT2(定時(shí)器1的定時(shí)AD采樣中斷)*/
??? ??MCRC=MCRC&0xfeff;?/*將IOPF0設(shè)為I/O口*/
??? ??PFDATDIR=PFDATDIR|0x0101;?/* IOPF0設(shè)為輸出,作為ADS8364的啟動(dòng)信號(hào),初始時(shí)為1,不啟動(dòng)AD */
??? ??AD_Init();?????? ?/*調(diào)AD定時(shí)器1初始化子程序*/
??? ??asm(' CLRC INTM');?/*使能全局中斷*/
??? ??while(1);????/*程序進(jìn)入循環(huán),可在此添加用戶處理程序*/
??? }

??? AD_Init()??????? ??/*A/D初始化子程序*/
??? {
??? ??T4PR=5;?? ???? /*使T4PWM輸出頻率為4MHz*/
??? ??T4CMPR=3; ???/*T4PWM的周期輸出作為ADS8364的時(shí)鐘信號(hào) */
??? ??T4CNT=0;????????????? ?/*計(jì)數(shù)器清0*/
??? ??GPTCONB=0x48;??/*使能所有通用定時(shí)器比較輸出,高有效? */
??? ??T4CON=0x104a; ??/*使能定時(shí)器4比較操作*/
??? ??T1PR=0x3a90;?????? ?/*使定時(shí)器1每0.625ms產(chǎn)生一次中斷*/
??? ??T1CNT=0;
??? ??T1CON=0x100C;??/*設(shè)置定時(shí)器1周期中斷*/
??? ??EVAIMRA=0x80;??/*使能定時(shí)器1周期中斷*/
??? ??EVAIFRA=0x80;??/*清定時(shí)器1周期中斷標(biāo)志位 */
??? ??T1CON=0x104C; ??/*啟動(dòng)定時(shí)器1*/
??? ??return;
??? }

??? T1_interrupt() ????? ???/*定時(shí)器1周期中斷程序*/
??? {
??? ??EVAIFRA=0x80; ????? ?/*清定時(shí)器1的周期中斷標(biāo)志 */
??? ??T4PR=5;????? ???? /*使T4PWM輸出頻率為4MHz*/
??? ??T4CMPR=3; ???/*T4PWM的周期輸出作為ADS8364的時(shí)鐘信號(hào)*/
??? ??T4CNT=0;
??? ??GPTCONB=0x48;
??? ??T4CON=0x104a;??/*使能定時(shí)器4比較操作*/
??? ??PFDATDIR=PFDATDIR&0xfffe; /*IOPF0置低,啟動(dòng)A/D轉(zhuǎn)換*/
??? ??asm(“ NOP”);?
??? ??asm(“NOP”);?
??? ??PFDATDIR=PFDATDIR|0x01;? /*已啟動(dòng)A/D轉(zhuǎn)換,IOPF0置高,本次不再啟動(dòng)A/D轉(zhuǎn)換*/
??? ??asm(“RPT #120”);??/*延時(shí),大于5微秒,等待A/D轉(zhuǎn)換結(jié)束 */
??? ??asm(“NOP”);?
??? ??AD0=Ad_A0; ???/*讀取6個(gè)通道的轉(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)自動(dòng)化裝置中。實(shí)踐證明,該電路具有良好的抗干擾能力,A/D采樣結(jié)果能很好地滿足系統(tǒng)要求。
參考文獻(xiàn)
1 ADS8364 250kHz, 16-Bit, 6-ChannelSimultaneous Sampling?Analog-to-digital Converters.TI Company,2002
2 劉和平,嚴(yán)利平,張學(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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。