本發(fā)明涉及一種適應(yīng)IEEE 802.15.4標(biāo)準(zhǔn)的協(xié)議時鐘系統(tǒng),屬于時鐘同步技術(shù)領(lǐng)域。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(WSN)是一個分布式系統(tǒng),節(jié)點(diǎn)通過無線方式通信。IEEE802.15.4協(xié)議標(biāo)準(zhǔn)描述了低速率無線個人局域網(wǎng)的物理層和媒體接入控制,工作在868/915M、2.4GHz的ISM頻段上,數(shù)據(jù)傳輸速率最高可達(dá)250kbps。其低功耗、低成本的優(yōu)點(diǎn)使它在很多領(lǐng)域獲得了廣泛的應(yīng)用。IEEE802.15.4協(xié)議的實施是建立在一套嚴(yán)密的時鐘序列基礎(chǔ)之上的,比如信道掃描和信道接入都有嚴(yán)格的時鐘要求。協(xié)調(diào)器在建立網(wǎng)絡(luò)時要進(jìn)行信道掃描,節(jié)點(diǎn)在加入網(wǎng)絡(luò)時也要進(jìn)行信道掃描,掃描時間是以Symbols為單位計時的;當(dāng)使用CSMA-CA機(jī)制進(jìn)行媒體接入時,IEEE802.15.4協(xié)議使用退避周期為單位進(jìn)行計時;當(dāng)采用TDMA時分機(jī)制進(jìn)行媒體接入時,IEEE802.15.4協(xié)議使用SoC時間戳進(jìn)行時鐘同步。由此可見,IEEE802.15.4協(xié)議進(jìn)行不同的處理,需要不同的計時單位,這必將給學(xué)習(xí)者和開發(fā)者帶來不便。
目前市場上現(xiàn)有的SoC片上系統(tǒng)都有一個時鐘系統(tǒng),時鐘系統(tǒng)由時鐘計數(shù)器和溢出計數(shù)器組成,采用循環(huán)流水記賬方式進(jìn)行計時。比如TI公司的CC2530片上系統(tǒng)的時鐘系統(tǒng)有主時鐘計數(shù)器T2和T2溢出計數(shù)器OVF兩個寄存器組成,T2有兩字節(jié),OVF有三個字節(jié),T2和OVF計數(shù)器可以設(shè)置各自的循環(huán)計數(shù)周期。一個主時鐘周期,T2累加1,當(dāng)累加到T2的計數(shù)周期時,向OVF計數(shù)器溢出1,再從0開始計數(shù);當(dāng)OVF計數(shù)到OVF的計數(shù)周期時產(chǎn)生溢出,OVF清零。顯然,這樣的時鐘系統(tǒng)需要進(jìn)行復(fù)雜的時鐘換算,才能應(yīng)用于IEEE802.15.4標(biāo)準(zhǔn)的計時需求。這種計時時間的換算不僅使得應(yīng)用程序的復(fù)雜度增加,而且勢必造 成能量的多余消耗。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種適應(yīng)IEEE 802.15.4標(biāo)準(zhǔn)的協(xié)議時鐘系統(tǒng),以解決目前IEEE 802.15.4標(biāo)準(zhǔn)時鐘系統(tǒng)需要進(jìn)行復(fù)雜的時鐘換算導(dǎo)致能量多余消耗的問題。
本發(fā)明為解決上述技術(shù)問題而提供了一種適應(yīng)IEEE 802.15.4標(biāo)準(zhǔn)的協(xié)議時鐘系統(tǒng),該協(xié)議時鐘系統(tǒng)包括主時鐘計數(shù)器、退避周期計數(shù)器和時隙計數(shù)器;所述的主時鐘計數(shù)器用于對主時鐘計數(shù),當(dāng)主時鐘計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到一個退避周期時,向退避周期計數(shù)器進(jìn)1,主時鐘計數(shù)器清零重新計數(shù);所述的退避周期計數(shù)器用于對退避周期進(jìn)行計數(shù),當(dāng)退避周期計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到一個TDMA時隙時向時隙計數(shù)器進(jìn)1,退避周期計數(shù)器清零并重新計數(shù);所述時隙計數(shù)器用于為對TDMA時隙進(jìn)行計數(shù),時隙計數(shù)器的每一個數(shù)值對應(yīng)一個節(jié)點(diǎn),當(dāng)時隙計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到網(wǎng)絡(luò)節(jié)點(diǎn)的采樣周期時,時隙計數(shù)器清零開始下一輪計時。
當(dāng)IEEE 802.15.4協(xié)議進(jìn)行信道掃描時,其掃描時間為退避周期計數(shù)器內(nèi)的數(shù)值。
當(dāng)IEEE 802.15.4協(xié)議采用CSMA-CA機(jī)制進(jìn)行數(shù)據(jù)傳輸時,采用退避周期計數(shù)器的計數(shù)值來控制CSMA-CA機(jī)制的延遲計時。
當(dāng)IEEE 802.15.4協(xié)議采用TDMA機(jī)制進(jìn)行數(shù)據(jù)傳輸時,將時隙計數(shù)器的每一個數(shù)值對應(yīng)一個終端節(jié)點(diǎn),根據(jù)時隙計數(shù)器內(nèi)的計數(shù)值控制對應(yīng)的終端節(jié)點(diǎn)在自己的時隙內(nèi)與匯聚節(jié)點(diǎn)通訊,使網(wǎng)絡(luò)中節(jié)點(diǎn)按順序使用通訊信道,以避免通訊信道上數(shù)據(jù)沖突。
當(dāng)IEEE 802.15.4協(xié)議采用TDMA機(jī)制進(jìn)行數(shù)據(jù)傳輸時,所有節(jié)點(diǎn)的協(xié)議時鐘系統(tǒng)各個計數(shù)器的數(shù)值相同,并具有相同主時鐘計數(shù)器周期、相同的退避周期 計數(shù)器周期、相同的時隙計數(shù)器周期以及相同的主時鐘頻率。
當(dāng)節(jié)點(diǎn)k加入網(wǎng)絡(luò)后,節(jié)點(diǎn)k以匯聚節(jié)點(diǎn)的時間戳調(diào)整自身協(xié)議時鐘后,判斷當(dāng)前協(xié)議時鐘系統(tǒng)中時隙計數(shù)器數(shù)值所對應(yīng)的時間是否是自己的采樣時隙開始邊緣,若是,則進(jìn)行采樣并將采樣數(shù)據(jù)發(fā)往匯聚節(jié)點(diǎn);若不是,則該節(jié)點(diǎn)進(jìn)入首次休眠,直到協(xié)議時鐘系統(tǒng)中時隙計數(shù)器數(shù)值所對應(yīng)的時間為自己的采樣時隙開始邊緣喚醒。
節(jié)點(diǎn)的首次休眠時間tFirstSleep為:
其中tStart為節(jié)點(diǎn)對應(yīng)的時隙的開始邊緣,tJoin為節(jié)點(diǎn)加入網(wǎng)絡(luò)的時間,TCycle為網(wǎng)絡(luò)的采樣周期。
節(jié)點(diǎn)首次采樣并成功傳送數(shù)據(jù)后,進(jìn)入正常的按輪采樣數(shù)據(jù),即節(jié)點(diǎn)的喚醒按照協(xié)議時鐘系統(tǒng)中時隙計數(shù)器的計數(shù)值進(jìn)行控制,當(dāng)時隙計數(shù)器的計數(shù)值為該節(jié)點(diǎn)的對應(yīng)數(shù)值時,喚醒該節(jié)點(diǎn)完成環(huán)境采樣并傳輸數(shù)據(jù)。
節(jié)點(diǎn)從休眠狀態(tài)喚醒后需進(jìn)行協(xié)議時鐘調(diào)整,各個計數(shù)器調(diào)整結(jié)果如下:
TClock=(C+NCS)mod PC
TBackOff=(BOtick+NBS)mod PBak
TSlot=(STtick+NSS)mod PSlot
其中,TClock為主時鐘計數(shù)器,TBackOff為退避周期計數(shù)器,TSlot為時隙計數(shù)器; C為節(jié)點(diǎn)休眠期間32K時鐘換算成32M時鐘對應(yīng)的ticks數(shù);NCS、NBS和NSS分別為休眠前TClock、TBackOff和TSlot中的值;PC、PBak和PSlot分別為主時鐘計數(shù)器周期、退避周期計數(shù)器和時隙計數(shù)器的計數(shù)周期。
本發(fā)明的有益效果是:本發(fā)明的協(xié)議時鐘系統(tǒng)包括主時鐘計數(shù)器、退避周期計數(shù)器和時隙計數(shù)器;主時鐘計數(shù)器用于對主時鐘計數(shù),當(dāng)主時鐘計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到一個退避周期時,向退避周期計數(shù)器進(jìn)1,主時鐘計數(shù)器清零重新計數(shù);退避周期計數(shù)器用于對退避周期進(jìn)行計數(shù),當(dāng)退避周期計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到一個TDMA時隙時向時隙計數(shù)器進(jìn)1,退避周期計數(shù)器清零并重新計數(shù);時隙計數(shù)器的每一個數(shù)值對應(yīng)一個節(jié)點(diǎn),當(dāng)時隙計數(shù)器計數(shù)值所對應(yīng)的時間達(dá)到網(wǎng)絡(luò)節(jié)點(diǎn)的采樣周期時,時隙計數(shù)器清零開始下一輪計時。本發(fā)明的時鐘系統(tǒng)能夠適應(yīng)IEEE 802.15.4協(xié)議標(biāo)準(zhǔn),無論是在信道掃描、CSMA-CA機(jī)制接入媒體還是TDMA機(jī)制接入媒體時,均能直接使用該時鐘系統(tǒng)進(jìn)行計時,無需通過復(fù)雜的換算,從而降低了開發(fā)程序的復(fù)雜度,并進(jìn)一步降低了的系統(tǒng)能耗。
附圖說明
圖1是本發(fā)明802.15.4協(xié)議時鐘系統(tǒng)的原理圖;
圖2是CSMA-CA算法流程圖;
圖3是星型網(wǎng)絡(luò)節(jié)點(diǎn)時鐘同步過程圖;
圖4是節(jié)點(diǎn)首次休眠時間tFirstSleep示意圖;
圖5是節(jié)點(diǎn)在正常數(shù)據(jù)采集中喚醒和休眠時間示意圖;
圖6是CC2530SoC的時鐘調(diào)整算法原理圖;
圖7是采樣周期為1分鐘采樣時隙為1秒的協(xié)議時鐘示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施方式做進(jìn)一步的說明。
為了滿足IEEE 802.15.4標(biāo)準(zhǔn)的各種時鐘計時要求,包括設(shè)備進(jìn)行信道掃描計 時、競爭訪問媒體計時以及時分多址(TDMA)訪問媒體計時,本發(fā)明提供了一種適應(yīng)IEEE 802.15.4標(biāo)準(zhǔn)的協(xié)議時鐘系統(tǒng),該協(xié)議時鐘系統(tǒng)包括主時鐘計數(shù)器、退避周期計數(shù)器和時隙計數(shù)器三部分,用T表示,該協(xié)議時鐘系統(tǒng)的格式可表示為:
T=TSlot:TBackOff:TClock
其中,TClock為主時鐘計數(shù)器,802.15.4協(xié)議規(guī)定主時鐘為32mHz/s,即TClock=1/32us;TBackOff為退避周期計數(shù)器,802.15.4協(xié)議規(guī)定一個退避周期為320us,即TBackOff=320÷1/32=10240(TClock);TSlot為時隙計數(shù)器,在TDMA機(jī)制里,一個設(shè)備對應(yīng)一個時隙,一個時隙有若干個退避周期構(gòu)成,即TSlot=k·TBackOff,k為在具體應(yīng)用中用戶規(guī)定的一個整數(shù),其數(shù)值大小決定了TSlot的大小,TSlot大小必須滿足節(jié)點(diǎn)能夠在1個TSlot內(nèi)完成環(huán)境數(shù)據(jù)采樣。
當(dāng)TClock計數(shù)器計數(shù)到10240時,向計數(shù)器TBackOff進(jìn)1,TClock計數(shù)清零后重新計數(shù);當(dāng)TBackOff計數(shù)器計數(shù)到k時,向TSlot計數(shù)器進(jìn)1,TBackOff計數(shù)器清零后重新計數(shù);當(dāng)TSlot計數(shù)器計數(shù)到某個數(shù)值N時,TSlot計數(shù)器清零,開始下一輪計時,數(shù)值N所對應(yīng)的時間為網(wǎng)絡(luò)節(jié)點(diǎn)的采樣周期,用Tcycle表示,即
Tcycle=N·TSlot
網(wǎng)絡(luò)中所有節(jié)點(diǎn)每隔Tcycle周期向匯聚節(jié)點(diǎn)傳送一次數(shù)據(jù),協(xié)議時鐘系統(tǒng)可采用圖1表示,從中可以看出,本發(fā)明的協(xié)議時鐘系統(tǒng)包含有N個時隙。在星型網(wǎng)絡(luò)中,當(dāng)使用TDMA機(jī)制進(jìn)行數(shù)據(jù)傳輸時,網(wǎng)絡(luò)中每個節(jié)點(diǎn)分配一個時隙TSlot,節(jié)點(diǎn)在自己的時隙內(nèi)喚醒采樣并傳輸數(shù)據(jù),在非自己的時隙內(nèi)處于低功耗休眠狀態(tài),因此,在該星型網(wǎng)絡(luò)中,節(jié)點(diǎn)數(shù)不能超過N。
本發(fā)明適應(yīng)IEEE 802.15.4標(biāo)準(zhǔn)的協(xié)議時鐘系統(tǒng)能夠為信道掃描提供計時,為 CSMA-CA機(jī)制提供退避周期,為TDMA機(jī)制提供采樣時隙。
1.為信道掃描提供計時
IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)定義了四種信道掃描方式,ED信道掃描(ED Scan)、主動信道掃描(Active Scan)、被動信道掃描(Passive Scan)和孤立信道掃描(Orphan Scan)。IEEE 802.15.4協(xié)議規(guī)定ED信道掃描、主動信道掃描和被動信道掃描的掃描時間為aBaseSuperframeDuration*(2n+1)symbols,其中aBaseSuperframeDuration=aBaseSlotDuration*aNumSuperframeSlots=60*16=960sy mbols,Symbols=16us=16/320TBackOff,因此ED信道掃描、主動信道掃描和被動信道掃描的掃描時間為:
48*(2n+1)TBackOff
其中n=0、1、2、…、14,在實際應(yīng)用中,ED信道掃描、主動信道掃描和被動信道掃描的掃描時間可以通過協(xié)議時鐘系統(tǒng)的TBackOff計數(shù)器內(nèi)的數(shù)值獲得。
802.15.4協(xié)議規(guī)定孤立信道掃描的掃描時間為aResponseWaitTime symbols。
aResponseWaitTime=32 aBaseSuperframeDuration=32*960symbol=1536TBackoff
在實際應(yīng)用中,對于孤立信道掃描時,采用協(xié)議時鐘系統(tǒng)中的TBackOff計數(shù)器對掃描時間進(jìn)行控制。
2.為CSMA-CA提供退避周期
當(dāng)IEEE802.15.4協(xié)議采用CSMA-CA機(jī)制訪問媒體時,節(jié)點(diǎn)在傳送數(shù)據(jù)前,需隨機(jī)延遲若干個退避周期,再檢查信道是否空閑,若空閑,即可訪問信道;若信道忙碌,則隨機(jī)等待若干退避周期后,再次進(jìn)行信道空閑評估,具體的CSMA-CA算法如圖2所示,從中可以看出,無論是信標(biāo)使能的時隙型CSMA-CA,還是信標(biāo)不使能的非時隙CSMA-CA算法,都使用了以退避周期為單位的計時機(jī) 制。因此,可采用本發(fā)明協(xié)議時鐘系統(tǒng)中的退避周期計數(shù)器TBackOff的計數(shù)值直接控制CSMA-CA算法的延遲計時,在控制CSMA-CA算法的延遲計時時只需統(tǒng)計協(xié)議時鐘系統(tǒng)中退避周期計數(shù)器的計數(shù)值即可。
3.為TDMA提供采樣時隙
TDMA(Time Division Multiple Access)時分多址算法,就是將每一個終端節(jié)點(diǎn)與協(xié)議時鐘系統(tǒng)上的一個時隙相對應(yīng),即,一個節(jié)點(diǎn)對應(yīng)時隙計數(shù)器的一個數(shù)值。終端節(jié)點(diǎn)在自己的時隙內(nèi)與匯聚節(jié)點(diǎn)通訊,使網(wǎng)絡(luò)中節(jié)點(diǎn)按順序使用通訊信道,從而避免了通訊信道上數(shù)據(jù)沖突。TDMA機(jī)制是以網(wǎng)絡(luò)中節(jié)點(diǎn)之間時鐘同步為基礎(chǔ)的。每個終端節(jié)點(diǎn)在自己的時隙開始邊緣上喚醒采樣環(huán)境數(shù)據(jù),并發(fā)往匯聚節(jié)點(diǎn)。一旦數(shù)據(jù)傳輸成功,節(jié)點(diǎn)即進(jìn)入低功耗休眠階段,直到下一個采樣周期喚醒。設(shè)終端節(jié)點(diǎn)k對應(yīng)的時隙計數(shù)器的計數(shù)值k,即,協(xié)議時鐘系統(tǒng)鐘面上第k個時隙。利用TDMA機(jī)制傳輸數(shù)據(jù)時不僅要考慮節(jié)點(diǎn)時鐘同步和節(jié)點(diǎn)的時鐘校對,還要考慮節(jié)點(diǎn)首次休眠和節(jié)點(diǎn)常態(tài)休眠。
1)節(jié)點(diǎn)之間的時鐘系統(tǒng)同步
時鐘系統(tǒng)同步的最終目標(biāo)是使網(wǎng)絡(luò)中所有節(jié)點(diǎn)的協(xié)議時鐘時間一致,只有網(wǎng)絡(luò)中所有節(jié)點(diǎn)的時鐘同步了,才能保證TDMA機(jī)制有序使用信道。在定期采樣的星型網(wǎng)絡(luò)中,若要使用TDMA機(jī)制進(jìn)行數(shù)據(jù)傳輸,則節(jié)點(diǎn)之間的協(xié)議時鐘必須同步。不僅要求在同一時刻,所有節(jié)點(diǎn)的協(xié)議時鐘系統(tǒng)各個計數(shù)器的數(shù)值相同,而且還要求具有相同主時鐘計數(shù)器周期、相同的退避周期計數(shù)器周期、相同的時隙計數(shù)器周期以及相同的主時鐘頻率。
在星型網(wǎng)絡(luò)模型中,因為關(guān)心的是終端節(jié)點(diǎn)之間的時鐘同步。如果將匯聚節(jié)點(diǎn)和終端節(jié)點(diǎn)的協(xié)議時鐘系統(tǒng)表示為相同的形式,采用“發(fā)送者-接受者”算法,很容易實現(xiàn)星型網(wǎng)絡(luò)中終端節(jié)點(diǎn)之間的時鐘同步。終端節(jié)點(diǎn)向匯聚節(jié)點(diǎn)請求時間 戳,匯聚節(jié)點(diǎn)收到請求后,將自己的時間戳發(fā)送給終端節(jié)點(diǎn),終端節(jié)點(diǎn)以此來調(diào)整自己的協(xié)議時鐘系統(tǒng)即可。
設(shè)節(jié)點(diǎn)k發(fā)送時間戳請求,匯聚節(jié)點(diǎn)響應(yīng)時的時間戳為t0k,節(jié)點(diǎn)k的時間戳為tk;節(jié)點(diǎn)j發(fā)送時間戳請求,匯聚節(jié)點(diǎn)響應(yīng)時的時間戳為t0j,節(jié)點(diǎn)j的時間戳為tj,則:
tk=t0k+t1k+t2k+t3k+t4k+t5k+t6k
tj=t0j+t1j+t2j+t3j+t4j+t5j+t6j
其中:t1k、t1j為匯聚節(jié)點(diǎn)響應(yīng)節(jié)點(diǎn)的時間戳請求時,將時間戳放入發(fā)送緩沖區(qū)所用時間;因為匯集節(jié)點(diǎn)處理同一進(jìn)程時間消耗是相同的,所以t1k=t1j;t2k、t2j為匯聚節(jié)點(diǎn)響應(yīng)節(jié)點(diǎn)時間戳請求時的等待信道接入時間,匯聚節(jié)點(diǎn)在響應(yīng)時間戳請求時,等到信道空閑并發(fā)送完前導(dǎo)碼后,再將自己的時間戳放入發(fā)送緩沖區(qū),即t2k=t2j;t3k、t3j為時間戳信息幀發(fā)射時間,因為匯聚節(jié)點(diǎn)的發(fā)射速率是固定的,響應(yīng)節(jié)點(diǎn)的幀長度是相同的,所以t3k=t3j;t4k、t4j為時間戳信息幀在空中傳播時間,由于星型網(wǎng)絡(luò)區(qū)域很小,信息在空中傳播時延可以忽略,因此t4k=t4j;t5k、t5j為節(jié)點(diǎn)接收時間戳所用時間,t6k、t6j為節(jié)點(diǎn)將時間戳調(diào)整為協(xié)議時鐘所用時間,當(dāng)網(wǎng)絡(luò)中所有節(jié)點(diǎn)采用相同的硬件模塊時,忽略硬件固有的性能差異,則t5k=t5j,t6k=t6j。通過以上分析可知:
tk-tj=t0k-t0j
說明了星型傳感器網(wǎng)絡(luò)中終端節(jié)點(diǎn)k和j的時間戳與匯聚節(jié)點(diǎn)的時間戳之差是一樣的,也就是說,節(jié)點(diǎn)k和j的協(xié)議時鐘相對于匯聚節(jié)點(diǎn)是同步的,該星型網(wǎng)絡(luò)中終端節(jié)點(diǎn)的時鐘的同步過程如圖3所示。從中可以看出,當(dāng)匯聚節(jié)點(diǎn)的協(xié)議時鐘走到t0k時刻時,信道空閑,匯聚節(jié)點(diǎn)將自己的時間戳發(fā)送給節(jié)點(diǎn)k,節(jié) 點(diǎn)k以接收的匯聚節(jié)點(diǎn)時間戳調(diào)整自己的協(xié)議時鐘為tk;當(dāng)匯聚節(jié)點(diǎn)的協(xié)議時鐘走到t0j時刻時,信道空閑,匯聚節(jié)點(diǎn)將此時的時間戳發(fā)送給節(jié)點(diǎn)j,節(jié)點(diǎn)j以接收的匯聚節(jié)點(diǎn)時間戳調(diào)整自己的協(xié)議時鐘為tj。
2)節(jié)點(diǎn)首次休眠
當(dāng)節(jié)點(diǎn)k加入網(wǎng)絡(luò)后,發(fā)送時間戳請求,匯聚節(jié)點(diǎn)響應(yīng)時間戳?xí)r告知節(jié)點(diǎn)k所對應(yīng)的采樣時隙,節(jié)點(diǎn)k接收到時間戳后,節(jié)點(diǎn)k以匯聚節(jié)點(diǎn)的時間戳調(diào)整自身協(xié)議時鐘后,判斷當(dāng)前協(xié)議時鐘系統(tǒng)中時隙計數(shù)器數(shù)值所對應(yīng)的時間是否是自己的采樣時隙開始邊緣,若是,則進(jìn)行采樣并將采樣數(shù)據(jù)發(fā)往匯聚節(jié)點(diǎn);若不是,則該節(jié)點(diǎn)進(jìn)入首次休眠,直到協(xié)議時鐘系統(tǒng)中時隙計數(shù)器數(shù)值所對應(yīng)的時間為自己的采樣時隙開始邊緣喚醒。節(jié)點(diǎn)的首次休眠時間tFirstSleep為:
其中tStart為節(jié)點(diǎn)對應(yīng)的時隙的開始邊緣,tJoin為節(jié)點(diǎn)加入網(wǎng)絡(luò)的時間,TCycle為網(wǎng)絡(luò)的采樣周期。本實施例中節(jié)點(diǎn)的首次休眠時間如圖4所示。
3)節(jié)點(diǎn)常規(guī)休眠時間
節(jié)點(diǎn)首次采樣并成功傳送數(shù)據(jù)后,進(jìn)入正常的按輪采樣數(shù)據(jù),即節(jié)點(diǎn)的喚醒按照協(xié)議時鐘系統(tǒng)中時隙計數(shù)器的計數(shù)值進(jìn)行控制,當(dāng)時隙計數(shù)器的計數(shù)值為該節(jié)點(diǎn)的對應(yīng)數(shù)值時,喚醒該節(jié)點(diǎn)完成環(huán)境采樣并傳輸數(shù)據(jù)。每次采樣傳輸數(shù)據(jù)之后,進(jìn)入低功耗休眠節(jié)點(diǎn),直到下一輪采樣開始。節(jié)點(diǎn)k對應(yīng)協(xié)議時鐘的第k個時隙。節(jié)點(diǎn)k完成環(huán)境采樣并成功傳輸完數(shù)據(jù),所需要的時間用tDone表示,則節(jié)點(diǎn)k的休眠時間tSleep為:
tSleep=Tcycle-tDone
其中tDone<TSlot,本實施例中,節(jié)點(diǎn)在正常數(shù)據(jù)采集中,喚醒和休眠時間如圖5所示。
4)協(xié)議時鐘系統(tǒng)的調(diào)整
下面以CC2530為例進(jìn)行說明。CC2530節(jié)點(diǎn)在休眠階段,32MHz系統(tǒng)時鐘是停止工作的,32kHz時鐘繼續(xù)運(yùn)行,因此節(jié)點(diǎn)從休眠狀態(tài)喚醒后應(yīng)進(jìn)行系統(tǒng)時鐘調(diào)整,CC2530SoC的時鐘調(diào)整算法如圖6所示。在CC2530系統(tǒng)時鐘調(diào)整的基礎(chǔ)上,設(shè):NCS、NBS和NSS分別表示節(jié)點(diǎn)休眠前,計數(shù)器TClock、TBackOff和TSlo終的值;PC、PBak和PSlot分別表示計數(shù)器TClock、TBackOff和TSlo的技術(shù)周期;C表示為節(jié)點(diǎn)休眠期間32KHz時鐘換算成32MHz時鐘對應(yīng)的ticks數(shù)。則,節(jié)點(diǎn)喚醒后本發(fā)明協(xié)議時鐘系統(tǒng)中各個計數(shù)器調(diào)整如下:
TClock=(C+NCS)mod PC
TBackOff=(BOtick+NBS)mod PBak
TSlot=(STtick+NSS)mod PSlot
其中,TClock為主時鐘計數(shù)器,TBackOff為退避周期計數(shù)器,TSlot為時隙計數(shù)器;C為節(jié)點(diǎn)休眠期間32K時鐘換算成32M時鐘對應(yīng)的ticks數(shù);NCS、NBS和NSS分別為休眠前TClock、TBackOff和TSlot中的值;PC、PBak和PSlot分別為主時鐘計數(shù)器周期、退避周期計數(shù)器和時隙計數(shù)器的計數(shù)周期。
本發(fā)明所建立的協(xié)議時鐘的鐘面如圖7所示,可見該協(xié)議時鐘系統(tǒng)能夠適應(yīng)IEEE 802.15.4協(xié)議標(biāo)準(zhǔn),無論是在信道掃描、CSMA-CA機(jī)制接入媒體還是TDMA 機(jī)制接入媒體時,均能直接使用該時鐘系統(tǒng)進(jìn)行計時,無需通過復(fù)雜的換算,從而降低了開發(fā)程序的復(fù)雜度,并進(jìn)一步降低了的系統(tǒng)能耗。