基于CC1020的無線通信模塊設計
本文介紹了一種以C8051F310單片機為控制核心,基于無線收發芯片CC1020的通信模塊。對其工作原理和工作方式進行了分析,給出了設計思路和硬件電路。并重點闡述了通信模塊的實現過程。
??? 關鍵詞:無線通信;CC1020;射頻;C8051F310
??? 引言
??? 隨著網絡及通信技術的飛速發展,無線通信以其成本低廉、擴展性好、受地理條件限制較少、安裝施工簡便靈活等特點,在許多領域都有著廣闊的應用前景。
??? CC1020簡介
??? CC1020是一種理想的超高頻單片收發器芯片。主要用于ISM(工業、科研及醫療)頻帶和在426/429/433/868/915MHz頻帶的SRD(Short Range Device-近距離設備)中,也可經編程后用于頻率為402MHz~470MHz和 804MHz~940MHz的多信道設備。CC1020主要的工作參數可通過串行總線接口編程,例如輸出功率、頻率及AFC。
??? 在接收模式下,CC1020可看成是一個傳統的超外差接收器。RF輸入信號經低噪聲放大器(LNA和LNA2)放大后,翻轉經過積分器(I和Q)產生中頻IF信號。在中頻處理階段,I/Q信號經混合濾波、放大后經ADC轉化成數字信號。然后進行自動獲取控制、信道濾波、解調和二進制同步化處理,在DIO引腳輸出數字解調數據,DCLK引腳獲取同步數字時鐘數據。RSSI為數字形式,并可通過竄行接口讀出。RSSI還可作為可編程的載波檢測指示器。
??? 在發送模式下,合成的RF信號直接饋送到功率放大器PA。射頻輸出是FSK信號,此信號是由饋送到DIO引腳的數字比特流通過FSK調制產生的。可使用一個高頻濾波器來得到高斯頻移鍵控GFSK。芯片內部的收/發開關電路使天線容易接入和匹配。
??? 硬件電路設計
??? 微控制器選型
??? 微控制器采用Cygnal公司生產的C8051F310,該處理器具有與8051完全兼容的CIP-51內核,是一款完全集成的混合信號ISP型MCU芯片,帶有模擬多路器的10位200ksps的25通道單端/差分ADC,硬件實現的I2C、增強型UART及SPI接口,Flash存儲器具有在系統重編程能力,可用于非易失性數據存儲,并且允許現場更新8051固件。該型號單片機體積小、性能高,能夠快速存取數據,也易于系統開發以及擴展,很適合本設計的需要。
??? CC1020結構配置接口
??? CC1020結構配置接口與微控制器的連接如圖1所示。微控制器使用引腳P2.2~P2.5與CC1020的結構配置接口PSEL、PCLK、PDI、PDO連接。PDO與微控制器的一個輸入端連接。PDI、PCLK和PSEL連接到微控制器的輸出端。如果把PDI和PDO連接在一起,微控制器可以使用一個雙向引腳端,則可節省微控制器的一個I/O端口。
??? 當結構配置接口不使用時,連接到PSEL、PCLK、PDI和PDO引腳端的微控制器引腳可作他用。當PSEL引腳端無效(保持高電平)時(PSEL引腳端低電平有效),PCLK、PDI和PDO是高阻抗輸入狀態。PSEL有一個內部上拉電阻,在低功耗模式時必須斷開(由微控制器三態控制),或者設為高電平,以阻止電流流入上拉電阻。
??? CC1020通過簡單的四串行SPI接口進行編程。有8位的結構配置寄存器。每一位寄存器的地址是7位,1位作為讀/寫位,初始化讀或寫的操作。CC1020一次完整的配置,要求發送33個數據幀,每幀16位(Address 7位,R/W 1位,Data 8位)。一次完整配置所需時間取決于PCLK的頻率。如果PCLK頻率為10MHz,完成一次完整配置的時間少于53ms。將CC1020設為低功耗模式,只需發送一幀數據,因此所需的時間不到2ms。所有的寄存器都是可讀的。
??? CC1020信號收發接口
??? CC1020信號收發接口與微控制器的連接如圖1所示。微控制器使用引腳P2.6和P3.4與CC1020的雙向同步數據接口DIO、DCLK連接。
???
?????????????????????? 圖1 CC1020與微控制器的連接電路
??? 微控制器的一個雙向引腳與CC1020的DIO連接,用于數據的發射與接收(輸入與輸出)。DCLK提供數據定時,必須連接到微控制器的一個輸入端。
??? 數據輸出可以選擇使用單獨的引腳。這時要設置CC1020的INTERFACE寄存器SEP_DI_DO=1。在同步模式下,LOCK引腳用作數據輸出,而DCLK引腳作為異步模式的數據輸出,DIO引腳端則只用于數據輸入。
??? 微控制器的一個引腳可用來監視鎖相環的鎖定信號,即LOCK引腳信號。當鎖相環鎖定時,LOCK引腳為邏輯低電平。它還可以用作載波檢測及監視其它內部測試信號。
??? CC1020能被設置成三種不同的數據傳輸形式:同步NRZ模式、同步曼徹斯特碼模式和異步傳輸UART模式。這三種模式各有特點,同步曼徹斯特碼抗干擾能力最好,但是波特率要低一倍,異步傳輸UART實現起來最簡單,但是抗干擾能力最差,而同步NRZ抗干擾能力比UART要好,但稍差于同步曼徹斯特碼,實現難度也介于兩者之間。考慮到微處理器基本都支持UART串行通訊,所以選擇了這種模式,經測試效果完全能達到要求。
??? CC1020天線選擇
??? CC1020可以使用多種型號的天線。近程通信中常使用的天線是單極天線、螺旋型天線和環形天線。本設計使用范圍最佳且簡單的1/4波長單極天線。
??? 電源管理
??? CC1020提供了非常靈活的電源管理,以適應電池驅動應用中對功耗的嚴格要求。低功耗模式通過MAIN寄存器和POWERDOWN寄存器控制。MAIN寄存器中有獨立的位,用于控制接收部分、發射部分、頻率合成器和晶振。這種獨立控制方式使得各個應用的功耗可以優化為最小。由于本設計是單獨的無線通信模塊,所以對功耗要求不太嚴格。系統采用5V供電,經過NCP500穩定輸出3V電壓。
??? 抗干擾措施
??? 無線射頻收發系統對電源噪聲很敏感,因此設計時采用了無線射頻部分和其它電路分開供電的方法。高頻器件對于噪聲敏感,因此給各部分電源加裝了濾波器或穩壓器,以減少電源噪聲對芯片的干擾。另外,對芯片使用電源監控及看門狗電路,以便大幅度提高整個電路的抗干擾性能。
??? Chipcon公司提供了射頻部分的電路參考設計,射頻部分的布局參照了參考設計的布局,同時根據實際情況做了一些改動,以獲得最佳效果。CC1020的外圍元件很少,其中VCO電感屬于關鍵器件,選用了高精度電感,布局上也盡可能靠近芯片,并且盡可能使兩個輸入引腳對稱,以保證性能。另外,設計時讓晶振與芯片引腳盡量靠近,并用地線把時鐘區隔離起來,晶振外殼接地并固定,還使用了金屬罩對射頻部分進行了電磁屏蔽。使用以上措施,保證了系統的可靠運行。
????
???????????????????????????? 圖2 主程序流程框圖
??? 軟件設計
??? 通信協議采用UART格式(一個開始位,負載數據,一個結束位),另外,數據包前有同步碼,同步碼的作用是使接收端芯片正確識別UART格式的數據。之后要有識別碼,識別碼用來標志數據開始,如果正確收到識別碼,說明可以正確接收數據。如果數據長度不是一定的,則在數據包開始部分加一個長度碼,或在數據包結尾部分加特定結束標志。為了應付無線傳輸中可能出現的數據錯誤,在數據包最后加一個校驗碼,這樣就可以根據應用需要選擇丟掉該包或是要求重發。實際應用中發現,在數據包之后,最好要有1~2個字節的冗余碼,否則,最后1個字節的數據很容易受到噪聲干擾,造成錯誤識別。主要流程框圖如圖2所示。
??? 結語
??? 該通信模塊具有成本低、通用性強、可擴展性強、可靠性高等特點。可單獨使用,也可作為系統拓展模塊方便地集成到各種無線測控系統中。
評論
查看更多