無線數(shù)字傳輸模塊設(shè)計管理論文

時間:2022-06-25 06:47:00

導語:無線數(shù)字傳輸模塊設(shè)計管理論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

無線數(shù)字傳輸模塊設(shè)計管理論文

摘要:介紹了一種以PIC16F73單片機芯片和CC1000調(diào)制解調(diào)芯片為核心的超低功耗無線數(shù)字傳輸模塊的設(shè)計方案及實現(xiàn)方法,并給出了該模塊在無線智能IC卡水表中的應(yīng)用。該模塊通信速率最高可達38.4kbps,查詢工作方式下平均工作電流為10μA,與同類設(shè)計相比,該模塊具有功耗低、使用方便、通信可靠等優(yōu)點。

關(guān)鍵詞:無線通信低功耗移頻鍵控PIC16F73單片機芯片CC1000調(diào)制解調(diào)芯片

在工業(yè)、科學研究以及醫(yī)療設(shè)備中,目前出現(xiàn)了大量需要進行通信的設(shè)備,這些設(shè)備通信距離較近、數(shù)據(jù)量較小、不適合布線。比如自動抄表系統(tǒng)、酒店點菜系統(tǒng)以及現(xiàn)場數(shù)據(jù)采集系統(tǒng)等,其中有很多設(shè)備是可移動的,而且要求何種小便于攜帶。因此,要求其通過設(shè)備具有體積小、功耗低、成本低、使用方便等特點。基于這些需求,本文給出了一款超低功耗的無線數(shù)字傳輸模塊的設(shè)備及實現(xiàn)方法。

該模塊采用Chipcon公司的超低功耗FSK調(diào)制解調(diào)芯片CC1000和Microchip公司的低功耗單片機PIC16F73,從而保證了系統(tǒng)的超低功耗。同時,為了適應(yīng)電池供電系統(tǒng)的應(yīng)用,該模塊支持查詢方式的無線通信,可以使系統(tǒng)的平均工作電流低至10μA。該模塊具有8組信道,可以實現(xiàn)點對點、點對多點的半雙工通信,并且提供標準串行數(shù)據(jù)接口,支持TTL、RS232和RS485通信接口,可以方便地與其它控制器或計算機連接。

圖1

1模塊硬件設(shè)計

模塊結(jié)構(gòu)框圖如圖1所示。

作為工作在物理層和數(shù)據(jù)鏈路層的底層通信設(shè)備,該系統(tǒng)完成數(shù)據(jù)的調(diào)制解調(diào)、假數(shù)據(jù)過濾、數(shù)據(jù)組合、解碼數(shù)據(jù)幀、數(shù)據(jù)校驗等功能。在接收過程中完成數(shù)據(jù)由電信號向位流、由位流數(shù)據(jù)向字節(jié),由字節(jié)向數(shù)據(jù)幀的變換,而在發(fā)送過程中則完成接收到的逆向過程。數(shù)據(jù)發(fā)送過程中數(shù)據(jù)流的變化如圖2所示。

調(diào)制解調(diào)由CC1000完成。系統(tǒng)采用頻移鍵控調(diào)制(FSK),載波頻率為434MHz,帶寬為64kHz,數(shù)據(jù)采用差分曼徹斯特編碼發(fā)送,空中發(fā)送數(shù)據(jù)速率可以根據(jù)需要設(shè)置,最高FSK數(shù)據(jù)速率為76.8kpbs。CC1000采用三線命令接口和兩線數(shù)據(jù)接口,可編程配置載波頻率和數(shù)據(jù)速率等內(nèi)容。有關(guān)CC1000的詳細內(nèi)容見參考文獻。

模塊控制器在發(fā)送時從用戶接口接數(shù)據(jù)和命令,并將用戶數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)幀傳送給CC1000,控制CC1000進行數(shù)據(jù)發(fā)送。在接收時,控制器接收從CC1000傳送過來的數(shù)據(jù),分析數(shù)據(jù),過濾噪聲,將數(shù)據(jù)由位流轉(zhuǎn)換為字節(jié),進行校驗并將用戶數(shù)據(jù)通過串行口傳送給用戶,使用戶可以實現(xiàn)所發(fā)即所收。

模塊是為低功耗系統(tǒng)而設(shè)計的,除了具有SLP引腳可以直接休眠模塊外,還有一些專門設(shè)計的命令來支持使用查詢方式的通信。PCMD、RX、TX三線組成模塊的三線接口,配置命令時PCMD必須為高電平。配置命令工作時序如圖3所示。

發(fā)送數(shù)據(jù)時PCMD應(yīng)置為低電平,通過串行口發(fā)送數(shù)據(jù)即可。模塊使用時間間隔區(qū)分數(shù)據(jù)幀,如果有傳輸半個字節(jié)的時間沒有接收到數(shù)據(jù),則認為此前接收到的為一幀數(shù)據(jù),系統(tǒng)將編碼該幀數(shù)據(jù)并通過CC1000進行調(diào)制和發(fā)送。因此,如果用戶數(shù)據(jù)是以數(shù)據(jù)幀的格式發(fā)送的,用戶應(yīng)當連續(xù)發(fā)送數(shù)據(jù),以避免模塊將一幀數(shù)據(jù)分割為兩幀數(shù)據(jù)發(fā)送,從而降低發(fā)送效率。模塊只能進行半雙工通信,沒有數(shù)據(jù)發(fā)送時模塊處于接收狀態(tài);有休眠信號時模塊進入體眠狀態(tài),此時模塊無法接收和發(fā)送數(shù)據(jù),只有將模塊喚醒后,才能發(fā)送和接收數(shù)據(jù)。READY信號是模塊工作狀態(tài)指示信號。當READY長時間處于低電平狀態(tài)時,可以使用RST將模塊復位,重新設(shè)置模塊的工作狀態(tài),以避免模塊處于錯誤工作狀態(tài)。

2軟件設(shè)計

系統(tǒng)軟件采用專門為PIC單片機進行了優(yōu)化,能夠為PIC系列單片機產(chǎn)生優(yōu)質(zhì)高效的代碼,具體內(nèi)容參考文獻。系統(tǒng)控制器軟件設(shè)計是本系統(tǒng)的核心內(nèi)容,由于控制器要完成與用戶和CC1000雙方的通信及數(shù)據(jù)封裝,因此系統(tǒng)軟件借用Windows系統(tǒng)的消息循環(huán)機制設(shè)計,采用消息循環(huán)的體系結(jié)構(gòu)。這種結(jié)構(gòu)使得程序結(jié)構(gòu)清晰、可擴展性強、可移植性強。經(jīng)過長時間的初中,證明這種結(jié)構(gòu)非常適合單片機系統(tǒng)軟件的開發(fā)。

圖4為程序初始化和主函數(shù)部分的結(jié)構(gòu)框圖。系統(tǒng)程序總線結(jié)構(gòu)采用消息驅(qū)動機制。在系統(tǒng)內(nèi)部寄存器和變量初始化完成后便可以進入消息循環(huán)程序查詢系統(tǒng)消息。系統(tǒng)消息一般是CPU外部或內(nèi)部的事件通過CPU中斷系統(tǒng)激勵CPU運行的。為了能夠使系統(tǒng)產(chǎn)生和響應(yīng)消息,必須啟動CPU的中斷系統(tǒng),因而在進入消息循環(huán)前啟動CPU定時中斷、串行通信中斷、外部觸發(fā)中斷。程序初始化部分在CPU上電或復位后只執(zhí)行一次,CPU在正常工作時即將終都在消息循環(huán)中反復檢測消息是否存在,并根據(jù)消息的種類做不同的操作,最后清除相應(yīng)的消息標志,再進行循環(huán)檢測消息。本系統(tǒng)中消息共有三種,分別是程序節(jié)拍控制信號、與CC1000通信的信號以及與用戶通信的信號。程序節(jié)拍控制信號控制程序的運行過程,包括時間信號、外部中斷信號(休眠、喚醒)以及其它定時動作信號;與CC1000通信的信號包括CC1000狀態(tài)轉(zhuǎn)換信號、接收完成信號、發(fā)送開始信號以及發(fā)送完畢信號等,負責管理與CC1000的通信和控制工作;與用戶通信的信號包括接收用戶數(shù)據(jù)完畢信號、用戶數(shù)據(jù)發(fā)送完畢信號以及向用戶發(fā)送數(shù)據(jù)開始信號等,負責與用戶的通信管理。程序的消息循環(huán)結(jié)構(gòu)如圖5所示。

3模塊性能

3.1模塊功能

作為一款專門為低功耗系統(tǒng)而設(shè)計的無線數(shù)字傳輸模塊,該模塊具有低電平供電、低功耗的特點。供電電壓范圍為3V~12V。當供電電壓為3V時,在接收狀態(tài)下,模塊電流為9.6mA;在發(fā)送狀態(tài)下,模塊電流為25.6mA;在休眠狀態(tài)下,模塊電流為2μA。通信系統(tǒng)使用查詢方式工作時,處于接收的工作電流計算公式如下,即若休眠時間為dsl,檢測信號時間為tdt,那么平均工作電流為(單位為μA

):

Ip=(tsl×2+tdt×9600)/(tsl+tdt)

因此,如果一個系統(tǒng)的休眠時間為8s,檢測時間為13μA。這樣,5400mAh的鋰電流可以使用47年!當然,實際使用中應(yīng)該計算模塊處于接收狀態(tài)時的電流,此時模塊的功耗就取決于模塊工作的情況和傳輸數(shù)據(jù)量的大小,但是其極低的待機功耗對于移動設(shè)備來說是十分重要的。

3.2通信可靠性

通信誤碼率可以使用如下近似公式計算:

Pe≈Ne/N

式中,N為傳輸?shù)亩M制碼元總線;Ne為被傳輸錯的碼元數(shù),理論上應(yīng)有N→∞。

在實際使用中,N足夠大時,才能夠把Pe近似為誤碼率。經(jīng)過對模塊的測試,在數(shù)據(jù)速率為2400bps、通信距離為100m(平原條件)時,通信誤碼率為10-3~10-5。在數(shù)據(jù)速率提高時,通信誤碼率會增加,但是通信模塊可采用多項技術(shù)來提高通信可靠性。在物理層,模塊采用差分曼徹斯特編碼技術(shù)發(fā)送數(shù)據(jù),從而保證通信中的同步問題;而在數(shù)據(jù)鏈路層,使用CRC(循環(huán)冗余編碼)進行數(shù)據(jù)幀校驗,用以保證數(shù)據(jù)到達用戶應(yīng)用層以后的可靠性。當然,用戶在應(yīng)用層還可以采取多種通信協(xié)議來進一步提高通信的可靠性。

3.3通信距離

在無線通信中,通信距離與發(fā)射機發(fā)送信號的強度和接收機接收靈敏度有著直接關(guān)系。本模塊的發(fā)送功率為10dBm,而在數(shù)據(jù)速率為2400bps、帶寬為64kHz、通信二進制誤碼率為10-3條件下,模塊的接收靈敏度為-110dBm。在天線高于地面3m的可視條件下,可告通信距離(誤碼率小于10-3)大于300m。在市區(qū)環(huán)境中,可靠通信距離在10m左右。

圖5

4模塊應(yīng)用

無線智能IC卡水表由負責顯示和讀寫IC卡的上位機和負責閥門控制的下位機組成,上位機和下位機之間的通信使用無線數(shù)字傳輸模塊完成,系統(tǒng)結(jié)構(gòu)如圖6所示。上位機負責人機接口,包括顯示下位機狀態(tài)、顯示剩余水量、讀取IC卡以及與下位機通信等功能,下位機完成水脈沖計數(shù)并接收上位機的指令控制閥門開關(guān)狀態(tài)。由于本系統(tǒng)采用電池供電,所以要求系統(tǒng)的功耗必須非常低。水表的上位機和下位機均采用Microchip公司的低功耗單片機PIC16F73,下位機工作在查詢狀態(tài)。

無線智能IC卡水表的通信方式如下:通信由上位機發(fā)起,當需要通信時(按鍵被按下或插入IC卡時),上位機首先發(fā)送10s的同步頭,然后發(fā)送地址,其后等待下位機應(yīng)答。而下位機使用查詢的方式與上位機進行通信,即下位機每9s喚醒一次無線通信櫝以檢測是否有同步頭信息,檢測時間為10ms。如果沒有同不頭信息,并進行解密和地址判斷。如果接收到的地十為本機地址,則分析指令并進行響應(yīng),否則轉(zhuǎn)入休眠。因為上位機發(fā)送同步頭的時間大于下位機休眠的時間,所以保證了通信的可靠性。這種通信方式雖然速度較慢,但是卻使得下位機的功耗大大降低,延長了下位機電池的壽命。在該系統(tǒng)中,由于數(shù)據(jù)量較小,所以通信速度不是關(guān)鍵問題,而低功耗才是系統(tǒng)最重要的問題。

基于CC1000的低功耗無線數(shù)字通信模塊完成了設(shè)計目標,達到了低功耗、高可靠性的通信要求,并且通信速度可以達到38.4kbps,所以可以滿足大部分短距離無線數(shù)字通信的要求。當然,由于系統(tǒng)的功耗比較低,使得發(fā)射功率較小,通信距離比較近。因此,在對通信距離要求更高時,可以適當加大發(fā)射功率,以增加傳播距離。目前該模塊已經(jīng)在無線智能IC卡水表中使用,工作穩(wěn)定。