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