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