基于DSP的數(shù)字式MEMS加速度傳感器ADXL203的系統(tǒng)設(shè)計與應(yīng)用
引言
加速度傳感器一直是振動測試中的重要元件。ADXL203加速度計是美國模擬器件(AD)公司的新型單芯片雙軸傳感器,測量范圍是±1.7g.可以承受3500g振動沖擊。相對于傳統(tǒng)的加速度計,他的成本比較低,性能好,功耗低。此外,該加速度計可以同時測量兩個垂直方向的加速度,適用于靜態(tài)和動態(tài)的加速度測量。
測量原理
ADXL203采用先進(jìn)的MEMS技術(shù),由一個利用表面微機械加工的多晶體硅機構(gòu)和一個差動電容器組成。在加速度的作用下,多晶體硅結(jié)構(gòu)會產(chǎn)生偏移,于是就會拉動電容的運動極板滑動是電容值發(fā)生變化,最終導(dǎo)致輸出方波的變化,利用這個原理,就可以通過查動電容檢測到加速度的變化,加速度與輸出方波成正比。
應(yīng)用要點
ADXL203可以測量靜態(tài)加速度,也可以測量動態(tài)加速度,其最小帶寬為0.5Hz,最大帶寬可以達(dá)到2500Hz。
在設(shè)計時,首先要確定北側(cè)加速度頻率范圍,然后再設(shè)定濾波器的參數(shù)。盡量使濾波器的帶寬略高于被測頻率,這樣做不僅有利于濾除高頻干擾,也有利于降低系統(tǒng)噪聲干擾。
因此要選擇合適的帶寬,如果一味提高通頻帶寬將會給測量帶來更多的噪音,降低測量精度。
實際應(yīng)用
在加速度測量研究中,我們采用了TI公司生產(chǎn)的TMS320LF2407 DSP信號處理器來進(jìn)行處理。這里首先介紹一下2407的特點與性能。
1 TMS320LF2407的硬件特點。
采用了采用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,減少了功耗;基于TMS320C2xx DSP的CPU核,保證與TMS320系列DSP代碼兼容;片內(nèi)有高達(dá)32K字的單口RAM(SARAM);兩個事件管理器模塊EVA和EVB,適用于控制各類電機;看門狗定時模塊(WDT);控制局域網(wǎng)絡(luò)(CAN)2.0B模塊;串行通信接口(SCI)模塊;16位的串行外設(shè)接口(SPI)模塊;JTAG接口,使得在系統(tǒng)編程(ISP)很容易實現(xiàn);10位A/D轉(zhuǎn)換器最小的轉(zhuǎn)換時間為500ns,可選擇由兩個事件管理器來觸發(fā)2個8通道輸入A/D轉(zhuǎn)換器或1個16通道輸入A/D轉(zhuǎn)換器,而每次要轉(zhuǎn)換的通道都可通過編程來選擇。需要說明的是,TMS320LF2407 DSP是丁點16位芯片,存儲數(shù)據(jù)的最小單位是16位的字,每個地址(包括程序地址,數(shù)據(jù)地址及I/O地址)所存的數(shù)據(jù)都是16位。
2 軟件環(huán)境。
TMS320C2407 DSP提供兩種編程語言:匯編語言和C語言。兩種語言各有所長:用C語言開發(fā)DSP芯片,開發(fā)速度快,可讀性好,可移植性強;而用匯編語言開發(fā)DSP芯片,則能充分利用DSP芯片的軟硬件資源,程序代碼的執(zhí)行效率高。在開發(fā)過程中幾乎不可避免的要使用C語言和匯編語言的混合編程。如果源程序為C語言,需調(diào)用TMS320C2xx DSP的C編譯器將其編譯成匯編語言,然后送匯編器進(jìn)行匯編。匯編后產(chǎn)生COFF格式的目標(biāo)文件,再用鏈接器進(jìn)行鏈接(鏈接過程包括將編譯器的運行支持庫相關(guān)代碼鏈接進(jìn)來以及代碼段和數(shù)據(jù)段的重定位),生成在TMS320C2xx DSP上可執(zhí)行的COFF格式的目標(biāo)代碼,并調(diào)用下載程序?qū)⒛繕?biāo)代碼下載到目標(biāo)芯片上。
3 系統(tǒng)設(shè)計。
系統(tǒng)設(shè)計包括:變成邏輯器件接口,數(shù)字量擴(kuò)展單元,傳感器信號產(chǎn)生單元,A/D轉(zhuǎn)換單元,電源管理模塊(提供5V,3.3V)和數(shù)據(jù)存儲器等,將TMS320LF2407的資源全部引出。
系統(tǒng)主要模塊如下:
1.DSP控制單元。包括晶振,RAM,電源模塊,和相應(yīng)的數(shù)據(jù)輸出接口。根據(jù)DSP的實驗板電路作出相應(yīng)的改動,然后就可以與傳感器單元連接了。連接完畢,接入仿真器與電腦對接,進(jìn)行程序的調(diào)試。
2.傳感器信號輸出單元。包括ADXL203,AD8341 A/D轉(zhuǎn)換器,運放電路。傳感器電路分為兩個相同的組成部分,測量三個方向的加速度。使用的是AD公司生產(chǎn)的MEMS傳感器ADXL203,和由TI公司生產(chǎn)的A/D轉(zhuǎn)換器ADS8341。傳感器輸出的模擬信號送入A/D轉(zhuǎn)換器,然后送入DSP的SPI口進(jìn)行處理。板子的輸入電源由一個5V電源提供,在輸入之前,用電容進(jìn)行濾波以提高精度,減少毛刺。盡量減少對傳感器的影響。
4 系統(tǒng)軟件。
CCS的設(shè)置與使用。運行Code Composer Studio Setup 軟件,在Processor Configuration窗中,在Available Processor 中選擇TMS320C24X,然后,點擊Add Single;對話框右邊出現(xiàn)CPU_1圖標(biāo),將板卡的I/O值修改為0X378。點擊Finish,關(guān)閉Code Composer Studio Setup程序,選擇保存。Code Composer Studio 就設(shè)置完畢。
一個DSP應(yīng)用軟件的標(biāo)準(zhǔn)開發(fā),需要經(jīng)歷下列步驟:用文本編輯器(Editor)編輯滿足匯編器(Assembler)格式要求的匯編源程序;調(diào)用匯編器匯編該源文件,如果源文件中調(diào)用了宏,匯編器還會到宏庫中搜索該宏;匯編之后生成格式為公共目標(biāo)文件格式(COFF,Common Object File Format)的目標(biāo)文件(.obj),稱為COFF目標(biāo)文件;調(diào)用鏈接器(Linker)鏈接目標(biāo)文件,如果包含了運行支持庫和目標(biāo)文件庫,鏈接器還會到所保護(hù)的庫中搜索所需的成員;鏈接之后生成可執(zhí)行的COFF執(zhí)行文件(.out)將COFF執(zhí)行文件下載到DSP中執(zhí)行。同時也可借助調(diào)試工具(Debugging Tool)對程序進(jìn)行跟蹤調(diào)試或優(yōu)化,也可利用交叉參考列表器(Cross-reference Lister)和絕對列表器(Absolute Lister)生成一些包含調(diào)試信息的表。
TI公司在其系列芯片上設(shè)置了符合IEEE1149標(biāo)準(zhǔn)的JTAG(Joint Action Group)標(biāo)準(zhǔn)測試接口及相應(yīng)的控制器,從而不但能控制和觀察多處理器系統(tǒng)中的每一個處理器的運行,測試每一塊芯片,還可以用這個接口來裝入程序。用37芯扁平電纜使計算機通過并行口或轉(zhuǎn)接卡與SEED-SDSPP仿真盒相連,再用14芯JTAG接口線連接到用戶DSP目標(biāo)板。在PCB電路設(shè)計好后,程序先將JTAG的控制指令通過TDI送入JTAG控制器的指令寄存器中。再通過TDI將要寫的數(shù)據(jù)及控制線信號輸入到BSR(邊界掃描寄存器)中,并將數(shù)據(jù)鎖存到BSC(邊界掃描單元)中,此后BSC的內(nèi)容送到其連接的相應(yīng)芯片的引腳!因芯片的數(shù)據(jù)線、地址線及控制線的引腳上都有其相應(yīng)的BSC,只要用JTAG指令將數(shù)據(jù)、地址及控制信號送到其BSC中,就對芯片內(nèi)的寄存器進(jìn)行讀寫,通過BSC對應(yīng)的引腳,不但可以將信號送給發(fā)Flash,實現(xiàn)對Flash的操作,也可以對SDRAM進(jìn)行操作。
5 結(jié)束語
應(yīng)用上述的設(shè)計方法及其要點,通過反復(fù)調(diào)試實現(xiàn)了對加速度的測量,達(dá)到了預(yù)期目的。實踐證明ADXL203非常適合頻率變化較為緩慢、加速度不太大的測量。在充分考慮各種因素的基礎(chǔ)上,合理設(shè)置有關(guān)參數(shù),就可以得到很好的精度。而在用DSP處理信號的時候,時鐘信號的選擇與A/D的頻率周期非常吻合,可以高效的追蹤信號,及時地處理信號,準(zhǔn)確地反映當(dāng)前物體的位移變化,達(dá)到了很好的效果。