999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CC2530芯片無線收發深入解析

2021-07-28 12:51:16劉連鋼
科技資訊 2021年8期

劉連鋼

DOI:10.16661/j.cnki.1672-3791.2010-5042-0258

摘? 要:在智能家居和智能農業系統的感知層開發中主要運用Zigbee技術,實現Zigbee技術的硬件主要為具有射頻收發功能的CC2530芯片。該文通過配置CC2530芯片的寄存器,使芯片實現無線收發的功能;通過使用寄存器的方式,編寫無線發送函數和無線接收函數,實現基于Basic RF的數據傳輸。深入研究CC2530芯片的無線收發機制,從而掌握無線收發原理,便于更好地利用芯片,增強物聯網感知層開發的能力。

關鍵詞:CC2530? 芯片寄存器? 中斷函數? 無線收發

中圖分類號:TN92? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A文章編號:1672-3791(2021)03(b)-0023-05

Depth Analysis of CC2530 Chip Wireless Transceiver

LIU Liangang

(Dalian Vocational & Technical College, Dalian, Liaoning Province, 116035? China)

Abstract: In the development of the sensing layer of smart home and intelligent agriculture system, ZigBee technology is mainly used. The hardware of ZigBee technology is CC2530 chip with RF transceiver function. In this paper, through the configuration of CC2530 chip register, the chip realizes the wireless transceiver function; through the use of registers, the wireless sending function and wireless receiving function are written to realize the data transmission based on basic RF. In depth study of CC2530 chip wireless transceiver mechanism, so as to master the wireless transceiver principle, facilitate better use of the chip, enhance the ability to develop the perception layer of the Internet of things.

Key Words: CC2530; Chip register; Interrupt function; Wireless transceiver

伴隨著智能家居、智能農業等發展,Zigbee技術的應用已非常廣泛,在使用Zigbee技術組建無線傳感網時,經常會用到芯片CC2530芯片。在使用CC2530芯片進行無線網絡組建時,肯定會用到無線收發這一功能。開發者一般都會到官網下載工程模板,在開發時調用給定的接收、發送函數完成收發功能。該文抽絲剝繭,通過寄存器配置的方式實現無線收發功能,幫助讀者深入了解CC2530無線收發的原理。

通過配置寄存器的方式實現無線收發功能,要完成這樣幾項工作:射頻相關資源初始化、編寫射頻發送函數、編寫射頻接收函數、編寫射頻接收中斷服務子函數。完成了上述幾項基本工作,就可以根據實際的業務邏輯進行程序的開發。上述幾項工作都涉及到多個寄存器的配置,下面該文就針對上述幾項工作進行詳細的闡述,使讀者深入地了解CC2530芯片射頻工作的原理。

1? 射頻相關資源初始化

該項工作涉及到的寄存器比較多,該文通過表1歸納出需要配置的寄存器,并對各寄存器進行了功能的描述,具體見表1。

通過表1歸納出的寄存器,相關人員可以看到,在射頻相關資源初始化時,相關人員需要完成的工作有以下幾個方面。

(1)是否由無線電自動處理FCS字節數據。即是否由硬件完成幀校驗序列。涉及寄存器FRMCTRL0。

(2)設置獲得最佳性能的值。即必須把寄存器TXFILTCFG、AGCCTRL1、FSCAL1從默認值更新到獲得最佳性能的值。

(3)中斷設置。無線電與CPU的兩個中斷向量有關,它們是RFERR中斷(中斷0)和RF中斷(中斷12),該文主要是完成數據的發送和接收,所以使用RF普通操作的中斷,用到的寄存器為IEN2。RF內核產生的中斷是RF內核中若干源的組合,每個單獨的源在RF內核中有自己的使能和中斷標志,該文用到的中斷屏蔽寄存器為RFIRQM0,標志位可在寄存器RFIRQF0中找到(后面用到)。

(4)設置射頻發送參數。寄存器FREQCTRL設置無線通訊的物理信道,IEEE802.15.4-2006指定16個通道,它們位于2.4 GHz頻段之內。步長為5 MHz,編號為11~26。通道k的RF頻率遵循公式fc=2405+5(k-11)[MHz]k∈[11,26],對于操作在通道k,FREQCTRL.FREQ寄存器設置為FREQCTRL.FREQ=11+5(k–11)。

通過配置PANID和SHORT_ADDR,完成網絡標識和模塊短地址的設置。

(5)RF命令選通。寫入該寄存器的數據被寫到CSP指令存儲器,命令選通/CSMA-CA處理器(CSP)提供控制CPU和無線電之間的通信。

射頻相關資源初始化使用到的寄存器的具體配置值和作用,具體見表2。

2? 編寫射頻發送函數

射頻發送涉及到的寄存器以及寄存器的功能,具體見表3。

無線電RAM為發送數據有一個FIFO(TXFIFO),為接收數據有一個FIFO(RXFIFO)。這兩個FIFO都是128字節長。可以通過SFR寄存器RFD(0xD9)訪問TXFIFO和RXFIFO。當寫入RFD寄存器時,數據被寫入到TXFIFO。當讀取RFD寄存器時,數據從RXFIFO中讀出。射頻發送具體實現步驟可參見下面的函數,函數參數為發送字符數組名。

void RFSend(char *RFsend_str )

{

while (FSMSTAT1 & 0x22);//等待射頻發送就緒

RFST = 0xEE;//清除 TXFIFO 緩沖區

RFIRQF1 &= ~0x02;// 清除發送完成標志位

for(chari=0;i< RFsend_str [0]-1;i++)/*第一個字節為幀長度域,校驗字節由硬件產生并附加到發送幀*/

{

RFD= RFsend_str [i];

}? //利用循環把需要發送的數據全部壓到發送緩沖區里面

RFST = 0xE9; /*校準之后使能 TX,即該寄存器賦值為0xE9后,發送緩沖區的數據

就被發送出去*/

while(!(RFIRQF1 & 0x02) );//等待發送完成

RFIRQF1 = ~0x02;// 清除發送完成標志位

}

注意:幀長度域定義了MPDU中的字節數,長度域的值不包括長度域本身。但是它包括幀檢查序列(FCS),即使這是由硬件自動插入的。

3? 編寫射頻接收函數

無線接收函數的功能是將接收到的數據存放到指定的數組中,涉及到的寄存器見表4。

無線接收函數功能相對簡單,即通過寄存器RFIRQM0和IEN2將收到一個完整的幀的中斷禁用。然后讀取RFD寄存器,數據從RXFIFO中讀出,并存儲到指定的數組中,數據讀取完成后,使能收到一個完整的幀的中斷。具體代碼如下。

void RFR evstr(char*RFstr_recive)

{

char len=0;

RFIRQM0 &= ~0x40;

IEN2 &= ~0x01;

len=RFD;? //讀第一個字節判斷這一串數據后面有幾個字節

*RFstr_recive=len;

for(int i=1;i

{

*(RFstr_recive+i)=RFD;

Delay(1);? ? //每次讀取加一定延時

}

RFIRQM0 |= 0x40;

IEN2 |= 0x01;

}

4? 編寫射頻接收中斷服務子函數

利用中斷完成數據的接收,涉及到的寄存器見表5。

在中斷服務子程序中關閉總中斷后,判斷是否產生的是接收到一個完整的幀的中斷,如果是調用上述接收函數完成數據的接收,然后清除中斷標志位。最后重設RFST寄存器,打開總中斷即可。

#pragma vector=RF_VECTOR

_interrupt void RF_IRQ(void)

{

EA=0;

if( RFIRQF0 & 0x40 )

{

RFRevstr (pRxData);

S1CON= 0;? ? ? ? ? ?// Clear general RF interrupt flag

RFIRQF0&= ~0x40; ;? // Clear RXPKTDONE interrupt

}

RFST = 0xED;? ?//清除 RXFIFO 緩沖區并復位解調器。

RFST = 0xE3; // RX使能并校準頻率合成器

EA=1;

}

通過上述的講解,可以使讀者深入地理解CC2530芯片無線傳輸。讀者可在完成射頻相關資源初始化、射頻發送函數、射頻接收函數、射頻接收中斷服務子函數后,結合實際的業務邏輯完成項目的開發,也可以該文為基礎更加深入地學習CC2530芯片。在進行無線傳輸開發時還應牢記兩點:一是在RF收發器操作時,必須設置系統時鐘源為32 MHz晶振,雖然16 MHz RC振蕩器功耗少于晶振,但是不像晶振那么精確;二是無線收發的數據必須符合IEEE 802.15.4幀格式,否則無法完成數據傳輸。

參考文獻

[1] 汪振中.基于CC2530芯片的ZIGBEE無線數據傳輸模塊設計[J].中國設備工程,2017(14):133-134.

[2] 嚴林波.基于ZigBee技術的無線通信模塊研究[J].科學技術創新,2020(29):88-89.

[3] 戚澤峰.基于CC2530的ZigBee通信網絡的應用設計分析[J].中國新通信,2020(14):41.

[4] 徐志勇.基于CC2530的ZigBeeRFID讀寫應用研究[J].科技資訊,2020(14):11-13.

[5] 吳攀,曹珍貫.基于CC2530的大學圖書館和機電一體化監控系統的設計[J].科技資訊,2017(31):17,19.

[6] 廖兵,周妮,石洋,等.基于物聯網技術的農產品溯源關鍵問題研究與設計[J].科技創新導報,2020(3):56-57.

[7] 黃冰霜,胡微微.基于大數據下物聯網對武術訓練的應用[J].當代體育科技,2016(17):43-44.

[8] 王超.基于ZigBee技術的機房溫濕度監控系統設計[D].大連理工大學,2019.

[9] 李海鋒.基于ZigBee技術的魚塘水質監測系統研究[D].西安科技大學,2019.

主站蜘蛛池模板: 色综合五月婷婷| 成人在线欧美| 国产精品美女免费视频大全 | 波多野结衣爽到高潮漏水大喷| 在线观看免费黄色网址| 国产福利不卡视频| 欧美成人午夜视频免看| 五月婷婷亚洲综合| 97在线国产视频| 99国产精品国产| 综1合AV在线播放| 中文字幕日韩视频欧美一区| 中国毛片网| 激情视频综合网| 国产精品美女网站| 色妺妺在线视频喷水| 成人福利在线观看| 在线观看国产黄色| 国产自产视频一区二区三区| 91福利片| 亚洲精品视频在线观看视频| 亚洲视频色图| 国产成年女人特黄特色毛片免| h视频在线播放| 国产美女无遮挡免费视频| 免费jizz在线播放| 亚洲第一av网站| 国产成人你懂的在线观看| 日韩麻豆小视频| 伊人久久精品亚洲午夜| 国产一级无码不卡视频| 亚洲精品777| 亚洲中文字幕国产av| 538国产视频| 欧美日韩国产高清一区二区三区| 国产精品永久在线| 精品99在线观看| 久久这里只精品国产99热8| 秋霞午夜国产精品成人片| 亚洲电影天堂在线国语对白| 国产在线自乱拍播放| 欧美精品一区二区三区中文字幕| 91无码视频在线观看| 免费激情网址| 亚洲国产av无码综合原创国产| 国产AV无码专区亚洲A∨毛片| 无码区日韩专区免费系列| 亚洲丝袜第一页| 五月婷婷亚洲综合| 亚洲一区免费看| 亚洲精品无码不卡在线播放| 手机精品福利在线观看| 亚洲最大看欧美片网站地址| 国产午夜精品鲁丝片| 亚洲视频二| 日韩欧美色综合| 欧美亚洲中文精品三区| 狠狠色噜噜狠狠狠狠色综合久| 亚洲欧美在线精品一区二区| 丁香六月激情婷婷| 亚洲啪啪网| 五月天久久综合国产一区二区| 色综合日本| 亚洲AV无码久久精品色欲| 午夜精品久久久久久久无码软件 | 色久综合在线| 国产va免费精品观看| 最新无码专区超级碰碰碰| 国产精品林美惠子在线观看| 欧美激情,国产精品| 久久婷婷人人澡人人爱91| 白浆免费视频国产精品视频| 欧美激情视频一区| 自拍欧美亚洲| 亚洲第一福利视频导航| 欧美啪啪精品| 午夜国产小视频| 18禁色诱爆乳网站| 国产91小视频| 久久人妻xunleige无码| 亚洲成A人V欧美综合天堂| 欧美日韩国产在线人|