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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

CC1101/CC1100、stc單片機模擬2262-2272解碼

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年03月24日   【字體:

   這幾天研究了市場上常見的無線遙控開關,它們的無線部分大都是用2262-2272編碼實現,在網上找了些2262-2272軟解碼的資料,發現少的可憐,即使有實用性也不高,于是乎就有了這篇博客。

    22262頻率計算公式為F=32000/Ros(KΩ)KHz,其中Ros為震蕩電阻,發送一位占用32個時鐘周期,其中起始位占用128時鐘周期。2262編碼格式如下圖: 

   ‘F’只有地址為才有,數據位只有‘0’‘1’。

 

cc1101與stc單片機連接如下:

SI-P1.5;

SO-P1.6;

CLK-P1.7;

CS-P3.4;

GDO0-P4.2(CCP0);

GDO2-P4.3(CCP1);

cc1101配置如下: 
 

    0x08,//0x0B,   // FSCTRL1   Frequency synthesizer control. 
    0x00,   // FSCTRL0   Frequency synthesizer control. 
    0x0c,   // FREQ2     Frequency control word, high byte. 
    0x1d,//0xAA,//,   // FREQ1     Frequency control word, middle byte. 
    0x89,//0x55,//   // FREQ0     Frequency control word, low byte. 
    0xc6,//0x8A,   //2d MDMCFG4   Modem configuration. 
    0x45,//0x01,   //3B MDMCFG3   Modem configuration. 
    0xb2,//0x73,   // MDMCFG2   Modem configuration. 
    0x02,//0xA2,   // 22  MDMCFG1   Modem configuration. 
    0xF8,   // MDMCFG0   Modem configuration.

    0x00,   // CHANNR    Channel number. 
    0x40,//0x00,   // DEVIATN   Modem deviation setting (when FSK modulation is enabled). 
    0x56,//0xB6,   // FREND1    Front end RX configuration. 
    0x11,   //10 FREND0    Front end RX configuration. 
    0x18,   // MCSM0     Main Radio Control State Machine configuration. 
        0x00, 
    //0x0f,        //MCSM1 
    //0x30, 
    0x16,//0x1D,   // FOCCFG    Frequency Offset Compensation Configuration. 
    0x6c,//0x1C,   // BSCFG     Bit synchronization Configuration. 
    0x43,//0xC7,   // AGCCTRL2  AGC control. 
    0x40,//0x00,   // AGCCTRL1  AGC control. 
    0x93,//0xB2,   // AGCCTRL0  AGC control.

    0xe9,//0xEA,   // FSCAL3    Frequency synthesizer calibration. 
    0x2A,//0x0A,   // FSCAL2    Frequency synthesizer calibration. 
    0x00,   // FSCAL1    Frequency synthesizer calibration. 
    0x1f,   // FSCAL0    Frequency synthesizer calibration. 
    0x59,   // FSTEST    Frequency synthesizer calibration. 
    0x81,//0x88,   // TEST2     Various test settings. 
    0x35,//0x31,   // TEST1     Various test settings. 
    0x09,   // TEST0     Various test settings. 
    0x09,   // IOCFG2    GDO2 output pin configuration. 
    0x4d,   // IOCFG0D   GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.

    0x00,   // PKTCTRL1  Packet automation control. 
    0x30,   // 05   PKTCTRL0  Packet automation control. 
    0x00,   // ADDR      Device address. 
    0x2e,   // PKTLEN    Packet length.




這里配置異步接收速度大約為2.1K,根據CC1101手冊說明,異步接收時,其發送頻率的誤差應在設定接收頻率的1/8內,經測試表明,此設置完全可以接受震蕩電阻為475的2262編碼。

 

這里要說明一個問題,我也沒有找出原因,cc1101在接收2262編碼時,第一個起始位和第一個數據電平接收不到,大概會丟失132-140個震蕩周期,這個可以用一個cc1101和一個超再生接收模塊接收相同的數據在示波器上看出,但并不影響數據接收,因為一般2262編碼至少會發送4次以上。

GDO0在接收時為數據輸出,在發送時自動配置為數據輸入,將STC的ccp0上升沿和下降沿捕獲打開,并將ccp0跳轉至P4.2。

2262軟解碼的關鍵在于找到正確的起始位。使用定時器0資源,配置成16位向上計數器,初始值為0x0000。過程如下:ccp0第一次捕獲到上升沿時,啟動定時器計數,捕獲到下降沿時停止定時器并記錄下此時TH0和TL0的計數并重新啟動定時器,再一次捕獲到上升沿時停止定時器并記錄下TH0和TL0的值重啟定時器,此時已讀取到一個高電平和低電平的寬度了,然后比較,看低電平寬度是否為高電平寬度的30-33倍,如果是則可以認為是2262編碼的起始位,如果不是,則如此循環直到找到比例合適的。

找到起始位后,循環捕獲,至少捕獲兩個2262編碼周期,因為OOK/ASK方式太不穩定了,取兩次解碼比較如果相同才能認為是正確的。

假定捕獲完畢,到解碼過程了,注意到2262編碼規則,每位需要四個電平寬度來表示,其實可以不管是否為高電平或低電平,只需注意四個電平的比例規則:

‘0’1:3,1:3

‘1’3:1,3:1

‘F’1:3,3:1

還要注意一點,2262編碼中‘F’只能出現在地址碼中,如果在數據碼中出現了‘F’,則可認為解碼錯誤。

 

關閉窗口

相關文章

主站蜘蛛池模板: 国产精品美女一区二区 | 欧美视频日韩 | 久久99精品久久久久久秒播九色 | 午夜www| 欧美人人 | 在线观看一区 | 视频一区在线观看 | 91一区二区 | 中文成人在线 | 午夜天堂精品久久久久 | 国产精品无码久久久久 | 国产女人与拘做受免费视频 | 亚洲永久免费观看 | jizjizjiz中国护士18 | 久久久激情 | 精品一区二区三区视频在线观看 | 中文字幕一区二区三区精彩视频 | 在线永久看片免费的视频 | 91九色在线观看 | 亚洲狠狠 | 欧美视频网 | 欧美成人一级 | 欧美一区二区三区久久精品 | 在线只有精品 | 日韩中文在线视频 | 成人精品啪啪欧美成 | 99re在线视频免费观看 | 欧美精品中文字幕久久二区 | 国产精品久久久久久久久图文区 | 亚洲中国字幕 | 九九九国产 | 国产精品国产精品国产专区不蜜 | 天天天操操操 | 老头搡老女人毛片视频在线看 | 看毛片网站 | 亚洲精色 | 亚洲国产成人在线视频 | 成人影院在线视频 | 久久一级 | 免费黄色片在线观看 | 另类专区亚洲 |