基于nRF905的無(wú)線(xiàn)加速度測量系統設計
C8051F31O作為SPI主機,nRF905作為從機。主機在P1.0引腳提供主機模擬SPI時(shí)鐘,P1.1引腳作為主機模擬MISO線(xiàn),P1.2引腳作為主機模擬MOSI線(xiàn),P1.3引腳作為從機SPI片選線(xiàn)。主機通過(guò)此模擬SPI串行口在配置模式下對從機相關(guān)寄存器進(jìn)行配置;在RF發(fā)射和接受模式下進(jìn)行發(fā)射數據的傳送和接收數據的讀取。nRF905的工作狀態(tài)接口由CD,AM和DR組成;工作模式控制引腳由PWR,TRX和TX組成,C8051F310通過(guò)P1.4,P1.5和P1.6來(lái)設置nRF905的工作模式,具體模式設置如表1所示。本文引用地址:http://dyxdggzs.com/article/194731.htm
進(jìn)入ShockBurst RX模式650μs后,nRF905不斷檢測,等待接收數據。當檢測到同一頻段的載波時(shí),載波檢測引腳CD被置高,當接收到一個(gè)相匹配的地址,地址檢測引腳AM被置高,當一個(gè)正確的數據包接收完畢,nRF905自動(dòng)移去字頭、地址和CRC校驗位,然后將DR引腳置高,通知MCU讀取數據,數據讀取完畢DR引腳置低。
當有數據要發(fā)送時(shí),MCU按時(shí)序將接收機的地址和要發(fā)送的數據傳送給nRF905,SPI接口速率在通信協(xié)議和器件配置時(shí)確定。進(jìn)入Shock Burst TX模式650us后,射頻寄存器自動(dòng)開(kāi)啟,進(jìn)行數據打包(加字頭和CRC校驗碼),發(fā)射數據包。當數據發(fā)射完成,DR引腳置高通知MCU數據已成功發(fā)送。
3 軟件設計
軟件采用結構化程序設計方法,由主程序和各任務(wù)子程序組成。系統上電后,C8051F310完成對自身、LIS331DL傳感器和射頻收發(fā)器nRF905的初始化設,根據鍵值電平高低來(lái)決定是否進(jìn)入工作狀態(tài)。
在從機進(jìn)入工作狀態(tài)后,C8051F310通過(guò)SPI同步串行口讀取LIS331DL傳感器X,Y和Z軸寄存器的值,根據三個(gè)數值求出加速度值,然后將該數值連同主機地址一起通過(guò)模擬SPI口傳給nRF905,由其自動(dòng)完成數據的發(fā)送;主機進(jìn)入工作狀態(tài)后不斷檢測有效載波,當攜帶有效數據的載波出現后,nRF905自動(dòng)完成去除數據包中的地址、CRC校驗位和加速度數據的提取操作,此操作完成后通知C8051F310讀取數據直至數據讀取完畢,C8051F310將數據先在LCD1602液晶顯示器中進(jìn)行顯示,然后通過(guò)RS232將數據保存到PC機,系統程序流程如圖5所示。
4 系統調試
在旋轉試驗臺上進(jìn)行系統的測試。試驗方案為:從機固定在距旋轉臺中心一定距離處,通過(guò)調整轉臺的轉速來(lái)獲得不同的法向加速度,從機對法向加速度進(jìn)行測量,測量結果以射頻方式傳給主機進(jìn)行顯示和保存。該系統在試驗中運行可靠,測量結果準確性高,由于采用數字式射頻傳輸方式使數據傳輸誤碼率極低。原理樣機如圖6所示。
5 結論
采用無(wú)線(xiàn)數字傳輸方式避免了傳輸導線(xiàn)的內阻和雜散分布電容、環(huán)境溫度、電磁干擾等影響,尤其適合于復雜環(huán)境下運動(dòng)物體加速度的測量,這一特點(diǎn)是有線(xiàn)傳輸方式所無(wú)法比擬的。
評論