silabs 無(wú)線(xiàn)收發(fā)器SI446x的應用技巧

發(fā)布時(shí)間:2015-1-12 10:43    發(fā)布者:eechina
       Silicon Labs的無(wú)線(xiàn)Sub-G產(chǎn)品Si446x現在已經(jīng)越來(lái)越多的用于表計產(chǎn)品,如氣表,電表等。由于在表計類(lèi)老產(chǎn)品中TI的CC1101系列應用非常廣泛,所以客戶(hù)使用Si446x時(shí),就會(huì )遇到和CC1101兼容問(wèn)題,本文檔將解決此問(wèn)題。
      

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

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

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




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



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



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

PKT_LEN需配置為0x21,PKT_LEN_FIELD_SOURCE配置為0x02,表示開(kāi)啟可變包長(cháng)模式,Feild1是不可變的區
域,Feild2是可變包長(cháng)區域。這種情況,可以配置PKT_LEN_ADJUST為0x02,接收端在接收數據時(shí)會(huì )自動(dòng)增加2個(gè)字節。
PKT_LEN_ADJUST只針對可變包長(cháng)。如下圖為對應發(fā)射的配置圖。



      

在上述基礎上增加Manchester,發(fā)送端需將PKT_FIELD_1_CONFIG的MANCH位置1;接收端需同時(shí)將
PKT_FIELD_1_CONFIG和PKT_FIELD_2_CONFIG的MANCH位置1,或者是同時(shí)將
PKT_RX_FIELD_1_CONFIG和PKT_RX_FIELD_2_CONFIG的MANCH位置1。
注意:
      1,由于WDS中沒(méi)有留出勾選項來(lái)配置SW CRC和SW Whitening,所以需要在WDS配置基礎上生成工程,在工程中去修改相關(guān)寄存器。
     

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


本文地址:http://selenalain.com/thread-144339-1-1.html     【打印本頁(yè)】

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

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页