<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Silicon Labs無線收發(fā)器SI446x的應用技巧

          Silicon Labs無線收發(fā)器SI446x的應用技巧

          作者: 時間:2015-03-03 來源:網(wǎng)絡 收藏

            1、接收端配置為固定包長模式(寄存器PKT_LEN的ENDIAN位是0)

          本文引用地址:http://www.ex-cimer.com/article/270377.htm

            a、 如果PH_FIELD_SPLIT位是0,則Feild1長度配置成1,寄存器PKT_FIELD_1_LENGTH_12_8和 PKT_FIELD_1_LENGTH_7_0配置成0x00,0x01.Feild2的長度需要加2個字節(jié),比如上面發(fā)送7個字節(jié),則寄存器 PKT_RX_FIELD_2_LENGTH_12_8和PKT_RX_FIELD_2_LENGTH_7_0配置成0x00,0x09。

            b、PH_FIELD_SPLIT位是1,則上面的寄存器就是對應的PKT_RX_FIELD_1_LENGTH和PKT_RX_FIELD_2_LENGTH。

            2、接收端配置為可變包長模式

            則 PKT_LEN需配置為0x21,PKT_LEN_FIELD_SOURCE配置為0x02,表示開啟可變包長模式,F(xiàn)eild1是不可變的區(qū) 域,F(xiàn)eild2是可變包長區(qū)域。這種情況,可以配置PKT_LEN_ADJUST為0x02,接收端在接收數(shù)據(jù)時會自動增加2個字節(jié)。 PKT_LEN_ADJUST只針對可變包長。如下圖為對應發(fā)射的配置圖。

            

           

            在 上述基礎上增加Manchester,發(fā)送端需將PKT_FIELD_1_CONFIG的MANCH位置1;接收端需同時將 PKT_FIELD_1_CONFIG和PKT_FIELD_2_CONFIG的MANCH位置1,或者是同時將 PKT_RX_FIELD_1_CONFIG和PKT_RX_FIELD_2_CONFIG的MANCH位置1。

            注意:

            1、由于WDS中沒有留出勾選項來配置SW CRC和SW Whitening,所以需要在WDS配置基礎上生成工程,在工程中去修改相關寄存器。

            2、 在可變包長模式中,如果使用PACKET_INFO來讀取接收到的包長,得到的是實際的包長,并且設備接收數(shù)據(jù)成功后的下一個狀態(tài)不可以設置為RX狀態(tài), 讀到的數(shù)據(jù)長度是最后一次收到數(shù)據(jù)的長度。如果接收數(shù)據(jù)成功后就進入下一個狀態(tài),那么使用PACKET_INFO命令得到數(shù)據(jù)會是0。這與讀取RSSI值 是類似的。

          網(wǎng)線測試儀相關文章:網(wǎng)線測試儀原理

          上一頁 1 2 下一頁

          關鍵詞: Silicon Labs SI446x

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();