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