新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于MSP430和nRF401的家用射頻無(wú)線自動(dòng)抄表系統(tǒng)設(shè)計(jì)

一種基于MSP430和nRF401的家用射頻無(wú)線自動(dòng)抄表系統(tǒng)設(shè)計(jì)

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

下層模塊收到上層模塊發(fā)來(lái)的抄表命令,首先檢查地址。如果地址不符,說(shuō)明命令是發(fā)給其它模塊的,則丟棄命令,繼續(xù)等待。數(shù)據(jù)正常接收完畢后,模塊按照與儀表的協(xié)議檢驗(yàn)數(shù)據(jù),數(shù)據(jù)出現(xiàn)錯(cuò)誤,則重新向儀表發(fā)送命令,如果正確則向上層發(fā)送數(shù)據(jù),之后重新進(jìn)入等待狀態(tài)。

F123只有一個(gè)串口,而上下兩層的模塊需要兩個(gè)串口。第二個(gè)串口由定時(shí)器A的捕獲/比較功能實(shí)現(xiàn)。發(fā)送特性的實(shí)現(xiàn)采用比較功能將數(shù)據(jù)從輸出單元的引腳移出的方法,波特率用比較數(shù)據(jù)及中斷來(lái)獲得。接收特性的實(shí)現(xiàn)采用捕獲/比較功能將引腳數(shù)據(jù)經(jīng)SCCIx位移入內(nèi)存。

3.2 無(wú)線通訊協(xié)議

本系統(tǒng)是一個(gè)簡(jiǎn)單的點(diǎn)對(duì)多點(diǎn)通訊,所以通訊協(xié)議分為三層即可。第一層為物理層,由模塊硬件實(shí)現(xiàn);第二層為數(shù)據(jù)鏈路層;第三層為應(yīng)用層。

數(shù)據(jù)鏈路層的功能是提供可靠的無(wú)線數(shù)據(jù)傳輸。發(fā)送數(shù)據(jù)時(shí),將應(yīng)用層發(fā)來(lái)的比較長(zhǎng)的數(shù)據(jù)幀拆分為短的數(shù)據(jù)幀,并加上包頭和校驗(yàn)和,重新打包后發(fā)送出去。接收數(shù)據(jù)時(shí),將接收到的數(shù)據(jù)解包并重新組合成完整的長(zhǎng)數(shù)據(jù),移交給應(yīng)用層。

數(shù)據(jù)鏈路層的數(shù)據(jù)幀格式為:

每幀包括兩個(gè)字節(jié)的起始幀頭,一個(gè)字節(jié)的地址,一個(gè)字節(jié)的幀類(lèi)型,一個(gè)字節(jié)的幀編號(hào),十個(gè)字節(jié)的數(shù)據(jù)和兩個(gè)字節(jié)的校驗(yàn)和。無(wú)線通訊容易受到干擾,一次發(fā)送的數(shù)據(jù)越長(zhǎng),受干擾的可能性越大。所以應(yīng)該把比較長(zhǎng)的數(shù)據(jù)分成小的數(shù)據(jù)包分別發(fā)送。本系統(tǒng)每個(gè)數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度為十個(gè)字節(jié),原始數(shù)據(jù)不足時(shí)用0補(bǔ)足。

因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/nRF401">nRF401是高靈敏度的,在沒(méi)有進(jìn)行數(shù)據(jù)傳輸時(shí),它的數(shù)據(jù)輸出腳會(huì)有雜波輸出,這些雜波會(huì)被MCU的串口接收并處理。的ANT1和ANT2引腳是接收時(shí)低噪聲接收放大器LNA的輸入,以及發(fā)送時(shí)發(fā)射功率放大器PA的輸出。連接nRF401的天線可以以差分方式連接到nRF401,一個(gè)50Ω的單端天線也可以通過(guò)一個(gè)差分轉(zhuǎn)換匹配網(wǎng)絡(luò)連接到nRF401。四個(gè)字節(jié)的0xCC加一個(gè)字節(jié)的0xF0就可以確保在有效數(shù)據(jù)幀到達(dá)前雙方通訊實(shí)現(xiàn)同步。為了區(qū)分干擾雜波與有效數(shù)據(jù),需要數(shù)據(jù)幀加上幀頭。因?yàn)楦蓴_雜波基本是隨機(jī)的,如果使用一個(gè)字節(jié)的幀頭,則可能無(wú)法區(qū)分干擾和有效數(shù)據(jù)。因此本系統(tǒng)協(xié)議使用兩個(gè)字節(jié)的幀頭,為兩個(gè)0x55。0x55加上起始位和停止位,實(shí)際發(fā)送的是0101010101,雜波產(chǎn)生連續(xù)兩個(gè)0x55的概率很小很小,可以確保有效數(shù)據(jù)的確認(rèn)。數(shù)據(jù)幀的類(lèi)型包括抄表命令、正常返回?cái)?shù)據(jù)、出錯(cuò)要求重發(fā)、儀表異常信號(hào)、正確接收確認(rèn)等,用一個(gè)字節(jié)來(lái)標(biāo)示以便接收方分類(lèi)處理。因?yàn)閷⑤^長(zhǎng)的數(shù)據(jù)分成短的數(shù)據(jù)幀發(fā)送,所以每幀需要一個(gè)編號(hào),以便接收方檢查是否丟幀。在十個(gè)字節(jié)的數(shù)據(jù)之后是校驗(yàn)和,使用16位crc校驗(yàn),檢驗(yàn)數(shù)據(jù)傳輸?shù)恼_性。接收方同樣計(jì)算crc后與校驗(yàn)和比較,如果不同,即為傳輸中出現(xiàn)錯(cuò)誤。接收方記下錯(cuò)誤幀的編號(hào),待全部數(shù)據(jù)發(fā)送完畢后,將錯(cuò)誤編號(hào)返回,要求發(fā)送方重新發(fā)送這些幀。如果全部數(shù)據(jù)正常接收,則發(fā)回正確接收確認(rèn)。

下層模塊的應(yīng)用層的功能是使儀表抄取與無(wú)線通訊相結(jié)合。對(duì)于不同的水表、電表或煤氣表,可能有不同的抄取協(xié)議或抄取方法。應(yīng)用層接收數(shù)據(jù)鏈路層發(fā)來(lái)的抄表命令,完成對(duì)儀表的抄取,并將數(shù)據(jù)打包發(fā)給數(shù)據(jù)鏈路層。上層模塊的應(yīng)用層負(fù)責(zé)與中心的鏈接。將中心發(fā)來(lái)的數(shù)據(jù)校驗(yàn)處理后轉(zhuǎn)發(fā)給數(shù)據(jù)鏈路層,將數(shù)據(jù)鏈路層發(fā)來(lái)的抄表結(jié)果打包處理后發(fā)給中心。

因?yàn)閰f(xié)議是分層的,相鄰層之間的聯(lián)系只是調(diào)用發(fā)送接收函數(shù),因此實(shí)現(xiàn)了各層是獨(dú)立的。更換儀表或更換無(wú)線傳輸模塊所需做的改動(dòng)都不會(huì)影響其它層,提高了系統(tǒng)的靈活性。

4 系統(tǒng)的低功耗設(shè)計(jì)

系統(tǒng)中在等待時(shí)處于LPM1狀態(tài)。在此狀態(tài)下,Vcc=3V時(shí)工作電流低于50μA。系統(tǒng)中的485芯片使用MAXIM公司的MAX3485,在關(guān)斷模式下,所需電流小于1μA。系統(tǒng)低功耗設(shè)計(jì)的重點(diǎn)是nRF401的控制。當(dāng)它處于接收狀態(tài)時(shí),工作電流為10mA左右,如果始終處于接收狀態(tài),整個(gè)系統(tǒng)的功耗就會(huì)過(guò)大,電池的電量將會(huì)很快耗盡。所以應(yīng)盡量使nRF401處于休眠狀態(tài)。但是休眠狀態(tài)中的nRF401是無(wú)法收到數(shù)據(jù)的。為了解決這個(gè)矛盾,可使nRF401間歇性地工作在接收狀態(tài)。nRF401從休眠到接收狀態(tài)的轉(zhuǎn)換時(shí)間為3ms,所以處于接收狀態(tài)的時(shí)間不能少于3ms;因?yàn)閚RF401處于接收狀態(tài),并且空中無(wú)有效信號(hào)時(shí),會(huì)有雜波干擾,所以正常喚醒至少需要收到兩個(gè)字節(jié)的喚醒碼。因?yàn)楸鞠到y(tǒng)使用9600的波特率,發(fā)送兩個(gè)字節(jié),加起始位與停止位共20bit。所以接收時(shí)間為2.08ms。為了確保能夠喚醒,應(yīng)再適當(dāng)延長(zhǎng)。本系統(tǒng)使用8ms。處于休眠的時(shí)間因儀表抄送反映速度的要求而定。如儀表反映時(shí)間要求不嚴(yán)格,可加長(zhǎng)處于休眠的時(shí)間,以便進(jìn)一步降低功耗。本系統(tǒng)使用的周期為1s。上層模塊抄表需要喚醒下層模塊時(shí),首先發(fā)送喚醒碼,時(shí)長(zhǎng)需要超過(guò)一個(gè)周期以確保喚醒,如圖7所示。本系統(tǒng)使用0xFF作為喚醒碼,即主機(jī)連續(xù)發(fā)送0xFF,從機(jī)收到連續(xù)兩個(gè)0xFF后即保持接收狀態(tài)而不進(jìn)入休眠,此時(shí)計(jì)時(shí)器開(kāi)始工作。如此設(shè)定之后,nRF401的平均工作電流可降至250μA以下。下層模塊的nRF401工作在此狀態(tài)下,整個(gè)模塊的平均工作電流在300μA以下,按使用兩節(jié)5號(hào)AA電池計(jì)算,可以使用半年以上。上層模塊由于是主機(jī),所有的無(wú)線傳輸都由它發(fā)起,所以等待時(shí)nRF401可一直工作在休眠狀態(tài),整個(gè)模塊的平均工作電流在100μA以下,兩節(jié)電池可以使用一年半以上。

小區(qū)自動(dòng)抄表系統(tǒng)是未來(lái)發(fā)展的必然趨勢(shì),而對(duì)于已經(jīng)建成的住宅小區(qū)的家庭內(nèi)自動(dòng)抄表系統(tǒng)的改造,具有使用方便、靈活、無(wú)需重新布線的優(yōu)點(diǎn),并且價(jià)格適中。家庭內(nèi)部的三表可以統(tǒng)一抄送。此外,本系統(tǒng)略加改進(jìn)也可以應(yīng)用于報(bào)警與安全系統(tǒng)和家庭自動(dòng)化控制遙控裝置等。


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

評(píng)論


相關(guān)推薦

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

關(guān)閉