時間:2015-06-02 16:09:56來源:深圳市世強先進科技有限公司
Silicon Labs的無線Sub-G產(chǎn)品Si446x現(xiàn)在已經(jīng)越來越多的用于表計產(chǎn)品,如氣表,電表等。由于在表計類老產(chǎn)品中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最為發(fā)送端時,包格式需配置如下:
由于已經(jīng)開啟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個字節(jié)CRC的值,發(fā)送數(shù)據(jù)時需要多發(fā)送兩個字節(jié)給TX FIFO作為CRC字節(jié),并且配置Field1的長度時,也需要額外增加2個字節(jié)。比如發(fā)送數(shù)據(jù)為7個字 節(jié),PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0則配置成0x00,0x09。下圖是數(shù)據(jù)長度為7的 示意圖,其中最后兩個字節(jié)可以是任意值。
Si446x最為接收端時,包格式需配置如下:
由于已經(jīng)開啟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個字節(jié)CRC的值,發(fā)送數(shù)據(jù)時需要多發(fā)送兩個字節(jié)給TX FIFO作為CRC字節(jié),并且配置Field1的長度時,也需要額外增加2個字節(jié)。比如發(fā)送數(shù)據(jù)為7個字 節(jié),PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0則配置成0x00,0x09。下圖是數(shù)據(jù)長度為7的 示意圖,其中最后兩個字節(jié)可以是任意值。
Si446x最為接收端時,包格式需配置如下:
同樣由于使能了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的寄存器分開配置,需要將寄存器PKT_RX_FIELD_X_CONFIG (X = 1, 2)的PN_START 和WHITEN位清零,寄存器PKT_RX_FIELD_X_CRC_CONFIG (X = 1, 2)設置為0x00。由于禁止了硬件CRC,接收數(shù)據(jù)時就不會自動接收CRC字節(jié),并且接收的Field2的長度只包含了Address和Data。為了 能夠從空中接收CRC字節(jié),則需要告訴IC多接收2個字節(jié),這2個字節(jié)就是CRC字節(jié),所以需要調(diào)整接收端的包的長度,分以下兩種情況配置。
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個字節(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配置基礎上生成工程,在工程中去修改相關(guān)寄存器。
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)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
應用案例 | 使用宏集TELE監(jiān)控繼電器監(jiān)控...
2025-03-26
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20