歡迎您光臨本站 登入註冊首頁

基於CC2430的串口無線模塊的設計

admin @ 2014-03-26 , reply:0

概述

1引言   隨著現代科技的飛速發展,無線通信技術成為人們日益關注的問題之一。在工業系統控制中。短距離無線通信技術應用也越來越廣泛。水阻試驗是內燃機車恆功率負載試驗的主要方……

1 引言
    隨著現代科技的飛速發展,無線通信技術成為人們日益關注的問題之一。在工業系統控制中。短距離無線通信技術應用也越來越廣泛。水阻試驗是內燃機車恆功率負載試驗的主要方式之一,本文論述了在對內燃機車智能化水阻試驗系統數據採集部分的改進中。將原來的有線數據採集改為無線數據採集傳輸方式的無線模塊設計。

2 總體設計
    無線模塊的基本電路圖如圖1所示.主要由電源、複位電路、串口連接電路和無線收發電路組成。可實現串口數據的無線收發。即:發送數據時,RS232串口數據經過MAX232將電平轉換為TTL電平。再通過CC2430無線發送。接收數據則是發送數據的逆過程,CC2430先接收到數據信號。然後經MAX232將TTL電平轉換為RS232的標準電平,再通過RS232向上位機輸入數據。
 

3 硬體設計
    無線模塊採用的無線收發器是CC2430。CC2430出自挪威Chipcon公司。是一款真正符合IEEE802.15.4標準的片上ZigBee產品。CC2430採用Chipcon公司最新的SmartRF03技術和0.18um CMOS工藝製造,採用7mm×7mm QLP48封裝: 除了包括RF收發器. 還集成了加強型8051MCU、32/64/128 KB 的Flash 內存、8 KB 的RAM、ADC、DMA、看門狗等。CC2430工作在2.4GHz頻段,採用低電壓(2.0 V~3.6 V)供電且功耗很低(接收數據時為27 mA。發送數據時為25 mA)、靈敏度高(-97 dBm)、最大輸出為24 dBm、最大傳送速率為250 kb/s。
    CC2430的外圍元件數目很少。它使用一個非平衡天線,連接非平衡變壓器使天線性能更好。電路中的非平衡變壓器由電容C12和電感L1、L2、L3以及一個PCB微波傳輸線組成,整個結構滿足RF輸入/輸出匹配電阻(50Ω)的要求。內部T/R交換電路完成LNA和PA之間的交換。R4、R5為偏置電阻。其中R4主要用於為32 MHz的晶體振蕩器提供合適的工作電流。用一隻32 MHz石英諧振器和兩隻電容(C13、C14)構成32 MHz晶體振蕩器電路。電壓穩壓器為所有1.8 V電壓的引腳和內部電源供電.Cl1、C15是去耦電容。用於電源濾波。
    由於CC2430具有低功耗的特性,因此,選用兩節乾電池為模塊供電。另外還選用了AH805升壓穩壓器。可將3 V電壓升高至5 V。此故電源部分可提供3 V和5 V兩種電壓,其中3 V電壓為CC2430供電。5 V電壓為MAX232和複位電路供電。
    複位電路採用典型的RC複位方式,它具有上電複位和手動兩種複位功能,且低電平有效。值得注意的是。為了使系統達到有效複位,應使RESET-N端保持10 ms的低電平。當複位結束后立即對該器件進行初始化時。很容易發生錯誤。所以,進入0000H地址后。應首先執行1ms-10ms的軟體延時。然後再進行初始化。
    由於模塊採用RS232與上位機相連,因此,需要用MAX232將RS232電平轉換為TTL電平。

4 程序設計
    無線模塊的設計包括硬體連接及CC2430軟體設計。編寫軟體程序首先要弄清楚數據在模塊中的傳輸路徑及其過程,如圖2所示。
 
圖2 數據在無線模塊中的傳輸路徑
    發送數據時, 數據通過串口USART進入CC2430的DATA 內存區。對水阻試驗台來說,DATA內存區的高128位元組能夠滿足存儲容量的要求,因此將數據存放在DATA內存區的高128位元組中。為了提高數據的傳輸速度,使用DMA傳輸方式將內存區中的數據傳送到Radio的先進先出緩存器TXFIFO中。數據進入Radio后,經過一系列的硬體處理。最後通過天線向發射無線信號。
    接收數據是發送數據的逆過程。Radio從天線接收到無線信號,通過一系列的硬體處理,將信號轉換為數據,存放在RXHFO中,再通過DMA方式送入DATA 內存區的低128位元組中。再通過USART串口將接收到的數據送出。
    不難看出,整個數據傳輸過程大部分都是在CC2430內部完成。這得益於CC2430具有極高的集成度。是一款片上系統,能夠提供較高的系統穩定性和可靠性。CC2430包括了較多的自定義SFR寄存器。如何使用好這些SFR寄存器較為關鍵。例如在對USART的控制操作中,CC2430內部集成的USART的控制寄存器和狀態寄存器分別是UxUCR和UxCSR(其中x可取值為0和1,表示CC2430集成的兩個USART中的一個)。UxCSR狀態字格式和UxUCR控制字格式如表1所示。
 
    用這兩個寄存器可完成USART的基本設置.如:
SET U0CSR.MODE ;選擇USART0為UART模式
SET U0CSR.RE ;允許USART0接收數據
MOV U0UCR,#1FH ;設置UART的幀格式。此格式為奇偶校驗有效,一幀為9位,第9位為偶校驗,停止住為高電平。且接收器校驗兩位停止位,開始位為高電平。
    值得注意的是,CC2430串口波特率的設置與一般8051不同,因為其內部集成了一個波特率發生器,因此,不需要使用定時器而只需設置相關的SFR 寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD[4:0],便可得到系統要求的波特率,其關係式如下:
 
    其中,F為系統時鐘頻率。若F為32 MHz,執行下列語句.得到9600 b/s的串口波特率:
MOV U0GCR,#08H
MOV U0BAUD,#3BH ;設置波特率為9600 b/s
    實際上對USART的操作還包含對其所連接的I/O口的設置。設置I/O應與硬體密切結合,如:
MOV P1SEL,#30H ;選擇P1.5,P1.4為外部功能口
MOV P1DIR,#20H ;選擇P1.5為輸出口,P1.4為輸入口
CLR P1FG ;清空P1口的中斷標誌
MOV P2SEL,#00H ;設置USART0為優先
    同樣.對DMA和Radio的操作也有這樣功能全面的SFR寄存器。對CC2430進行程序設計,其實就是對其SRF寄存器的認識和運用過程,篇幅所限這裡不一一贅述。

5 系統抗干擾
    由於系統所處環境有較強的電磁場干擾,因此需要進行電磁屏蔽。具體方法為:將模塊置於一個鋁質外殼中。外殼通過RS232介面與上位機外殼連接.實現接地。鋁質外殼相當於一個空心的導體.置於電場中,電力線終止於導體表面,從而有屏蔽電場的作用。鋁質外殼也相當於一個屏蔽罩,在高頻磁場的作用下產生渦流,而渦流的磁場與原磁場方向相反,從而可屏蔽高頻磁場。

6 結束語
    本文所提及的無線模塊雖然是針對水阻試驗系統中的數據採集部分進行改造的,但是由於與上位機的連接採用RS232,所以此無線模塊也可應用於一般的帶RS232串口的數據採集系統。


[admin via 研發互助社區 ] 基於CC2430的串口無線模塊的設計已經有2450次圍觀

http://cocdig.com/docs/show-post-44675.html