基於CC2430的串列埠無線模組的設計

2021-04-15 14:41:23 字數 2698 閱讀 6018

1 引言

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

2 總體設計

無線模組的基本電路圖如圖1所示,主要由電源、復位電路、串列埠連線電路和無線收發電路組成。可實現串列埠資料的無線收發,即:傳送資料時,rs-232串列埠資料經過max232將電平轉換為ttl電平,再通過cc2430無線傳送。接收資料則是傳送資料的逆過程,cc2430先接收到資料訊號,然後經max232將ttl電平轉換為rs-232的標準電平,再通過rs-232向上位機輸入資料。

3 硬體設計

無線模組採用的無線收發器是cc2430。cc2430出自挪威chipcon公司,是一款真正符合ieee802.15.4標準的片上zigbee產品。cc2430採用chipcon公司最新的**artrf 03技術和0.18μm cmos工藝製造,採用7 mmx7 mm qlp48封裝;除了包括rf收發器,還整合了加強型8051mcu、32/64/128 kb的flash記憶體、8 kb的ram、adc、dma、看門狗等。cc2430工作在2.4ghz頻段,採用低電壓(2.0 v~3.6v)供電且功耗很低(接收資料時為27ma,傳送資料時為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電壓的引腳和內部電源供電,c11、c15是去耦電容,用於電源濾波。

由於cc2430具有低功耗的特性,因此,選用兩節乾電池為模組供電。另外還選用了ah805公升壓穩壓器,可將3 v電壓公升高至5 v,此故電源部分可提供3 v和5 v兩種電壓,其中3 v電壓為cc2430供電,5 v電壓為max232和復位電路供電。

復位電路採用典型的rc復位方式,它具有上電復位和手動兩種復位功能,且低電平有效。值得注意的是,為了使系統達到有效復位,應使reset-n端保持10 ms的低電平。當復位結束後立即對該器件進行初始化時,很容易發生錯誤。所以,進入0000h位址後,應首先執行l ms~10 ms的軟體延時,然後再進行初始化。

由於模組採用rs232與上位機相連,因此,需要用max232將rs232電平轉換為ttl電平。

4 程式設計

無線模組的設計包括硬體連線及cc2430軟體設計。編寫軟體程式首先要弄清楚資料在模組中的傳輸路徑及其過程,如圖2所示。

傳送資料時,資料通過串列埠usart進入cc2430的data記憶體區。對水阻試驗台來說,data記憶體區的高128位元組能夠滿足儲存容量的要求,因此將資料存放在data記憶體區的高128位元組中。為了提高資料的傳輸速度,使用dma傳輸方式將記憶體區中的資料傳送到radio的先進先出快取器。txfifo中。資料進入radio後,經過一系列的硬體處理,最後通過天線向發射無線訊號。

接收資料是傳送資料的逆過程。radio從天線接收到無線訊號,通過一系列的硬體處理,將訊號轉換為資料,存放在rxfifo中,再通過dma方式送入data記憶體區的低128位元組中,再通過usart串列埠將接收到的資料送出。

不難看出,整個資料傳輸過程大部分都是在cc2430內部完成。這得益於cc2430具有極高的整合度,是一款片上系統,能夠提供較高的系統穩定性和可靠性。cc2430包括了較多的自定義sfr暫存器,如何使用好這些sfr暫存器較為關鍵。例如在對usart的控制操作中,cc2430內部整合的usart的控制暫存器和狀態暫存器分別是uxucr和uxcsr(其中x可取值為0和1,表示cc2430整合的兩個usart中的乙個)。uxcsr狀態字格式和uxucr控制字格式如表l所示。用這兩個暫存器可完成usart的基本設定,如:

值得注意的是,cc2430串列埠波特率的設定與一般8051不同,因為其內部整合了乙個波特率發生器,因此,不需要使用定時器而只需設定相關的sfr暫存器uxbaud.baud_m[7:0]和uxgcr.baud[4:0],便可得到系統要求的波特率,其關係式如下:

其中,f為系統時鐘頻率。若f為32 mhz,執行下列語句,得到9600 b/s的串列埠波特率:

實際上對usart的操作還包含對其所連線的i/o口的設定。設定i/o應與硬體密切結合,如:

同樣,對dma和radio的操作也有這樣功能全面的sfr暫存器。對cc2430進行程式設計,其實就是對其srf暫存器的認識和運用過程,篇幅所限這裡不一一贅述。

5 系統抗干擾

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

6 結束語

本文所提及的無線模組雖然是針對水阻試驗系統中的資料採集部分進行改造的,但是由於與上位機的連線採用rs232,所以此無線模組也可應用於一般的帶rs232串列埠的資料採集系統。

CC2430 串列埠使用詳解

為了完成課題,最近下定決心學習cc2430。網上的資料很多,重複的部分不做過多的介紹,沒有的部分做一下少許的補充,希望對大家有用!建議各位使用更新的cc2530,該晶元為cc2430的替代版本 全部 如下,先看一下整體!標頭檔案 include hal.h include stdio.h 函式宣告 ...

CC2430 串列埠通訊UART

cc2430有兩個序列通訊介面usart0和usart1,本實驗採用第乙個介面。要實現的功能是在超級終端傳送資料到開發板,並且在lcd上顯示。那麼,此實驗中uart中主要用的是接受功能。當u0csr.re 1時,在uart上資料接收就開始了。然後uart會在輸入引腳中尋找有效起始位,並且設定u0cs...

基於ZigBee的無線串列埠集線器的研究與設計

1引言 隨著21世紀科學技術的不斷進步,無線與移動通訊相應得到了迅猛的發展。方便快捷的無線接入和無線 互連等新概念和新產品,已逐漸融入人們的工作領域和日常生活中。由於如今對無線頻率的大量使用,使無線頻率資源日漸匱乏,短距離寬頻無線通訊技術受到世界許多國家工業界和研究機構的廣泛關注。伴隨著各種可攜式終...