1. 程式人生 > >無線射頻(二)

無線射頻(二)

前言

前面大體講解了一下RF核心的知識,今天我們細講CC2530_RF_FIFO訪問 的相關知識。

RF_FIFO

CC2530傳送或接收資料是通過FIFO操作來進行的。FIFO訪問可以分為TXFIFO訪問和RXFIFO訪問,其操作都是通過SFR暫存器的RFD操作進行。當寫入RFD暫存器時,資料被寫入到TXFIFO,當讀取資料RFD暫存器時,資料從RXFIFO中讀出。

unsigned char i;
signed char tx[ ]={"dh"};
//將mac的內容寫到RFD中
for(i=0;i<3;i++)
{     RFD = tx[i];
}

1、RXFIFO儲存器區域位於地址0x6000到0x607F,一共128位元組,在XREG儲存區域中是可以訪問的。RXFIFO可以儲存一個或多個收到的幀,只要總位元組數不大於128位元組。有兩種方式確定RXFIFO中的位元組數:
1)讀RFD暫存器

//  通過RFD讀接收的資料長度
unsigned char len;
len = RFD;

2)讀RXFIFOCNT暫存器

//  通過RXFIFOCNT讀接收的資料長度
unsigned char len;
len = RXFIFOCNT;

TXFIFO中的位元組數儲存在TXFIFOCNT暫存器中,可以通過兩種方式來進行TXFIFO的寫操作,這裡我介紹一種,因為另一種是不推薦的
寫入RFD暫存器。

TXFIFO儲存器區域位於地址0x6080到0x60FF,一共128位元組。它在XREG儲存區域中是可以訪問的。
在不產生TX下溢的情況下,幀資料可以在執行TX命令選通之前或之後緩衝
陰影部分的位元組必須寫到TXFIFO的位元組,其他位元組可以被忽略。寫入TXFIFO的幀資料根據了FRMCTRL0.AUTOCRC(CRC自動校驗)是否啟用可以分為兩種情況:當AUTOCRC為0時,沒有啟動硬體自動檢測;當AUTOCRC為1時,啟動了硬體自動檢測。

今天的內容就講到這裡,下期講講RF的傳送過程