您當前的位置:首頁 > 繪畫

TI CC1101學習筆記(二)

作者:由 Power小強 發表于 繪畫時間:2019-04-04

文末說明

本文作者:小強子

知乎ID:小強子

微信公眾號:小強子

一個細膩不油膩,嗜好多能力小的普通人,專注於分享電子電氣相關知識的打雜碩士生

2 通訊方式以及配置方式---SPI

CC1101透過4線SPI相容介面(MOSI,MISO,SCLK和CSn)進行配置,

CC1101作為從裝置

。這個介面同時用作讀寫緩衝器資料。SPI介面上所有的資料傳送都是先傳送

MSB

相關知識:

MSB:

高位前導;

LSB:

低位前導;

big endian(大端):

是指低地址存放最高有效位元組(MSB);

little endian(小端):

則是低地址存放最低有效位元組(LSB);

MISO:

主裝置資料輸出,從裝置資料輸入

MOSI:

主裝置資料輸入,從裝置資料輸出

SCLK:

時鐘訊號,由主裝置產生

CSn:

從裝置使能訊號,由主裝置控制,低電平有效

2.1 SPI 讀寫注意事項

SPI介面上的所有傳送都是以一個頭位元組(header byte)開始包含以下:

一個

讀寫位(R/W):

在讀操作中該位置1,在寫操作中該位置0;

一個

(突發(burst access)訪問位(B)

6位地址位(A5~A0)

在SPI總線上傳輸資料時,CSn腳必須保持低電平。如果在傳送頭位元組或者讀寫暫存器時CSn拉高,傳送將被取消

當 CSn 變低,在開始轉換頭位元組之前,MCU必須等待,直到 MISO 腳變低。這表明電壓調製器已經穩定,晶體正在運作中。除非晶片處在 SLEEP 或 XOFF 狀態,MISO 腳在 CSn變低之後總會立即變低。

2.2晶片狀態位元組

當頭位元組在 SPI 介面上被寫入時,晶片狀態位元組在 MISO 腳上被 CC1100 寫入。狀態位元組包含關鍵狀態訊號,對 MCU 是有用的。

(7)位

是 CHIP_RDYn 訊號。在 SCLK 的在第一個正邊緣之前,這個訊號必須變低。CHIP_RDYn 訊號表明晶體正處於工作中,調節數字供給電壓是穩定的。

狀態位元組中的

(6:4 )

位由狀態值組成。這個值反映了晶片的狀態。當使 XOSC 空閒並使數字中心的能量開啟,所有其他模組處於功率降低狀態。只有晶片處於此狀態時,頻率和通道配置才能被更新。當晶片處於接收模式時,RX狀態是活動的。同樣地,當晶片處於傳輸模式時,TX 狀態是活動的。

狀態位元組中的後四位

(3:0)

包含FIFO_BYTES_AVAILABLE。為了進行讀操作,這個區域包含可從 RX FIFO 讀取的位元組數。為了進行寫操作,這個區域包含可寫入 TX FIFO的字當FIFO_BYTES_AVAILABLE=15,15 或者更多的位元組是可用/自由的。

TI CC1101學習筆記(二)

cc1101狀態字概要

2.3暫存器訪問

CC1101 配置暫存器地址:0x00到0x2E

所有的配置暫存器均能讀和寫。讀/寫位控制暫存器是讀或者寫。當對暫存器寫時,每當一個待寫入的資料位元組傳輸到 SI腳時,狀態位元組將被送至 SO 腳。

透過在地址頭設定突發位,連續地址的暫存器能高效地被訪問。這個地址在內部計數器內設定起始地址。每增加一個新的位元組(每8 個時鐘脈衝),計數器值增加 1。突發訪問,不管是讀訪問還是寫訪問,必須透過設定CSn 為高來終止。

對 0x30-0x3D 間的地址來說,突發位用以在

狀態暫存器

命令選通

間選擇。狀態暫存器只讀。突發讀取對狀態暫存器是不可取的,故它們每次只能被讀一個。

burst位置1:

選擇狀態暫存器;

burst置0:

選擇命令選通。

2.4 命令選通

命令選通可以看做是CC1101的一個單位元組指令。

透過定址一個命令選通暫存器,將啟動內部序列。

這些命令用來

禁止晶振

使能接收

使能無線喚醒

等;

命令選通暫存器的訪問和一個暫存器的寫操作一樣,但沒有資料被傳輸。就是說,只有 R/W 位(置為 0)突發訪問(置為 0)和六個地址位(0x30 和 0x3D 之間)被寫。一個命令濾波可能在任何其他 SPI 訪問之後,而不需要將 CSn 拉至高電平。命令選通立即被執行,當 CSn 高時 SPWD 和 SXOFF 命令被執行是例外。

2.5 FIFO訪問

64 位元組 TX FIFO 和 64 位元組 RX FIFO 透過0x3F 被訪問。

讀/寫位為 0 時,TX FIFO被訪問。

讀/寫位為 1 時,RX FIFO 被訪問。

TX FIFO 是隻寫的,而 RX FIFO 是隻讀的。

突發位用來決定 FIFO 訪問是單位元組還是突發訪問。

單位元組訪問方式期望地址的突發位為 0 的頭位元組和一個數據位元組。在資料位元組之後跟隨一個新的頭位元組,因此,CSn 繼續保持低。

突發訪問方式允許一地址位元組,然後是連續的資料位元組,直到透過設定 CSn 為高來關斷訪問。

0x3F : 單位元組訪問 TX FIFO

0x7F : 突發訪問 TX FIFO

0xBF : 單位元組訪問 RX FIFO

0XFF : 突發訪問 RX FIFO

2.6 PATABLE 訪問

0x3E

地址用來訪問 PATABLE。PATABLE用來選擇 PA 能量控制設定。在接收此地址之後,SPI 等待至少 8 個位元組。透過控制PATABLE,能實現可控的 PA 能量上升和下降,減少的頻寬的 ASK 調製整型也如此。

PATABLE 是一個 8 位元組表,定義了 PA 控制設 置 , 為 8 個 PA 功 率 值 ( 由FRENDO。PA_POWER 的 3 個位的值所選擇)的每一個所使用。這個表從最低位(0)到最高位(7)可讀和寫,一次一位。一個索引計數器用來控制對這個表的訪問。每讀出或寫入表中的一個位元組,計數器就加 1。當 CSn 為高時,計數值置為最小值。當達到最大值時,計數器由零重新開始計數。

對 PATABLE 的訪問是單位元組或者突發訪問,由突發位決定。當使用突發訪問時,索引計數器的值增加;達到7時重新從0開始。讀/寫位控制訪問是寫訪問(R/W=0)或者讀訪問(R/W=1)。

如果一位元組被寫入 PATABLE,且這個值將要被讀出,那麼,為了設定索引計數器的值重為 0,CSn 必須在讀訪問之前置為高。注意,當 PATABLE 進入休眠狀態時,所儲存的內容會丟失,特別是第一個位元組(索引為 0)。

2.7 基本控制和狀態腳

CC1101有2個專用配置腳(GDO0和GDO2)和一個共用腳(GDO1)可以向控制軟體輸出有用的內部狀態資訊。這些腳可以用來向MCU產生中斷。

GDO1和SPI的SO引腳共用。

GDO1/SO的預設設定時3態輸出。透過選擇任何程式設計選項,GDO1/SO將變為普通引腳。當CSn拉低,該引腳將始終作為普通的SO功能引腳。

在同步和非同步序列模式,在傳送模式下,GDO0引腳將作為序列TX資料輸入引腳。

GDO0也可以用作片上模擬溫度感測器。透過外部ADC測量GDO0腳的電壓,可以計算出溫度。溫度感測器的詳細說明見18頁的Section 4。7。透過預設的PTEST暫存器設定(0x7F),如果頻率合成器被允許溫度感測器的的輸出時可用的。(例如:MANCAL,FSTXON,RX和 TX狀態)在IDLE狀態向PTEST暫存器寫入0xBF允許模擬溫度感測器是必要的。離開IDLE狀態之前,必須恢復PTEST暫存器為預設值(0x7F)。

2.8 資料包處理的硬體支援

2.8.1傳送模式下

據包的處理者可以配置增加下面的元素到TX FIFO中的資料包儲存

一個可程式設計數量的前導位元組;

兩位元組同步字,可複製為4位元組同步字。只插入前導位元組或者同步位元組是不可能的;

一個覆蓋資料區域的CRC校驗計算。

推薦設定4位元組前導和4位元組同步字,除了500k波特率時推薦使用8位元組前導。另外,在資料區域和附加的2位元組CRC校驗,以下可以被執行

使用PN9序列Whitening資料。

透過使用交叉和編碼資料(卷積編碼)前向糾錯。

2.8.2接收模式下

資料包處理支援將是解構資料包,(如使能)以下可以被執行

前導檢測

同步字檢測

CRC計算和CRC檢查

一個位元組地址檢測

包長度檢查(根據設定的最大長度檢查長度位元組)

反Whitening(如果使能)

反交叉和解碼( 如果使能 )另外,RSSI(接收訊號強度指示)、LQI(鏈路質量指示)和CRC狀態的兩個狀態位元組可以附加在RX FIFO

2.9資料包格式

資料包的格式可以配置為由以下部分組成:

前導 n 同步字

可選的長度位元組

可選的地址位元組

淨荷

可選的2位元組CRC

TI CC1101學習筆記(二)

資料包格式

前導形式是一個互動的0 /1 序 列(01010101。。。)前導的最小長度是可程式設計控制的。當啟用 TX 時,調製器開始傳送前導。當控制數目的前導位元組被傳送完畢,調製器開始傳送同步詞彙,然後傳送來自 TX FIFO的可利用的資料。若 TX FIFO 為空,調製器將繼續傳送前導位元組,直到第一個位元組被寫入 TX FIFO。調製器將隨後傳送同步詞彙和資料位元組;前導位元組的長度由MDMCFG1。NU_PREAMBLE 值控制。

文末說明

本文作者:小強子

知乎ID:小強子

微信公眾號:小強子

一個細膩不油膩,嗜好多能力小的普通人,專注於分享電子電氣相關知識的打雜碩士生

標簽: 位元組  訪問  FIFO  暫存器  CSn