1 引言
短距離無線傳輸具有抗干擾性能強、可靠性高、安全性好、受地理條件限制少、安裝靈活等優點,在許多領域有著廣泛的應用前景。低功耗、微型化是用戶對當前無線通信產品尤其是便攜產品的實際需求,短距離無線通信逐漸引起廣泛關注。常見的短距離無線通信有基于802.11的無線局域網WLAN、藍牙 (blueTooth)、HomeRF及歐洲的HiperLAN(高性能無線局域網),但其硬件設計、接口方式、通信協議及軟件堆棧復雜,需專門的開發系統,開發成本高、周期長,最終產品成本也高。因此這些技術在嵌入式系統中并未得到廣泛應用。普通RF產品不存在這些問題,且短距離無線數據傳輸技術成熟,功能簡單、攜帶方便,使其在嵌入式短程無線產品中得到了廣泛應用。
2 PTR2000引腳簡介及設計
2.1 PTR2000器件引腳功能
PTR2000是基于nRF401器件的無線數據傳輸模塊,采用低發射頻率、高靈敏度設計。該器件使用433 MHz頻段,是真正的單片UHF無線收發一體器件,其工作模式包括工作頻道的設置和發送、接收、待機狀態,由TXEN、CS、PWM 3個引腳共同決定,其工作模式設置如表1所示。
2.2 PrR2000模塊設計
該器件外圍的主要電路有以下兩個:
(1)與單片機的連接電路單片機AT89C52的RXD和TXD引腳與PTR2000模塊的DO和DI引腳直接相連。PTR2000的模式控制引腳與單片機的控制引腳相連。
(2)與PC機的連接電路采用MAX202器件對PTR2000模塊和計算機串口進行RS-232和TTL電平轉換,將PTR2000與MAX202的輸入和輸出信號連接,轉換后的信號與計算機的串口連接。
3 硬件設計
在無法使用有線傳輸的場合,采用無線數據傳輸模塊和單片機相結合進行數據傳輸是較合理的方案。PTR2000利用串口進行數據傳輸,而單片機和PC機均帶有串口,因此,可利用PTR2000作為單片機和PC機之間數據傳輸的無線接口,其硬件結構框圖如圖1所示。
該采集系統主要以AT89C52單片機為控制處理核心。由它完成對數據的采集處理以及控制數據的無線傳輸。AT89C52單片機具有快速8051內核、8 KB Flash E2PROM、256字節RAM。為實現無線數據傳輸,采用無限收發一體數據傳送MODEM模塊PTR2000器件,該器件內部集成高頻接收、PLL合成、PSK調制/解調、參量放大、功率放大、頻道切換等功能,完全符合無線數據通信的硬件要求。為降低成本,在最小硬件設計的基礎上,利用C51高級C語言編程,系統的功能盡可能用軟件程序實現。
3.1 單片機的時鐘電路和復位電路設計
單片機時鐘電路設計中,選擇晶振頻率11.059 2 MHz,約定PC機和單片機的通信速率為9 600 b/s,并選擇相應電容與單片機的時鐘引腳相連構成時鐘回路。在復位電路設計中,采用復位引腳和相應的電容、電阻構成復位電路。單片機與PTR2000接口原理電路如圖2所示。
3.2 單片機與PTR2000接口電路的設計
在圖2中,AT89C52單片機主要完成數據的采集和處理,向PTR2000模塊發送數據,并接收由PC機通過PTR2000傳送的數據。和單片機相連的 PTR2000模塊主要將單片機的待傳數據調制成射頻信號,再發送到PC機端的PTR2000模塊,同時接收PC機端的PTR2000模塊傳送的射頻信號,并調制成單片機可識別的TTL信號送至單片機。單片機的RXD和TXD引腳分別和PTR2000的DO和DI引腳連接,實現串行數據傳輸;決定 PTR2000模塊工作模式的TXEN、CS、PWR 3個引腳分別和單片機I/O控制口的P2.0~P2.2相連,PTR2000工作時,由單片機中的運行控制程序實時控制其工作模式。
3.3 PC機與PTR2000接口電路的設計
該接口電路設計首先需進行電平轉換。PC機的串口支持RS-232標準,而PTR2000模塊支持TTL電平,選擇MAX232器件進行兩者間的電平轉換,接口電路如圖3所示。PTR2000模塊進行串行輸入、輸出,引腳DI、DO通過電平轉換器件和PC機串口相連;PTR2000的低功耗控制引腳。 PWR接高電平VCC,即PTR2000固定工作在正常工作狀態;頻道選擇引腳CS接GND低電平,即采用固定通信頻道1,固定工作在433.92 MHz;PC機串口的RTS信號控制TXEN引腳,以決定PTR2000模塊何時為接收和發射狀態。PC機和串口的傳輸速率設定為9 600 b/s,和單片機保持一致。
4 軟件設計
無線通信系統的軟件設計包括單片機端和PC機端兩部分,兩部分軟件相互配合,設置各自的PTR2000模塊的工作狀態。
4.1 PTR2000模塊程序設計
單片機和PC機端軟件配合設置PTR2000的狀態(發射或接收),選擇固定的通信頻道1(CS=0),并讓PTR2000模塊一直處于正常工作狀態(PWM=1)。無線通信實現過程如下:
(1)發送在發送數據之前,應將PTR2000模塊置于發射模式,即TXEN=1。然后等待至少5 ms后(接收到發射的切換時間)才可發射數據。發送結束后,應將模塊置于接收狀態,即TXEN=0。
(2)接收應將PTR2000置于接收模式,即TXEN=0。單片機不發送的絕大部分時間都處于接收狀態。當單片機端發送時,PC機端應為接收;當PC機端發送時,單片機端應為接收。
4.2 串行無線通信協議設計
無線通信中,由于外部環境的干擾,通常誤碼率較高,因此通信協議的設計對保證通信的可靠性十分重要。協議的設計主要是幀結構的設計,在該無線通信系統中,存在指令幀和數據幀。數據幀的內容包括起始字節、數據長度字節、數據字節、結束字節和校驗和字節,如表2所示。
起始字節定義為“$”字符,其數值為0x24;結束字節定義為“*”字符,其數值為0x2A。
采用校驗和的方法進行幀的校驗,將所有字節相加,然后將結果截短到所需的位長。發送端對待發送的數據進行校驗和計算,將校驗和值放在數據后一起發送;在接收端,對接收到的數據進行校驗和計算,然后與收到的校驗和字節比較,進行誤碼判斷。
對于單片機,指令幀主要有3種:PC機發送給單片機的請求發送指令、錯誤/超時重發指令、單片機發給PC機的發送完畢指令。在該系統設計中指令幀采用數據幀的格式,將其中的。數據字節固定為一個字節,根據定義的字節判斷數據狀態。
4.3 程序流程
單片機開始需將無線數據傳輸模塊PTR2000設置處于接收狀態,通過串口中斷識別由PC機通過無線信道傳輸來的指令,根據接收指令的內容采集數據并啟動發送。發送前需將PTR2000模塊設置為發射狀態,且等待5 ms才可發送,發送完畢后,向PC機端發送“發送結束指令”,并將PTR2000模塊重設為接收狀態。圖4為系統軟件設計流程圖。
5 結束語
單片機無線通信系統設計基于PTR2000無線數據傳輸解決方案,可實現小于300 m的短距離通信,通過實驗驗證該無線數據傳輸系統運行良好,單片機控制得相當準確。在應用時將系統作為一個模塊可方便地移植,以便構建更為復雜的無線通信網絡,可應用于小型無線網絡、無線抄表、小區傳呼、工業數據采集系統、安全防火系統等領域,具有一定實用價值。