CC1101筆記

產(chǎn)品描述

工作頻段

**CC1100: **400-464 MHz and 800-928MHz
CC1101: 387-464 MHz and 779-928MHz

芯片引腳

cc1101引腳

引腳說明

引腳編號(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
接收數(shù)據(jù)包狀態(tài)字1
接收數(shù)據(jù)包狀態(tài)字2

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)喻奥。
  1. 讀取RSSI狀態(tài)寄存器
  2. 將讀到的數(shù)據(jù)從16進(jìn)制數(shù)轉(zhuǎn)換到二進(jìn)制數(shù)(RSSI_dec)
  3. 如果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)POR

手動(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市顶燕,隨后出現(xiàn)的幾起案子凑保,更是在濱河造成了極大的恐慌,老刑警劉巖割岛,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愉适,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡癣漆,警方通過查閱死者的電腦和手機(jī)维咸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惠爽,“玉大人癌蓖,你說我怎么就攤上這事』樗粒” “怎么了租副?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)较性。 經(jīng)常有香客問我用僧,道長(zhǎng)结胀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任责循,我火速辦了婚禮糟港,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘院仿。我一直安慰自己秸抚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布歹垫。 她就那樣靜靜地躺著剥汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪排惨。 梳的紋絲不亂的頭發(fā)上吭敢,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音若贮,去河邊找鬼省有。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谴麦,可吹牛的內(nèi)容都是我干的蠢沿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匾效,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼舷蟀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起面哼,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤野宜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后魔策,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匈子,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年闯袒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虎敦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡政敢,死狀恐怖其徙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喷户,我是刑警寧澤唾那,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站褪尝,受9級(jí)特大地震影響闹获,放射性物質(zhì)發(fā)生泄漏期犬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一避诽、第九天 我趴在偏房一處隱蔽的房頂上張望哭懈。 院中可真熱鬧,春花似錦茎用、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至容达,卻和暖如春古涧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背花盐。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工羡滑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人算芯。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓柒昏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親熙揍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子职祷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容