本發(fā)明屬于同步網(wǎng)絡(luò)時(shí)間觸發(fā)通信領(lǐng)域,具體涉及一種面向時(shí)間觸發(fā)通信的多通道自適應(yīng)時(shí)鐘修正算法。
背景技術(shù):
時(shí)間觸發(fā)通信是一種基于“時(shí)間觸發(fā)”的同步網(wǎng)絡(luò)解決方案,它具有高實(shí)時(shí)性、確定性、高可靠性等特點(diǎn),能夠滿足航空航天領(lǐng)域安全關(guān)鍵系統(tǒng)的要求,適應(yīng)分布式模塊化航空航天電子架構(gòu)的發(fā)展,具有廣闊的市場(chǎng)前景。時(shí)鐘修正算法為時(shí)間觸發(fā)通信的核心內(nèi)容。此類(lèi)通信方式在實(shí)際使用中存在如下缺陷:一是無(wú)法滿足網(wǎng)絡(luò)通道數(shù)可配置的應(yīng)用需求;二是同步精度在亞微秒級(jí)。
時(shí)間觸發(fā)的通信系統(tǒng)以及用于同步啟動(dòng)雙信道網(wǎng)絡(luò)的方法(中國(guó)專(zhuān)利cn200480013834)基于雙通道網(wǎng)絡(luò)描述flexray、tte等冗余同步網(wǎng)絡(luò)的冷啟動(dòng)方式,提出本地時(shí)鐘概念;一個(gè)全局精確時(shí)間和一個(gè)最大傳輸時(shí)間(中國(guó)專(zhuān)利cn201080033017)基于精確測(cè)量延時(shí)和實(shí)際傳輸時(shí)間偏差上的信息發(fā)送方式,構(gòu)建多個(gè)系統(tǒng)元件的風(fēng)力系統(tǒng);網(wǎng)絡(luò)和時(shí)間觸發(fā)網(wǎng)絡(luò)中集群時(shí)鐘同步的方法(中國(guó)專(zhuān)利cn200780032958)基于flexray異構(gòu)網(wǎng)絡(luò),通過(guò)通訊循環(huán)長(zhǎng)度得到同步補(bǔ)償參數(shù),提出采用高精度中央節(jié)點(diǎn)提高速率修改效率的方法。一種基于m估計(jì)穩(wěn)健回歸的時(shí)間觸發(fā)以太網(wǎng)時(shí)鐘補(bǔ)償方法(中國(guó)專(zhuān)利cn201610013741)采用新算法實(shí)現(xiàn)同步校正誤差的精確計(jì)算,解決直接采用校正值補(bǔ)償容易產(chǎn)生的時(shí)鐘突變問(wèn)題。
相關(guān)專(zhuān)利成果主要集中在時(shí)間觸發(fā)網(wǎng)絡(luò)同步算法實(shí)現(xiàn)上,并沒(méi)有對(duì)多通道自適應(yīng)以及同步精度性能進(jìn)行提升,不能適應(yīng)多通道網(wǎng)絡(luò)、高同步精度系統(tǒng)需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述不足,提供一種面向時(shí)間觸發(fā)通信的多通道自適應(yīng)時(shí)鐘修正算法,在時(shí)間觸發(fā)網(wǎng)絡(luò)冷啟動(dòng)與同步過(guò)程中,進(jìn)行時(shí)鐘偏差檢測(cè)、時(shí)鐘修正,實(shí)現(xiàn)整網(wǎng)同步,提升同步精度,精度可達(dá)納秒級(jí),實(shí)現(xiàn)時(shí)間觸發(fā)通信同步性能的大幅度提升,對(duì)各類(lèi)交換式網(wǎng)絡(luò)的時(shí)間同步具有借鑒意義。
為了達(dá)到上述目的,本發(fā)明包括以下步驟:
步驟一,同步報(bào)文進(jìn)入同步要素提取模塊,同步要素提取模塊還原與解析出發(fā)送節(jié)點(diǎn)攜帶的相關(guān)同步消息,交換節(jié)點(diǎn)根據(jù)收集到的一個(gè)或多個(gè)發(fā)送節(jié)點(diǎn)發(fā)出的同步報(bào)文進(jìn)行整合,在網(wǎng)絡(luò)中進(jìn)行廣播;
步驟二,同步要素甄別模塊通過(guò)同步報(bào)文解析出的同步要素來(lái)甄別出該同步報(bào)文屬于規(guī)劃內(nèi)報(bào)文還是規(guī)劃外報(bào)文,對(duì)同步報(bào)文進(jìn)行預(yù)處理,并發(fā)送至最優(yōu)置換模塊;
步驟三,最優(yōu)置換模塊提取出一次整合周期中的最優(yōu)規(guī)劃內(nèi)報(bào)文,n通道節(jié)點(diǎn)同時(shí)并行執(zhí)行n個(gè)最優(yōu)置換算法,并發(fā)送至通道取平均模塊;
步驟四,自動(dòng)識(shí)別模塊將識(shí)別當(dāng)前通道的數(shù)量發(fā)送至通道取平均模塊;
步驟五,通道取平均模塊根據(jù)當(dāng)前通道數(shù)量,再綜合各通道最優(yōu)同步要素計(jì)算得出精確的時(shí)鐘修正值。
所述步驟一中,同步報(bào)文中解析出的同步要素包括整合周期ic、成員信息列表mbs和固化點(diǎn)permpit。
所述步驟二中,規(guī)劃內(nèi)報(bào)文在冷啟動(dòng)、重同步過(guò)程中用于計(jì)算時(shí)鐘修正值,規(guī)劃外報(bào)文在網(wǎng)絡(luò)工作過(guò)程中進(jìn)行同步檢測(cè)與故障隔離。
所述步驟二中,同步要素甄別模塊的具體工作方法如下:
101,判定固化點(diǎn)permpit是否在規(guī)劃接收窗口內(nèi),若否,則直接判定為規(guī)劃外報(bào)文,若是,則進(jìn)入步驟201;
201,判定是否在規(guī)劃窗口起始點(diǎn)前,若是,則進(jìn)入步驟301,若否,則進(jìn)入步驟302;
301,判定報(bào)文整合周期ic是否等于本地整合周期ic,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文;
302,判定是否為跨界情況,若是,則進(jìn)入步驟401,若否,則進(jìn)入步驟402;
401,判定報(bào)文整合周期ic是否等于0,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文;
402,判定報(bào)文整合周期ic是否等于本地ic+1,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文。
所述步驟三中,最優(yōu)置換算法根據(jù)成員信息列表mbs與固化點(diǎn)permpit進(jìn)行計(jì)算,mbs表征網(wǎng)絡(luò)中已同步的個(gè)數(shù),mbs值越大標(biāo)識(shí)該報(bào)文來(lái)源同步質(zhì)量越佳;網(wǎng)絡(luò)節(jié)點(diǎn)直接緩存第一個(gè)規(guī)劃內(nèi)報(bào)文的mbs信息記為mbs0,后續(xù)接收到的規(guī)劃內(nèi)報(bào)文首先進(jìn)行mbs大小比較,如果mbs(n)>mbs(n-1),則直接丟棄前一個(gè)mbs(n-1)值,將mbsn值存入緩存,如果mbs(n)<mbs(n-1),則直接丟棄mbs(n)值,如果mbs(n)=mbs(n-1),則需要進(jìn)行進(jìn)一步判定,通過(guò)比較前一個(gè)permpit0與新規(guī)劃內(nèi)報(bào)文的permpitn與理想規(guī)劃接收時(shí)刻的相對(duì)距離判定選取哪一個(gè)permpit信息,與理想規(guī)劃接收時(shí)刻越接近表示該同步報(bào)文的傳輸越符合預(yù)期。
所述步驟三中,緩存的最優(yōu)mbs與permpit在每個(gè)整合周期零點(diǎn)時(shí)清零,在每個(gè)整合周期重新開(kāi)始一次最優(yōu)置換算法時(shí),給出當(dāng)前周期的最優(yōu)permpit值到下一級(jí)計(jì)算,同時(shí)提供一個(gè)計(jì)算完成信號(hào)cf標(biāo)識(shí)當(dāng)前周期最優(yōu)permpit值正常計(jì)算。
所述步驟四中,上級(jí)最優(yōu)置換算法最多產(chǎn)生n個(gè)最優(yōu)幀,最優(yōu)permpit與理想規(guī)劃接收時(shí)刻的偏差即為各通道的時(shí)鐘修正值,該值為正值或負(fù)值,時(shí)鐘修正算法將最多計(jì)算出n個(gè)時(shí)鐘校正值,將時(shí)鐘校正值進(jìn)行取平均計(jì)算;從接收窗口開(kāi)始時(shí),該算法開(kāi)始工作,通過(guò)不間斷檢測(cè)n通道的計(jì)算完成信號(hào)cf,可實(shí)時(shí)檢測(cè)多通道是否正常計(jì)算出最優(yōu)permpit,在一個(gè)整合周期內(nèi)對(duì)cf有效次數(shù)進(jìn)行計(jì)數(shù)m,在規(guī)劃接收窗口結(jié)束點(diǎn),調(diào)用除法器取平均,為保證時(shí)序綜合后不是整體設(shè)計(jì)的最差路徑,除法器計(jì)算耗時(shí)設(shè)定為15個(gè)時(shí)鐘周期,使用公式:clock_corr=(val0*(permpit0-eppit)+val1*(permpit1-eppit)+…+valn*(permpitn-eppit))/m,該公式中如果某通道r未計(jì)算出最優(yōu)permpitr,則valr=0,同時(shí)cfr=0,m值不會(huì)計(jì)算入cfr值,從而達(dá)到多通道自適應(yīng);時(shí)鐘修正時(shí)刻在規(guī)劃接收窗口結(jié)束后的一段固定延時(shí)后進(jìn)行,網(wǎng)絡(luò)中各節(jié)點(diǎn)每個(gè)整合周期均會(huì)進(jìn)行一次時(shí)鐘修正,使全網(wǎng)逐步同步并在工作同步過(guò)程中隨時(shí)維持同步。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、本發(fā)明中的多通道自適應(yīng)時(shí)鐘修正算法由硬件實(shí)現(xiàn),精度可達(dá)納秒級(jí)別;
2、本發(fā)明中的多通道自適應(yīng)時(shí)鐘修正算法適用于交換式網(wǎng)絡(luò);
3、本發(fā)明可工作在多通道冗余模式下,可自適應(yīng)通道個(gè)數(shù),應(yīng)用范圍廣,可以滿足系統(tǒng)的不同要求;
4、本發(fā)明中多通道自適應(yīng)時(shí)鐘修正算法工作由底層硬件完成,對(duì)用戶透明,降低使用難度。
附圖說(shuō)明
圖1為本發(fā)明的系統(tǒng)框圖;
圖2為本發(fā)明同步要素甄別算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
本發(fā)明涉及的時(shí)間觸發(fā)通信的實(shí)時(shí)確定性數(shù)據(jù)通信是基于一個(gè)全局同步時(shí)鐘進(jìn)行的,各個(gè)設(shè)備在網(wǎng)絡(luò)內(nèi)周期性傳遞同步信息,同時(shí)各設(shè)備根據(jù)這些信息,采用一系列時(shí)鐘同步技術(shù)計(jì)算出各設(shè)備時(shí)鐘差異,修正本地時(shí)鐘。在時(shí)間觸發(fā)網(wǎng)絡(luò)中定義一個(gè)集群周期與一個(gè)整合周期,集群周期指整個(gè)網(wǎng)絡(luò)中循環(huán)的大周期,其值的設(shè)定依據(jù)各設(shè)備本地配置的整合周期,整合周期根據(jù)同步精度的要求設(shè)定,網(wǎng)絡(luò)中各設(shè)備具備自己獨(dú)立的整合周期,為達(dá)到整網(wǎng)周期可預(yù)知,集群周期通常配置為多個(gè)整合周期的最小公倍數(shù)。在同步信息傳遞過(guò)程中定義一個(gè)理想規(guī)劃接收時(shí)刻(expectedpit,簡(jiǎn)稱(chēng)eppit)與一個(gè)規(guī)劃接收窗口,通過(guò)網(wǎng)絡(luò)的靜態(tài)配置表規(guī)劃,采用延時(shí)推算,可獲得各設(shè)備同步報(bào)文的理想規(guī)劃接收時(shí)刻,該時(shí)刻不受傳輸路徑的影響,由于抖動(dòng)或網(wǎng)絡(luò)故障,可能造成同步報(bào)文的實(shí)際接收時(shí)刻不完全在理想規(guī)劃接收時(shí)刻,因此定義一個(gè)規(guī)劃接收窗口,在理想規(guī)劃接收時(shí)刻兩側(cè)劃出一片時(shí)間區(qū)域。
參見(jiàn)圖1,本發(fā)明包括以下步驟:
步驟一,同步報(bào)文進(jìn)入同步要素提取模塊,同步要素提取模塊還原與解析出發(fā)送節(jié)點(diǎn)攜帶的相關(guān)同步消息,交換節(jié)點(diǎn)根據(jù)收集到的一個(gè)或多個(gè)發(fā)送節(jié)點(diǎn)發(fā)出的同步報(bào)文進(jìn)行整合,在網(wǎng)絡(luò)中進(jìn)行廣播,同步報(bào)文中解析出的同步要素包括整合周期ic(integratecycle)、成員信息列表mbs(membership)和固化點(diǎn)permpit(permanencepit);
步驟二,同步要素甄別模塊通過(guò)同步報(bào)文解析出的同步要素來(lái)甄別出該同步報(bào)文屬于規(guī)劃內(nèi)報(bào)文還是規(guī)劃外報(bào)文,對(duì)同步報(bào)文進(jìn)行預(yù)處理,并發(fā)送至最優(yōu)置換模塊;
步驟三,最優(yōu)置換模塊提取出一次整合周期中的最優(yōu)規(guī)劃內(nèi)報(bào)文,n通道節(jié)點(diǎn)同時(shí)并行執(zhí)行n個(gè)最優(yōu)置換算法,并發(fā)送至通道取平均模塊,最優(yōu)置換算法根據(jù)成員信息列表mbs與固化點(diǎn)permpit進(jìn)行計(jì)算,mbs表征網(wǎng)絡(luò)中已同步的個(gè)數(shù),mbs值越大標(biāo)識(shí)該報(bào)文來(lái)源同步質(zhì)量越佳;網(wǎng)絡(luò)節(jié)點(diǎn)直接緩存第一個(gè)規(guī)劃內(nèi)報(bào)文的mbs信息記為mbs0,后續(xù)接收到的規(guī)劃內(nèi)報(bào)文首先進(jìn)行mbs大小比較,如果mbs(n)>mbs(n-1),則直接丟棄前一個(gè)mbs(n-1)值,將mbsn值存入緩存,如果mbs(n)<mbs(n-1),則直接丟棄mbs(n)值,如果mbs(n)=mbs(n-1),則需要進(jìn)行進(jìn)一步判定,通過(guò)比較前一個(gè)permpit0與新規(guī)劃內(nèi)報(bào)文的permpitn與理想規(guī)劃接收時(shí)刻的相對(duì)距離判定選取哪一個(gè)permpit信息,與理想規(guī)劃接收時(shí)刻越接近表示該同步報(bào)文的傳輸越符合預(yù)期,緩存的最優(yōu)mbs與permpit在每個(gè)整合周期零點(diǎn)時(shí)清零,在每個(gè)整合周期重新開(kāi)始一次最優(yōu)置換算法時(shí),給出當(dāng)前周期的最優(yōu)permpit值到下一級(jí)計(jì)算,同時(shí)提供一個(gè)計(jì)算完成信號(hào)cf標(biāo)識(shí)當(dāng)前周期最優(yōu)permpit值正常計(jì)算;
步驟四,自動(dòng)識(shí)別模塊將識(shí)別當(dāng)前通道的數(shù)量發(fā)送至通道取平均模塊,上級(jí)最優(yōu)置換算法最多產(chǎn)生n個(gè)最優(yōu)幀,最優(yōu)permpit與理想規(guī)劃接收時(shí)刻的偏差即為各通道的時(shí)鐘修正值,該值為正值或負(fù)值,時(shí)鐘修正算法將最多計(jì)算出n個(gè)時(shí)鐘校正值,將時(shí)鐘校正值進(jìn)行取平均計(jì)算;從接收窗口開(kāi)始時(shí),該算法開(kāi)始工作,通過(guò)不間斷檢測(cè)n通道的計(jì)算完成信號(hào)cf,可實(shí)時(shí)檢測(cè)多通道是否正常計(jì)算出最優(yōu)permpit,在一個(gè)整合周期內(nèi)對(duì)cf有效次數(shù)進(jìn)行計(jì)數(shù)m,在規(guī)劃接收窗口結(jié)束點(diǎn),調(diào)用除法器取平均,為保證時(shí)序綜合后不是整體設(shè)計(jì)的最差路徑,除法器計(jì)算耗時(shí)設(shè)定為15個(gè)時(shí)鐘周期,使用公式:clock_corr=(val0*(permpit0-eppit)+val1*(permpit1-eppit)+…+valn*(permpitn-eppit))/m,該公式中如果某通道r未計(jì)算出最優(yōu)permpitr,則valr=0,同時(shí)cfr=0,m值不會(huì)計(jì)算入cfr值,從而達(dá)到多通道自適應(yīng);時(shí)鐘修正時(shí)刻在規(guī)劃接收窗口結(jié)束后的一段固定延時(shí)后進(jìn)行,網(wǎng)絡(luò)中各節(jié)點(diǎn)每個(gè)整合周期均會(huì)進(jìn)行一次時(shí)鐘修正,使全網(wǎng)逐步同步并在工作同步過(guò)程中隨時(shí)維持同步;
步驟五,通道取平均模塊根據(jù)當(dāng)前通道數(shù)量,再綜合各通道最優(yōu)同步要素計(jì)算得出精確的時(shí)鐘修正值。
規(guī)劃內(nèi)報(bào)文在冷啟動(dòng)、重同步過(guò)程中用于計(jì)算時(shí)鐘修正值,規(guī)劃外報(bào)文在網(wǎng)絡(luò)工作過(guò)程中進(jìn)行同步檢測(cè)與故障隔離。
參見(jiàn)圖2,同步要素甄別模塊的具體工作方法如下:
101,判定固化點(diǎn)permpit是否在規(guī)劃接收窗口內(nèi),若否,則直接判定為規(guī)劃外報(bào)文,若是,則進(jìn)入步驟201;
201,判定是否在規(guī)劃窗口起始點(diǎn)前,若是,則進(jìn)入步驟301,若否,則進(jìn)入步驟302;
301,判定報(bào)文整合周期ic是否等于本地整合周期ic,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文;
302,判定是否為跨界情況,若是,則進(jìn)入步驟401,若否,則進(jìn)入步驟402;
401,判定報(bào)文整合周期ic是否等于0,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文;
402,判定報(bào)文整合周期ic是否等于本地ic+1,若是,則判定為規(guī)劃內(nèi)報(bào)文,若否,則判定為規(guī)劃外報(bào)文。
實(shí)施例:
算法并行執(zhí)行5個(gè)最優(yōu)置換模塊,針對(duì)1通道來(lái)說(shuō),同步要素提取模塊將每一個(gè)新接收到的規(guī)劃內(nèi)報(bào)文的mbs信息與permpit信息提供給最優(yōu)置換模塊,根據(jù)本發(fā)明已論述的最優(yōu)置換算法,緩存最優(yōu)規(guī)劃內(nèi)報(bào)文的permpit信息,該信息在每個(gè)整合周期內(nèi)得出一次結(jié)果,并在整合周期零點(diǎn)處清零。2、3、5通道執(zhí)行與1通道相同的工作,提供permpit信息給通道取平均模塊。4通道同樣給下一模塊提供信息,但由于未接收到報(bào)文,同步要素均為0,val4=0,permpit4=0。
自動(dòng)識(shí)別模塊通過(guò)cf信息,檢測(cè)到1、2、3、5通道能夠提供最優(yōu)permpit要素,本地進(jìn)行自加,計(jì)算出cf=4。將cf值提供給取平均模塊。
通道取平均模塊,利用最優(yōu)置換模塊給出的4個(gè)最優(yōu)permpit值與自動(dòng)識(shí)別模塊給出的當(dāng)前有效通道數(shù),使用公式
clock_corr=(val0*(permpit0-eppit)+val1*(permpit1-eppit)+…+val5(permpit5-eppit))/m,進(jìn)行計(jì)算得出時(shí)鐘修正值,其中m=4,val4=0,故4通道不參與取平均計(jì)算。
工作過(guò)程中4通道對(duì)方節(jié)點(diǎn)啟動(dòng),4通道的同步要素提取模塊、同步要素甄別模塊、最優(yōu)置換模塊均開(kāi)始工作并計(jì)算得出最優(yōu)permpit值。自動(dòng)識(shí)別模塊識(shí)別出當(dāng)前共有5條通道正常工作,通道取平均模塊公式中val4=1,m=5,從而計(jì)算得出時(shí)鐘修正值。同理,工作過(guò)程中若由于對(duì)方節(jié)點(diǎn)網(wǎng)絡(luò)故障造成2、3通道接收不到同步報(bào)文,本發(fā)明中的時(shí)鐘修正算法能夠及時(shí)識(shí)別并計(jì)算出時(shí)鐘修正值,進(jìn)行時(shí)鐘修正。
本發(fā)明作為時(shí)間觸發(fā)通信的核心內(nèi)容,為時(shí)間觸發(fā)通信網(wǎng)絡(luò)設(shè)計(jì)奠定了基礎(chǔ),填補(bǔ)了多通道自適應(yīng)同步的算法空白,提高了普通時(shí)間觸發(fā)通信的同步精度與可靠性,使用ip軟核設(shè)計(jì),具有強(qiáng)可移植性。通過(guò)以上三種算法的周期性流水線工作模式,不僅提高了網(wǎng)絡(luò)拓?fù)潇`活性、增加網(wǎng)絡(luò)同步可靠性,而且提升了同步精度,精度可達(dá)納秒級(jí)。