產(chǎn)品描述
工作頻段
**CC1100: **400-464 MHz and 800-928MHz
CC1101: 387-464 MHz and 779-928MHz
芯片引腳
引腳說明
引腳編號(hào) | 引腳名 |引腳類型| 描述
----|
1| SCLK |數(shù)字輸入 |連續(xù)配置接口凫佛,時(shí)鐘輸入
2| SO(GD01)| 數(shù)字輸出 |連續(xù)配置接口讲坎,數(shù)據(jù)輸出當(dāng) CSn 為高時(shí)為可選的一般輸出腳
3 | GDO2 | 數(shù)字輸出 | 一般用途的數(shù)字輸出腳:1>測(cè)試信號(hào);2>FIFO 狀態(tài)信號(hào);3>時(shí)鐘輸出愧薛,從 XOSC 向下分割;4>連續(xù)輸入 TX 數(shù)據(jù)
4 | DVDD | 功率(數(shù)字)| 數(shù)字 I/O 和數(shù)字中心電壓調(diào)節(jié)器的 1.8V-3.6V 數(shù)字功率供給輸出
5| DCOUPL| 功率(數(shù)字)| 對(duì)退耦的 1.6V-2.0V 數(shù)字功率供給輸出;注意:這個(gè)引腳只對(duì) CC2500 使用晨炕。不能用來對(duì)其他設(shè)備提供供給電壓
6| GDO0(ATEST)|數(shù)字 I/O | 一般用途的數(shù)字輸出腳:1> 測(cè)試信號(hào);2>FIFO 狀態(tài)信號(hào);3>時(shí)鐘輸出,從 XOSC 向下分割;4>連續(xù)輸入 TX 數(shù)據(jù);5>也用作原型/產(chǎn)品測(cè)試的模擬測(cè)試 I/O
7 | CSn| 數(shù)字輸入 | 連續(xù)配置接口毫炉,芯片選擇
8 | XOSC_Q1| 模擬 I/O| 晶體振蕩器腳 1瓮栗,或外部時(shí)鐘輸入
9 |AVDD |功率(模擬)| 1.8V-3.6V 模擬功率供給連接
10| XOSC_Q2| 模擬 I/O| 晶體振蕩器腳
11| AVDD| 功率(模擬)| 1.8V-3.6V 模擬功率供給連接
12 | RF_P | RF I/O | 接收模式下對(duì) LNA 的正 RF 輸入信號(hào)發(fā)送模式下對(duì) LNA 的正 RF 輸出信號(hào)
13 |AVDD | RF I/O | 接收模式下對(duì) LNA 的負(fù) RF 輸入信號(hào)發(fā)送模式下對(duì) LNA 的負(fù) RF 輸出信號(hào)
14| AVDD |功率(模擬)| 1.8V-3.6V 模擬功率供給連接
15| AVDD |功率(模擬)| 1.8V-3.6V 模擬功率供給連接
16| GND | 地(模擬) | 模擬接地
17| RBIAS| 模擬 I/O | 參考電流的外部偏阻器
18 | DGUARD| 功率(數(shù)字)| 對(duì)數(shù)字噪聲隔離的功率供給連接
19| GND |地(數(shù)字)| 數(shù)字噪聲隔離的接地
20| SI| 數(shù)字輸入 | 連續(xù)配置接口,數(shù)據(jù)輸入
通訊方式以及配置方式---SPI
- CC1101通過4線SPI兼容接口(MOSI,MISO,SCLK和CSn)進(jìn)行配置,CC1101作為從設(shè)備费奸。
這個(gè)接口同時(shí)用作讀寫緩沖器數(shù)據(jù)弥激。
SPI接口上所有的數(shù)據(jù)傳送都是先傳送 MSB
拓展知識(shí):
MSB:高位前導(dǎo)
LSB:低位前導(dǎo)。
big endian(大端)是指低地址存放最高有效字節(jié)(MSB)愿阐,
little endian(小端)則是低地址存放最低有效字節(jié)(LSB)
SPI 讀寫注意事項(xiàng)
- SPI接口上的所有傳送都是以一個(gè)頭字節(jié)(header byte)開始包含以下:
- 一個(gè)讀寫位(R/W):在讀操作中該位置1微服,在寫操作中該位置0;
- 一個(gè)(突發(fā)(burst access)訪問位(B)
- 6位地址位(A5~A0)缨历。
- 在SPI總線上傳輸數(shù)據(jù)時(shí)以蕴,CSn腳必須保持低電平。如果在發(fā)送頭字節(jié)或者讀寫寄存器時(shí)CSn拉高辛孵,傳送將被取消
- 當(dāng) CSn 變低丛肮,在開始轉(zhuǎn)換頭字節(jié)之前,MCU必須等待觉吭,直到 MISO 腳變低腾供。這表明電壓調(diào)制器已經(jīng)穩(wěn)定,晶體正在運(yùn)作中鲜滩。除非芯片處在 SLEEP 或 XOFF 狀態(tài)伴鳖,MISO 腳在 CSn變低之后總會(huì)立即變低。
芯片狀態(tài)字節(jié)
- 當(dāng)頭字節(jié)在 SPI 接口上被寫入時(shí)徙硅,芯片狀態(tài)字節(jié)在 MISO 腳上被 CC1100 寫入榜聂。狀態(tài)字節(jié)
包含關(guān)鍵狀態(tài)信號(hào),對(duì) MCU 是有用的嗓蘑。(7)位是 CHIP_RDYn 信號(hào)须肆。在 SCLK 的在第一個(gè)正邊緣之前,這個(gè)信號(hào)必須變低桩皿。CHIP_RDYn 信號(hào)表明晶體正處于工作中豌汇,調(diào)節(jié)數(shù)字供給電壓是穩(wěn)定的。 - 狀態(tài)字節(jié)中的(6:4 )位由狀態(tài)值組成泄隔。這個(gè)值反映了芯片的狀態(tài)拒贱。當(dāng)使 XOSC 空閑并使數(shù)字中心的能量開啟,所有其他模塊處于功率降低狀態(tài)佛嬉。只有芯片處于此狀態(tài)時(shí)逻澳,頻率和信道配置才能被更新。當(dāng)芯片處于接收模式時(shí)暖呕,RX狀態(tài)是活動(dòng)的斜做。同樣地,當(dāng)芯片處于傳輸模式時(shí)湾揽,TX 狀態(tài)是活動(dòng)的瓤逼。
- 狀態(tài)字節(jié)中的后四位(3:0)包含F(xiàn)IFO_BYTES_AVAILABLE笼吟。為了進(jìn)行讀操作,這個(gè)區(qū)域包含可從 RX FIFO 讀取的字節(jié)數(shù)抛姑。為了進(jìn)行寫操作赞厕,這個(gè)區(qū)域包含可寫入 TX FIFO的字當(dāng)FIFO_BYTES_AVAILABLE=15艳狐,15 或者更多的字節(jié)是可用/自由的定硝。
狀態(tài)字節(jié)概要
寄存器訪問
- **CC1101 配置寄存器地址: ** 0x00到0x2E
- 所有的配置寄存器均能讀和寫。讀/寫位控制寄存器是讀或者寫毫目。當(dāng)對(duì)寄存器寫時(shí)蔬啡,每當(dāng)一個(gè)待寫入的數(shù)據(jù)字節(jié)傳輸?shù)?SI腳時(shí),狀態(tài)字節(jié)將被送至 SO 腳镀虐。
- 通過在地址頭設(shè)置突發(fā)位箱蟆,連續(xù)地址的寄存器能高效地被訪問。這個(gè)地址在內(nèi)部計(jì)數(shù)器內(nèi)設(shè)置起始地址刮便。每增加一個(gè)新的字節(jié)(每8 個(gè)時(shí)鐘脈沖)空猜,計(jì)數(shù)器值增加 1。突發(fā)訪問恨旱,不管是讀訪問還是寫訪問辈毯,必須通過設(shè)置CSn 為高來終止。
- 對(duì) 0x30-0x3D 間的地址來說搜贤,突發(fā)位用以在狀態(tài)寄存器和命令選通間選擇谆沃。狀態(tài)寄存器只讀。突發(fā)讀取對(duì)狀態(tài)寄存器是不可取的仪芒,故它們每次只能被讀一個(gè)唁影。
burst位置1:選擇狀態(tài)寄存器拓售;
burst置0:選擇命令選通(command strobes);
命令選通(command strobes)
- 命令選通可以看做是CC1101的一個(gè)單字節(jié)指令晾剖。
通過尋址一個(gè)命令選通寄存器,將啟動(dòng)內(nèi)部序列鸠珠。
這些命令用來禁止晶振饺蔑,使能接收锌介,使能無線喚醒 等; - 命令選通寄存器的訪問和一個(gè)寄存器的寫操作一樣膀钠,但沒有數(shù)據(jù)被傳輸掏湾。就是說,只有 R/W 位(置為 0)突發(fā)訪問(置為 0)和六個(gè)地址位(0x30 和 0x3D 之間)被寫肿嘲。一個(gè)命令濾波可能在任何其他 SPI 訪問之后融击,而不需要將 CSn 拉至高電平。命令選通立即被執(zhí)行雳窟,當(dāng) CSn 高時(shí) SPWD 和 SXOFF 命令被執(zhí)行是例外尊浪。
FIFO訪問
- 64 字節(jié) TX FIFO 和 64 字節(jié) RX FIFO 通過0x3F 被訪問匣屡。
- 讀/寫位為 0 時(shí),TX FIFO被訪問拇涤。
- 讀/寫位為 1 時(shí)捣作,RX FIFO 被訪問。
- TX FIFO 是只寫的鹅士,而 RX FIFO 是只讀的券躁。
- 突發(fā)位用來決定 FIFO 訪問是單字節(jié)還是突發(fā)訪問。
- 單字節(jié)訪問方式期望地址的突發(fā)位為 0 的頭字節(jié)和一個(gè)數(shù)據(jù)字節(jié)掉盅。在數(shù)據(jù)字節(jié)之后跟隨一個(gè)新的頭字節(jié)也拜,因此,CSn 繼續(xù)保持低趾痘。
- 突發(fā)訪問方式允許一地址字節(jié)慢哈,然后是連續(xù)的數(shù)據(jù)字節(jié),直到通過設(shè)置 CSn 為高來關(guān)斷訪問永票。
- 0x3F : 單字節(jié)訪問 TX FIFO
- 0x7F : 突發(fā)訪問 TX FIFO
- 0xBF : 單字節(jié)訪問 RX FIFO
- 0XFF : 突發(fā)訪問 RX FIFO
PATABLE 訪問
- 0x3E地址用來訪問 PATABLE卵贱。PATABLE用來選擇 PA 能量控制設(shè)置。在接收此地址之后侣集,SPI 等待至少 8 個(gè)字節(jié)键俱。通過控制PATABLE,能實(shí)現(xiàn)可控的 PA 能量上升和下降肚吏,減少的帶寬的 ASK 調(diào)制整型也如此方妖。
- PATABLE 是一個(gè) 8 字節(jié)表,定義了 PA 控制設(shè) 置 罚攀, 為 8 個(gè) PA 功 率 值 ( 由FRENDO.PA_POWER 的 3 個(gè)位的值所選擇)的每一個(gè)所使用党觅。這個(gè)表從最低位(0)到最高位(7)可讀和寫,一次一位斋泄。一個(gè)索引計(jì)數(shù)器用來控制對(duì)這個(gè)表的訪問杯瞻。每讀出或?qū)懭氡碇械囊粋€(gè)字節(jié),計(jì)數(shù)器就加 1炫掐。當(dāng) CSn 為高時(shí)魁莉,計(jì)數(shù)值置為最小值。當(dāng)達(dá)到最大值時(shí)募胃,計(jì)數(shù)器由零重新開始計(jì)數(shù)旗唁。
- 對(duì) PATABLE 的訪問是單字節(jié)或者突發(fā)訪問,由突發(fā)位決定痹束。當(dāng)使用突發(fā)訪問時(shí)检疫,索引計(jì)數(shù)器的值增加;達(dá)到7時(shí)重新從0開始祷嘶。讀/寫位控制訪問是寫訪問(R/W=0)或者讀訪問(R/W=1)屎媳。
- 如果一字節(jié)被寫入 PATABLE夺溢,且這個(gè)值將要被讀出,那么烛谊,為了設(shè)置索引計(jì)數(shù)器的值重為 0风响,CSn 必須在讀訪問之前置為高。注意丹禀,當(dāng) PATABLE 進(jìn)入休眠狀態(tài)時(shí)状勤,所存儲(chǔ)的內(nèi)容會(huì)丟失,特別是第一個(gè)字節(jié)(索引
為 0)湃崩。
基本控制和狀態(tài)腳
- CC1101有2個(gè)專用配置腳(GDO0和GDO2)和一個(gè)共用腳(GDO1)可以向控制軟件輸出有用的內(nèi)部狀態(tài)信息荧降。這些腳可以用來向MCU產(chǎn)生中斷。
- GDO1和SPI的SO引腳共用攒读。
- GDO1/SO的默認(rèn)設(shè)置時(shí)3態(tài)輸出。通過選擇任何編程選項(xiàng)辛友,GDO1/SO將變?yōu)槠胀ㄒ_薄扁。當(dāng)CSn拉低,該引腳將始終作為普通的SO功能引腳废累。
- 在同步和異步串行模式邓梅,在發(fā)送模式下,GDO0引腳將作為串行TX數(shù)據(jù)輸入引腳邑滨。
- GDO0也可以用作片上模擬溫度傳感器日缨。通過外部ADC測(cè)量GDO0腳的電壓,可以計(jì)算出溫度掖看。溫度傳感器的詳細(xì)說明見18頁(yè)的Section 4.7匣距。通過默認(rèn)的PTEST寄存器設(shè)置(0x7F),如果頻率合成器被允許溫度傳感器的的輸出時(shí)可用的哎壳。(例如:MANCAL毅待,F(xiàn)STXON,RX和 TX狀態(tài))在IDLE狀態(tài)向PTEST寄存器寫入0xBF允許模擬溫度傳感器是必要的归榕。離開IDLE狀態(tài)之前尸红,必須恢復(fù)PTEST寄存器為默認(rèn)值(0x7F)。
數(shù)據(jù)包處理的硬件支持
發(fā)送模式下
數(shù)據(jù)包的處理者可以配置增加下面的元素到TX FIFO中的數(shù)據(jù)包存儲(chǔ)
- 一個(gè)可編程數(shù)量的前導(dǎo)字節(jié)刹泄;
- 兩字節(jié)同步字外里,可復(fù)制為4字節(jié)同步字。只插入前導(dǎo)字節(jié)或者同步字節(jié)是不可能的特石;
- 一個(gè)覆蓋數(shù)據(jù)區(qū)域的CRC校驗(yàn)計(jì)算盅蝗。
推薦設(shè)置4字節(jié)前導(dǎo)和4字節(jié)同步字,除了500k波特率時(shí)推薦使用8字節(jié)前導(dǎo)县匠。另外风科,在數(shù)據(jù)區(qū)域和附加的2字節(jié)CRC校驗(yàn)撒轮,以下可以被執(zhí)行
- 使用PN9序列Whitening數(shù)據(jù)。
- 通過使用交叉和編碼數(shù)據(jù)(卷積編碼)前向糾錯(cuò)贼穆。
接收模式下
數(shù)據(jù)包處理支持將是解構(gòu)數(shù)據(jù)包题山,(如使能)以下可以被執(zhí)行
- 前導(dǎo)檢測(cè)
- 同步字檢測(cè)
- CRC計(jì)算和CRC檢查
- 一個(gè)字節(jié)地址檢測(cè)
- 包長(zhǎng)度檢查(根據(jù)設(shè)置的最大長(zhǎng)度檢查長(zhǎng)度字節(jié))
- 反Whitening(如果使能)
- 反交叉和解碼( 如果使能 )
另外,RSSI(接收信號(hào)強(qiáng)度指示)故痊、LQI(鏈路質(zhì)量指示)和CRC狀態(tài)的兩個(gè)狀態(tài)字節(jié)可以附加在RX FIFO
數(shù)據(jù)包格式
數(shù)據(jù)包的格式可以配置為由以下部分組成:
- 前導(dǎo) n 同步字
- 可選的長(zhǎng)度字節(jié)
- 可選的地址字節(jié)
- 凈荷
-
可選的2字節(jié)CRC
數(shù)據(jù)格式
前導(dǎo)形式是一個(gè)交互的0 /1 序 列(01010101...)前導(dǎo)的最小長(zhǎng)度是可編程控制的顶瞳。當(dāng)啟用 TX 時(shí),調(diào)制器開始傳送前導(dǎo)愕秫。當(dāng)控制數(shù)目的前導(dǎo)字節(jié)被傳送完畢慨菱,調(diào)制器開始發(fā)送同步詞匯,然后傳送來自 TX FIFO的可利用的數(shù)據(jù)戴甩。若 TX FIFO 為空符喝,調(diào)制器將繼續(xù)傳送前導(dǎo)字節(jié),直到第一個(gè)字節(jié)被寫入 TX FIFO甜孤。調(diào)制器將隨后傳送同步詞匯和數(shù)據(jù)字節(jié);
前導(dǎo)字節(jié)的長(zhǎng)度由MDMCFG1.NU_PREAMBLE 值控制协饲。
數(shù)據(jù)包長(zhǎng)度
- CC1101 支持恒定長(zhǎng)度數(shù)據(jù)包協(xié)議和可變長(zhǎng)度協(xié)議。
- 可變或固定數(shù)據(jù)包長(zhǎng)度模式能支持的長(zhǎng)度可達(dá) 255 字節(jié)缴川。
- 大于255個(gè)字節(jié)的數(shù)據(jù)包茉稠,必須使用無限數(shù)據(jù)包長(zhǎng)度模式;
使用不同長(zhǎng)度的配置來支持?jǐn)?shù)據(jù)包格式把夸。必須確保在發(fā)送前半個(gè)或任何字節(jié)的時(shí)候TX模式不被關(guān)閉
固定數(shù)據(jù)包長(zhǎng)度
- 固定數(shù)據(jù)包長(zhǎng)度模式通過設(shè)定PKTCTRL0.LENGTH_CONFIG=0來選擇而线。
- 期望的數(shù)據(jù)包長(zhǎng)度通過PKTLEN寄存器來設(shè)置,不包括長(zhǎng)度字節(jié)和可選的CRC恋日;
可變數(shù)據(jù)包長(zhǎng)度
- 可變數(shù)據(jù)包長(zhǎng)度模式膀篮,PKTCTRL0.LENGTH_CONFIG=1,數(shù)據(jù)包長(zhǎng)度由同步字后面的第一個(gè)字節(jié)配置谚鄙。
- 數(shù)據(jù)包長(zhǎng)度定義為有效載荷各拷,不包括長(zhǎng)度字節(jié)和可選的CRC。
- PKTLEN用來配置允許接收的最大數(shù)據(jù)包長(zhǎng)度闷营。
- 任何接收的數(shù)據(jù)包長(zhǎng)度大于PKTLEN的值都將被丟棄烤黍。
可變長(zhǎng)數(shù)據(jù)包收發(fā)邏輯
數(shù)據(jù)包長(zhǎng)度寄存器PKTLEN,在接收和發(fā)送時(shí)可以重新編程傻盟。結(jié)合固定數(shù)據(jù)包長(zhǎng)度模式(PKTCTRL0.LENGTH_CONFIG=0)速蕊,這使與變長(zhǎng)數(shù)據(jù)包不同的長(zhǎng)度配置成為可能。(在可變數(shù)據(jù)包長(zhǎng)度模式下長(zhǎng)度字節(jié)是同步字節(jié)后第一個(gè)字節(jié))在接收開始娘赴,數(shù)據(jù)包長(zhǎng)度設(shè)置為一個(gè)大的值规哲。MCU讀取足夠多的字節(jié)來解析數(shù)據(jù)包中的長(zhǎng)度區(qū)域。然后依照這個(gè)值對(duì)PKTLEN進(jìn)行設(shè)置诽表。當(dāng)數(shù)據(jù)包處理器中的字節(jié)計(jì)數(shù)器等于PKTLEN寄存器的值時(shí)數(shù)據(jù)包結(jié)束唉锌。因此隅肥,MCU必須在內(nèi)部計(jì)數(shù)器達(dá)到數(shù)據(jù)包長(zhǎng)度之前確認(rèn)正確的長(zhǎng)度
無限數(shù)據(jù)包長(zhǎng)度模式(大于255個(gè)字節(jié))
- PKTCTRL0.LENGTH_CONFIG=2,數(shù)據(jù)包長(zhǎng)度將設(shè)置為無限長(zhǎng)袄简,發(fā)送和接收將持續(xù)到手動(dòng)關(guān)閉腥放。
無限數(shù)據(jù)包長(zhǎng)度收發(fā)邏輯
- 數(shù)據(jù)包自動(dòng)控制寄存器PKTCTRL0,可以在TX和RX期間重新編程绿语。這就使發(fā)送和接收數(shù)據(jù)包長(zhǎng)度超過256字節(jié)并且仍然使用數(shù)據(jù)包處理器硬件支持成為可能秃症。
- 在數(shù)據(jù)包開始時(shí),必須激活無限數(shù)據(jù)包長(zhǎng)度模式(PKTCTRL0.LENGTH_CONFIG=2)吕粹。
- 在發(fā)送端种柑,PKTLEN寄存器設(shè)置為:mod(長(zhǎng)度,256)。
- 在接收端匹耕,MCU讀出足夠長(zhǎng)度的字節(jié)來解析出數(shù)據(jù)包長(zhǎng)度并設(shè)置PKTLEN寄存器為:mod(長(zhǎng)度,256)聚请。
- 當(dāng)數(shù)據(jù)包中還有少于256字節(jié)數(shù)據(jù),MCU禁止數(shù)據(jù)包無限長(zhǎng)度模式并且激活固定長(zhǎng)度模式泌神。
- 當(dāng)內(nèi)部字節(jié)計(jì)數(shù)器到PKTLEN時(shí)良漱,發(fā)送和接收結(jié)束。
- (無線進(jìn)入的狀態(tài)由TXOFF_MODE 或 RXOFF_MODE決定)自動(dòng)CRC添加/校驗(yàn)也可以使用(通過設(shè)置PKTCTRL0.CRC_EN=1)欢际。
例子:發(fā)送一個(gè)600字節(jié)的數(shù)據(jù)包時(shí),MCU必須按照以下執(zhí)行:
- 設(shè)置PKTCTRL0.LENGTH_CONFIG=2矾兜。
- 重新設(shè)置PKTLEN寄存器的值為:(600损趋,256)=88. (600%256 = 88)
- 至少發(fā)送345字節(jié)(600-255),例如通過填充64字節(jié) TX FIFO 6次(發(fā)送384字節(jié))椅寺。
- 設(shè)置PKTCTRL0.LENGTH_CONFIG=0浑槽。
-
當(dāng)數(shù)據(jù)包計(jì)數(shù)器達(dá)到88發(fā)送完成。一共600字節(jié)被發(fā)送返帕。
600個(gè)字節(jié)發(fā)送
接收模式下的數(shù)據(jù)包過濾
CC1101支持三種不同類型的數(shù)據(jù)包過濾:
- 地址過濾
- 最大長(zhǎng)度過濾
- CRC過濾
地址過濾
- 設(shè)置PKTCTRL1.ADR_CHK為任意大于0的值使能數(shù)據(jù)包地址過濾桐玻。
- 數(shù)據(jù)包處理器啟動(dòng)后將比較數(shù)據(jù)包中的目標(biāo)地址字節(jié)和在ADDR寄存器中設(shè)置的節(jié)點(diǎn)地址
或者當(dāng)PKTCTRL1.ADR_CHK=10時(shí)的廣播地址0x00
以及PKTCTRL1.ADR_CHK=11時(shí)的廣播地址0x00和0xFF。
如果接收的地址匹配到一個(gè)正確地址荆萤,數(shù)據(jù)包被接收并寫入到RX FIFO镊靴。
如果地址匹配失敗,數(shù)據(jù)包將被丟棄链韭,重新啟動(dòng)接收模式(不管MCSM1.RXOFF_MODE的設(shè)置)偏竟。 - 如果當(dāng)時(shí)用無限數(shù)據(jù)包長(zhǎng)度模式和使能地址過濾時(shí)接收地址匹配到正確的地址,0xFF將被寫入到RX FIFO敞峭,其次是地址字節(jié)和有效載荷踊谋。
最大長(zhǎng)度過濾
在可變數(shù)據(jù)包模式,PKTCTRL0.LENGTH_CONFIG=1旋讹,PKTLEN.PACKET_LENGTH寄存器用來設(shè)置最大允許的數(shù)據(jù)包長(zhǎng)度殖蚕。如果接收的長(zhǎng)度字節(jié)大于這個(gè)值轿衔,數(shù)據(jù)包將被丟棄,重新啟動(dòng)接收模式(不管MCSM1.RXOFF_MODE的設(shè)置)睦疫。
CRC過濾
- 當(dāng)CRC校驗(yàn)失敗時(shí)過濾數(shù)據(jù)包害驹,通過設(shè)置PKTCTRL1.CRC_AUTOFLUSH=1使能;
- CRC自動(dòng)清除功能將在CRC校驗(yàn)失敗時(shí)清空所有RX FIFO笼痛;
- 在自動(dòng)清空RX FIFO后裙秋,下一個(gè)狀態(tài)依賴于MCSM1.RXOFF_MODE的設(shè)置;
- 當(dāng)使用自動(dòng)清除功能缨伊,在可變數(shù)據(jù)包長(zhǎng)度模式下最大數(shù)據(jù)包長(zhǎng)度為63字節(jié)摘刑,在定長(zhǎng)數(shù)據(jù)包長(zhǎng)度模式下是64字節(jié);
- 注意當(dāng)PKTCTRL1.APPEND_STATUS使能刻坊,最大允許數(shù)據(jù)包長(zhǎng)度將減少2個(gè)字節(jié)枷恕,以確保在數(shù)據(jù)包的結(jié)尾附加的2字節(jié)的狀態(tài)字節(jié)在RX FIFO中占用的空間;
- 當(dāng)CRC校驗(yàn)錯(cuò)誤以后全部RX FIFO被清空谭胚;
- 在接收正確的數(shù)據(jù)包前之前接收到的數(shù)據(jù)包必須從FIFO中讀出徐块。直到CRC校驗(yàn)正確MCU才從正確的數(shù)據(jù)包中讀取數(shù)據(jù);
發(fā)送模式下的數(shù)據(jù)包處理
- 需要發(fā)送的有效載荷必須寫入到TX FIFO灾而;
- 如果使能可變數(shù)據(jù)包長(zhǎng)度第一個(gè)字節(jié)必須寫長(zhǎng)度字節(jié)胡控;
- 長(zhǎng)度字節(jié)的值等于數(shù)據(jù)包的有效載荷(包含可選的地址字節(jié));
- 如果在接收端使能地址識(shí)別旁趟,寫入到TX FIFO中的第二個(gè)字節(jié)必須是地址字節(jié)昼激;
- 如果使能固定數(shù)據(jù)包長(zhǎng)度,寫入到TX FIFO中的第一個(gè)字節(jié)必須是地址字節(jié)(接收端使用地址識(shí)別)锡搜;
- 調(diào)制器將首先發(fā)送預(yù)置數(shù)量的前導(dǎo)字節(jié)橙困;
- 如果TX FIFO中有可發(fā)送的數(shù)據(jù),調(diào)制器將發(fā)送2字節(jié)(可選4字節(jié))同步字耕餐,緊接著是TX FIFO中的有效載荷凡傅;
- 如果使能CRC,校驗(yàn)時(shí)計(jì)算TX FIFO中的所有數(shù)據(jù)肠缔,然后跟隨有效數(shù)據(jù)發(fā)送2個(gè)附加字節(jié)夏跷;
- 如果在完整的數(shù)據(jù)包發(fā)送完成之前TX FIFO變?yōu)榭盏模瑹o線將進(jìn)入TXFIFO_UNDERFLOW狀態(tài)桩砰。退出該狀態(tài)的唯一方法是運(yùn)行SFTX命令拓春;
- 發(fā)送下溢后再向TX FIFO寫入數(shù)據(jù)不能重啟TX模式;
- 如果whitening(白化)被使能亚隅,同步字后面的所有字節(jié)將被whitened硼莽。這必須在FEC/Interleaver之前完成。Whitening通過設(shè)置PKTCTRL0.WHITE_DATA=1使能;
- 如果FEC/Interleaving(交錯(cuò)器)被使能懂鸵,同步字后面的所有數(shù)據(jù)在調(diào)制之前將被interleaver 和 FEC編碼加密偏螺。FEC通過設(shè)置MDMCFG1.FEC_EN=1使能;
接收模式下的數(shù)據(jù)包處理
- 在接收模式匆光,解調(diào)器和數(shù)據(jù)包處理器將尋找一個(gè)有效的前導(dǎo)和同步字套像。
- 當(dāng)找到后,解調(diào)器將獲得位和字節(jié)同步终息,并將接收第一個(gè)有效字節(jié)夺巩。
- 如果使能FEC/Interleaver,F(xiàn)EC解碼器將開始解碼第一個(gè)有效字節(jié)周崭。Interleaver將在數(shù)據(jù)被其他任何處理之前解密柳譬。
- 如果使能whitening,在此基礎(chǔ)上數(shù)據(jù)將被de-whitening(反白化)续镇。
- 當(dāng)使能可變數(shù)據(jù)包長(zhǎng)度模式時(shí)美澳,第一個(gè)字節(jié)是長(zhǎng)度字節(jié)。數(shù)據(jù)包處理器儲(chǔ)存該值為數(shù)據(jù)包長(zhǎng)度并且通過該長(zhǎng)度字節(jié)指示接收的字節(jié)數(shù)量摸航。
- 如果使用固定數(shù)據(jù)包長(zhǎng)度模式制跟,數(shù)據(jù)包處理器將接收預(yù)置數(shù)量的字節(jié)。
- 接下來酱虎,數(shù)據(jù)包處理器可選的檢測(cè)地址并且只有地址匹配才繼續(xù)接收雨膨。
- 如果使能自動(dòng)CRC校驗(yàn),數(shù)據(jù)包處理器計(jì)算CRC并與CRC校驗(yàn)結(jié)果相匹配读串。
- 在有效載荷的結(jié)尾哥放,數(shù)據(jù)包處理器將可選的寫入兩個(gè)復(fù)交數(shù)據(jù)包狀態(tài)字節(jié),包括CRC狀態(tài)爹土、LQI和RSSI
MCU數(shù)據(jù)包處理
如果在固件中執(zhí)行一個(gè)數(shù)據(jù)包導(dǎo)向的無線協(xié)議,MCU需要知道一個(gè)數(shù)據(jù)包什么時(shí)候收到/發(fā)送踩身。
加之胀茵,超過64字節(jié)長(zhǎng)度的數(shù)據(jù)包,當(dāng)接收時(shí)需要讀取RX FIFO和當(dāng)發(fā)送時(shí)TX FIFO需要重新填充挟阻。
這就意味著MCU必須知道有多少個(gè)字節(jié)可以從RX FIFO中讀取或者可以向TX FIFO中寫入琼娘。
有兩種方法可以獲得必要的狀態(tài)信息。
中斷驅(qū)動(dòng)方法
當(dāng)同步字接收/發(fā)送完成或者完整的數(shù)據(jù)包接收/發(fā)送通過設(shè)置IOCFGx.GDOx_CFG=0x06附鸽,GDO腳可以用在RX和TX中產(chǎn)生一個(gè)中斷脱拼。
此外,
IOCFGx.GDOx_CFG還有兩個(gè)配置用來產(chǎn)生中斷坷备,源于有多少字節(jié)在RX FIFO或TX FIFO熄浓。
IOCFGx.GDOx_CFG=0x00和IOCFGx.GDOx_CFG=0x01為RX FIFO,
IOCFGx.GDOx_CFG=0x02和IOCFGx.GDOx_CFG=0x03為TX FIFO省撑。SPI輪詢
PKTSTATUS可以使用給定的速率查詢以獲得GDO0和GDO2當(dāng)前值赌蔑。
RXBYTES 和 TXBYTES可以使用給定的速率查詢以獲得RX FIFO或者TX FIFO中的字節(jié)數(shù)俯在。
合二為一的,RX FIFO和TX FIFO中的字節(jié)數(shù)量可以從每次頭字節(jié)娃惯、數(shù)據(jù)字節(jié)或命令選通在SPI總線上發(fā)送時(shí)MISO引腳返回的芯片狀態(tài)字節(jié)讀取跷乐。
推薦使用中斷驅(qū)動(dòng)方法因?yàn)楦咚俾蔛PI輪詢將減小RX的靈敏度。
而且趾浅,在Section10.3和CC1101勘誤表【4】中愕提,當(dāng)使用SPI輪詢,單一讀取PKTSTATUS皿哨、 RXBYTES和 TXBYTES有一個(gè)小的有限的錯(cuò)誤的可能性浅侨。
當(dāng)讀取芯片狀態(tài)字節(jié)有同樣的問題。
RSSI
- RSSI的值時(shí)在選擇的通道中信號(hào)功率級(jí)別的估計(jì)往史。
- 這個(gè)值基于RX中當(dāng)前增益的設(shè)置和信道中的標(biāo)準(zhǔn)信號(hào)等級(jí)仗颈。
- 在RX模式,RSSI可以連續(xù)的從RSSI狀態(tài)寄存器讀取知道解調(diào)器檢測(cè)到一個(gè)同步字(當(dāng)同步字檢測(cè)使能)椎例。此時(shí)RSSI讀取的值將被凍結(jié)知道芯片下一次進(jìn)入RX狀態(tài)挨决。
注意:從無線進(jìn)入RX模式到在RSSI寄存器檢測(cè)到一個(gè)正確的RSSI值需要一定的時(shí)間。查看DN505[15]獲得RSSI響應(yīng)時(shí)間估算的詳細(xì)信息订歪。
RSSI的值以dBm和1/2 dB給出脖祈。
RSSI更新速率,fRSSI 依賴于接收濾波帶寬和AGCCTRL0.FILTER_LENGTH刷晋。
- 如果使能PKTCTRL1.APPEND_STATUS盖高,數(shù)據(jù)包最后的RSSI值自動(dòng)添加到有效載荷后面的第一個(gè)附加字節(jié)。
- 從RSSI狀態(tài)寄存器讀出的RSSI值時(shí)2個(gè)補(bǔ)足的數(shù)字眼虱。下面的程序可以將RSSI轉(zhuǎn)換為完整的功率級(jí)別(RSSI_dBm)喻奥。
- 讀取RSSI狀態(tài)寄存器
- 將讀到的數(shù)據(jù)從16進(jìn)制數(shù)轉(zhuǎn)換到二進(jìn)制數(shù)(RSSI_dec)
- 如果RSSI_dec≧128,RSSI_dBm =(RSSI_dec - 256)/2 – RSSI_offset 4)
4 ) 如果RSSI_dec<128捏悬,RSSI_dBm =RSSI_dec /2 – RSSI_offset
凈信道評(píng)估(CCA)
- CCA用來顯示當(dāng)前信道是空閑還是繁忙撞蚕。
- 通過設(shè)定IOCFGx.GDOx_CFG=0x09,當(dāng)前的CCA狀態(tài)在任何一個(gè)GDO引腳都可以查看过牙。
- MCSM1.CCA_MODE用來選擇當(dāng)確定CCA時(shí)使用的模式甥厦。
- 當(dāng)CC1101在RX狀態(tài)時(shí)給出STX 或 SFSTXON命令選通,僅能在凈信道條件完成才能進(jìn)入TX或FSTXON狀態(tài)寇钉。
- 此外刀疙,芯片將仍處于RX狀態(tài)。如果信道接下來變?yōu)榭捎玫纳ǔ谝粋€(gè)新的命令選通通過SPI接口發(fā)送之前谦秧,無線不會(huì)進(jìn)入TX或FSTXON狀態(tài)。這個(gè)特性叫做TX-if-CCA。
可以編程設(shè)置4種CCA條件:- 始終(禁止CCA油够,總是進(jìn)入TX)
- 如果RSSI低于門限值
- 除非正常接收一個(gè)數(shù)據(jù)包
- 以上兩個(gè)(RSSI低于門限值和沒有正常接收一個(gè)數(shù)據(jù)包)
鏈路質(zhì)量指示(LQI)
- 信號(hào)鏈路質(zhì)量指示是一個(gè)公制的接收信號(hào)的當(dāng)前質(zhì)量蚁袭。
- 若 PKTCTRL1.APPEND_STATUS啟用,則這個(gè)值自動(dòng)附加在接收數(shù)據(jù)包的末端石咬。
- 這個(gè)值也可從 LQI 狀態(tài)寄存器上讀取揩悄。
LQI 由跟隨同步詞匯的 64 個(gè)符號(hào)(頭 8 個(gè)數(shù)據(jù)包字節(jié))計(jì)算得來。LQI 最好用作連接
質(zhì)量的一個(gè)相對(duì)的度量鬼悠,因?yàn)檫@個(gè)值決定于調(diào)制格式删性。
上電啟動(dòng)序列
- 當(dāng)電源給電,系統(tǒng)必須復(fù)位焕窝。
- 通過下面描述的2個(gè)序列中的一個(gè)來完成蹬挺,即自動(dòng)上電復(fù)位(POR)或者手動(dòng)復(fù)位。
- 自動(dòng)上電復(fù)位或手動(dòng)復(fù)位之后它掂,推薦轉(zhuǎn)換GDO0引腳上輸出的信號(hào)巴帮。
- 默認(rèn)設(shè)置是以CLK_XOSC/192的頻率輸出一個(gè)時(shí)鐘信號(hào)。
- 然而虐秋,為了在TX和RX中優(yōu)化執(zhí)行榕茧,必須GD0/1/2 引腳配置中的配置來配置GDO腳
自動(dòng)POR
CC1101內(nèi)部包含上電復(fù)位電路。最小的需求見表15客给,完整的上電復(fù)位功能必須遵循用押。當(dāng)CHIP_RDYn變低內(nèi)部上電序列完成。在CSn拉低后在SO引腳上可以查看CHIP_RDYn靶剑。
當(dāng)CC1101復(fù)位完成蜻拨,芯片將進(jìn)入IDLE狀態(tài),晶振開始運(yùn)行桩引。如果芯片在上電之后有足夠的時(shí)間讓晶振穩(wěn)定缎讼,在捕獲CSn變低之后SO引腳將馬上變低。如果在復(fù)位完成之前CSn被拉低坑匠,SO引腳將首先變高休涤,指示晶振沒有穩(wěn)定,變低之前見下圖笛辟。
手動(dòng)復(fù)位
CC1101上的其它全部復(fù)位時(shí)使用SRES命令。通過執(zhí)行這個(gè)命令序苏,所有內(nèi)部寄存器和狀態(tài)恢復(fù)默認(rèn)手幢,IDLE狀態(tài)雹顺。手動(dòng)復(fù)位序列如下(圖 手動(dòng)復(fù)位):
- 設(shè)置SCLK=1克握,SI=0修赞,避免引腳控制模式可能出現(xiàn)的問題。
- 選通CS低/高光酣。
- 保持CS為低,然后拉高匙头,至少40us才可以拉低
- 將CSn拉低等到SO拉低(CHIP_RDYn)属拾。
- 在SI線上發(fā)布SRES選通。
-
當(dāng)SO再一次拉低胀蛮,復(fù)位完成院刁,芯片進(jìn)入IDLE狀態(tài)
手動(dòng)復(fù)位
注意:以上復(fù)位程序只需要在電源給電之后。如果用戶在這之后想要復(fù)位CC1101粪狼,只需要執(zhí)行SRES命令選通
常規(guī)用途/ 測(cè)試輸出控制引腳
3 個(gè)數(shù)字輸出引腳 GDO0 和 GDO1 和 GDO2為常規(guī)控制腳退腥。它們的功能分別由
- IOCFG0.GDO0_CFG
- IOCFG1.GDO1_CFG
-
IOCFG2.GDO3_CFG
控制; - GDO1 和在 SPI 接口上的SO 腳是同一腳,因此這個(gè)腳上控制的輸出在 CSn 高時(shí)才有效再榄。
- GDO1 的默認(rèn)值為 3狀態(tài)狡刘,當(dāng) SPI 接口和其它設(shè)備一起使用時(shí)這是有效的。
- GOO0 的默認(rèn)值為125kHz-146kHz時(shí)鐘輸出(XOSC 頻率除以 192)困鸥。當(dāng) XOSC 在重啟
功率下開啟后嗅蔬,使用一個(gè)晶體,它就能用來為系統(tǒng)中的 MCU 計(jì)時(shí)疾就。當(dāng) MCU 工作時(shí)澜术,通過 IOCFG0.GDO0_CFG,它能改變時(shí)鐘頻率虐译。不會(huì)造成時(shí)鐘波形干擾瘪板。 - 對(duì) IOCFG0.GDO0_CFG 寄存器寫入值 128(0x80h),芯片內(nèi)模擬溫度傳感器啟用漆诽。然后侮攀,GDO0 上的電壓與溫度成比例
- 如果IOCFGx.GDOx_CFG的設(shè)置小于0x20并且IOCFGx_GDOx_INV為0(1),在SLEEP模式GDO0和GDO2將由硬件置0(1)厢拭,GDO1將有硬件置1(0)兰英。這些信號(hào)將由硬件保持知道CHIP_RDYn變低。
- 如果IOCFGx.GDOx_CFG設(shè)置為0x20或更高供鸠,GDO引腳在SLEEP狀態(tài)也工作在設(shè)置的狀態(tài)畦贸。例如,如果IOCFG1.GDO1_CFG=0x2E楞捂,GDO1在所有狀態(tài)都是高阻抗薄坏。
GDO0_CFG[5:0] GDO1_CFG[5:0] GDO2_CFG[5:0] | 描述 |
---|---|
0(0x00) | 與 RX FIFO 關(guān)聯(lián):當(dāng) RX FIFO 在 RXFIFO_THR 上被填充時(shí)聲明。當(dāng) RX FIFO 在RXFIFO THR 之下時(shí)被反聲明 |
1(0x01) | 與 RX FIFO 關(guān)聯(lián):當(dāng) RX FIFO 在 RXFIFO_THR 上被填充或到達(dá)數(shù)據(jù)包末端時(shí)聲明寨闹。當(dāng)RX FIFO 空時(shí)被反聲明 |
2(0x02) | 與 TX FIFO 關(guān)聯(lián):當(dāng) TX FIFO 在 TXFIFO_THR 上被填充時(shí)聲明胶坠。當(dāng) TX FIFO 在TXFIFO THR 之下時(shí)被反聲明 |
3(0x03) | 與 TX FIFO 關(guān)聯(lián):當(dāng) TX FIFO 滿時(shí)聲明。當(dāng) TX FIFO 在 TXFIFO_THR 之下為空時(shí)被反聲明 |
4(0x04) | 當(dāng) RX FIFO 已溢出時(shí)聲明繁堡。當(dāng) FIFO 被淹沒時(shí)被反聲明 |
5(0x05) | 當(dāng) TX FIFO 已下溢時(shí)聲明沈善。當(dāng) FIFO 被淹沒時(shí)被反聲明 |
6(0x06) | 當(dāng)同步詞匯被送出/收到時(shí)聲明乡数,在數(shù)據(jù)包末端時(shí)反聲明。對(duì) RX闻牡,當(dāng)可選地址檢測(cè)失敗或 RX FIFO 溢出時(shí)净赴,引腳被反聲明。若 TX FIFO 下溢罩润,這個(gè)引腳將同樣被反聲明 |
7(0x07) | 當(dāng)一個(gè)數(shù)據(jù)包被 OK CRC 收到時(shí)聲明玖翅。當(dāng)?shù)谝粋€(gè)字節(jié)從 RX FIFO 中讀取時(shí)反聲明 |
8(0x08) | 前導(dǎo)質(zhì)量達(dá)到。當(dāng) PQI 高于控制 PQT 值時(shí)聲明 |
9(0x09) | 清理信道評(píng)估哨啃。當(dāng) RSSI 等級(jí)低于門限時(shí)為高(決定于當(dāng)前 CCA MODE 設(shè)置) |
10(0x0A) | 鎖定檢測(cè)器輸出 |
11(0x0B) | 連續(xù)時(shí)鐘烧栋。與同步連續(xù)模式下的數(shù)據(jù)同步。數(shù)據(jù)在下降沿建立拳球,在 SERIAL CLK 上升沿被讀取审姓。 |
12(0x0C) | 連續(xù)同步數(shù)據(jù)輸出。同步連續(xù)模式時(shí)使用祝峻。在 SERIAL_CLK 上升沿 MCU 必須讀 DO魔吐。數(shù)據(jù)在下降沿由 CC2500 建立 |
13(0x0D) | 連續(xù)透明數(shù)據(jù)輸出。同步連續(xù)模式時(shí)使用莱找。 |
14(0x0E) | 載波感應(yīng)酬姆。當(dāng) RSSI 等級(jí)低于門限時(shí)為高 |
15(0x0F) | CRC OK。上一個(gè) CRC 對(duì)比匹配奥溺。當(dāng)進(jìn)入/重啟 RX 模式時(shí)清理辞色。 |
16(0x10) | 保留-測(cè)試用 |
17(0x11) | 保留-測(cè)試用 |
18(0x12) | 保留-測(cè)試用 |
19(0x13) | 保留-測(cè)試用 |
20(0x14) | 保留-測(cè)試用 |
21(0x15) | 保留-測(cè)試用 |
22(0x16) | RX_HARD_DATA[1]。能同RX_SYMBOL_TICK一起使用在交替連續(xù)RX輸出上浮定。 |
23(0x17) | RX_HARD_DATA[1]相满。能同RX_SYMBOL_TICK一起使用在交替連續(xù)RX輸出上。 |
24(0x18) | 保留-測(cè)試用 |
25(0x19) | 保留-測(cè)試用 |
26(0x1A) | 保留-測(cè)試用 |
27(0x1B) | 1 時(shí) PA PD.PA 開啟桦卒,0 時(shí)功率降低立美。能用來控制外部 PA 或 RX/TX 開關(guān) |
28(0x1C) | 1 時(shí) LNA PD.LNA 開啟,0 時(shí)功率降低方灾。能用來控制外部 LNA 或 RX/TX 開關(guān) |
29(0x1D) | RX_SYMBOL_TICK建蹄。能同RX_HARD_DATA一起使用在交替連續(xù)RX輸出上。 |
30(0x1E) | 保留-測(cè)試用 |
31(0x1F) | 保留-測(cè)試用 |
32(0x20) | 保留-測(cè)試用 |
33(0x21) | 保留-測(cè)試用 |
34(0x22) | 保留-測(cè)試用 |
35(0x23) | 保留-測(cè)試用 |
36(0x24) | 保留-測(cè)試用 |
37(0x25) | 保留-測(cè)試用 |
38(0x26) | 保留-測(cè)試用 |
39(0x27) | 保留-測(cè)試用 |
40(0x28) | 保留-測(cè)試用 |
41(0x29) | CHIP RDY |
42(0x2A) | 保留-測(cè)試用 |
43(0x2B) | XOSC STABLE |
44(0x2C) | 保留-測(cè)試用 |
45(0x2D) | GDO0 Z EN N裕偿。當(dāng)這個(gè)輸出為 0 時(shí)洞慎,GDO0 配置為輸入(為連續(xù) TX 數(shù)據(jù)) |
46(0x2E) | 高阻抗(3-狀態(tài)) |
47(0x2F) | HW 到 0(HW1 同 INV 信號(hào)一起完成) |
48(0x30) | CLK XOSC/1 |
49(0x31) | CLK XOSC/1.5 |
50(0x32) | CLK XOSC/2 |
51(0x33) | CLK XOSC/3 |
52(0x34) | CLK XOSC/4 |
53(0x35) | CLK XOSC/6 |
54(0x36) | CLK XOSC/8 |
55(0x37) | CLK XOSC/12 |
56(0x38) | CLK XOSC/16 |
57(0x39) | CLK XOSC/24 |
58(0x3A) | CLK XOSC/32 |
59(0x3B) | CLK XOSC/48 |
60(0x3C) | CLK XOSC/64 |
61(0x3D) | CLK XOSC/96 |
62(0x3E) | CLK XOSC/128 |
63(0x3F) | CLK XOSC/192 |
寄存器配置
CC1101的配置通過編程8位寄存器來實(shí)現(xiàn)
命令寄存器(12個(gè))
訪問這些寄存器將會(huì)發(fā)起內(nèi)部狀態(tài)或模式的改變
地址 | 名稱 | 描述 |
---|---|---|
0x30 | SRES | 復(fù)位芯片 |
0x31 | SFSTXON | 使能和校準(zhǔn)頻率合成器(如果MCSM0.FS_AUTOCAL=1)。如果在RX(使能CCA)嘿棘,僅當(dāng)合成器運(yùn)行時(shí)轉(zhuǎn)到等待狀態(tài)(RX/TX快速轉(zhuǎn)換) |
0x32 | SXOFF | 關(guān)閉晶振 |
0x33 | SCAL | 校準(zhǔn)頻率合成器并關(guān)閉拢蛋。SCAL可以從IDLE模式執(zhí)行而不需要設(shè)置收到校準(zhǔn)模式(MCSM0.FS_AUTOCAL=0)。 |
0x34 | SRX | 使能RX蔫巩。如果來自IDLE狀態(tài)并且MCSM0.FS_AUTOCAL=1首先執(zhí)行校準(zhǔn)谆棱。 |
0x35 | STX | 在IDLE狀態(tài):使能TX。如果MCSM0.FS_AUTOCAL=1首先執(zhí)行校準(zhǔn)圆仔。如果在RX狀態(tài)并使能CCA僅在信道為空時(shí)轉(zhuǎn)到TX垃瞧。 |
0x36 | SIDLE | 離開RX/TX模式,關(guān)閉頻率合成器坪郭,如果可用離開WOR个从。 |
0x38 | SWOR | 如果WORCTRL.RC_PD=0像Section19.5的描述一樣開始自動(dòng)RX輪詢序列(WOR)。 |
0x39 | SPWD | 當(dāng)CSn拉高進(jìn)入掉電模式歪沃。 |
0x3A | SFRX | 清除RX FIFO緩沖器嗦锐。只在IDLE 或 RXFIFO_OVERFLOW狀態(tài)運(yùn)行SFRX。 |
0x3B | SFTX | 清除TX FIFO緩沖器沪曙。只在IDLE 或 TXFIFO_UNDERFLOW狀態(tài)運(yùn)行SFTX奕污。 |
0x3C | SWORRST | 復(fù)位實(shí)時(shí)時(shí)鐘到Event1值。 |
0x3D | SMOP | 無操作液走,可以用來訪問獲取芯片狀態(tài)字節(jié)碳默。 |
配置寄存器
地址 | 寄存器 | 描述 | 保持在休眠狀態(tài)中 |
---|---|---|---|
0x00 | IOCFG2 | GDO2輸出引腳配置 | 是 |
0x01 | IOCFG1 | GDO1輸出引腳配置 | 是 |
0x02 | IOCFG0 | GDO0輸出引腳配置 | 是 |
0x03 | FIFOTHR | RX FIFO和TX FIFO門限 | 是 |
0x04 | SYNC1 | 同步字,高字節(jié) | 是 |
0x05 | SYNC0 | 同步字缘眶,低字節(jié) | 是 |
0x06 | PKTLEN | 數(shù)據(jù)包長(zhǎng)度 | 是 |
0x07 | PKTCTRL1 | 數(shù)據(jù)包自動(dòng)控制 | 是 |
0x08 | PKTCTRL0 | 數(shù)據(jù)包自動(dòng)控制 | 是 |
0x09 | ADDR | 設(shè)備地址 | 是 |
0x0A | CHANNR | 信道號(hào) | 是 |
0x0B | FSCTRL1 | 頻率合成器控制 | 是 |
0x0C | FSCTRL0 | 頻率合成器控制 | 是 |
0x0D | FREQ2 | 頻率控制字嘱根,高字節(jié) | 是 |
0x0E | FREQ1 | 頻率控制字,中間字節(jié) | 是 |
0x0F | FREQ0 | 頻率控制字巷懈,低字節(jié) | 是 |
0x10 | MDMCFG4 | Modem配置 | 是 |
0x11 | MDMCFG3 | Modem配置 | 是 该抒、 |
0x12 | MDMCFG2 | Modem配置 | 是 |
0x13 | MDMCFG1 | Modem配置 | 是 |
0x14 | MDMCFG0 | Modem配置 | 是 |
0x15 | DEVIATN | Modem背離設(shè)定 | 是 |
0x16 | MCSM2 | 主無線控制狀態(tài)機(jī)配置 | 是 |
0x17 | MCSM1 | 主無線控制狀態(tài)機(jī)配置 | 是 |
0x18 | MCSM0 | 主無線控制狀態(tài)機(jī)配置 | 是 |
0x19 | FOCCFG | 頻率偏移補(bǔ)償配置 | 是 |
0x1A | BSCFG | 位同步配置 | 是 |
0x1B | AGCTRL2 | AGC控制 | 是 |
0x1C | AGCTRL1 | AGC控制 | 是 |
0x1D | AGCTRL0 | AGC控制 | 是 |
0x1E | WOREVT1 | 事件0超時(shí)高字節(jié) | 是 |
0x1F | WOREVT0 | 事件0超時(shí)低字節(jié) | 是 |
0x20 | WORCTRL | WOR控制 | 是 |
0x21 | FREND1 | 前端RX配置 | 是 |
0x22 | FREND0 | 前端TX配置 | 是 |
0x23 | FSCAL3 | 頻率合成器校準(zhǔn) | 是 |
0x24 | SCAL2 | 頻率合成器校準(zhǔn) | 是 |
0x25 | SCAL1 | 頻率合成器校準(zhǔn) | 是 |
0x26 | SCAL0 | 頻率合成器校準(zhǔn) | 是 |
0x27 | RCCTRL1 | RC振蕩器配置 | 是 |
0x28 | RCCTRL0 | RC振蕩器配置 | 是 |
0x29 | FSTEST | 頻率合成器校準(zhǔn)控制 | 否 |
0x2A | PTEST | 產(chǎn)品測(cè)試 | 否 |
0x2B | AGCTEST | AGC測(cè)試 | 否 |
0x2C | TEST2 | 各方面測(cè)試設(shè)定 | 否 |
0x2D | TEST1 | 各方面測(cè)試設(shè)定 | 否 |
0x2E | TEST0 | 各方面測(cè)試設(shè)定 | 否 |
狀態(tài)寄存器總覽
地址 | 寄存器 | 描述 |
---|---|---|
0x30(0xF0) | PARTNUM | CC1101零件號(hào) |
0x31(0xF1) | VERSION | 當(dāng)前版本號(hào) |
0x32(0xF2) | FREQEST | 頻率偏移評(píng)估 |
0x33(0xF3) | LQI | 解調(diào)器鏈路質(zhì)量估計(jì) |
0x34(0xF4) | RSSI | 接收信號(hào)強(qiáng)度指示 |
0x35(0xF5) | MARCSTATE | 控制狀態(tài)機(jī)狀態(tài) |
0x36(0xF6) | WORTIME1 | WOR定時(shí)器高字節(jié) |
0x37(0xF7) | WORTIME0 | WOR定時(shí)器低字節(jié) |
0x38(0xF8) | PKTSTATUS | 當(dāng)前GDOx狀態(tài)和數(shù)據(jù)包狀態(tài) |
0x39(0xF9) | VCO_VC_DAC | PLL校準(zhǔn)模塊的當(dāng)前設(shè)置 |
0x3A(0xFA) | TXBYTES | 下溢和TX FIFO中的字節(jié)數(shù) |
0x3B(0xFB) | RXBYTES | 上溢和RX FIFO中的字節(jié)數(shù) |
0x3C(0xFC) | RCCTRL1_STATUS | 上一次RC振蕩器校準(zhǔn)結(jié)果 |
0x3D(0xFD) | RCCTRL0_STATUS | 上一次RC振蕩器校準(zhǔn)結(jié)果 |
參考:https://wenku.baidu.com/view/c2b0081b227916888486d769.html