基于nRF905的無線加速度測量系統(tǒng)設(shè)計
C8051F31O作為SPI主機(jī),nRF905作為從機(jī)。主機(jī)在P1.0引腳提供主機(jī)模擬SPI時鐘,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所示。本文引用地址:http://www.ex-cimer.com/article/194731.htm
進(jìn)入ShockBurst RX模式650μs后,nRF905不斷檢測,等待接收數(shù)據(jù)。當(dāng)檢測到同一頻段的載波時,載波檢測引腳CD被置高,當(dāng)接收到一個相匹配的地址,地址檢測引腳AM被置高,當(dāng)一個正確的數(shù)據(jù)包接收完畢,nRF905自動移去字頭、地址和CRC校驗位,然后將DR引腳置高,通知MCU讀取數(shù)據(jù),數(shù)據(jù)讀取完畢DR引腳置低。
當(dāng)有數(shù)據(jù)要發(fā)送時,MCU按時序?qū)⒔邮諜C(jī)的地址和要發(fā)送的數(shù)據(jù)傳送給nRF905,SPI接口速率在通信協(xié)議和器件配置時確定。進(jìn)入Shock Burst TX模式650us后,射頻寄存器自動開啟,進(jìn)行數(shù)據(jù)打包(加字頭和CRC校驗碼),發(fā)射數(shù)據(jù)包。當(dāng)數(shù)據(jù)發(fā)射完成,DR引腳置高通知MCU數(shù)據(jù)已成功發(fā)送。
3 軟件設(shè)計
軟件采用結(jié)構(gòu)化程序設(shè)計方法,由主程序和各任務(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校驗位和加速度數(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)試驗臺上進(jìn)行系統(tǒng)的測試。試驗方案為:從機(jī)固定在距旋轉(zhuǎn)臺中心一定距離處,通過調(diào)整轉(zhuǎn)臺的轉(zhuǎn)速來獲得不同的法向加速度,從機(jī)對法向加速度進(jìn)行測量,測量結(jié)果以射頻方式傳給主機(jī)進(jìn)行顯示和保存。該系統(tǒng)在試驗中運行可靠,測量結(jié)果準(zhǔn)確性高,由于采用數(shù)字式射頻傳輸方式使數(shù)據(jù)傳輸誤碼率極低。原理樣機(jī)如圖6所示。
5 結(jié)論
采用無線數(shù)字傳輸方式避免了傳輸導(dǎo)線的內(nèi)阻和雜散分布電容、環(huán)境溫度、電磁干擾等影響,尤其適合于復(fù)雜環(huán)境下運動物體加速度的測量,這一特點是有線傳輸方式所無法比擬的。
評論