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