圖2
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將會得到越來越廣泛的應用。





