李 健 姚順才 米衛衛
(中北大學信息與通信工程學院 太原 030051)
目前,無線數據通信的應用領域越來越多,移動通信技術飛速發展,越來越多的信息采集和遠程控制系統采用了無線傳輸技術。本文利用VB 編寫上位機軟件,將數據通過RS232 串口下載到AT89C51 單片機,然后單片機控制CC1100 實現雙方穩定通信,將接收到的數據上傳到PC 以驗證通信穩定可靠。
根據對課題的分析和設計要求,本文主要是解決數據通過RS232 串口下載到單片機,然后單片機控制CC1100實現雙方穩定通信,將接收到的數據上傳到PC 以驗證通信穩定可靠,即涉及到無線傳輸的設計。無線傳輸模塊分為兩個部分,主控制模塊控制發送模塊。現確定以下總體工作方案,如圖1 所示。數據通過RS23 串口下載到主控制模塊,在主控制模塊的控制下,通過計算分析,產生一個通信信號,然后將數據通過無線發送模塊發送出去。同時無線接收模塊迅速接收到數據,并將數據傳輸給從控制模塊,對信號實時控制,并上傳到PC 以驗證通信穩定可靠。

圖1 短距離無線傳輸示意圖
硬件電路連接實現單片機與CC1100 芯片的接口連接。發送端與接收端硬件連接幾乎一樣,具有通用性,可以實現半雙工通信。由于AT89C51 單片機的供電電壓是5V,而CC1100 的供電范圍為1.8~3.6V,為了使芯片正常工作,需要進行電平轉換和分壓處理。
由于CC1100 的供電電壓范圍為1.8~3.6 V,超過3.6 V將會燒毀模塊。而AT89C51 單片機的供電電壓是5 V,為了使芯片正常工作,需要進行電平轉換。單電源供電時,采用LM1117T 芯片進行5~3.3 V 電平轉換。LM1117T 是一個低壓差電壓調節器系列。其壓差在1.2 V輸出,負載電流為800 mA 時為1.2 V。它與國家半導體的工業標準器件LM317 有相同的管腳排列。LM1117T 有5個固定電壓輸出(1.8 V、2.5 V、2.85 V、3.3 V和5 V)的型號。LM1117T 提供電流限制和熱保護。電路包含1 個齊納調節的帶隙參考電壓以確保輸出電壓的精度在 ±1%以內。
電路圖如圖2 所示。輸入電壓經過LM1117T 芯片轉換,電壓由單片機輸出的5 V 電壓變為3.3 V 電壓,輸出端是一個10 μF 的鉭電容,用來改善瞬態響應和穩定性。滿足CC1100 芯片的電壓要求。
CC1100 是單片射頻收發芯片,工作于420~440 MHzISM頻段,芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,多種低功率工作模式滿足設計的要求,并且在做系統節能的設計時更加方便。

圖2 電源電壓轉換原理圖
2.2.1 基于CC1100 的無線通信模塊
CC1100 與一個微控制器和少數幾個外接元件便可組成一個完整的無線數據收發系統,在本文無線傳輸的設計中,使用51 單片機對CC1100 進行控制和數據的傳輸。圖3 是基于CC1100 的無線通信模塊電路原理圖。與LCM 的電源接口設計一樣,在CC1100 的電源供電端加入一個三極管來控制CC1100 與電源的連接,當P3.5 輸出高電平時,三極管截止,CC1100 與電源斷開;當P3.5 輸出低電平時,三極管導通,CC1100 與電源連接。在不需要CC1100進行無線通信時將其關閉,需要時再打開,這樣做的目的也是降低功耗,延長電池的使用壽命。

圖3 CC1100 模塊電路圖
2.2.2 基于CC1100 的射頻電路PCB 設計
基于CC1100 的無線通信模塊是無線遙控開關中比較重要的組成部分,它的好壞將直接影響到系統的各方面性能,其中PCB 的設計是硬件設計的一個重點和難點。在對CC1100 的PCB 進行設計時,首先要考慮元件擺放布局問題,要使射頻電路的輸入端遠離輸出端,將強電信號和弱電信號分開,將數字信號電路和模擬信號電路分開,完成同一功能的電路應盡量安排在一定的范圍之內,從而減小信號環路面積,各部分電路的濾波網絡要就近連接,這樣不僅可以減小輻射還可以減少被干擾的幾率,提高電路的抗干擾能力。布線時,所有走線應遠離PCB 板的邊框(2 mm左右),以免PCB 板制作時造成斷線或有斷線的隱患。電源線和地線要盡可能寬,這樣可以減少環路電阻,同時,電源線、地線的走向和數據傳輸的方向一致,以提高抗干擾能力;所布信號線應盡可能短,各元器件間的連線越短越好,以減少分布參數和相互間的電磁干擾;對于不相容的信號線應盡量相互遠離,而且盡量避免平行走線在正反兩面的信號線應相互垂直;布線時在需要拐角的地方應以135°角為宜,避免拐直角;焊接天線的PCB 部分不要有地線;布線時與焊盤直接相連的線條不宜太寬,走線應盡量離開不相連的元器件;過孔不宜太大且大小要一致。無線通信模塊的PCB 設計如圖4 所示。

圖4 無線通信模塊的PCB 示意圖
單片機工作的最小系統如圖5 所示,包括電源線、地線,晶振的設計。
主控芯片選用的是AT89C51 單片機,AT89C51 是一款高性能、低功耗的8Byte 微控制器,與工業標準的MCS-51指令集和輸出管腳相兼容的單片機。具有豐富強大的外部接口性能,32 可編程I/O 線,可編程串行通道,片內振蕩器和時鐘電路。
首先給電路通電,通過SPI 接口把程序拷貝到AT89C51 單片機上,然后用串口調試助手發送數據,點手動發送按鈕(發送的內容是默認的一個網址),接收到的內容如圖6、圖7 所示,這樣,兩塊無線通信板就能成功完成對接通信。



在無線通信模塊和無線反饋控制器調試成功后,對無線通信模塊進行了誤碼率測試,如圖8 所示。測試條件為使用串行口COM1,波特率為19 200,無校驗位,數據位為8位,停止位為1 位,測試地點為東區實驗室,測試距離為20 m,發送了17 723 個字節,錯誤字節為20 個,誤碼率為1.28‰。

圖8 無線通信模塊誤碼率測試
本設計是數據的高速傳輸,并帶有命令的傳輸,必須保證數據的傳輸正確,否則主控單片機發送命令不成功,從控單片機接收數據不正確。為提高系統的可靠性,必須保證模擬SPI 口的可靠性。現在采用示波器采集數據:A.單片機控制無線模塊A 的CLK1 和DATA 發出的數據;B.單片機控制無線模塊B 的CLK1 和DATA 發出的數據。通過示波器檢測引腳信號的對應情況來檢測單片機與無線傳輸模塊同步通信的正確性。
單片機要求發出的數據應與無線模塊引腳CLK1 和DATA 發出的數據完全符合。圖9 上部分為無線傳輸模塊A 時鐘CLK1,下部分模塊A 的DATA 引腳發出的數據。從圖9 中可以看出,發出的數據為:0 ×54,與程序設定值完全匹配。圖10 上部分為時鐘,下部分為從機發出的數據。從圖10 中可以看出,發出的數據為:0 ×33,與程序設定值完全匹配。

圖9 無線模塊A 的CLK1 與DATA 發出的數據

圖10 無線模塊B 的CLK1 與DATA 發出的數據
本文著重介紹了無線數傳模塊CC1100 的使用與開發,詳細的說明了在本次設計過程中遇到的實際問題,以及解決方案。實驗驗證此模塊傳輸速率高,抗干擾能力強,誤碼率低,有效的距離范圍為30~40 m,有障礙的情況下,傳輸距離有所下降,出現數據丟失的現象。
[1]李式巨,姚慶棟,趙民建.數字無線傳輸[M].2 版.北京:清華大學出版社,2007.
[2]譚暉.Nordic 中短距離無線應用入門與實踐[M].北京:北京航天航空大學出版社,2009.
[3]史慶武,王艷春,李建輝.單片機原理及接口技術[M].北京:中國水利水電出版社,2008.
[4]張俊謨.單片機中級教程——原理與應用[M].北京:北京航天航空大學出版,2000.
[5]全國大學生電子設計競賽組委會.全國大學生電子設計競賽獲獎作品選編[M].北京:北京理工大學出版社,2007.
[6]喻金錢,喻斌.短距離無線通信詳解——基于單片機控制[M].北京:北京航空航天大學出版社,2009.
[7]蔣正義,朱善安,韓東芳.基于MSP430 和nRF2401 的無線自動抄表系統[J].電子技術應用,2004(11).
[8]湯平波.單片機系統的電平轉換技術[J].計算技術及自動化,2006.
[9]劉琨,劉春亮,黃焱.單片機C 語言入門[M].北京:人民郵電出版社,2008.
[10]李朝青.單片機原理及串行外設接口技術[M].北京:北京航空航天大學出版社,2008.