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

基于ZigBee的CC2530定時器T3的分析與研究

2016-05-11 06:58:37章萬靜楊麗波
現代計算機 2016年9期

章萬靜,朱 迅,楊麗波

(淮安信息職業技術學院計算機與通信工程學院,淮安 223003)

?

基于ZigBee的CC2530定時器T3的分析與研究

章萬靜,朱迅,楊麗波

(淮安信息職業技術學院計算機與通信工程學院,淮安223003)

摘要:CC2530內部集成了一個單周期的8051兼容內核,為真正的片上系統SoC提供一個強大而完整的ZigBee解決方案。介紹CC2530定時器T3的四種操作模式,并重點分析定時器T3在正計數/倒計數模式下中斷服務程序的設計。

關鍵詞:ZigBee;CC2530;SoC;定時器T3;操作模式;中斷服務

0 引言

ZigBee技術是一種近距離、低復雜度、低功耗、低數據速率、低成本的無線通信技術,其采用IEEE802.15.4標準,利用全球公用的公共頻率2.4GHz,廣泛用于物聯網、自動控制、樓宇自動化、照明系統和工業監視等諸多領域。

1 ZigBee芯片CC2530

ZigBee芯片CC2530是德州儀器TI公司推出的用來實現ZigBee協議的片上系統SoC解決方案[1],能夠以非常低的成本構建功能強大而性能穩定的網絡節點,并具有強大的抗干擾性能和極高的接收靈敏度等優勢。CC2530在單個芯片上集成了一個單周期8051CPU兼容內核,具有8KB的超低功耗數據存儲器SRAM和32/64/128/256KB可編程、非易失性程序存儲器,包含1個8路輸入8~14位ADC、1個提供不同晶振和供電模式的時鐘與電源管理模塊、4個通用的16/8位定時器、1個看門狗電路、2個波特率可變的異步/同步串口、1個高級加密標準AES協同處理器以及21個可編程I/O引腳,并提供了一個IEEE802.15.4兼容具有RF內核的無線收發器。

2 CC2530定時器T3

ZigBee芯片CC2530的定時器有16位和8位之分,共4個,可以分別實現不同的功能。其中,定時器T3和定時器T4都是8位的定時器,其用法差不多一樣,只是相應寄存器的配置有些不同?,F以8位的定時器T3為例,來分析、研究并實現其定時中斷功能。定時器T3主要由1個8位的特殊功能寄存器T3CNT組成,存放其內的值可在每個時間周期邊沿自動遞增1或遞減1,基于該8位計數器T3CNT中值的變化,ZigBee芯片CC2530的定時器T3可以實現所有的定時/計數功能。時間周期可以由用戶通過配置時鐘控制狀態寄存器的位CLKCONSTA.TICKSPD[2:0]和時鐘控制命令寄存器的位CLKCONCMD.TICKSPD[2:0]來選擇系統時鐘源,并可以由定時器T3的控制寄存器的位T3CTL.DIV[2:0]設置的分頻器值進一步劃分。定時器T3有4種操作模式:自由運行模式、倒計數模式、模計數模式和正計數/倒計數模式[2],不同的模式由定時器T3的控制寄存器的位T3CTL.MODE[1:0]的值進行選擇。定時器3有兩個獨立的比較通道,每個通道上使用一個I/O引腳。

2.1 T3的自由運行模式

定時器T3的自由運行模式主要用于產生獨立的時間間隔和輸出信號頻率。

在自由運行模式下,定時器T3的8位計數器T3CNT的值總是從初始值0x00開始啟動計數,在每個時間周期邊沿都會自動遞增1,當計數器T3CNT的值達到最大值0xFF溢出時,計數器T3CNT又會自動重新載入初始值0x00,然后再次按此規律遞增它的值,如圖1所示。

圖1 T3的自由運行模式

需要注意的是:當定時器T3的8位計數器T3CNT從初始值0x00開始計數達到最大計數值0xFF時,CC2530芯片將會由硬件自動將TIMIF定時器中斷標志寄存器中的T3OVFIF溢出中斷標志位設置為1。此時用戶如果設置了定時器T3的T3CTL控制寄存器中的OVFIM中斷屏蔽位,就會產生一次請求中斷服務。

2.2 T3的倒計數模式

定時器T3的倒計數模式可以用于需要事件超時間隔的應用程序。

在倒計數模式下,定時器T3啟動后,8位計數器T3CNT自動載入T3CC0的值開始倒計時,在每個時間周期邊沿會自動遞減1,直到達到最小值0x00,然后計數器T3CNT再次自動載入T3CC0的值后倒計數,如此循環反復,如圖2所示。(T3CC0中保存的值是在主程序開始初始化時將數據寫入特殊寄存器T3CC0中。)

圖2 T3的倒計數模式

需要注意的是:當定時器T3的8位計數器T3CNT 從T3CC0開始倒計數達到最小計數值0x00時,CC2530芯片由硬件自動將TIMIF定時器中斷標志寄存器中的T3OVFIF溢出中斷標志位設置為1。此時用戶如果設置了定時器T3的T3CTL控制寄存器中的OVFIM中斷屏蔽位,就會產生一次請求中斷服務。

2.3 T3的模計數模式

定時器T3的模計數模式一般用于周期不是0xFF的應用程序。

在模計數模式下,定時器T3的8位計數器T3CNT的值就會從初始值0x00開始啟動計數,在每個時間周期邊沿都會自動遞增1,一直達到T3CC0中預先存放的值時,計數器T3CNT會重新自動復位到最小值0x00,然后按此規律再次繼續遞增它的值,如圖3所示。(T3CC0中保存的值是在主程序開始初始化時將數據寫入特殊寄存器T3CC0中。)

圖3 T3的模計數模式

需要注意的是:當定時器T3的8位計數器T3CNT從一個比T3CC0中預先存放值大的值開始計數,達到最大值0xFF溢出時,計數器T3CNT會自動重新載入0x00,同時CC2530芯片自動由硬件將TIMIF定時器中斷標志寄存器中的T3OVFIF溢出中斷標志位設置為1。此時用戶如果設置了定時器T3的T3CTL控制寄存器中的OVFIM中斷屏蔽位,就會產生一次請求中斷服務

2.4 T3的正計數/倒計數模式

定時器T3的正計數/倒計數模式經常用在需要對稱輸出正脈沖,并且周期不是0xFF的應用程序。

在正計數/倒計數模式下,定時器T3的8位計數器T3CNT的值從初始值0x00啟動計數,在每個時鐘周期邊沿會自動遞增1,直到“正計數”達到T3CC0中保存的值,然后計數器T3CNT在每個時鐘周期邊沿會自動遞減1,“倒計數”直到0x00,再次按此規律又從0x00開始遞增,如此反復,如圖4所示。(T3CC0中保存的值是在主程序開始初始化時將數據寫入特殊寄存器T3CC0中。)

圖4 T3的正計數/倒計數模式

需要注意的是:當定時器T3的8位計數器T3CNT從初始值0x00開始正計數達到T3CC0,再從T3CC0開始倒計數達到0x00時,CC2530芯片自動由硬件將TIMIF定時器中斷標志寄存器中的T3OVFIF溢出中斷標志位設置為1。此時用戶如果設置了定時器T3的T3CTL控制寄存器中的OVFIM中斷屏蔽位,就會產生一次請求中斷服務

3 CC2530定時器T3應用分析

為了能及時看到定時器T3的實際定時效果,現將CC2530定時器T3的定時時間用來控制幾個LED燈閃爍,其原理圖如圖5所示。

圖5 LED燈定時閃爍實驗原理圖

四個LED燈的負極分別串聯一個分壓限流電阻R后由CC2530芯片的P1端口的4個引腳P1.4、P1.5、P1.6、P1.7控制,LED燈的正極全部連接到3.3V電源,此時CC2530芯片的4個引腳P1.4、P1.5、P1.6、P1.7必須全部配置成通用I/O端口,并都選擇使用其輸出功能。電阻R應選擇一個合適的阻值,以保證LED燈正常發光。此時,當某個引腳輸出為高電平1時,對應的LED燈滅;當某個引腳輸出為低電平0時,對應的LED燈亮。主程序代碼如下所示:

#include "ioCC2530.h"http://CC2530芯片寄存器、引腳及中斷向量的定義

unsigned char counter=0;//該變量用來輔助定時器T3定時

void main(void)

{

P1SEL &= 0x0f;//配置P1.4,P1.5,P1.6,P1.7為通用IO 口

P1DIR |= 0xf0;//配置P1.4,P1.5,P1.6,P1.7為通用IO口中的輸出口

P1_4 = 0;//LED1燈亮

P1_5 = 0;//LED2燈亮

P1_6 = 0;//LED3燈亮

P1_7 = 0;//LED4燈亮

T3CC0 = 0xfa;//T3CCO中的數據設置為250

EA = 1;//中斷總開關使能打開

T3IE = 1;//T3中斷使能打開

T3CTL = 0xff;

/*T3分頻器進行128分頻,配置為正計數/倒計數運行模式

T3定時溢出使能打開,T3CNT復位到0x00并啟動T3定時開始*/

while(1)

{

;

}

}

CC2530芯片定時器T3配置為正計數/倒計數模式,實現128分頻后,T3CC0中的值預先設置為250 (0xfa),并打開中斷使能總開關EA及定時器T3的中斷使能子開關T3IE。定時器T3的中斷服務程序如下所示:

#pragma vector = T3_VECTOR //定時器T3的中斷入口地址

__interrupt void T3_ISR(void) //定時器T3中斷函數的定義

{

//IRCON = 0x00; //調用中斷時,IRCON.T3IF可硬件清楚

if(counter<=100)

counter++; //T3定時時間未到,輔助計數器自加1

else

{

counter = 0; //T3定時時間到,輔助計數器清0

P1_4 = ! P1_4;

P1_6 = ! P1_6;//LED1燈,LED3燈閃爍

}

}

4 結語

上面程序代碼中沒有對CC2530芯片的時鐘控制狀態寄存器CLKCONSTA和時鐘控制命令寄存器CLKCONCMD的數據進行配置,即使用其默認值,通過分析得知:系統的時鐘選擇fosc=16MHz晶振(實驗板上的晶振),定時器T3標記輸出也為ftickspd=16MHz[3]。而定時器T3運行在128分頻的正計數/倒計數模式下,計數器T3CNT就會從初始值0x00開始正計數一直到0xFA (250),又從0xFA倒計數再次達到0x00時就會產生一次中斷請求,這樣定時器T3每次產生中斷的定時時間為250×2×1/(ftickspd/128)=0.04s,變量Counter輔助計數達到100次的定時時間達到4秒時就會改變LED燈的狀態,即LED1燈和LED3燈每隔4秒就閃爍一次。

參考文獻:

[1]青島東合信息技術有限公司編著. ZigBee開發技術及實踐[M].西安:西安電子科技大學出版社,2014.1

[2]Texas Instruments. Datasheet CC2530[EB/OL]. http://www.ti.com/lit/ds/symlink/cc2530.pdf. 2013.

[3]闞寶朋,章萬靜,趙隴.基于ZigBee技術的CC2530定時器的應用與實現[J].福建電腦,2015,6:115-116

章萬靜(1976-),男,湖北隨州人,碩士研究生,講師,研究方向為單片機、總線技術和嵌入式系統的應用

朱迅(1980-),男,江蘇淮安人,講師,碩士,研究方向為軟件及網絡

楊麗波(1977-),女,黑龍江牡丹江人,講師,碩士,研究方向為軟件

Analysis and Research on the CC2530's Timer 3 Based on ZigBee

ZHANG Wan-jing,ZHU Xun,YANG Li-bo
(Department of Computer and Communications Engineering,Huai'an College of Information Technology,Huai'an 223003)

Abstract:CC2530 based on ZigBee provides a powerful and complete solution for a true SoC, which contains an 8-bit microcontroller core based on a single cycle of 8051 compatible kernel. Introduces four operation modes of the CC2530’s timer T3, and analyzes the design of interrupt service program in emphasis in the up-and-down mode.

Keywords:ZigBee; CC2530; SoC; Timer 3; Operation Mode; Interrupt Service

收稿日期:2015-12-29修稿日期:2016-03-02

作者簡介:

文章編號:1007-1423(2016)09-0076-04

DOI:10.3969/j.issn.1007-1423.2016.09.019

主站蜘蛛池模板: 福利国产在线| 狠狠躁天天躁夜夜躁婷婷| 国产经典在线观看一区| 搞黄网站免费观看| 1769国产精品免费视频| 国产av无码日韩av无码网站| a级毛片免费网站| 国产精品女熟高潮视频| 一区二区三区精品视频在线观看| 国产真实乱子伦精品视手机观看| 69综合网| 亚洲V日韩V无码一区二区| 超级碰免费视频91| 国产av剧情无码精品色午夜| 一级全免费视频播放| 成人免费视频一区| 国内老司机精品视频在线播出| 91网址在线播放| 岛国精品一区免费视频在线观看| 国产网站免费| 日韩在线中文| 国产一二视频| 免费高清毛片| 国产精品99在线观看| 国产精品任我爽爆在线播放6080 | 又爽又大又光又色的午夜视频| 色综合中文综合网| 欧美成人看片一区二区三区| 99久久亚洲精品影院| 国产一区二区影院| 欧美区一区| 婷婷六月综合网| 久久亚洲中文字幕精品一区| a在线亚洲男人的天堂试看| 国产微拍一区| 欧美翘臀一区二区三区| 毛片大全免费观看| 亚洲国产91人成在线| 污视频日本| 欧美三級片黃色三級片黃色1| 久久精品人人做人人爽电影蜜月| 2022国产无码在线| 亚洲天堂精品视频| 97成人在线视频| 国产青青操| 色视频国产| 欧美精品xx| 潮喷在线无码白浆| 日本不卡在线播放| 2020亚洲精品无码| 亚洲精品动漫在线观看| 伊人无码视屏| 国产在线精品美女观看| 中文字幕永久视频| 欧美第九页| 国产白浆在线观看| 九色91在线视频| 中国一级特黄大片在线观看| 欧美日韩国产成人在线观看| 国产精品第| 国产精品19p| 色视频久久| 亚洲欧美日韩视频一区| 伊人91在线| 丁香五月婷婷激情基地| 欧美性精品| 午夜精品福利影院| 超级碰免费视频91| 在线观看无码a∨| 亚洲一级毛片免费看| 久久国产精品77777| 免费人成又黄又爽的视频网站| 亚洲精品欧美重口| 久久精品嫩草研究院| 国产精选小视频在线观看| 欧美.成人.综合在线| 久久久精品久久久久三级| 亚洲一区黄色| 一区二区在线视频免费观看| 亚洲成人黄色网址| 国产视频大全| 青青草原国产精品啪啪视频|