當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]摘要:針對自組織網(wǎng)絡(luò)中的互同步算法進行了研究,基于單片機設(shè)計了一種便于驗證學(xué)習(xí)的實體節(jié)點,彌補了單純軟件仿真的不足。該設(shè)計具有簡單直觀、網(wǎng)絡(luò)規(guī)模擴展靈活的特點,對于掌握無線傳感網(wǎng)或多智能體等進行同步和

摘要:針對自組織網(wǎng)絡(luò)中的互同步算法進行了研究,基于單片機設(shè)計了一種便于驗證學(xué)習(xí)的實體節(jié)點,彌補了單純軟件仿真的不足。該設(shè)計具有簡單直觀、網(wǎng)絡(luò)規(guī)模擴展靈活的特點,對于掌握無線傳感網(wǎng)或多智能體等進行同步和協(xié)調(diào)的自組織組網(wǎng)技術(shù)有一定的借鑒意義。
關(guān)鍵詞:單片機; 自組織網(wǎng)絡(luò); 互同步

引言
    隨著無線網(wǎng)絡(luò)與電子技術(shù)的發(fā)展和普及,各類專業(yè)設(shè)備甚至民用產(chǎn)品之間的數(shù)據(jù)傳輸已經(jīng)不滿足于簡單的點對點形式,對組網(wǎng)的需求日益突出。為了應(yīng)對這一需求,自組織網(wǎng)絡(luò)技術(shù)應(yīng)運而生。
    自組織網(wǎng)絡(luò)的突出特點是,沒有傳統(tǒng)的中心控制節(jié)點來協(xié)調(diào)組網(wǎng)過程,分布的節(jié)點之間的組織主要靠“臨時性的自治”實現(xiàn)。實現(xiàn)無線自組織網(wǎng)絡(luò)的基礎(chǔ)之一是網(wǎng)絡(luò)互同步技術(shù)。該技術(shù)通過網(wǎng)絡(luò)節(jié)點之間時間基準的相互交換和相互控制,實現(xiàn)節(jié)點之間的相互同步。
    由于無線節(jié)點硬件成本偏高,相關(guān)軟件使用也較為復(fù)雜,在進行相關(guān)技術(shù)的研究和學(xué)習(xí)時,大多通過計算機軟件仿真。這種純粹軟件仿真實驗的形式更適用于已有一定的實踐經(jīng)驗和算法基礎(chǔ)的人員,對于其進行更專業(yè)的算法學(xué)習(xí)和研究有較大幫助。但由于缺乏具體的實物,初學(xué)者難以建立起直觀的感性認識。
    為此,本設(shè)計首先選擇低成本的單片機作為核心,利用簡單的光電信號替代WiFi、藍牙等無線通信形式,最大程度地降低了硬件制作成本。其次,剔除了復(fù)雜的通信協(xié)議棧,僅關(guān)注于自組織網(wǎng)絡(luò)中互同步技術(shù)的核心算法實現(xiàn),最大程度地簡化了學(xué)習(xí)的難度。所設(shè)計的節(jié)點組成的學(xué)習(xí)平臺不僅簡單直觀,而且可以根據(jù)需要驗證各類不同算法,網(wǎng)絡(luò)規(guī)模也可靈活調(diào)整,不受節(jié)點數(shù)量增加的限制。

1 節(jié)點硬件設(shè)計
   
綜合考慮成本、供電和算法更新等方面,選擇ATtiny13A-10pu作為仿真節(jié)點的核心。該芯片是一款低功耗的8位微處理器,可以工作在0~4 MHz@1.8~5.5 V狀態(tài),用一粒普通的CR2032紐扣電池就可以為其提供3 V供電,內(nèi)部有1 KB Flash RAM,64字節(jié)RAM和64字節(jié)EEPROM,空間雖然不大,但做基本算法驗證已經(jīng)夠用。除此之外它還有4路10位ADC可作為光電信號檢測之用。在光電檢測元件方面采用的是常見的光敏電阻5516,當然也可以選擇性能更穩(wěn)定、一致性更好的環(huán)保光敏電阻。
    除了上面所述的單片機、光敏電阻以外,節(jié)點還需要有一個發(fā)光二極管用于顯示各節(jié)點間的同步狀態(tài)。當初始亮滅不一致的節(jié)點經(jīng)過一段時間后,以相同時間點、頻率進行閃爍,這時表示網(wǎng)絡(luò)同步成功。對發(fā)光二極管只要求電壓電流適當即可,設(shè)計中選擇的是1.7 V、2 mA的低電流發(fā)光二極管,低電流更有利于延長節(jié)點電池的工作時長。
    整個電路力求簡潔,因而沒有設(shè)計復(fù)位電路。另外,由于片內(nèi)振蕩器已經(jīng)進行了9.6 MHz的標定,經(jīng)8分頻后可以實現(xiàn)1.2 MHz的系統(tǒng)時鐘,已經(jīng)可以滿足本設(shè)計的需要,所有也無需外接晶振。電路原理圖如圖1所示。


    需要注意的是,圖中電阻R1、R2阻值的具體選擇和電源電壓、發(fā)光二極管及光敏電阻的參數(shù)有關(guān)。電阻R1的作用主要是限流,其阻值可參考公式R1=(Up-U1)/I1選擇,其中Up為供電電壓,U1為發(fā)光二極管壓降,I1為發(fā)光二極管的電流。電阻R2的阻值主要受到光敏電阻R3工作效果的影響,選定的原則主要由保證光敏電阻在日光下可以對光線變化作出反應(yīng)的靈敏程度來決定,在最初確定時可以用電位計來替換固定電阻R2,通過試驗,1 kΩ阻值的電阻已經(jīng)可以保證節(jié)點正常工作。
    另外,如果不采用節(jié)點間相互分離的獨立電路設(shè)計,而采用多個節(jié)點固定在同一塊底板上的布線,也可以不采用獨立的紐扣電池供電方式,統(tǒng)一為所有的節(jié)點提供5 V電源供電。

2 算法設(shè)計與實現(xiàn)
2.1 互同步算法原理
   
為了更好地對算法進行解釋,首先簡單介紹自組織網(wǎng)絡(luò)的生物原型。在自然界中有很多自組織的生物系統(tǒng),在這些系統(tǒng)中,個體一般不具備高智商,對信息的獲取和處理能力也十分有限,盡管如此,整個系統(tǒng)卻可以在群體行為上呈現(xiàn)出令人吃驚的統(tǒng)一性和協(xié)同性。比如魚群、鳥群等生物群體在集體活動時,雖然沒有一個中心指揮,系統(tǒng)整體狀態(tài)仍然可以依賴構(gòu)成系統(tǒng)的個體間的相互作用,形成一個有機整體。
    在這里只研究這一行為實現(xiàn)的基礎(chǔ),互同步的相關(guān)算法。算法的實現(xiàn)非常類似于螢火蟲同步閃爍,本設(shè)計最終呈現(xiàn)的效果也是模擬一個有眾多“螢火蟲”(節(jié)點)的網(wǎng)絡(luò)同步。
    開始的時候,眾多獨立節(jié)點發(fā)光二極管的閃爍是隨機的。但是,隨著時間的推移,它們能夠慢慢地與最近的鄰居同步,隨著時間的推移,最后所有的節(jié)點都同步閃爍。
    本設(shè)計采用了一種最簡單的算法來實現(xiàn)這一過程。首先假設(shè)所有節(jié)點的閃爍頻率是相同的,這就類似于同一種群的螢火蟲具有相同的閃爍頻率一樣,它們最初呈現(xiàn)的不同步其實只是各自閃爍的時間點不一樣。這樣在簡化算法實現(xiàn)的同時,并不失其普遍意義。
    算法中設(shè)定了一個變量,閃爍能力(Power),用于表示節(jié)點閃爍的能力,這個值隨著時間會慢慢增加,當其增加到一個臨界閾值(Pth)時,節(jié)點的發(fā)光二極管開始閃爍,隨之這種能力開始逐漸“消耗”,即閃爍能力減小。閃爍能力的變化過程默認對于所有的節(jié)點都是一樣的,也就是說所有節(jié)點閃爍的固有頻率是一樣的。
    通過光敏電阻,每個節(jié)點都可以感受到鄰近節(jié)點的存在,這個過程是通過單片機的ADC實現(xiàn)的。這些節(jié)點都依據(jù)相同的原則進行同步。如果某個節(jié)點發(fā)現(xiàn)它比鄰近節(jié)點閃爍得晚,那么下次它將稍稍提前閃爍,經(jīng)過節(jié)點間的相互作用,所有的節(jié)點最終會在同一時刻按照相同的頻率閃爍。這個方法雖然簡單,但卻十分有效,基于它的進一步研究已經(jīng)在Ad Hoc網(wǎng)絡(luò)的互同步中得到應(yīng)用。相關(guān)算法如圖2所示。


    圖中閾值(Pth)表示節(jié)點閃爍的閾值,當閃爍能力(Power)達到這個值時節(jié)點開始閃爍。T為節(jié)點閃爍的周期。從圖2可以看出,初始時刻兩個節(jié)點雖有共同的閃爍周期,但兩節(jié)點開始閃爍的時刻不同,下方節(jié)點閃爍能力要更晚到達閾值,即閃爍的開始時刻要晚于上方節(jié)點。而當上方節(jié)點開始閃爍的時刻,通過光敏電阻,下方節(jié)點偵測到了這一變化,并將自己下一次的發(fā)光時刻提前,發(fā)光周期縮短為新的周期(T1)當然僅通過一次提前并不能做到兩者同步,但是經(jīng)過n次調(diào)整,兩者的閃爍時刻逐次逼近,而且下方節(jié)點新的周期(Tn)也恢復(fù)為原周期(T),兩者最終達到了同時刻同周期的互同步。該算法并不受節(jié)點規(guī)模的影響,因此網(wǎng)絡(luò)規(guī)??梢造`活擴展。
2.2 程序設(shè)計實現(xiàn)
   
從上面論述可知算法實現(xiàn)并不復(fù)雜,下面只對關(guān)鍵代碼做簡要描述,流程圖如圖3所示。


    節(jié)點上電復(fù)位以后,程序的初始化部分對節(jié)點硬件進行相應(yīng)的初始化,主要是對模/數(shù)轉(zhuǎn)換(ADC)進行設(shè)置,選擇對應(yīng)的轉(zhuǎn)換通道并使能,設(shè)置發(fā)光二極管為關(guān)閃爍狀態(tài)。
    需要注意的是,由于系統(tǒng)采用光敏電阻作為傳感器件,因此節(jié)點之間的相互感應(yīng)不可避免地會受到外界光照的干擾,也就是說即使在鄰近節(jié)點不閃爍時,閃爍能力(Power)的初值也不會為0。為此,本程序選擇外界的背景光作為基礎(chǔ)門限值(threshold),這個值可以通過模/數(shù)轉(zhuǎn)換(ADC)多次采樣再做平均獲得。相關(guān)代碼實現(xiàn)如下:
   
    代碼中對4次采樣值進行了平均,考慮到干擾的問題,對平均值再加80進行調(diào)整。
    隨后,程序進入主循環(huán),在主循環(huán)中主要完成三件工作。
    首先是閃爍能力(Power)值的遞增。如前面算法描述,當它逐漸增加達到閃爍閾值(FLASH_POWER)時,二極管將開始有節(jié)奏地閃爍。為了保證快速和精準,閃爍能力值的遞增并不是均勻的,而是分段區(qū)別進行的。閃爍能力值比較小時,以較大的增量累積(如Power+=16),隨
著其逐漸接近閾值,增量減小,比如當Power>6000后,以1為遞增幅度進行(如Power+=1)。
    在計算了節(jié)點閃爍的能力后,程序進入第二個階段,主要工作是修正閃爍能力值??紤]到外界干擾,節(jié)點可能會受到突然的外界強光照射影響,當光照很強時,節(jié)點將無法正確感知鄰近節(jié)點的變化,為此還需要做相應(yīng)異常處理。相關(guān)代碼如下:
   
    該段程序中首先進行采樣,獲得當前的光照(light)值,如果其大于預(yù)設(shè)的環(huán)境光照常量(ENV_LIGHT),則認為外界光照太強,此時節(jié)點之間已經(jīng)無法進行有效地相互感應(yīng),出現(xiàn)異常。這里將節(jié)點延時一段時間進入休眠狀態(tài),隔一段時間再做檢測。考慮到選用的單片機,環(huán)境光照常量設(shè)為總量程的一半較為合適。如果外界光照對節(jié)點的光感應(yīng)處在正常范圍,則再判斷當前的光照(light)是否大于前面計算的基礎(chǔ)門限值(threshold)。當其值大于此基礎(chǔ)值時,表明鄰近有節(jié)點在閃爍,且該節(jié)點晚于鄰近節(jié)點的閃爍,因此需要對閃爍能力進行快速調(diào)整(如Power+=200)。這個增量遠遠大于常規(guī)的閃爍能力積累,執(zhí)行效果就是將節(jié)點下一次開始閃爍時刻大大提前了。
    最后的工作就比較簡單了,通過判斷閃爍能力是否大于閃爍閾值(FLASH_POWER),當大于時設(shè)置發(fā)光二極管為開閃爍,當小于時設(shè)置為關(guān)閃爍。
    程序主體是一個死循環(huán),根據(jù)需要還可添加電源管理、中斷處理等其他功能模塊。文中主要僅論述了兩個節(jié)點間的互同步實現(xiàn),但文中所述算法可以不加修改就適用于節(jié)點數(shù)更多的網(wǎng)絡(luò)。這正體現(xiàn)了自組織網(wǎng)絡(luò)的特點:其中功能有限的節(jié)點利用局部信息就可達到整個網(wǎng)絡(luò)的高度協(xié)調(diào)一致。

結(jié)語
   
本文詳細闡述了一種利用單片機進行自組織網(wǎng)絡(luò)互同步算法學(xué)習(xí)的方法,網(wǎng)絡(luò)同步的效果良好。設(shè)計的節(jié)點具有簡單直觀、網(wǎng)絡(luò)規(guī)模擴展靈活的特點,是一個對自組織網(wǎng)絡(luò)的很好的實體模擬,對于掌握無線傳感網(wǎng)或多智能體等需要進行同步的自組織組網(wǎng)技術(shù)有一定的借鑒意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉