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

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

基于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位的定時器,其用法差不多一樣,只是相應寄存器的配置有些不同。現以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

404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
主站蜘蛛池模板: 人人91人人澡人人妻人人爽 | 欧美日韩亚洲国产主播第一区| 久99久热只有精品国产15| 尤物国产在线| 亚洲三级色| 精品剧情v国产在线观看| 亚洲女同欧美在线| 国产99精品久久| 99re在线观看视频| 成人一级免费视频| 成人在线观看不卡| 国产视频自拍一区| 青青青伊人色综合久久| 波多野结衣久久高清免费| 91精品啪在线观看国产91九色| 114级毛片免费观看| 亚洲人在线| 国产精品手机视频一区二区| 免费av一区二区三区在线| 日本午夜视频在线观看| 国产天天射| 在线综合亚洲欧美网站| 国产迷奸在线看| 国产成人综合在线观看| 自偷自拍三级全三级视频| 91国内在线观看| 国产欧美精品专区一区二区| 制服丝袜一区| 日韩天堂网| 色综合色国产热无码一| 美女无遮挡免费网站| 92午夜福利影院一区二区三区| 久久一级电影| 欧美日韩在线成人| 日韩成人在线视频| 狠狠ⅴ日韩v欧美v天堂| 色男人的天堂久久综合| 麻豆精品国产自产在线| 91麻豆国产视频| 亚洲天堂久久新| 黄色免费在线网址| 国产精品久久国产精麻豆99网站| 久久国产精品娇妻素人| 国产欧美日韩另类精彩视频| 亚洲青涩在线| 日韩精品一区二区三区大桥未久| 色欲综合久久中文字幕网| 99精品视频九九精品| jizz在线观看| 真人高潮娇喘嗯啊在线观看| 高清不卡一区二区三区香蕉| 国产精品黑色丝袜的老师| 片在线无码观看| 国产毛片高清一级国语| 色老二精品视频在线观看| 国产精品人莉莉成在线播放| 激情视频综合网| 免费无码又爽又刺激高| 亚洲欧美自拍一区| 人妻丰满熟妇αv无码| 国产成人8x视频一区二区| 亚洲三级影院| 日韩欧美国产区| 亚洲国产欧美自拍| 日韩亚洲综合在线| 99久久精彩视频| 精品一区二区无码av| 国产jizzjizz视频| 美女无遮挡拍拍拍免费视频| 天堂成人在线视频| 午夜不卡视频| 欧美视频在线观看第一页| 精品国产免费人成在线观看| 国产乱人视频免费观看| 国产jizz| 毛片免费网址| 欧美视频在线播放观看免费福利资源| 精品在线免费播放| 视频二区亚洲精品| 亚洲自偷自拍另类小说| 91精品免费久久久| 国产精品成人AⅤ在线一二三四|