基于TMS320VC5416的多路加速度采集系統(tǒng)設(shè)計
摘 要:本文介紹了一種基于TMS320VC5416的多路加速度采集與處理系統(tǒng)的設(shè)計方法。該系統(tǒng)采用AD73360作為數(shù)據(jù)采集前端,通過DSP的McBSP和AD73360級聯(lián),可實現(xiàn)多路模擬加速度信號的實時采集和處理。
關(guān)鍵詞:TMS320VC5416;AD73360;加速度;數(shù)據(jù)處理
引言
多路加速度采集系統(tǒng)在平臺式慣導(dǎo)系統(tǒng)中起著至關(guān)重要的作用。在早期的產(chǎn)品中,控制和處理核心都采用馮·諾衣曼總線結(jié)構(gòu)的微處理器,由于其指令執(zhí)行速度較慢,設(shè)計一個高性能的實時采集與處理系統(tǒng)顯得比較困難。本文介紹了一種采用TMS320V C5416(DSP)作為處理器,用十六位高精度AD73360作為ADC的多路加速度采集系統(tǒng)設(shè)計方法。
系統(tǒng)硬件設(shè)計
系統(tǒng)由A/D轉(zhuǎn)換電路、DSP及其外圍電路和通信接口電路組成,如圖1所示。
A/D轉(zhuǎn)換電路設(shè)計
AD73360簡介
AD73360工作模式控制起來非常方便,當(dāng)器件加電以后,DSP通過XF或者寫I/O 的方式將AD73360的片選SE引腳置為高電平,此時AD73360處于上電復(fù)位狀態(tài),輸出同步幀信號SDOFS,當(dāng)采用圖3的接法時,可以通過DSP的McBSP串口向AD73360寫入控制字。AD73360由8個寄存器來控制,控制字字長為16位。
在用AD73360進行電路設(shè)計時,可直接用單極性輸入方式,也可采取差動輸入方式將單片AD73360接成三通道轉(zhuǎn)換器。不過在用AD73360器件內(nèi)部參考電壓對模擬輸入前端進行直流偏置時,最好采用高輸入阻抗的運算放大器進行隔離。
加速度信號預(yù)處理電路設(shè)計
加速度信號預(yù)處理電路主要對輸入的多路加速度信號進行取樣、直流偏置和抗混疊濾波處理,具體電路如圖2所示。
在直流偏置之前,首先采用精密電阻網(wǎng)絡(luò)R1和R2對加速度信號進行取樣。為了盡可能提高A/D轉(zhuǎn)換精度,減小電路板的體積,系統(tǒng)使用AD73360片內(nèi)參考電壓REFOUT作直流偏置。在送到運算放大器OP2進行直流偏置之前,采用運算放大器OP1進行隔離,以確保ADC的REFOUT端子沒有輸入、輸出電流,從而保證ADC片內(nèi)精密電壓源電壓恒定和較高的A/D轉(zhuǎn)換精度。最后,經(jīng)R5和C1組成RC網(wǎng)絡(luò),抗混迭濾波后送到AD73360進行A/D轉(zhuǎn)換。
AD73360與TMS320VC5416的接口設(shè)計
AD73360片內(nèi)集成有同步串口SPI,通過和DSP的McBSP簡單連接便可組成一個多通道同步數(shù)據(jù)采集系統(tǒng)。AD73360的復(fù)位信號/RESET、片選信號SE分別由DSP器件的/RESET和XF引腳通過一個上升沿雙D觸發(fā)器提供,這樣可以確保AD73360的復(fù)位信號、片選信號和DMCLK保持同步,以免發(fā)生讀寫錯誤。McBSP的輸入/輸出時鐘均由AD73360提供,即DSP的同步緩沖串口工作于外部時鐘模式。通過多片AD73360級聯(lián),最多可以實現(xiàn)48路同步采集系統(tǒng)(見圖3)。系統(tǒng)在收到主控單片機的啟動命令后,將XF置為高電平,AD73360處于上電復(fù)位狀態(tài),DSP將控制字依順序?qū)懙剿?SPAN lang=EN-US>AD73360中,最后啟動A/D轉(zhuǎn)換,系統(tǒng)開始對加速度信號進行采集。
DSP外圍電路和通信接口電路設(shè)計
DSP外圍電路包括時鐘、電源、復(fù)位以及片外程序存儲器電路。系統(tǒng)采用外部時鐘模式,電源和復(fù)位電路采用TI公司專用芯片TPS767D301和TPS3707-33。由于TMS320VC5416無片內(nèi)Flash,因此系統(tǒng)采用AM29LV200B作為程序存儲器,此芯片是16位Flash存儲器。系統(tǒng)上電后,DSP片內(nèi)引導(dǎo)程序?qū)?SPAN lang=EN-US>AM29LV200B中的工作程序加載到片內(nèi)SRAM,提高程序執(zhí)行效率。
系統(tǒng)通信電路包括并行通信和串行通信兩部分,由于主控單片機采用5V邏輯,故并行通信的握手信號和數(shù)據(jù)線均需采用SN74LV245B進行電平隔離,同時數(shù)據(jù)總線需用SN74LV373進行鎖存。并行通信的握手信號若采用I/O讀寫的方式實現(xiàn),數(shù)據(jù)傳輸效率會降低許多,所以系統(tǒng)將McBSP2定義為通用I/O口,用McBSP2來和主控單片機握手,從而減少硬件開銷,同時提高數(shù)據(jù)傳輸速度。
TMS320VC5416片內(nèi)無UART端口,要實現(xiàn)和主控單片機的串行數(shù)據(jù)通信,本系統(tǒng)采用ST
為了編寫出模塊性強、執(zhí)行效率高的DSP程序,該系統(tǒng)在開發(fā)過程中采用匯編語言和C語言相結(jié)合的方式進行軟件開發(fā)。用C語言編寫程序主體,用匯編語言進行硬件接口程序編寫。
系統(tǒng)軟件執(zhí)行過程如圖4所示,其中左圖為主程序流程,右圖為中斷程序流程。系統(tǒng)加電后,首先對McBSP、AD73360、DMA和串/并通信接口等進行初始化,然后等待主控單片機的啟動命令,接收到啟動命令后開始進行多路加速度信號的采集和處理,并將經(jīng)過線性修正和濾波的加速度數(shù)據(jù)實時發(fā)送給主控單片機。
中斷響應(yīng)程序包括定時器中斷程序、DMA中斷程序和數(shù)據(jù)傳輸請求中斷程序。當(dāng)系統(tǒng)打開中斷后,一旦收到啟動命令,便啟動AD73360,同時定時器開始計時;AD73360將轉(zhuǎn)換后的離散加速度數(shù)據(jù)經(jīng)McBSP0直接送到DMA,并分類裝到各個RAM區(qū)間,當(dāng)DMA指定的數(shù)據(jù)塊緩沖區(qū)充滿以后,DSP響應(yīng)DMA中斷,對加速度值進行線性修正和數(shù)字濾波;若主控計算機數(shù)據(jù)請求中斷產(chǎn)生,DSP通過并口、串口向主控計算機發(fā)送加速度值和空間位置信息;若定時器產(chǎn)生中斷,DSP將開關(guān)變量T置為1。當(dāng)中斷返回后,繼續(xù)進行加速度數(shù)據(jù)處理,并判斷開關(guān)變量T的狀態(tài),決定是否給出控制信號。
因為在地面模擬三維加速度輸入較為困難,在數(shù)據(jù)采集試驗中,選用三路100Hz正弦信號作為模擬輸入,用1kHz采樣率進行采樣。采集系統(tǒng)幅度和相位一致性較好,需要在實際應(yīng)用中進一步檢驗其采集精度。
利用AD73360和TMS320V C5416進行加速度采集系統(tǒng)設(shè)計需注意以下幾個問題:由于DSP系統(tǒng)具有低功耗、雙電源和高速度性能,在設(shè)計時需考慮芯片引腳的外接方式和工藝特性; AD73360的模擬電源和數(shù)字電源要隔離;DSP和AD73360之間的接口在布線時需注意抗干擾,必要時可在串行數(shù)據(jù)線上串接10左右的電阻;在用AD73360提供的參考電壓作直流偏置時,最好先用運算放大器隔離。