新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于nRF905的無線水表自動(dòng)抄表系統(tǒng)設(shè)計(jì)

基于nRF905的無線水表自動(dòng)抄表系統(tǒng)設(shè)計(jì)

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

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

本文引用地址:http://m.butianyuan.cn/article/154579.htm

b.JPG


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

c.JPG


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

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


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉