新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機的自組織網(wǎng)絡互同步節(jié)點設計

        單片機的自組織網(wǎng)絡互同步節(jié)點設計

        作者: 時間:2013-08-06 來源:網(wǎng)絡 收藏

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

        本文引用地址:http://www.104case.com/article/170448.htm

        c.JPG


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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 海安县| 雷州市| 图们市| 盐津县| 汝州市| 潞城市| 当阳市| 云浮市| 乐昌市| 万山特区| 林甸县| 白城市| 顺平县| 农安县| 吉安市| 金山区| 焉耆| 蛟河市| 顺平县| 巴楚县| 汉寿县| 德兴市| 凉山| 西藏| 济源市| 桃园市| 射阳县| 八宿县| 余姚市| 延安市| 明溪县| 武威市| 孟津县| 隆昌县| 额敏县| 乳源| 青田县| 吴川市| 广东省| 寻乌县| 商水县|