<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • silabs 無線收發器SI446x的應用技巧

    發布時間:2015-1-12 10:43    發布者:eechina
    關鍵詞: Silicon Labs , 芯科實驗室 , SI446x , 無線收發器 , 收發器
           Silicon Labs的無線Sub-G產品Si446x現在已經越來越多的用于表計產品,如氣表,電表等。由于在表計類老產品中TI的CC1101系列應用非常廣泛,所以客戶使用Si446x時,就會遇到和CC1101兼容問題,本文檔將解決此問題。
          

    Si446x具有硬件CRC、Whitening和軟件CRC、Whitening,因為不使用CRC、Whitening和Manchester
    時,Si446x和CC1101通信配置比較簡單,可以參照Si446x works with
    CC1101_v1.11.pdf文檔,本文檔只討論CRC、Whitening和Manchester同時使能時配置方法。
          
    Si446x提供軟件CRC、Whitening算法支持和CC1101兼容,需要將寄存器 PKT_WHT_BIT_NUM
    0x1205的SW_WHT_CTRL和SW_CRC_CTRL位置1,使能SW whitening和SW CRC。為了確保Si446x開啟SW
    whitening特性可以和CC1101通信,寄存器PKT_WHT_SEED_15_8 0x1203和PKT_WHT_SEED_7_0
    0x1204需要都設置為0xFF。
    Si446x最為發送端時,包格式需配置如下:

           由于已經開啟SW
    CRC和SW
    Whitening,所以必須關閉硬件CRC和Whitening,以免重復計算CRC和Whitening,寄存器
    PKT_FIELD_1_CONFIG的PN_START和WHITEN位都清零,寄存器PKT_FIELD_1_CRC_CONFIG也配置為
    0x00。關閉了硬件CRC,為了發送由軟件CRC計算出的2個字節CRC的值,發送數據時需要多發送兩個字節給TX
    FIFO作為CRC字節,并且配置Field1的長度時,也需要額外增加2個字節。比如發送數據為7個字
    節,PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0則配置成0x00,0x09。下圖是數據長度為7的
    示意圖,其中最后兩個字節可以是任意值。

    Si446x最為接收端時,包格式需配置如下:




          
    由于已經開啟SW CRC和SW
    Whitening,所以必須關閉硬件CRC和Whitening,以免重復計算CRC和Whitening,寄存器
    PKT_FIELD_1_CONFIG的PN_START和WHITEN位都清零,寄存器PKT_FIELD_1_CRC_CONFIG也配置為
    0x00。關閉了硬件CRC,為了發送由軟件CRC計算出的2個字節CRC的值,發送數據時需要多發送兩個字節給TX
    FIFO作為CRC字節,并且配置Field1的長度時,也需要額外增加2個字節。比如發送數據為7個字
    節,PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0則配置成0x00,0x09。下圖是數據長度為7的
    示意圖,其中最后兩個字節可以是任意值。



    Si446x最為接收端時,包格式需配置如下:



          
    同樣由于使能了SW CRC和SW
    Whitening,需要將寄存器PKT_FIELD_1_CONFIG的PN_START和WHITEN位都清零,寄存器
    PKT_FIELD_1_CRC_CONFIG也配置為0x00,關閉硬件CRC和Whitening。如果配置了寄存器PKT_CONFIG1
    0x1206的PH_FIELD_SPLIT位,則TX和RX的寄存器分開配置,需要將寄存器PKT_RX_FIELD_X_CONFIG (X =
    1, 2)的PN_START 和WHITEN位清零,寄存器PKT_RX_FIELD_X_CRC_CONFIG (X = 1,
    2)設置為0x00。由于禁止了硬件CRC,接收數據時就不會自動接收CRC字節,并且接收的Field2的長度只包含了Address和Data。為了
    能夠從空中接收CRC字節,則需要告訴IC多接收2個字節,這2個字節就是CRC字節,所以需要調整接收端的包的長度,分以下兩種情況配置。
    1,接收端配置為固定包長模式(寄存器PKT_LEN的ENDIAN位是0)
    a,
    如果PH_FIELD_SPLIT位是0,則Feild1長度配置成1,寄存器PKT_FIELD_1_LENGTH_12_8和
    PKT_FIELD_1_LENGTH_7_0配置成0x00,0x01.Feild2的長度需要加2個字節,比如上面發送7個字節,則寄存器
    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,表示開啟可變包長模式,Feild1是不可變的區
    域,Feild2是可變包長區域。這種情況,可以配置PKT_LEN_ADJUST為0x02,接收端在接收數據時會自動增加2個字節。
    PKT_LEN_ADJUST只針對可變包長。如下圖為對應發射的配置圖。



          

    在上述基礎上增加Manchester,發送端需將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來讀取接收到的包長,得到的是實際的包長,并且設備接收數據成功后的下一個狀態不可以設置為RX狀
    態,讀到的數據長度是最后一次收到數據的長度。如果接收數據成功后就進入下一個狀態,那么使用PACKET_INFO命令得到數據會是0。這與讀取
    RSSI值是類似的。


    本文地址:http://www.portaltwn.com/thread-144339-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷