引言
微電子與微機(jī)械(MEMS)技術(shù)的發(fā)展,使現(xiàn)代傳感器設(shè)計(jì)向微型化、智能化、集成化、微低功耗方向發(fā)展。MEMS技術(shù)突破了傳統(tǒng)傳感器設(shè)計(jì)受質(zhì)量、體積、功耗等技術(shù)瓶頸的束縛,在各測量領(lǐng)域有著非常廣泛的應(yīng)用。而隨著無線技術(shù)的發(fā)展,傳感器技術(shù)與無線技術(shù)結(jié)合得越來越緊密,利用無線技術(shù)開發(fā)信號采集無線傳輸模塊可以克服有線傳輸?shù)谋锥恕?/p>
本文結(jié)合三軸線性MEMS慣性傳感器LIS331DL和單片無線收發(fā)器nRF905構(gòu)建加速度測量無線傳輸系統(tǒng),避免因采用傳輸導(dǎo)線所帶來的不利影響和使用上的不方便。該系統(tǒng)的特點(diǎn)是集電源、加速度傳感器、微控器、射頻收發(fā)器于一體,體積小、功耗低,能夠?qū)崿F(xiàn)對運(yùn)動物體三維方向上加速度的測量。所設(shè)計(jì)的系統(tǒng)裝置可以非常方便地固定于運(yùn)動物體上,尤其適合近距復(fù)雜環(huán)境中對運(yùn)動物體加速度的測量。
1 系統(tǒng)組成和工作原理
系統(tǒng)總體構(gòu)成如圖1所示。系統(tǒng)分為主、從機(jī)兩部分。從機(jī)負(fù)責(zé)測量運(yùn)動物體的加速度并通過射頻傳輸方式發(fā)射測量數(shù)據(jù);主機(jī)負(fù)責(zé)接收從機(jī)發(fā)射的數(shù)據(jù),對數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,并將數(shù)據(jù)結(jié)果通過RS 232串口保存到PC機(jī)中以供分析。
系統(tǒng)采用電池供電,在非工作模式下處于待機(jī)模式,通過控制按鍵實(shí)現(xiàn)工作模式和待機(jī)模式的切換以進(jìn)一步節(jié)省功耗,保證電池長時(shí)間工作。
2 硬件設(shè)計(jì)
硬件設(shè)計(jì)主要包括傳感器與微控器外圍連接電路設(shè)計(jì)、射頻收發(fā)器與微控器外圍連接電路設(shè)計(jì)等。
2.1 微控制器
經(jīng)對比選用高速C8051F310單片機(jī)作為系統(tǒng)的微控器。C8051F310是完全集成的混合信號片上系統(tǒng)型MCU芯片,具有片內(nèi)上電復(fù)位、VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器的真正獨(dú)立工作的片上系統(tǒng),片內(nèi)外設(shè)豐富。
2.2 LIS331DL傳感器電路設(shè)計(jì)
LIS331DL是ST納米運(yùn)動傳感器家族中具有最小封裝(LGA16封裝,3 mm×3 mm×1 mm)、最低功耗(小于1 mW)的三軸線性加速度傳感器。
邏輯框圖如圖2所示。LIS331DL內(nèi)部有按互相垂直關(guān)系放置的三個敏感質(zhì)量塊。當(dāng)有外界加速度作用時(shí),敏感質(zhì)量塊會偏離其平衡位置一段位移,外界加速度越大位移就越大。由于敏感質(zhì)量塊位于兩個電極組成的電容之間,質(zhì)量塊位移的變化會引起電容電極兩端電荷量的變化,電荷量的變化經(jīng)電容/電壓變換器轉(zhuǎn)化為電壓的變化,A/D轉(zhuǎn)換器將模擬電壓值轉(zhuǎn)換為二進(jìn)制數(shù)字值,從I2C/SPI串行接口的三個輸出軸以二進(jìn)制補(bǔ)碼的形式輸出。該芯片能夠測量運(yùn)動物體在三維空間的線加速度,三個輸出軸上加速度的矢量和即為運(yùn)動物體的加速度。
該芯片具有標(biāo)準(zhǔn)的I2C/SPI串行總線接口,內(nèi)置嵌入式功能,為用戶提供動態(tài)可編程設(shè)置的兩個量程±2g/±8g以適應(yīng)不同的應(yīng)用場合,數(shù)據(jù)輸出速率可編程選擇為100 Hz/400 Hz以適應(yīng)不同外設(shè)的速率要求。當(dāng)外界加速度值超過三個輸出軸中至少一個軸的可編程加速度閾值時(shí),芯片可被配置用以產(chǎn)生慣性喚醒/自由落體中斷信號。LIS331DL能夠承受10 000g的加速度沖擊而依然保持性能不變。
LIS331DL與C8051F310的電路連接如圖3所示。C8051F310內(nèi)部有一個標(biāo)準(zhǔn)的SPI串行接口,通過交叉開關(guān)將C8051F310(主機(jī))的四線制SPI外部引腳配置在P0.0(總線時(shí)鐘SCK)、P0.1(主人從出MISO)、P0.2(主出從入)和P0.3(從機(jī)SPI片選CS)這四個引腳上,LIS331DL作為SPI總線的從機(jī),主機(jī)和從機(jī)通過SPI總線進(jìn)行數(shù)據(jù)傳輸,總線時(shí)鐘由主機(jī)決定。從機(jī)的兩個中斷標(biāo)志輸出引腳接到主機(jī)的P0.6和P0.7,主機(jī)內(nèi)的交叉開關(guān)將兩個外部中斷標(biāo)志輸入引腳配置在P0.6和P0.7,它們連接到從機(jī)的兩個中斷標(biāo)志輸出9號和11號引腳,這樣可以進(jìn)行LIS331DL功能的擴(kuò)展(自由落體中斷檢測,內(nèi)部喚醒等)。
2.3 nRF905單片機(jī)無線收發(fā)器電路設(shè)計(jì)
本測量系統(tǒng)中采用nRF905射頻芯片作為射頻收發(fā)器。nRF905采用Nordic公司的VLSI ShockBurst技術(shù)。ShockBurst技術(shù)使nRF905能夠提供高速的數(shù)據(jù)傳輸而無需昂貴的高速M(fèi)CU來進(jìn)行數(shù)據(jù)處理/時(shí)鐘覆蓋。通過將與RF協(xié)議有關(guān)的高速信號處理放到芯片內(nèi),nRF905提供給微控器一個SPI接口,速率由微控器設(shè)定的接口速率決定。nRF905通過ShockBurst工作模式在RF以最大速率進(jìn)行連接時(shí)降低數(shù)字應(yīng)用部分的速率來降低在應(yīng)用中的平均電流消耗。
nRF905與C8051F310的電路連接如圖4所示。C8051F310的SPI同步串行口已作為與LIS331DL的通信接口,為充分利用C8051F310的引腳資源,取C8051F310的P1.0,P1.1,P1.2和P1.3四個IO口組成一個模擬SPI串口與nRF905的SPI口相連接,數(shù)據(jù)采用單字節(jié)逐次移位的方式進(jìn)行傳輸。
C8051F31O作為SPI主機(jī),nRF905作為從機(jī)。主機(jī)在P1.0引腳提供主機(jī)模擬SPI時(shí)鐘,P1.1引腳作為主機(jī)模擬MISO線,P1.2引腳作為主機(jī)模擬MOSI線,P1.3引腳作為從機(jī)SPI片選線。主機(jī)通過此模擬SPI串行口在配置模式下對從機(jī)相關(guān)寄存器進(jìn)行配置;在RF發(fā)射和接受模式下進(jìn)行發(fā)射數(shù)據(jù)的傳送和接收數(shù)據(jù)的讀取。nRF905的工作狀態(tài)接口由CD,AM和DR組成;工作模式控制引腳由PWR,TRX和TX組成,C8051F310通過P1.4,P1.5和P1.6來設(shè)置nRF905的工作模式,具體模式設(shè)置如表1所示。
進(jìn)入ShockBurst RX模式650μs后,nRF905不斷檢測,等待接收數(shù)據(jù)。當(dāng)檢測到同一頻段的載波時(shí),載波檢測引腳CD被置高,當(dāng)接收到一個相匹配的地址,地址檢測引腳AM被置高,當(dāng)一個正確的數(shù)據(jù)包接收完畢,nRF905自動移去字頭、地址和CRC校驗(yàn)位,然后將DR引腳置高,通知MCU讀取數(shù)據(jù),數(shù)據(jù)讀取完畢DR引腳置低。
當(dāng)有數(shù)據(jù)要發(fā)送時(shí),MCU按時(shí)序?qū)⒔邮諜C(jī)的地址和要發(fā)送的數(shù)據(jù)傳送給nRF905,SPI接口速率在通信協(xié)議和器件配置時(shí)確定。進(jìn)入Shock Burst TX模式650us后,射頻寄存器自動開啟,進(jìn)行數(shù)據(jù)打包(加字頭和CRC校驗(yàn)碼),發(fā)射數(shù)據(jù)包。當(dāng)數(shù)據(jù)發(fā)射完成,DR引腳置高通知MCU數(shù)據(jù)已成功發(fā)送。
3 軟件設(shè)計(jì)
軟件采用結(jié)構(gòu)化程序設(shè)計(jì)方法,由主程序和各任務(wù)子程序組成。系統(tǒng)上電后,C8051F310完成對自身、LIS331DL傳感器和射頻收發(fā)器nRF905的初始化設(shè),根據(jù)鍵值電平高低來決定是否進(jìn)入工作狀態(tài)。
在從機(jī)進(jìn)入工作狀態(tài)后,C8051F310通過SPI同步串行口讀取LIS331DL傳感器X,Y和Z軸寄存器的值,根據(jù)三個數(shù)值求出加速度值,然后將該數(shù)值連同主機(jī)地址一起通過模擬SPI口傳給nRF905,由其自動完成數(shù)據(jù)的發(fā)送;主機(jī)進(jìn)入工作狀態(tài)后不斷檢測有效載波,當(dāng)攜帶有效數(shù)據(jù)的載波出現(xiàn)后,nRF905自動完成去除數(shù)據(jù)包中的地址、CRC校驗(yàn)位和加速度數(shù)據(jù)的提取操作,此操作完成后通知C8051F310讀取數(shù)據(jù)直至數(shù)據(jù)讀取完畢,C8051F310將數(shù)據(jù)先在LCD1602液晶顯示器中進(jìn)行顯示,然后通過RS232將數(shù)據(jù)保存到PC機(jī),系統(tǒng)程序流程如圖5所示。
4 系統(tǒng)調(diào)試
在旋轉(zhuǎn)試驗(yàn)臺上進(jìn)行系統(tǒng)的測試。試驗(yàn)方案為:從機(jī)固定在距旋轉(zhuǎn)臺中心一定距離處,通過調(diào)整轉(zhuǎn)臺的轉(zhuǎn)速來獲得不同的法向加速度,從機(jī)對法向加速度進(jìn)行測量,測量結(jié)果以射頻方式傳給主機(jī)進(jìn)行顯示和保存。該系統(tǒng)在試驗(yàn)中運(yùn)行可靠,測量結(jié)果準(zhǔn)確性高,由于采用數(shù)字式射頻傳輸方式使數(shù)據(jù)傳輸誤碼率極低。原理樣機(jī)如圖6所示。
5 結(jié)論
采用無線數(shù)字傳輸方式避免了傳輸導(dǎo)線的內(nèi)阻和雜散分布電容、環(huán)境溫度、電磁干擾等影響,尤其適合于復(fù)雜環(huán)境下運(yùn)動物體加速度的測量。