引言
CC1010是挪威Chipcon公司推出的單片、多頻段、低功耗、超高頻射頻芯片。芯片采用Chipcon公司的0.35μmCMOS技術(shù)制成,內(nèi)嵌高性能的8051微控制器、32KB的Flash程序存儲(chǔ)器2176字節(jié)的SRAM,能夠工作于315/433/868和915MHz四個(gè)ISM(工業(yè)、科學(xué)和醫(yī)學(xué))頻段,可通過(guò)編程控制其工作于300~1000MHz頻率范圍之內(nèi)。芯片低電壓(2.7~3.6V)供電并且功耗非常低(接收數(shù)據(jù)時(shí)工作電流只有9mA),高靈敏度(-107dBm),最大發(fā)射頻輸出為+10dBm,通信速率為76.8kb/s,符合EN 300 220和FCCCFR47規(guī)范。CC1010適用于家庭自動(dòng)化、安防系統(tǒng)、遙控開(kāi)鎖、遙感勘測(cè)、遙控玩具等諸多無(wú)線應(yīng)用領(lǐng)域。
1 芯片引腳
CC1010采用TQFP-64封裝,芯片尺寸為12mm×12mm。
2 芯片結(jié)構(gòu)
CC1010片內(nèi)集成了微處理器內(nèi)核、Flash程序存儲(chǔ)器、SRAM數(shù)據(jù)存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、看門狗、SPI接口、A/D轉(zhuǎn)換器、射頻收發(fā)器等功能模塊。芯片的功能結(jié)構(gòu)如圖1所示。
2.1 8051內(nèi)核
CC1010的微處理器內(nèi) 核基于標(biāo)準(zhǔn)的8位8051內(nèi)核,支持直接尋址、間接尋址和寄存器尋址等尋址方式,內(nèi)核寄存器有累加器A、堆棧指針SP、數(shù)據(jù)指針DPTR和程序狀態(tài)字PSW等。
CC1010的數(shù)據(jù)存儲(chǔ)器分為內(nèi)部128字節(jié)SRAM和外部1024字節(jié)SRAM兩個(gè)。這里所說(shuō)的內(nèi)部和外部是相對(duì)于尋址方式而言的。實(shí)際上,這兩個(gè)寄存器都在CC1010片內(nèi),但外部1024字節(jié)的SRAM只能通過(guò)標(biāo)準(zhǔn)8051的幾條指令進(jìn)行訪問(wèn)。訪問(wèn)比較頻繁的數(shù)據(jù)一般都放在內(nèi)部128字節(jié)的SRAM中,如堆棧數(shù)據(jù)。內(nèi)部SRAM的高64位為特殊功能寄存器SFR,用于控制微控制器的各種特殊功能,部分特殊功能寄存器可以位尋址。
芯片指令周期為4個(gè)時(shí)鐘周期,其在上電時(shí)必須復(fù)位。復(fù)位方式有:RESET引腳復(fù)位、上電復(fù)位、低電壓復(fù)位、看門狗復(fù)位和ADC復(fù)位。上電復(fù)位和ADC復(fù)位信號(hào)需要1024個(gè)時(shí)鐘周期,以保證內(nèi)部時(shí)鐘能夠穩(wěn)定啟動(dòng)。
CC1010共有15個(gè)中斷源,包括Flash/Debug中斷、外部中斷0、外部中斷1、定時(shí)器0中斷、定時(shí)器1中斷、定時(shí)器2中斷、定時(shí)器3中斷、串口0發(fā)送中斷、串口0接收中斷、串口1發(fā)送中斷、串口1接收中斷、射頻發(fā)射頻中斷、ADC中斷、實(shí)時(shí)時(shí)鐘中斷。其中的部分?jǐn)嗖擞孟嗤闹袛鄡?yōu)先級(jí)和中斷向量,如串口0發(fā)送中斷和串口0接中斷。CC1010的中斷控制方法和8051相似。
XOSC_Q1和XOSC_Q2為芯片時(shí)鐘信號(hào)接口引腳,可接3~24MHz的外部晶振。為了得到更好的芯片使用性能,推薦使用的晶振頻率范圍為3~4MHz、6~8MHz和9~24MHz。以下列晶振頻率便于得到標(biāo)準(zhǔn)的數(shù)據(jù)速率,如3.6864MHz、7.3728MHz、11.0592MHz、14.7456MHz、18.4320MHz和22.1184MHz。
CC1010片內(nèi)集成了32KB的Flash程序存儲(chǔ)器,每128個(gè)字節(jié)1頁(yè),共256頁(yè),可通過(guò)SPI接口進(jìn)行編程/擦除或通過(guò)8051分頁(yè)進(jìn)行讀寫。通過(guò)SPI接口對(duì)Flash程序存儲(chǔ)器編程是用SPI-Flash編程協(xié)議實(shí)現(xiàn)的。當(dāng)PROG引腳為低時(shí),SPI-Flash編程使能,SPI器件可通過(guò)SCK引腳、SI引腳和SO引腳對(duì)片內(nèi)Flash程序存儲(chǔ)器進(jìn)行讀寫。用戶可到Chipcon網(wǎng)站下載CC1010的編程軟件。為了便于節(jié)能,CC1010還提供了幾種不同的Flash程序存儲(chǔ)器工作方式,并提供了相應(yīng)的接口。為了支持在系統(tǒng)調(diào)試功能,CC1010擴(kuò)展了一些標(biāo)準(zhǔn)8051內(nèi)核沒(méi)有的功能,如在指令集中加入了斷點(diǎn)調(diào)試,單步執(zhí)行指令等。
2.2 射頻收發(fā)器
CC1010的超高頻調(diào)頻收發(fā)器為低電壓供電和低功耗設(shè)計(jì),收發(fā)器的電路如圖1所示。芯片設(shè)計(jì)時(shí)的目標(biāo)收發(fā)頻率為315、433、868和915MHz,但可通過(guò)編程使其工作于300~1000MHz頻率范圍之內(nèi)。收發(fā)器的主要操作參數(shù)均可通過(guò)特殊功能寄存器(SFR)來(lái)進(jìn)行。
可通過(guò)程序把CC1010配置為射頻接收方式或射頻發(fā)射方式。當(dāng)把其配置為接收方式時(shí),射頻輸入信號(hào)先通過(guò)低噪聲放大器進(jìn)行放大,然后通過(guò)混頻器把輸入信號(hào)轉(zhuǎn)換為中頻信號(hào),在送給解調(diào)器之前,中頻信號(hào)被進(jìn)一步放大和濾波。在混頻后,接收信號(hào)強(qiáng)度指示器的信號(hào)或中頻濾波器信號(hào)通過(guò)AD2引腳輸出。解調(diào)之后,接收到的信號(hào)送給射頻寄存器(RFBUF)。可通過(guò)程序設(shè)置,使CC1010在接收方式下,每接收到1位或1個(gè)字節(jié)發(fā)生一次接收中斷。
當(dāng)CC1010工作在發(fā)射方式下,壓控振蕩器(VCO)的輸出信號(hào)直接反饋給信號(hào)放大器(PA)。射頻輸出信號(hào)通過(guò)頻移鍵控的調(diào)制方式,以位數(shù)據(jù)流的形式送給射頻寄存器(RFBUF)。與在接收方式下的工作原理相似,在發(fā)射方式下,也可以通過(guò)程序設(shè)置,每發(fā)射1位或1個(gè)字節(jié)發(fā)生1次發(fā)射中斷。接收/發(fā)射(T/R)電路的作用是控制天線接口,用于接收或發(fā)射。
頻率合成器由晶體振蕩器(XOSC)、相位檢測(cè)器(PD)、充電泵(charge pump)、片內(nèi)環(huán)形濾波器(LPF)、壓控振蕩器(VCO)和分頻器組成。其主要作用是產(chǎn)生本振信號(hào),并在接收方式下送給混頻器,在發(fā)射方式下送給頻率放大器。CC1010工作時(shí),晶體振蕩器(XOSC)必須連到外部晶振,壓控振蕩器(VCO)也需要接1個(gè)外部電感。在868和915MHz收發(fā)頻率下,CC1010的外圍元器件基本相同。
通過(guò)特殊功能寄存器(SFR)可配置的與收發(fā)相關(guān)的主要參數(shù)有:接收/發(fā)射方式、射頻輸出的功率、射頻輸出頻率、頻移鍵控的頻率、關(guān)/開(kāi)機(jī)工作方式、數(shù)據(jù)速率和數(shù)據(jù)格式、外部中頻輸出等。Chipcon給用戶提供Windows界面的芯片參數(shù)配置軟件SmartRF Studio。
3 應(yīng)用電路
CC1010的應(yīng)用參考電路如圖2所示。由圖2可見(jiàn),需要的外圍元器件非常少。
C31/L32為輸入匹配電容/電感,L32同時(shí)也用于防止直流偏置信號(hào)的輸入。C41、L41和C42用于發(fā)射時(shí)的信號(hào)匹配。通過(guò)發(fā)射/接收開(kāi)關(guān)電路,收發(fā)器得以通過(guò)同一個(gè)50W的天線進(jìn)行接收/發(fā)射操作。壓控振蕩器完全整合在芯片內(nèi),因此在使用時(shí)只需要1個(gè)電感L101,通過(guò)SmartRF Studio軟件,可容易地計(jì)算出各個(gè)頻率的L101的值。在某些有特殊要求的場(chǎng)合下,可通過(guò)外加外部電感電容濾波器或聲表濾波器來(lái)提高芯片的收發(fā)性能。為了使芯片能夠穩(wěn)定工作,在芯片電源輸入端必須加上濾波電容。濾波電容一般需要兩個(gè):一個(gè)為高頻濾波電容,另一個(gè)為低頻濾波電容。
4 PCB布板
射頻收發(fā)產(chǎn)品的PCB布局對(duì)整個(gè)系統(tǒng)的性能影響很大。為了能使用戶得到最好的收發(fā)性能,Chipcon給用戶提供了參考PCB布局,用戶可到其網(wǎng)站下載。CC1010的PCB一般至少為4層板。Chipcon也極力推薦用戶使用4層板,這4層分別為頂層、中間地層、中間正電源層和底層。各層通過(guò)過(guò)孔連接。芯片和大部分的外圍元器件布置在頂層,少數(shù)外圍元器件布置在底層,如壓控振蕩器的電感和電源濾波電容。芯片的接地引腳應(yīng)該盡量靠近與中間地層連接的過(guò)孔,所以,在PCB上空余的地方應(yīng)盡量多布置一些過(guò)孔。濾波電容也應(yīng)該盡量靠相應(yīng)的引腳布置,這樣可以得到更好的濾波性能。外圍元器件應(yīng)盡量小,盡量使用何種小的貼片器件。在PCB上,壓控振蕩器的電感應(yīng)盡量靠近L1和L2引腳,并相對(duì)這兩個(gè)引腳呈對(duì)稱布置。
CC1010可使用單鞭天線、螺旋天線或在PCB上的環(huán)形天線。單鞭天線的長(zhǎng)度為波長(zhǎng)的1/4,可通過(guò)式(1)計(jì)算。其中,L表示單鞭天線的長(zhǎng)度,f為接收/發(fā)射頻率。環(huán)形天線布在PCB上,使用非常方便;但由于其福射能力較差,所以接收/發(fā)射性能也稍差些。螺旋天線是單鞭天線和環(huán)形天線的一種折衷方案,其尺寸大小和接收/發(fā)射能力介于單鞭天線和環(huán)形天線之間。
L=7125/f (1)
5 應(yīng)用程序
以下程序代碼均在Keil C51 V7.07(要打上CC1010 Development Tools補(bǔ)丁)編譯環(huán)境下調(diào)試通過(guò)。下面是部分代碼。
(1)收發(fā)頻段配置
#ifdefFREQ868 //868 MHz頻段
RF_RXTXPAIR_SETTINGS code RF_SETTINGS={//配置字
0x4B,0x2F,0x15,//曼徹斯特編碼,波特率為2.4kbps
0x75,0xA0,0x00,//Freq A,868.277200MHz,發(fā)送
0x58,0x32,0x8D,//Freq B,868.277200MHz,接收
0x01,0xAB, //64kHz分離頻率
0x40, //PLL_RX
0x30, //CURRENT_RX
0xF3, //CURRENT_TX
0x32, //FREND
0xFF, //PA_POW,功率放大器的電源
0x00, //MATCH,頻率匹配
0x00, //PRESCALER
};
#endif
#ifdefFREQ915 //915MHz頻段
………… //與868MHz頻段相似
#endif
#ifdefFREQ433 //433MHz頻段
………… //與868MHz頻段相似
#endif
(2)接收配置函數(shù)
void RFSetupReceive(void){
INT_GLOBAL_ENABLE(INT_OFF); //關(guān)全局中斷
INT_SETFLAG(INUM_RF,INT_CLR); //設(shè)置RF中斷
INT_PRIORITY(INUM_RF,INT_HIGH); //RF中斷優(yōu)先級(jí)
INT_ENABLE(INUM_RF,INT_ON); //使能RF中斷
RF_SET_BYTEMODE(); //使能字節(jié)方式的RF中斷
RF_SET_PREAMBLE_COUNT(16); //設(shè)置字頭配置
RF_SET_SYNC_BYTE(RF_SUITABLE_SYNC_BYTE);
MODEM1=(MODEM1&0x03)0x24; //確保avg濾波器空閑
PDET &=~0x80; //重置字頭檢測(cè)
PDET=0x80; //重置字頭檢測(cè)
RF_START_RX(); //開(kāi)始發(fā)送
INT_GLOBAL_ENABLE(INT_ON); //開(kāi)全局中斷
}
(3)發(fā)送配置函數(shù)
void RFSetupTransmit(void){
………… //接收頻率配置,代碼與6.1相似
RF_RXTXPAIR_CALDATA xdata RF_CALDATA; //校準(zhǔn)數(shù)據(jù)
WDT_ENABLE(FALSE); //禁能看門狗定時(shí)器
MEM_NO_WAIT_STATES(); //設(shè)置適當(dāng)?shù)陌l(fā)送速度
FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
HalRFCalib(&RF_SETTINGS,&RF_CALDATA);//校準(zhǔn)配置是否正確
HalRFSetRxTxOff(RF_TX,&RF_SETTINGS,&RF_CALDATA); //準(zhǔn)備發(fā)送
RF_START_TX(); //開(kāi)始發(fā)送
}
(4)其它代碼
限于篇幅,只列出CC1010設(shè)計(jì)當(dāng)中的部分代碼。其它代碼還有開(kāi)始發(fā)送函數(shù)RF_START_TX()、開(kāi)始接收函數(shù)RF_START_RX()等。
結(jié)語(yǔ)
在目前國(guó)內(nèi)外出現(xiàn)的射頻芯片當(dāng)中,嵌入MCU內(nèi)核的芯片為作不多。在這些嵌入式芯片當(dāng)中,CC1010是性能比較出眾的一個(gè)。其低電壓供電和低功耗的特性適合于多種嵌入式系統(tǒng)應(yīng)用,另一個(gè)比較優(yōu)秀的特點(diǎn)是能夠工作在300~1000MHz的寬頻率范圍。在某些需要大容量程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)器的地方,CC1010的優(yōu)點(diǎn)就更加明顯了,其片內(nèi)的32KB的Flash存儲(chǔ)器和2176字節(jié)的SRAM,足夠用于大部分的射頻收發(fā)應(yīng)用系統(tǒng)中。可想而知,CC1010將會(huì)得到越來(lái)越廣泛的應(yīng)用。
-
芯片
+關(guān)注
關(guān)注
455文章
50732瀏覽量
423274 -
mcu
+關(guān)注
關(guān)注
146文章
17135瀏覽量
351031 -
射頻
+關(guān)注
關(guān)注
104文章
5575瀏覽量
167702
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論