李 威
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇常州,213022)
基于CORDIC算法的無線傳感器網(wǎng)絡(luò)同步時(shí)鐘源的研究
李 威
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇常州,213022)
時(shí)鐘同步是無線傳感器網(wǎng)絡(luò)的一項(xiàng)重要支撐技術(shù)。針對(duì)無線傳感器網(wǎng)絡(luò)的時(shí)鐘同步,本文提出了一種基于CORDIC算法的改進(jìn)型DDS系統(tǒng)。介紹了CORDIC算法的原理,采用QuartusⅡ軟件對(duì)時(shí)鐘源系統(tǒng)的各個(gè)模塊進(jìn)行了詳細(xì)設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的性能指標(biāo)達(dá)到了設(shè)計(jì)要求。
時(shí)鐘同步;無線傳感器網(wǎng)絡(luò);DDS;CORDIC
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)融合了傳感器技術(shù)、嵌入式技術(shù)、數(shù)據(jù)處理技術(shù)和通信技術(shù),被廣泛地應(yīng)用于軍事、環(huán)境、交通、工業(yè)、家居等領(lǐng)域[1]。無線傳感器網(wǎng)絡(luò)是一種由大量部署在監(jiān)測(cè)區(qū)域中具有感知、通信和處理能力的傳感器節(jié)點(diǎn)以自組織方式構(gòu)成的網(wǎng)絡(luò),并以多跳的方式將數(shù)據(jù)由數(shù)據(jù)源沿多個(gè)節(jié)點(diǎn)傳送至匯聚節(jié)點(diǎn)。無線傳感器網(wǎng)絡(luò)的諸多特性,如有限的硬件資源和能量、密集的節(jié)點(diǎn)分布、龐大的網(wǎng)絡(luò)規(guī)模、動(dòng)態(tài)的網(wǎng)絡(luò)拓?fù)涞龋瑳Q定了其廣闊的應(yīng)用前景。
時(shí)鐘同步技術(shù)是無線傳感器網(wǎng)絡(luò)的一項(xiàng)重要支撐技術(shù),為網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的本地時(shí)鐘提供一個(gè)統(tǒng)一的時(shí)間標(biāo)尺。在無線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)晶振漂移和信息交換過程中產(chǎn)生傳輸延遲等因素導(dǎo)致各節(jié)點(diǎn)本地時(shí)鐘之間存在一定偏差。對(duì)于需要協(xié)同工作的傳感器節(jié)點(diǎn)來說,統(tǒng)一的時(shí)間尺度是必要的。此外,傳感器網(wǎng)絡(luò)的一些特殊應(yīng)用,如傳感器節(jié)點(diǎn)的數(shù)據(jù)融合,休眠喚醒節(jié)能機(jī)制等,對(duì)基準(zhǔn)時(shí)鐘提出了很高的要求。因此,無線傳感器網(wǎng)絡(luò)中的同步時(shí)鐘源具有重要的研究意義和實(shí)用價(jià)值。


圖1 直角坐標(biāo)下向量的旋轉(zhuǎn)



因此,CORDIC算法旋轉(zhuǎn)模式的差分方程可以寫為:


因此,由式(5)和(6)可以得到:

本時(shí)鐘源主要采用MCU + FPGA架構(gòu),實(shí)現(xiàn)了基于CORDIC算法的改進(jìn)型DDS系統(tǒng)。該系統(tǒng)主要由MCU、銣原子振蕩器、FPGA、數(shù)模轉(zhuǎn)換器和低通濾波器等5部分組成。其中,MCU主要負(fù)責(zé)將所需波形的配置數(shù)據(jù)發(fā)送至FPGA。銣原子振蕩器主要為FPGA提供頻率基準(zhǔn)。FPGA根據(jù)接收到的配置數(shù)據(jù),通過DDS模塊產(chǎn)生相應(yīng)頻率和相位的波形,最后經(jīng)由數(shù)模轉(zhuǎn)換器和低通濾波器輸出。DDS的工作原理框圖如圖2所示。

圖2 DDS工作原理框圖
DDS的實(shí)質(zhì)是以基準(zhǔn)頻率源(銣原子振蕩器)對(duì)相位進(jìn)行等間隔采樣,其工作過程[4]如下:在參考時(shí)鐘的作用下,位相位累加器對(duì)頻率控制字進(jìn)行累加,其輸出為相位碼的高位,然后通過ROM查詢表轉(zhuǎn)換得到相應(yīng)的位幅度碼。幅度碼由外接的數(shù)模轉(zhuǎn)換器變換得到模擬的階梯波電壓,最后經(jīng)過低通濾波器濾掉諧波分量,抑制高頻雜散,平滑為連續(xù)的正弦波形。通過外接比較器可以得到抖動(dòng)很小的方波信號(hào),即所需的標(biāo)準(zhǔn)時(shí)鐘源。因此,通過改變頻率控制字就可以改變輸出頻率。此時(shí)輸出信號(hào)的頻率為:

DDS技術(shù)的關(guān)鍵在于相幅轉(zhuǎn)換模塊。由于ROM查表法受到ROM存儲(chǔ)容量的限制,其性能提高的空間有限。在實(shí)際應(yīng)用中,實(shí)時(shí)的正余弦計(jì)算替代ROM查表法可以節(jié)省更多的資源[5]。因此,本文采用CORDIC算法通過加/減法和移位運(yùn)算,實(shí)現(xiàn)正余弦計(jì)算以替代ROM查詢表。
下面采用QuartusⅡ軟件對(duì)DDS系統(tǒng)的各個(gè)模塊進(jìn)行了詳細(xì)設(shè)計(jì),給出并分析了各模塊的仿真結(jié)果。
2.1 相位累加器模塊

圖3 相位累加器模塊的宏模塊圖
圖3 是一個(gè)6位的相位累加器。在時(shí)鐘脈沖clock的控制下,頻率控制字dataa[5..0]與頻率控制字寄存器相加。每個(gè)時(shí)鐘周期頻率控制字累加一次,再與相位控制字datab[5..0]相加并輸出。因此,輸出序列本質(zhì)上是一組等差數(shù)列,數(shù)列的公差即為頻率控制字。

圖4 相位累加器模塊的仿真結(jié)果
如圖4所示,在clock信號(hào)的控制下,頻率控制字dataa設(shè)置為4,相位控制字datab設(shè)置為0,輸出結(jié)果out產(chǎn)生步長(zhǎng)為4的數(shù)列,遞增到64時(shí)溢出,進(jìn)入下一個(gè)周期。觀察仿真結(jié)果可知,輸出信號(hào)的周期為1.6。
2.2 相位轉(zhuǎn)換模塊
由于角度值、輸出的正余弦值及其中間結(jié)果均采用二進(jìn)制補(bǔ)碼格式的定點(diǎn)數(shù),因此相位累加器的輸出值需要完成相位轉(zhuǎn)換才能接入CORDIC模塊進(jìn)行計(jì)算。相位累加器的輸出范圍為,頻率分辨率為,所以相位累加器輸出的相位為。經(jīng)過角度擴(kuò)展后的CORDIC模塊覆蓋的角度范圍為,而的范圍是,因此采用即可將相位轉(zhuǎn)換為的二進(jìn)制補(bǔ)碼相位值。

圖5 相位轉(zhuǎn)換模塊的宏模塊圖

圖6 相位轉(zhuǎn)換模塊的仿真結(jié)果
從圖6可以看出,當(dāng)相位累加器輸出為45時(shí),相位轉(zhuǎn)換模塊將其轉(zhuǎn)換為弧度1.078所對(duì)應(yīng)的二進(jìn)制補(bǔ)碼138。
2.3 CORDIC模塊

圖7 CORDIC模塊的宏模塊圖
CORDIC模塊的宏模塊圖如圖7所示。它作為實(shí)時(shí)的正余弦計(jì)算器,替代了傳統(tǒng)DDS系統(tǒng)的ROM查詢表,實(shí)現(xiàn)了輸入一個(gè)相位值,輸出與之對(duì)應(yīng)的正余弦值,且相位和幅度值均采用二進(jìn)制補(bǔ)碼表示。
觀察圖8所示仿真結(jié)果可知,當(dāng)輸入相位值為H86(對(duì)應(yīng)角度)時(shí),CORDIC模塊的正弦值輸出為H6F,即0.8672,余弦值輸出為H3F,即0.4922,近似等于正余弦的理論計(jì)算值。

圖8 CORDIC模塊的仿真結(jié)果
本文主要采用MCU + FPGA架構(gòu),設(shè)計(jì)了基于CORDIC算法的改進(jìn)型DDS系統(tǒng)。傳統(tǒng)DDS系統(tǒng)的ROM查詢表占用資源多且時(shí)間很難同步。本文采用CORDIC算法通過加/減法和移位運(yùn)算實(shí)現(xiàn)了正余弦計(jì)算。實(shí)驗(yàn)結(jié)果表明,該方案能夠充分發(fā)揮CORDIC算法的優(yōu)勢(shì),時(shí)鐘源系統(tǒng)的性能指標(biāo)達(dá)到了設(shè)計(jì)要求。
[1]F. Sivrikaya, B. Yener. Time synchronization in sensor networks: a survey. IEEE Network, 2004, 18(4): 45-50.
[2]S. Aggarwal, P. K. Meher, K. Khare. Scale-Free Hyperbolic CORDIC Processor and Its Application to Waveform Generation. IEEE Transactions on Circuits and Systems I: Regular Papers, 2013, 60(2): 314-326.
[3]M. Kumm, H. Klingbeil, P. Zipf. An FPGA-Based Linear All-Digital Phase-Locked Loop. IEEE Transactions on Circuits and Systems I: Regular Papers, 2010, 57(9): 2487-2497.
[4]Dengwei Fu, A. N. Willson. A two-stage angle-rotation architecture and its error analysis for efficient digital mixer implementation. IEEE Transactions on Circuits and Systems I: Regular Papers, 2006, 53(3): 604-614.
[5]A. Sharma, R. D. Daruwala. Digital frequency (sinusoidal) synthesizer using CORDIC algorithm. The 3rd IEEE International Conference on Communication Software and Networks (ICCSN 2011), pp. 521-524, May 27-29, 2011, Xi'an, China.
CORDIC-based Clock Source for Time Synchronization in Wireless Sensor Networks
Li Wei
(College of Internet of Things Engineering, Hohai University, Changzhou,213022, China)
Time synchronization is an important supporting technology for wireless sensor networks (WSNs). In this paper, a CORDIC-based DDS system is proposed for time synchronization in WSNs. The principle of CORDIC algorithm is briefly discussed. Using QuartusⅡ, the clock source system is designed in detail. The experiment results show that the performance of the system can meet the design requirements.
time synchronization; wireless sensor networks; DDS; CORDIC
李威(1980-),男,副教授,主要從事無線傳感器網(wǎng)絡(luò)、統(tǒng)計(jì)信號(hào)處理方向的研究工作。
國(guó)家自然科學(xué)基金(61401147),中央高校基本科研業(yè)務(wù)費(fèi)(2013B09214)資助課題