<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于nRF905的無(wú)線(xiàn)水表自動(dòng)抄表系統設計

基于nRF905的無(wú)線(xiàn)水表自動(dòng)抄表系統設計

作者: 時(shí)間:2012-06-25 來(lái)源:網(wǎng)絡(luò ) 收藏

3.2 軟件
3.2.1 通信協(xié)議
工作在接收模式時(shí),引入的數據包地址與器件自身地址相同時(shí),才可以繼續接收下面的數據,發(fā)送的數據還要遵循一定的數據格式,如表1所示。

本文引用地址:http://dyxdggzs.com/article/154579.htm

b.JPG


Addr為發(fā)送單元地址:Payload為有效加載數據(包括OffsetAdd偏移地址、RID發(fā)送機識別碼、Data數據);最后為CRC校驗碼。Addr包含4個(gè)字節,OffsetAdd為一個(gè)字節,RID包括4個(gè)字節,Data有7個(gè)字節(包括發(fā)送機類(lèi)型碼、發(fā)送機狀態(tài)、倍率和4個(gè)字節的計數值)。故需要配置接收和發(fā)送數據寬度為14字節。
接收時(shí),地址匹配后,先接收一數據包,分別驗證OffsetAdd、RID和CRC正確后,再將Payrload數據送入微控制器處理;當接收機微處理器判斷Payload中的RID有效時(shí),繼續處理后續數據,否則放棄該數據包,如果數據合法,最后將數據存放在偏移地址為OffsetAdd的EEProm存儲器中。
3.2.2 模塊初始化
在nRF905模塊中,特殊寄存器RF-Register包含10個(gè)字節,其配置字內容可決定nRF905的工作特性,表2列出本中特殊寄存器RF-Register需要配置的基本參數。

c.JPG


的通信模塊器件工作在433 MHz頻段,選用432.4MHz的中心頻率,輸出功率設置為nRF905所允許的最大功率+10 dBm,以確保通信果。允許產(chǎn)生CRC校驗碼,以減小CPU工作負擔。通訊時(shí),各模塊處于正常接收狀態(tài),收發(fā)使能位TRX_CE=1且方式選擇位TCX_EN=0。在發(fā)送數據條件符合后,可由用戶(hù)編程修改TX_EN=1使各字節工作于發(fā)射狀態(tài)。
設定接收器和所有發(fā)送單元的地址Addr均為OXc5h,這樣,整個(gè)內接收器和所有發(fā)送單元之間可以互相通訊,其它頻段和其它地址的數據包則不會(huì )被接收,從而避免了其它系統的干擾。
3.2.3 功能需求
1)節電設計
為了達到電子模塊能夠使用6年以上的目標,除了使用大容量鋰電池之外,還需要在軟件方面進(jìn)行降低功耗的設計。
首先要降低CPU部分的功耗,CPU有三個(gè)耗電大戶(hù)有:第一大戶(hù)是懸空的輸入腳,第二大戶(hù)為引腳弱上拉時(shí)IO口接地或被置為低電平,第三大戶(hù)為BROWN OUT DOWNRESET(電壓過(guò)低復位)功能開(kāi)啟。在CPU睡眠時(shí),要將沒(méi)有使用的CPU引腳設為輸入模式并上拉,將被占用的CPU引腳設為輸入模式或置為某一固定的電平,保證與其電氣連接的部分沒(méi)有電流消耗。由于系統電壓過(guò)低后會(huì )報警,提醒用戶(hù)電量不足,所以在編程時(shí)將電壓過(guò)低復位功能關(guān)閉掉,可以節省很大的電能消耗。
通信模塊是最耗電的部分,系統上電,所有初始化工作完成后,CPU則進(jìn)入睡眠狀態(tài),同時(shí)將nRF905芯片的PWR_UP引腳置0,關(guān)閉其電源,當CPU被計數中斷喚醒后,會(huì )查詢(xún)是否達到數據發(fā)送條件,若符合條件則將PWR_UP引腳置1,打開(kāi)通信模塊電源,在處理完數據發(fā)送任務(wù)后,整個(gè)系統重新回到低功耗模式。
2)計量及故障檢測
計量是RB6和RB7兩個(gè)CPU引腳通過(guò)中斷方式采集水表的發(fā)送脈沖,每當兩個(gè)引腳先后經(jīng)歷一次電平高低變化,則完成一次正常計數采集;若兩個(gè)引腳同時(shí)為0,則水表脈沖計數器處于強磁狀態(tài),CPU會(huì )記下此刻狀態(tài)并發(fā)送到接收器;若某個(gè)脈沖為尖峰脈沖,沒(méi)有達到一定的脈沖寬度值,則視為干擾。
每隔一定時(shí)間系統開(kāi)啟AD功能,監測電源電壓,一旦電池電壓值跌落到一定程度則啟動(dòng)報警裝置,通知用戶(hù)電量不足,并將低電壓狀態(tài)發(fā)送到接收器通知管理員更換設備。
3)數據可靠性設計
系統初始化要首先檢測EEProm存儲器中的數據是否在正常范圍內,若正常則加載,否則系統會(huì )使用某一默認值。接收器在每次接收到數據后都會(huì )和上一次數據進(jìn)行比較,符合條件才會(huì )將EEProm數據更新。
另外,在通信協(xié)議中,指定了頻段和地址匹配保證通信可靠,數據包中的ID號檢測和校驗碼驗證保證通信數據的可靠性。

4 結束語(yǔ)
文中根據nRF905的工作特點(diǎn),通過(guò)構建新的通訊協(xié)議,將其應用于水表抄表系統,此方案硬件電路連接簡(jiǎn)單,易于調試,各節點(diǎn)編程具有通用性。系統最終測試達到了預想的性能指標,在正常工作狀態(tài)下電子模塊的電流消耗小于1μA,系統對通信可靠性和數據安全性也進(jìn)行了充分的考慮。將系統信號采樣部分稍加改造,可以應用于智能家庭、智能樓宇、溫\濕度采集、遠程抄表等各種近距離無(wú)線(xiàn)數據傳輸領(lǐng)域,因此,具有較高的實(shí)用推廣價(jià)值。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>