基于nRF905的低功耗溫濕度無(wú)線(xiàn)測量系統
3.2 無(wú)線(xiàn)收發(fā)
對于無(wú)線(xiàn)發(fā)送而言,在測量發(fā)送數據以后,應考慮到數據傳輸的可靠性,因此加上校驗功能,并且為防止偶然的發(fā)送失敗帶來(lái)的不良后果,采取定時(shí)等待,超時(shí)后重發(fā),收到接收主機命令后才進(jìn)入休眠的模式。具體流程圖如圖8所示。
對于接收端而言,所完成的任務(wù)是時(shí)刻檢測無(wú)線(xiàn)接收模塊,對于收到的數據進(jìn)行校驗,如果正確收到數據則無(wú)線(xiàn)發(fā)送相關(guān)指令告知接收端,使其能夠盡快進(jìn)入休眠省電模式,并且通過(guò)上位機顯示溫濕度;而接收到錯誤數據后不做任何處理,等待接收端再次發(fā)送數據。
相應的初始化程序如下:
unsigned char RFConf[11]=
{
Ox00, //配置命令//
0x6C, //CH_NO,配置頻段在433.2 MHz
OxOC,//輸出功率為10 dB,不重發(fā),節電為正常模式
0x44, //地址寬度設置,為4 B
0x02,0x02, //接收發(fā)送有效數據長(cháng)度為3 B
0xE0,0xE0,0xE0,0xE0, //接收地址
0x1E, //CRC充許,16位CRC校驗,外部時(shí)鐘信號使能,16 MHz晶振
};
for(unsigned char i=0;i11;i++)
SPDR=RFConf[i];
//SPDR是Atmegal-16L的SPI數據寄存器,相應配置見(jiàn)數據手冊;
而實(shí)際操作過(guò)程中通過(guò)對nRF905發(fā)送與接收實(shí)現是通過(guò)以下命令實(shí)現:
寫(xiě)發(fā)射數據命令:20H;
讀發(fā)射數據命令:21H;
寫(xiě)發(fā)射地址命令:22H;
讀發(fā)射地址命令:23H;
讀接收數據命令:24H。
4 結 語(yǔ)
該系統采用AVR系列低功耗單片機ATmega16L作為控制芯片,低功耗芯片nRF905作為無(wú)線(xiàn)收發(fā)模塊,設計并實(shí)現了基于數字溫濕度傳感器SHT11的溫濕度無(wú)線(xiàn)測量系統,這些低功耗產(chǎn)品使得該系統耗電量小,并且又特別適合將該系統小型化,智能化,儀表化。無(wú)線(xiàn)發(fā)射功能又代替了人工抄表的繁瑣,使得本系統有著(zhù)廣泛的應用前景。
評論