《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于MSP430和nRF401的無線自動抄表系統
基于MSP430和nRF401的無線自動抄表系統
蔣正義 朱善安 韓東芳
摘要: 介紹了一種基于MSP430和nRF401的家用射頻無線自動抄表系統,詳細地敘述了系統設計原理與軟硬件的實現方法。
Abstract:
Key words :

    摘  要:  介紹了一種基于ti" title="ti">title="MSP430">MSP430和nRF401" title="nRF401">nRF401的家用射頻無線自動抄表" title="自動抄表">自動抄表系統,詳細地敘述了系統設計原理與軟硬件的實現方法。
    關鍵詞: MSP430  nRF401  無線傳輸  自動抄表  家庭內部

     傳統的抄表收費方式存在許多弊端,如入戶麻煩、管理費用過高、存在安全隱患等,已不適應現代物業管理的需要。小區自動抄表系統具有節省時間、人力、物力,提高工作效率,降低物業成本,可以準確及時地將用戶三表數據抄送上來等優點,是抄表收費系統發展的趨勢。為了在已建成的小區中方便地使用自動抄表系統,免除家庭內部重新布線的不便,設計了一個應用于家庭內部的短距離無線抄表" title="無線抄表">無線抄表系統。

1 系統的總體結構
    圖1為短距離無線抄表系統的總體結構,它可用于家庭內部三表或多表數據的抄送。系統下層直接與水表、電表、煤氣表等連接,上層可以通過電話、以太網、GSM或GPRS等與抄表中心連接,實現數據的遠程抄送。

 


    系統一般使用被動抄表方式。上層模塊接收到儀表中心的抄表命令時,通過無線方式向下層模塊發送抄表指令。下層模塊接收到指令后通過485總線采集三表的數據,將數據打包后通過無線通訊芯片發送出去。上層模塊收到數據后,將數據解包,發送給抄表中心。系統也可采用主動抄表,即下層模塊定時采集三表數據,發送到上層模塊,再由上層模塊發送到儀表中心。
2 系統的硬件實現
2.1 系統硬件結構

    圖2為系統的硬件結構。系統的MCU使用TI公司MSP430系列中的F123型,通過nRF401芯片實現無線數據收發,并通過MAX3485芯片及485總線與三表(下層模塊)或電話、網絡等(上層模塊)連接。如果需要與232總線或儀表總線等連接,只需更換轉換芯片即可方便地連接。通過液晶和簡易鍵盤,用戶可以查看三表的數據并對儀表地址進行設定。

 


2.2 主要系統器件介紹 
    無線通訊使用Nordic公司的單片收發芯片nRF401。 這是一個為433MHz ISM頻段設計的真正單片UHF無線收發芯片,它采用FSK調制解調技術。nRF401的最高工作速度可以達到20kbps,發射功率可調,最大為+10dBm。天線接口設計為差分天線,便于使用低成本的PCB天線。該芯片具有待機模式,可以更省電和高效。nRF401的工作電壓范圍為2.7V~5.25V,發射電流約為8mA~18mA(-10dB輸出),接收電流約為10mA,待機電流為8μA。
    nRF401可以通過串行接口與單片機直接相連,無需復雜的編碼,所需的外圍器件很少,使用簡單。其電路原理圖如圖3所示。

 


    系統的MCU使用TI公司的MSP430系列,是一種具有超低功耗特性的功能強大的16位單片機。當運行在1MHz時鐘條件下時,工作電流可因工作模式不同在0.1μA~200μA(2.2V)之間,工作電壓為1.8V~3.6V。其高效率精簡16位指令結構可以確保任何任務的快速執行,大多數指令可以在一個時鐘周期內完成;它還具有高級語言編程的能力,可以加速軟件的開發。
    本系統使用的是該系列的F123型,具有8KB+256Byte Flash Memory和256Byte RAM以及一個串口和一個定時器。
    485芯片使用MAX公司的MAX3485芯片,不需485總線傳輸時可工作在關斷模式下,在該模式下所需的電流小于1μA。
2.3  硬件設計中的注意事項
    射頻電路部分會受到數字電路部分的干擾。天線到射頻芯片的輸入信號可能小于1μV,所以數字信號與射頻信號強度之間的差別可以達到100萬倍(120dB)。如果這些信號沒有被恰當地隔離或屏蔽,射頻信號就將被干擾,傳輸性能會受到非常嚴重的影響。另外射頻部分對電壓的波動非常敏感,所以電源的噪聲會嚴重影響傳輸性能。
    因此,射頻部分電路的設計就顯得非常重要。在設計中應遵循以下原則:首先一定要有一個可靠的地平面,電源地應該直接與射頻部分的地相連;其次,與地平面的連接越短越好。與地連接的焊盤應該在附近設置一個過孔,并且兩個接地焊盤不可以共用一個過孔。解耦電容應該盡量靠近需要解耦的引腳,每個需要解耦的節點單獨使用一個解耦電容。恰當地選擇電容大小會起到很好的效果。電源要采用星形布線,即不同部分(數字部分、模擬部分、射頻部分)的電源線分別直接從總電源引出,并且分別解耦,如圖4所示。這樣可以有效地防止電源噪聲的干擾。
3 系統的軟件設計
3.1 軟件流程

    系統軟件分上層模塊軟件和下層模塊軟件兩部分,圖5和圖6分別為系統上、下層模塊軟件流程圖。

 

 


    上層模塊收到抄表中心的命令后,通過射頻無線通訊方式向下層模塊發送命令,同時開始計時。如果下層模塊沒有數據返回,超時后上層模塊會重新發送命令。如果超過三次仍未有數據返回,則認為是下層模塊工作異常,向抄表中心返回異常信號。
    下層模塊收到上層模塊發來的抄表命令,首先檢查地址。如果地址不符,說明命令是發給其它模塊的,則丟棄命令,繼續等待。如果地址符合,則將上層模塊發來的命令轉發給儀表,等待數據返回。如果超時則重新發送,超時三次則認為儀表故障,向上層返回異常信號。數據正常接收完畢后,模塊按照與儀表的協議檢驗數據,如數據出現錯誤,則重新向儀表發送命令,如果正確則向上層發送數據,之后重新進入等待狀態。
    MSP430F123只有一個串口,而上下兩層的模塊需要兩個串口。第二個串口由定時器A的捕獲/比較功能實現。發送特性的實現采用比較功能將數據從輸出單元的引腳移出的方法,波特率用比較數據及中斷來獲得。接收特性的實現采用捕獲/比較功能將引腳數據經SCCIx位移入內存。
3.2 無線通訊協議
    本系統是一個簡單的點對多點通訊,所以通訊協議分為三層即可。第一層為物理層,由nRF401模塊硬件實現;第二層為數據鏈路層;第三層為應用層。
    數據鏈路層的功能是提供可靠的無線數據傳輸。發送數據時,將應用層發來的比較長的數據幀拆分為短的數據幀,并加上包頭和校驗和,重新打包后發送出去。接收數據時,將接收到的數據解包并重新組合成完整的長數據,移交給應用層。
    數據鏈路層的數據幀格式為:

   
   每幀包括兩個字節的起始幀頭,一個字節的地址,一個字節的幀類型,一個字節的幀編號,十個字節的數據和兩個字節的校驗和。無線通訊容易受到干擾,一次發送的數據越長,受干擾的可能性越大。所以應該把比較長的數據分成小的數據包分別發送。本系統每個數據包的有效數據長度為十個字節,原始數據不足時用0補足。
    因為nRF401是高靈敏度的,在沒有進行數據傳輸時,它的數據輸出腳會有雜波輸出,這些雜波會被MCU的串口接收并處理。當一個有效數據幀頭到達時,串口可能正采樣到一個字節的中部。因為檢測到起始位對于正確讀取其后的數據是相當重要的,在每個數據幀之前要先發幾個字節的同步碼以實現數據同步。四個字節的0xCC加一個字節的0xF0就可以確保在有效數據幀到達前雙方通訊實現同步。為了區分干擾雜波與有效數據,需要數據幀加上幀頭。因為干擾雜波基本是隨機的,如果使用一個字節的幀頭,則可能無法區分干擾和有效數據。因此本系統協議使用兩個字節的幀頭,為兩個0x55。0x55加上起始位和停止位,實際發送的是0101010101,雜波產生連續兩個0x55的概率很小很小,可以確保有效數據的確認。數據幀的類型包括抄表命令、正常返回數據、出錯要求重發、儀表異常信號、正確接收確認等,用一個字節來標示以便接收方分類處理。因為將較長的數據分成短的數據幀發送,所以每幀需要一個編號,以便接收方檢查是否丟幀。在十個字節的數據之后是校驗和,使用16位crc校驗,檢驗數據傳輸的正確性。接收方同樣計算crc后與校驗和比較,如果不同,即為傳輸中出現錯誤。接收方記下錯誤幀的編號,待全部數據發送完畢后,將錯誤編號返回,要求發送方重新發送這些幀。如果全部數據正常接收,則發回正確接收確認。
    下層模塊的應用層的功能是使儀表抄取與無線通訊相結合。對于不同的水表、電表或煤氣表,可能有不同的抄取協議或抄取方法。應用層接收數據鏈路層發來的抄表命令,完成對儀表的抄取,并將數據打包發給數據鏈路層。上層模塊的應用層負責與中心的鏈接。將中心發來的數據校驗處理后轉發給數據鏈路層,將數據鏈路層發來的抄表結果打包處理后發給中心。
因為協議是分層的,相鄰層之間的聯系只是調用發送接收函數,因此實現了各層是獨立的。更換儀表或更換無線傳輸模塊所需做的改動都不會影響其它層,提高了系統的靈活性。
4 系統的低功耗設計
    系統中MSP430在等待時處于LPM1狀態。在此狀態下,Vcc=3V時工作電流低于50μA。系統中的485芯片使用MAXIM公司的MAX3485,在關斷模式下,所需電流小于1μA。系統低功耗設計的重點是nRF401的控制。當它處于接收狀態時,工作電流為10mA左右,如果始終處于接收狀態,整個系統的功耗就會過大,電池的電量將會很快耗盡。所以應盡量使nRF401處于休眠狀態。但是休眠狀態中的nRF401是無法收到數據的。為了解決這個矛盾,可使nRF401間歇性地工作在接收狀態。nRF401從休眠到接收狀態的轉換時間為3ms,所以處于接收狀態的時間不能少于3ms;因為nRF401處于接收狀態,并且空中無有效信號時,會有雜波干擾,所以正常喚醒至少需要收到兩個字節的喚醒碼。因為本系統使用9600的波特率,發送兩個字節,加起始位與停止位共20bit。所以接收時間為2.08ms。為了確保能夠喚醒,應再適當延長。本系統使用8ms。處于休眠的時間因儀表抄送反映速度的要求而定。如儀表反映時間要求不嚴格,可加長處于休眠的時間,以便進一步降低功耗。本系統使用的周期為1s。上層模塊抄表需要喚醒下層模塊時,首先發送喚醒碼,時長需要超過一個周期以確保喚醒,如圖7所示。本系統使用0xFF作為喚醒碼,即主機連續發送0xFF,從機收到連續兩個0xFF后即保持接收狀態而不進入休眠,此時計時器開始工作。如果兩個周期內沒有收到有效數據幀的幀頭,則視為雜波干擾,重新進入休眠狀態。如此設定之后,nRF401的平均工作電流可降至250μA以下。下層模塊的nRF401工作在此狀態下,整個模塊的平均工作電流在300μA以下,按使用兩節5號AA電池計算,可以使用半年以上。上層模塊由于是主機,所有的無線傳輸都由它發起,所以等待時nRF401可一直工作在休眠狀態,整個模塊的平均工作電流在100μA以下,兩節電池可以使用一年半以上。

 


    小區自動抄表系統是未來發展的必然趨勢,而對于已經建成的住宅小區的家庭內自動抄表系統的改造,無線自動抄表系統具有使用方便、靈活、無需重新布線的優點,并且價格適中。家庭內部的三表可以統一抄送。此外,本系統略加改進也可以應用于報警與安全系統和家庭自動化控制遙控裝置等。
參考文獻
1 胡大可. MSP430系列單片機C語言程序設計與開發.北京:北京航空航天大學出版社,2003
2 胡大可. MSP430系列FLASH型超低功耗16位單片機.北京:北京航空航天大學出版社,2003
3 MSP430x12x MIXED SIGNAL MICROCONTROLLER.TI Data Sheet, 2001
4 蔣俊峰.無線收發芯片比較與選擇.今日電子,2003(9)
5 Frank Karlsen.Guidelines to Low Cost Wireless System Design.Nordic VLSI ASA,2001.7
6 Design-in of RF Circuit. Nordic VLSI ASA,2002-11-12

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 老阿姨露脸69式 | 欧美日韩亚洲m码色帝国 | 真正免费一级毛片在线播放 | 亚洲 欧美 中文 日韩专区 | 国产人成 | 久久久久亚洲视频 | 欧美在线视频一区二区 | 色视频网址 | 香蕉欧美 | 五月花在线视频 | 成人在线你懂的 | 偷窥自拍第一页 | 国产一级视频在线观看网站 | 99精品久久久久久久免费看蜜月 | 久久久无码精品亚洲日韩按摩 | 国产成人毛片 | 男女视频在线观看网站 | 国产色婷婷亚洲 | 免费久| 香蕉久热 | 一级毛片免费在线 | 亚洲阿v天堂最新版2021 | 四虎在线网址 | 国产欧美一区二区精品久久久 | 一级毛片视频播放 | 五月天激激婷婷大综合丁香 | 成人精品一区二区不卡视频 | 风流女管家la在线播放 | aa在线| 久久精品国产99久久 | 欧洲性开放老妇人 | 国产成人综合亚洲欧美天堂 | 国产真实各种门事件网站 | 国产日韩欧美中文字幕 | 99热精品在线播放 | 奇米第四狠狠777高清秒播 | 四虎在线影院 | 黄色小视频免费网站 | 国产在线永久视频 | 亚洲永久精品一区二区三区 | 四色在线观看 |