久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 10595|回復(fù): 1
收起左側(cè)

CC2500無(wú)線模塊介紹

[復(fù)制鏈接]
ID:75926 發(fā)表于 2015-4-3 00:08 | 顯示全部樓層 |閱讀模式
                                                                                                
CC2500芯片,是TI(原Chipcon被TI收購(gòu))推出的一款超低功耗、低成本的無(wú)線收發(fā)模塊,其載頻范圍在2.400GHz~2.483GHz內(nèi)可調(diào),可用來(lái)實(shí)現(xiàn)多信道通信。它支持多種調(diào)制方式,包括FSK、GFSK、OOK和MSK,數(shù)據(jù)傳輸速率最高可達(dá)500kb/s。CC2500還為信息包處理、數(shù)據(jù)緩沖、脈沖傳送、空閑信道評(píng)估、連接品質(zhì)指示和電磁喚醒等功能提供了額外的硬件支持。它有四種主要的狀態(tài):接收(RX)、發(fā)送(TX)、空閑(IDLE)和休眠(SLEEP)
基本特點(diǎn)
(1) 2400-2483.5 MHz的ISM和SRD頻段
(2) 最高工作速率500kbps,支持2-FSK、GFSK和MSK調(diào)制方式
(3) 高靈敏度(-101dBm在10Kbps 1%)
(4) 內(nèi)置硬件CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制
(5) 較低的電流消耗(RX中,13.3mA)
(6) 可編程控制的輸出功率,對(duì)所有的支持頻率可達(dá) 1dBm
(7) 支持低功率電磁波激活功能
(8) 支持傳輸前自動(dòng)清理信道訪問(CCA),即載波偵聽系統(tǒng)
(9) 快速頻率變動(dòng)合成器帶來(lái)的合適的頻率跳躍系統(tǒng)
(10) 模塊可軟件設(shè)地址,軟件編程非常方便
(11) 標(biāo)準(zhǔn)DIP間距接口,便于嵌入式應(yīng)用
(12) 單獨(dú)的64字節(jié)RX和TX數(shù)據(jù)FIFO
WOR功能:為了節(jié)約電能,射頻芯片通常采用休眠模式。芯片在休眠時(shí)勢(shì)必會(huì)丟失信息,CC22500的WOR(Wakeup-on-Radio)功能能很好地避免這點(diǎn)。WOR功能保證芯片在深度睡眠時(shí)周期性地蘇醒,探聽周圍是否有信號(hào),這個(gè)過程不需要CPU的中斷,如果有數(shù)據(jù)包成功接收,芯片可通過引腳輸出中斷通知MCU讀取。
RSSI和LQI功能:RSSI反映接收信號(hào)強(qiáng)度,LQI反映信號(hào)的連接質(zhì)量,兩者都可以通過讀取芯片的寄存器得到。LQI雖然能夠判斷連接質(zhì)量,但會(huì)因調(diào)制方式的不同而不同。RSSI是判斷兩個(gè)節(jié)點(diǎn)距離的很好的參數(shù)。在從RSSI寄存器中讀到數(shù)值后我們需要進(jìn)行一系列轉(zhuǎn)化,才能得到接收強(qiáng)度值。
   CCA功能:CCA(Clear Channel Assessment)能夠指示當(dāng)前信道是否處于空閑狀態(tài)。其作用與CSMA相似。當(dāng)芯片要轉(zhuǎn)入發(fā)送模式時(shí),會(huì)首先檢查信道,只有當(dāng)信道為空閑時(shí),才進(jìn)入發(fā)送模式,否則停留在原模式或由編程設(shè)定進(jìn)入其他模式。
典型應(yīng)用場(chǎng)合
無(wú)線遙控,無(wú)線鼠標(biāo),無(wú)線鍵盤;
工業(yè)無(wú)線控制,自動(dòng)化數(shù)據(jù)采集系統(tǒng);
無(wú)線傳感器,無(wú)線電子標(biāo)簽,遙控玩具;
水、氣、熱、電等居民計(jì)量表具無(wú)線自動(dòng)抄表;

                                                                                                
CC2420是Chipcon(已被TI收購(gòu))公司推出的首款符合2.4GHz IEEE802.15.4標(biāo)準(zhǔn)的射頻收發(fā)器。該器件包括眾多功能,是第一款適用于ZigBee產(chǎn)品的RF器件。它基于SmartRF 03技術(shù),以0.18um CMOS工藝制成,只需極少外部元器件,工作在2400-2483.5MHZ 的ISM 頻段由一個(gè)完全集成的頻率調(diào)制器一個(gè)帶解調(diào)器的接收器一個(gè)功率放大器一個(gè)晶體震蕩器和一個(gè)調(diào)節(jié)器組成?勺詣(dòng)產(chǎn)生前導(dǎo)碼,CRC 可以很容易通過SPI 接口進(jìn)行編程配置,電流消耗低。性能穩(wěn)定且功耗極低。CC2420的選擇性和敏感性指數(shù)可確保短距離通信的有效性和可靠性。利用此芯片開發(fā)的無(wú)線通信設(shè)備支持?jǐn)?shù)據(jù)傳輸率高達(dá)250kbps可以實(shí)現(xiàn)多點(diǎn)對(duì)多點(diǎn)的快速組網(wǎng)。
基本特點(diǎn):
(1) 工作在2400-2483.5 MHz的ISM和SRD頻段.
-采用直接序列擴(kuò)頻方式.
-工作速率250kbps,碼片速率2 MChip/s.
-使用 O-QPSK調(diào)制方式.
-高靈敏度(-95dBm).
-較低的電流消耗(RX :13.3 mA TX:17.4 mA).
-抗鄰頻道干擾能力強(qiáng)(39dB)
-內(nèi)部集成有VCO、LNA、PA以及電源整流器.
-采用低電壓供電(2.1~3.6V).
-輸出功率編程可控.
(2) IEEE802.15.4-2003標(biāo)準(zhǔn)MAC層硬件支持.
-前導(dǎo)碼與同步字段自動(dòng)生成與檢測(cè).
-CRC-16自動(dòng)生成與檢測(cè).
-空閑信道檢測(cè).
-能量檢測(cè)、接收信號(hào)強(qiáng)度與鏈路質(zhì)量指示.
-MAC層安全保護(hù)(CTR,CBC-MAC,CCM)支持.
(3) 采用4線SPI標(biāo)準(zhǔn)接口,便于MCU配置.
(4) 獨(dú)立的128字節(jié)RX和128字節(jié)TX數(shù)據(jù)FIFO.
典型應(yīng)用場(chǎng)合:
無(wú)線傳感器網(wǎng)絡(luò)
住宅、建筑物(智能家居)控制
工業(yè)儀器儀表無(wú)線數(shù)據(jù)采集和控制
無(wú)線鼠標(biāo)、無(wú)線鍵盤、無(wú)線類玩具等消費(fèi)電子
無(wú)線門禁、物流跟蹤、倉(cāng)庫(kù)巡檢等RFID有源電子標(biāo)簽

程序參考設(shè)計(jì)
用CC2420模塊無(wú)需掌握任何專業(yè)無(wú)線或高頻方面的理論,讀者只需要具備一定的C語(yǔ)言程序基礎(chǔ)即可。可參考CC2420官方手冊(cè)或向我們尋求技術(shù)支持。
同時(shí),為便于用戶開發(fā),我們提供系列配套評(píng)估套件,為產(chǎn)品開發(fā)保駕護(hù)航,使無(wú)線應(yīng)用開發(fā)大大加速,并避免不必要的誤區(qū)。以下為范例程序中的部分相關(guān)代碼段。
CC2420寄存器讀寫配置
CC2420通過SPI接口與單片機(jī)通訊,因此必須首先了解SPI接口。標(biāo)配SPI外圍串行接口由四條線構(gòu)成:
      MOSI主機(jī)輸出從機(jī)輸入     (主機(jī)寫操作)
      MISO主機(jī)輸入從機(jī)輸出     (主機(jī)讀操作)
      SCK 串行時(shí)鐘信號(hào),由主機(jī)控制
      CSN 片選信號(hào),低電平有效
SPI讀操作代碼
uint8 SPI_Read(void)
{
    uint8 i,rxdata;
    rxdata = 0x00;
    for (i = 0;i < 8;i++)
    {
       rxdata = rxdata<<1;
       SCLK_ON();
       if (MISO_IN)
      {   
           rxdata |= 0x01;
       }
       else
       {
           rxdata &= ~0x01;
       }
       SCLK_OFF();   
     }
     return rxdata;
}
SPI寫操作代碼
void SPI_Write(uint8 txdata)
{
    uint8 i;
    for (i = 0;i < 8;i++)
    {
       if (txdata&0x80)  
       {
           MOSI_ON();
       }
       else
       {
           MOSI_OFF();
       }
       SCLK_ON();
       txdata = txdata<<1;
       SCLK_OFF();   
    }
}
CC2420配置寄存器讀操作
uint16 CC2420_ReadReg(uint8  addr)
{
    uint16 value;
    CSN_OFF();                  
    SPI_Write(addr|REG_READ);      
    value = SPI_Word_Read();         
    CSN_ON();         
    return value;
}
CC2420配置寄存器寫操作
void  CC2420_WriteReg(uint8  addr, uint16 value)
{
    CSN_OFF();                                 
    SPI_Write(addr|REG_WRITE);      
    SPI_Word_Write(value);         
    CSN_ON();                 
}
CC2420 RAM 讀操作
uint8 CC2420_RAM_Read(uint8 addr,uint8 block)
{
    uint8 value;
    CSN_OFF();        
    SPI_Write(addr|RAM);
    SPI_Write((block<<6)|RAM_READ);
    value = SPI_Read();
    CSN_ON();  
    return value;
}
CC2420 RAM寫操作
void CC2420_RAM_Write(uint8  addr,uint8 block, uint8 value)
{
    CSN_OFF();        
    SPI_Write(addr|RAM);
    SPI_Write((block<<6)|RAM_WRITE);
    SPI_Write(value);
    CSN_ON();  
}
CC2420初始化
void CC2420_Init(void)
{  
    RESET_OFF();
    delay_ms(10);
    RESET_ON();
    delay_ms(10);
    CC2420_Command(CMD_SXOSCON);
    delay_ms(10);
    CC2420_PSDU[ 1 ] =
(PAN_ID_COMPRESSION<<6)|(ACKNOWLEDGMENT_REQUEST<<5)|
(FRAME_PENDING<<4)|(SECURITY_ENABLE<<3)|(FRAME_TYPE_DATA<<0);
    CC2420_PSDU[ 2 ] =
(SOURCE_ADDRESSING_MODE<<6)|(FRAME_VERSION<<4)|
(DEST_ADDRESSING_MODE<<2);
    CC2420_PSDU[ 3 ] = SEQUENCE_NUMBER;
    CC2420_PSDU[ 4 ] =  CC2420_Destination_PANID[0];
    CC2420_PSDU[ 5 ] =  CC2420_Destination_PANID[1];
    CC2420_PSDU[ 6 ] =  CC2420_Destination_IEEEAddr[0];
    CC2420_PSDU[ 7 ] =  CC2420_Destination_IEEEAddr[1];
    CC2420_PSDU[ 8 ] =  CC2420_Destination_IEEEAddr[2];  
    CC2420_PSDU[ 9 ] =  CC2420_Destination_IEEEAddr[3];
    CC2420_PSDU[10] =  CC2420_Destination_IEEEAddr[4];
    CC2420_PSDU[11] =  CC2420_Destination_IEEEAddr[5];
    CC2420_PSDU[12] =  CC2420_Destination_IEEEAddr[6];
    CC2420_PSDU[13] =  CC2420_Destination_IEEEAddr[7];
    CC2420_PSDU[14] =  CC2420_Source_PANID[0];
    CC2420_PSDU[15] =  CC2420_Source_PANID[1];
    CC2420_RAM_Write(RAM_PANID, 2,  CC2420_Source_PANID[0]);
    CC2420_RAM_Write(RAM_PANID+1, 2, CC2420_Source_PANID[1]);
    CC2420_PSDU[16] =  CC2420_Source_IEEEAddr[0];
    CC2420_PSDU[17] =  CC2420_Source_IEEEAddr[1];
    CC2420_PSDU[18] =  CC2420_Source_IEEEAddr[2];
    CC2420_PSDU[19] =  CC2420_Source_IEEEAddr[3];
    CC2420_PSDU[20 ] = CC2420_Source_IEEEAddr[4];
    CC2420_PSDU[21] =  CC2420_Source_IEEEAddr[5];
    CC2420_PSDU[22] =  CC2420_Source_IEEEAddr[6];
    CC2420_PSDU[23] =  CC2420_Source_IEEEAddr[7];
    CC2420_RAM_Write(RAM_IEEEADR, 2, CC2420_Source_IEEEAddr[0]);
    CC2420_RAM_Write(RAM_IEEEADR+1, 2, CC2420_Source_IEEEAddr[1]);
    CC2420_RAM_Write(RAM_IEEEADR+2, 2, CC2420_Source_IEEEAddr[2]);
    CC2420_RAM_Write(RAM_IEEEADR+3, 2, CC2420_Source_IEEEAddr[3]);
    CC2420_RAM_Write(RAM_IEEEADR+4, 2, CC2420_Source_IEEEAddr[4]);
    CC2420_RAM_Write(RAM_IEEEADR+5, 2, CC2420_Source_IEEEAddr[5]);
    CC2420_RAM_Write(RAM_IEEEADR+6, 2, CC2420_Source_IEEEAddr[6]);
    CC2420_RAM_Write(RAM_IEEEADR+7, 2, CC2420_Source_IEEEAddr[7]);
CC2420_WriteReg(REG_MDMCTRL0, CCA_HYST|CCA_MODE|PREAMBLE_LENGTH|AUTOCRC|ADR_DECODE);
    CC2420_WriteReg(REG_SYNCWORD,SYNCWORD);
    CC2420_WriteReg(REG_SECCTRL0,0);
    CSN_OFF();                  
    SPI_Write(REG_RXFIFO|REG_READ);   
    SPI_Read();
    CSN_ON();     
    CC2420_Command(CMD_SFLUSHRX);
    CC2420_Command(CMD_SFLUSHTX);
    delay_ms(10);
}
CC2420 FIFO發(fā)送流程FIFO寫數(shù)據(jù)操作
void  CC2420_WriteTXFIFO(void)
{
    uint8 i;
    CC2420_Command(CMD_SFLUSHTX);
    CSN_OFF();                                 
    SPI_Write(REG_TXFIFO|REG_WRITE);      
    SPI_Write(CC2420_PSDU[0]);
    for(i=0;i<CC2420_PSDU[0];i++)
    {
       SPI_Write(CC2420_PSDU[1+i]);
    }      
    CSN_ON();   
}
FIFO數(shù)據(jù)發(fā)送操作
void CC2420_TxPacket(void)
{
    CC2420_Command(CMD_SRFOFF);
    CC2420_Command(CMD_STXON);
    while(!SFD_IN);
    while(SFD_IN);
}
CC2420 FIFO接收流程接收模式設(shè)置
void CC2420_SetRxMode(void)
{
    CC2420_Command(CMD_SRFOFF);
    CC2420_Command(CMD_SRXON);
}   
FIFO接收數(shù)據(jù)
uint8 CC2420_RxPacket(void)
{
     if((!SFD_IN)&&(FIFO_IN))
    {
       return TRUE;
    }
      return FALSE;
}
收到數(shù)據(jù)后讀取FIFO數(shù)據(jù)
void CC2420_ReadRXFIFO(void)
{
    uint8 i;
    CSN_OFF();                  
    SPI_Write(REG_RXFIFO|REG_READ);      
    CC2420_PSDU[0] = SPI_Read();  
    for(i=0;i<CC2420_PSDU[0];i++)
    {
       CC2420_PSDU[1+i] = SPI_Read();
    }
    CSN_ON();         
    CC2420_Command(CMD_SFLUSHRX); }
無(wú)線應(yīng)用注意事項(xiàng)
(1) 無(wú)線模塊的VCC電壓范圍為 1.8V-3.6V之間,不能在這個(gè)區(qū)間之外,超過3.6V將會(huì)燒毀模塊。推薦電壓3.3V左右。
(2) 除電源VCC和接地端,其余腳都可以直接和普通的51單片機(jī)IO口直接相連,無(wú)需電平轉(zhuǎn)換。當(dāng)然對(duì)3V左右的單片機(jī)更加適用了。
(3) 硬件上面沒有SPI的單片機(jī)也可以控制本模塊,用普通單片機(jī)IO口模擬SPI不需要單片機(jī)真正的串口介入,只需要普通的單片機(jī)IO口就可以了,當(dāng)然用串口也可以了。模塊按照接口提示和母板的邏輯地連接起來(lái)
(4) 標(biāo)準(zhǔn)DIP插針,如需要其他封裝接口,或其他形式的接口,可聯(lián)系我們定做。
(5) 任何單片機(jī)都可實(shí)現(xiàn)對(duì)無(wú)線模塊的數(shù)據(jù)收發(fā)控制,并可根據(jù)我們提供的程序,然后結(jié)合自己擅長(zhǎng)的單片機(jī)型號(hào)進(jìn)行移植;
(6) 頻道的間隔的說(shuō)明:實(shí)際要想2個(gè)模塊同時(shí)發(fā)射不相互干擾,兩者頻道間隔應(yīng)該至少相差1MHZ,這在組網(wǎng)時(shí)必須注意,否則同頻比干擾。
(7) 實(shí)際用戶可能會(huì)應(yīng)用其他自己熟悉的單片機(jī)做為主控芯片,所以,建議大家在移植時(shí)注意以下4點(diǎn):
A:確保IO是輸入輸出方式,且必須設(shè)置成數(shù)字IO;
B:注意與使用的IO相關(guān)的寄存器設(shè)置,尤其是帶外部中斷、帶AD功能的IO,相關(guān)寄存器一定要設(shè)置好;
C:調(diào)試時(shí)先寫配置字,然后控制數(shù)據(jù)收發(fā)
D:注意工作模式切換時(shí)間



回復(fù)

使用道具 舉報(bào)

ID:28571 發(fā)表于 2015-4-18 16:04 | 顯示全部樓層
下載看看,學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产黄色免费视频 | 香蕉看片 | 国产伦精品一区二区三区在线 | 亚洲欧美日本在线 | a毛片视频 | 免费在线观看毛片 | 国产成人精品免费 | 天堂va蜜桃一区二区三区 | 欧美特黄 | 日本毛片视频 | 精品欧美一区二区三区久久久 | 欧美精品一区二区三区四区 | 99国产精品99久久久久久粉嫩 | 在线网站免费观看18 | 韩国av一区二区 | 国产日韩视频 | 特级黄色片 | 国产精品一区二区三区在线 | 亚洲免费精品视频 | 99re这里只有精品6 | 狠狠干狠狠插 | 青青国产视频 | 黄色大片免费在线观看 | 久久狠| 婷婷视频在线 | 日本熟妇毛耸耸xxxxxx | 黄色在线观看免费 | 亚洲午夜视频在线观看 | 免费看黄色一级片 | 日韩欧美小视频 | 成人综合婷婷国产精品久久 | 日本成人中文字幕 | 黄色理论片 | 综合色婷婷一区二区亚洲欧美国产 | 日韩中文字幕第一页 | 第一福利丝瓜av导航 | 亚洲国产精品va在线看黑人 | 成人在线小视频 | 97精品国产97久久久久久免费 | 综合一区二区三区 | av大片在线观看 |