用TMS320C6711DSK構(gòu)成的多通道數(shù)據(jù)采集系統(tǒng)
關(guān)鍵詞 TMS320C67llDSK 多通道數(shù)據(jù)采集 同步采樣 接口電路設(shè)計
引 言
隨著現(xiàn)代電子技術(shù)的發(fā)展,對于信號采集的要求越來越高,不但要求有較高的采樣精度和速度,而且在某些特定的應(yīng)用中,還要考慮采樣的實時性。
TMS320C6711(簡稱為“C67ll”)DSP是TI公司在200O年推出的C61300系列中的新片種。應(yīng)用C6711 DSP作為高速數(shù)據(jù)采集系統(tǒng)的主處理器,完全能夠滿足實時性的要求,對采集到的數(shù)據(jù)進(jìn)行實時處理;但目前基于C6000系列的系統(tǒng)設(shè)計工作還存在著硬件設(shè)計困難及成本太高等諸多問題。若完全從底層開始架構(gòu)系統(tǒng)設(shè)計方案,則工作量很大,困難較多,因此目前一個良好的折衷方案是在TMS320C6711DSK(簡稱為“C6711DSK”)平臺上進(jìn)行開發(fā)。
1 TMS320C6711DSK介紹
1.1 TMS320C6711DSK的特點
C6711DSK開發(fā)平臺的主要特點有:
◇板上留有2個80腳的接口,方便系統(tǒng)擴展;
◇EMIF接口有兩種時鐘模式可以選擇,時鐘頻率分別為150MHz和100MHz;
◇100 MHz的16MB同步動態(tài)存儲器(SDRAM);
◇直接提供1.8V和3.3 V直流電源;
◇JTAG仿真器,可支持并口或外接XDS510支持;
◇1個并行接口,主機可通過該并口訪問開發(fā)板上的存儲囂;
◇150 MHz主頻,可執(zhí)行900 MFLOPS浮點操作;
◇128 KB的可編程Flash存儲器;
◇16位語音CODEC電路。
1.2 TMS320C6711DSK總線擴展
由于C6711DSK與外部子板之間所有的信導(dǎo)傳送都是通過板上預(yù)留的2個80腳插頭(J1和J2)。其中Jl集中了外部存儲器接口EMIF的接口信號(數(shù)據(jù)線、地址線、讀/寫控制等),可以方便地進(jìn)行存儲器擴展。J2提供了其他外圍器件的信號匯總,包括多通道串口、中斷、時鐘、計數(shù)器等。Jl和J2提供了大多數(shù)的板上內(nèi)部總線信號,開發(fā)者可以方便地通過這個插頭共享C67llDSK的系統(tǒng)板,開發(fā)自己的應(yīng)用系統(tǒng)。
J1的引腳分配如表1所列。J2主要是一些控制信號,包括一些外設(shè)的接口信號,如多通道緩沖串口、定時器、外部中斷等,如表2所列。利用J2提供的信號,可以方便地使用C6711 DSP的片內(nèi)外設(shè),其中多通道緩沖串口、定時器等信號既可以當(dāng)作特殊功能外設(shè)信號使用,也可以被設(shè)定為通用I/O口,這在一定程度上彌補了C6711 DSP通用I/O口不足的缺點。如果擴展外部系統(tǒng)中所需的I/O口不多,則完全可以使用開發(fā)板自帶的I/O;但是如果所需I/O較多,則還要另加CPLD或單片機擴展I/O功能。
1.3 TMS320C6711DSK的電源和地
C6711DSK開發(fā)板上提供了12 V、-12 V、5 V、3.3 V電壓供外部擴展子板,可以直接使用。在使用時要注意其驅(qū)動能力。該開發(fā)板總共可以供給子板5 V/l A的功率,板上還帶有一一個外接電源連接器。驅(qū)動能力不足時,可以使用外接電源,但要注意外接電源和開發(fā)板上的供電電源不可同時使用。板上提供了系統(tǒng)統(tǒng)一地,使用時外接子板的GND信號和開發(fā)板上提供的地(VSS)直接相連即可。
由上述可以看出,C6711DSK提供了相當(dāng)多的信號,方便系統(tǒng)的擴展,使用起來非常方便;唯一不足的是,系統(tǒng)提供的I/O口偏少,在某些應(yīng)用場合下遠(yuǎn)遠(yuǎn)不夠,需要外接器件進(jìn)行擴展。本設(shè)計的數(shù)據(jù)采集系統(tǒng)須用到較多的外部I/O,因此擴展了1片16位單片機80C196KC作為協(xié)處理器,擴展系統(tǒng)的I/O口;同時與外部進(jìn)行通信,處理一一些外部請求。
2 基于C6711DSK數(shù)據(jù)采集系統(tǒng)設(shè)計
2.1 系統(tǒng)總體硬件設(shè)計
本高速同步數(shù)據(jù)采集系統(tǒng)主要針對電力系統(tǒng)的參數(shù)測量與故障檢測。在設(shè)計中充分考慮了電力系統(tǒng)中數(shù)據(jù)采樣的特點,A/D轉(zhuǎn)換芯片選用丁Maxim公司的MAXl25AEAX芯片。該芯片主要針對電力系統(tǒng)采樣中實時性強,需進(jìn)行多路同步采樣的要求設(shè)計,能夠進(jìn)行多通道高速同步采樣,最高采樣率為76 ksps(四通道),完全能夠滿足電力系統(tǒng)采樣的要求。
設(shè)計中采用雙處理器架構(gòu),是為了充分利用DSP的數(shù)據(jù)處理能力強的特點。DSP主要負(fù)責(zé)對采集到的電網(wǎng)參數(shù)信息(三相電壓、三相電流)進(jìn)行FFT和數(shù)字濾波等一系列運算,并計算出有功功率和無功功率,對電壓電流值進(jìn)行高次諧波分析,給出幅度、相位以及三相電壓、電流的總畸變率。由于DSP的運算速度快,且在結(jié)構(gòu)上特別適合進(jìn)行FFT和實現(xiàn)數(shù)字濾波等功能,因此由1片DSP完成系統(tǒng)大量主要的運算,能夠滿足系統(tǒng)對于實時性的要求。2片處理器之間通過1片雙口RAM實現(xiàn)數(shù)據(jù)共享,DSP將運算結(jié)果放到雙口RAM的指定單元,并同時發(fā)送信號給單片機,通知數(shù)據(jù)發(fā)送完畢,單片機接收信號讀取數(shù)據(jù)。通過握手信號,可以保證2片處理器之間的數(shù)據(jù)無差錯傳輸;同時通過單片機系統(tǒng)還能接受鍵盤指令,發(fā)送數(shù)據(jù)顯示,并能與外部計算機進(jìn)行通信。
系統(tǒng)硬件設(shè)計框圖如圖1所示,電壓、電流等模擬量首先通過變壓器轉(zhuǎn)換成-5~+5V的電壓,并在抗混疊濾波后接入MAXl25AEAX。2片MAXl25AEAX對6路信號進(jìn)行同步采樣,每周波采樣64點。MAXl25AEAX將采樣數(shù)據(jù)傳送給DSP,DSP接收到采樣數(shù)據(jù)后進(jìn)行相應(yīng)的運算處理,最后將結(jié)果送到雙口RAM,并發(fā)送信號給單片機,通知數(shù)據(jù)準(zhǔn)備完畢。單片機可以接收外部命令,進(jìn)行讀取數(shù)據(jù)等一系列操作。
2.2 C6711DSK與雙口RAM的接口電路設(shè)計
設(shè)計中選用了Cypress公司的CY7C135(4K8位)雙口RAM,實現(xiàn)C6711DSK與80C196KC之間的數(shù)據(jù)共享。該芯片具有2組獨立的數(shù)據(jù)總線、地址總線和讀取信號線,允許2個口同時訪問存儲器的任何地址。當(dāng)二者要同時訪問同一存儲單元時,片內(nèi)總線仲裁邏輯可解決這一問題,使DSP與80C196KC在同時運行時也能快速交換數(shù)據(jù)。為了廣加強交換數(shù)據(jù)的可靠性,DSP向雙口RAM傳送數(shù)據(jù)時,同時向80C196KC發(fā)送信息和在雙口RAM中置相應(yīng)的標(biāo)志位;同樣,80C196KC向雙口RAM傳送數(shù)據(jù)時,同時向DSP發(fā)送信息和在雙口RAM中清除相應(yīng)的標(biāo)志位。80C196KC與DSP具體接口電路如圖2所示,圖中74LVC4245是TI公司的總線電平變換芯片,用于解決80C196和DSP數(shù)據(jù)總線電平不匹配問題。
由于CY7C135為8位RAM而C6711DSK提供了32位數(shù)據(jù)線接口,需要將8位數(shù)據(jù)轉(zhuǎn)為32位進(jìn)行傳輸,因此選擇了小端存儲模式,將C6711DSK提供的外部擴展數(shù)據(jù)總線上的低8位DB_D0~DB_D7與CY7C1 35的DO~D7相連,異步讀寫使能信號DB_AOE,DB ARE分別與RAM的RW和OE相蓮。
2.3 06711DSK與A/D芯片接口電路設(shè)計
考慮到電力系統(tǒng)采樣的特點,A/D轉(zhuǎn)換芯片采用了Maxim公司的MAXl25AEAX。MAXl25AEAX是14位高精度A/D芯片,內(nèi)部集成1個14位、轉(zhuǎn)換時間為3μs的逐次逼近型模擬/數(shù)字轉(zhuǎn)換器,1個+2.5 V的內(nèi)部電壓基準(zhǔn),1個經(jīng)過緩沖的電壓基準(zhǔn)輸入端,1個內(nèi)部頻率為16MHz時鐘,1組可以同時對4路輸入信號進(jìn)行同步采樣的采樣/保持電路。
在使用MAXl25AEAX時要考慮其與C6711 DSP的電平匹配問題。MAXl25AEAX的輸出為5 V電平,而C6711DSP的輸人為3.3 V。如果將MAXl25AEAX的輸出直接送到C5711的數(shù)據(jù)輸入引腳上,則有可能超過C6711引腳的耐壓值(3.3V),因此在接口電路設(shè)計中要考慮不同電平之間的轉(zhuǎn)換。本系統(tǒng)使用SN74ALVCl64245DL作為電平轉(zhuǎn)換器,MAXl25AEAX的輸出DO~D13接入SN74ALVCl64245DL鎖存后進(jìn)行電平轉(zhuǎn)換,再進(jìn)入C6711的數(shù)據(jù)總線。SN74ALVCl64245DL采用3.3 V和5 V雙電壓供電,輸出信號電平為3.3 V,可以接收5.5 V的輸入信號。接口電路如圖3所示。
圖3所示僅為一片MAXl25AEAX與DSK接口電路。實際設(shè)計中,需用2片MAXl25AEAX完成對電壓、電流的采樣。另一片MAXl25AEAX與DSK的連接電路與圖3相同。將MAXl25AEAX的RD、WR引腳分別接到C6711DSK的AOE、AWE引腳,由DSP控制數(shù)據(jù)的讀寫,2片MAXl25AEAX的片選信號由DSP的高位地址線進(jìn)行譯碼得到。
2.4 地址分配
C6711DSK需要擴展1片雙口RAM,并且能夠選擇MAXl25AEAX的數(shù)據(jù)通道進(jìn)行數(shù)據(jù)的讀寫,需要在C6711 DSP的地址空間內(nèi)分配相應(yīng)的地址。設(shè)計時,用l片SN74LVCl 38AD譯碼器對C6711DSK擴展地址線的DB_A14、DB_A15、DB_CE2信號進(jìn)行譯碼產(chǎn)生片選信號。2片MAXl25AEAX和雙幾RAM(CY7C135)的地址分別為A0000000H、A0004000H和A0008000H~A000CFFFH。
SN74LVCl38AD譯碼器是TI公司設(shè)計的一款低壓譯碼器,運行電壓為1.65~3.3 V;既可以被5 V電平驅(qū)動,也可以運行在3.3V電壓環(huán)境下,特別適合3.3V/5V的混合電平電路應(yīng)用,可以方便地與3.3V系統(tǒng)直接接口而無需任何轉(zhuǎn)換。
2.5 C6711DSK的I/O信號擴展
系統(tǒng)中需要用到大量的I/O信號。由于C671DSK提供的I/O信號十分有限,因此設(shè)計上采用了1片80C196KC單片機作為協(xié)處理器,大部分的外部信息傳送都由單片機處理。但是由于DSP和單片機之間需要有握手信號,以及DSP控制A/D的讀寫控制信號,所以用到了C6711DSK的部分I/O信號線。由于C6711DSK沒有提供專門的通用I/O線,因此將開發(fā)板上的外設(shè)控制信號線設(shè)定為通用I/O信號來使用。其中DB_CLKX1和DB_CLKRI作為DSP與單片機的握手信號,負(fù)責(zé)DSP與單片機之間傳輸數(shù)據(jù)的控制;DB_FSXl和DB_FSR1作為DSP讀寫A/D和雙口RAM的方向控制信號;DB_EINT6和DB_EINT7為外部中斷信號輸入端,響應(yīng)A/D轉(zhuǎn)換芯片的讀取數(shù)據(jù)中斷。MAXl25AEAX采樣完畢后中斷輸出引腳發(fā)出中斷信號,通知DSP接收數(shù)據(jù)。DSP在接收到中斷請求后判斷中斷引腳號,然后到相應(yīng)的MAXl25AEAX讀取數(shù)據(jù)。在A/D芯片MAXl25AEAX的中斷輸出引腳和C6711DSK中斷輸入引腳之間采用高速光耦HCPL0600進(jìn)行光電隔離,同時實現(xiàn)5 V到3.3 V的電平轉(zhuǎn)換。
2.6 軟件設(shè)計
利用CCS開發(fā)系統(tǒng)軟件程序,采用C語言和匯編語言混合編程方法,主程序用C語言、初始化和FFT用匯編語言編寫。系統(tǒng)軟件主要由A/D采樣程序和數(shù)據(jù)處理程序組成。A/D采樣程序主要負(fù)責(zé)接收存儲MAXl25AEAX轉(zhuǎn)化完的數(shù)據(jù)到外擴的數(shù)據(jù)存儲器RAM中,并讀取計算出的信號頻率值。DSP數(shù)據(jù)處理和計算程序主要足對采樣數(shù)據(jù)的分析和處理,進(jìn)行FFT濾波。主程序結(jié)構(gòu)框圖如圖4所示。
由鎖相倍頻電路的輸出信號啟動A/D轉(zhuǎn)換。該信號由被采樣信號經(jīng)過鎖相倍頻后得到,與被采樣信號保持同相位,并且信號頻率為被采樣信號的64倍(一周波64點采樣)。A/D芯片MAXl25AEAx的采樣信號轉(zhuǎn)換完后,電路將觸發(fā)中斷信號INT6D給DSP。實時數(shù)據(jù)由DSP通過連續(xù)讀脈沖將數(shù)據(jù)存到RAM。當(dāng)數(shù)據(jù)采樣達(dá)到64個點后,開始執(zhí)行FFT單元。
在進(jìn)行FFT算法開發(fā)時,由于C語言不能直接利用DSP特有的反序間接尋址等優(yōu)越特性,F(xiàn)FT運算的實時性也不理想,因此編程中FFT算法選用匯編語肓來實現(xiàn)。
結(jié)語
利用TI公司的TMS320C6711DSK設(shè)汁的多路數(shù)據(jù)采集系統(tǒng),應(yīng)用在電力系統(tǒng)參數(shù)測量中,能夠很好地滿足采樣要求;利用C671113SK作為主板,通過板上提供的擴展信號設(shè)計系統(tǒng)的方法,大大降低了開發(fā)難度,縮短了開發(fā)時間。
評論