基于SPI總線的無線數(shù)據(jù)傳輸系統(tǒng)設計
5 電源電路設計
本系統(tǒng)使用兩個電源,單片機STC89C52RC使用5 V電源,NRF905采用3.3 V電源進行供電,然后把STC89C52RC和NRF905共地,否則會出現(xiàn)無法傳輸數(shù)據(jù)。其中轉(zhuǎn)換芯片分別使用AMSlll7-5.0轉(zhuǎn)5 V芯片和AMSl117-3.3轉(zhuǎn)3.3 V芯片電路圖,如圖3所示。電源電路使用220 V的交流電適配器輸出的9 V直流,經(jīng)C1濾波進入AMSlll7-5.0,然后在輸出端接一個100μF的電容進行濾波去耦,從而得到5 V直流電壓供單片機使用;然后5 V電壓接入下一級AMSlll7-3.3電源轉(zhuǎn)換芯片,輸出3.3 V供NRF905使用。
6 軟件設計的C語言實現(xiàn)
對于發(fā)送端,首先進行I/O口和SPI接口初始化,然后對nRF905的寄存器進行配置并且初始化各個接口,經(jīng)過初始化,處理完采集好的數(shù)據(jù),設置nRF905為發(fā)送模式,調(diào)用發(fā)送代碼,延時一段時間,等待數(shù)據(jù)發(fā)送完畢;同理在接收端也執(zhí)行相同的初始化,不同的只是初始化完畢后,把nRF905模塊設置成接收模式,然后調(diào)用接收程序。最后通過串口在上位機進行顯示。
7 實驗分析
文中對其軟硬件進行了設計和調(diào)試,構建了基于SPI無線通信系統(tǒng)平臺。實驗證明,通過該系統(tǒng)無線測試板殼應力,在nRF905發(fā)射模塊端,敲打板殼使之發(fā)生形變,再用應變儀傳感器測得其形變的電壓值,在數(shù)據(jù)發(fā)射之前對此模擬信號進行AD采集,并通過無線發(fā)射模塊把采集到的數(shù)據(jù)發(fā)射出去;同時先在離發(fā)射模塊相距50 m的位置放置一個接收模塊,接收發(fā)射數(shù)據(jù)并顯示。然后間距每進行一次實驗后增加50 m。以此判斷它們在保證信號傳輸穩(wěn)定情況下的最遠傳輸距離。測得最佳結(jié)果在相距350 m以內(nèi)的樓宇之間,數(shù)據(jù)傳輸穩(wěn)定。超過350 m時,數(shù)據(jù)顯示出現(xiàn)時顯時無的現(xiàn)象。表1是在300 m左右實際測得的幾組應變值。
8 結(jié)束語
文中介紹了用SPI總線接口進行數(shù)據(jù)傳輸?shù)膶崿F(xiàn)方法,采用nRF905射頻收發(fā)芯片和STC89C52RC單片機設計了無線數(shù)據(jù)傳輸系統(tǒng),完成硬件電路和系統(tǒng)軟件調(diào)試后,進行了無線數(shù)據(jù)收發(fā)實驗。實驗過程是通過應變儀傳感器測板殼形變得到的模擬信號,經(jīng)AD采集后產(chǎn)生要發(fā)送的數(shù)據(jù),然后對其進行發(fā)射、接收和顯示。實驗結(jié)果表明,在相距350 m的樓宇之間通信,該無線傳輸系統(tǒng)工作穩(wěn)定,接收和發(fā)射的數(shù)據(jù)完全相同,這表明該系統(tǒng)能實現(xiàn)數(shù)據(jù)的有效傳輸,具有高速、抗干擾能力強等優(yōu)點。
評論