無線數字傳輸模塊設計管理論文

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

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

無線數字傳輸模塊設計管理論文

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

關鍵詞:無線通信低功耗移頻鍵控PIC16F73單片機芯片CC1000調制解調芯片

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

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

圖1

1模塊硬件設計

模塊結構框圖如圖1所示。

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

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

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

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

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

2軟件設計

系統軟件采用專門為PIC單片機進行了優化,能夠為PIC系列單片機產生優質高效的代碼,具體內容參考文獻。系統控制器軟件設計是本系統的核心內容,由于控制器要完成與用戶和CC1000雙方的通信及數據封裝,因此系統軟件借用Windows系統的消息循環機制設計,采用消息循環的體系結構。這種結構使得程序結構清晰、可擴展性強、可移植性強。經過長時間的初中,證明這種結構非常適合單片機系統軟件的開發。

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

3模塊性能

3.1模塊功能

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

):

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

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

3.2通信可靠性

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

Pe≈Ne/N

式中,N為傳輸的二進制碼元總線;Ne為被傳輸錯的碼元數,理論上應有N→∞。

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

3.3通信距離

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

圖5

4模塊應用

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

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

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