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