技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信及高速總線技術(shù)領(lǐng)域,具體涉及一種基于周期及優(yōu)先級的總線調(diào)度方法。
背景技術(shù):
高速數(shù)據(jù)總線技術(shù)是航空電子系統(tǒng)的關(guān)鍵技術(shù),航空電子系統(tǒng)是現(xiàn)代飛機(jī)的“大腦”和“神經(jīng)中樞”,機(jī)載總線網(wǎng)絡(luò)則是其關(guān)鍵的“神經(jīng)網(wǎng)絡(luò)”,機(jī)載網(wǎng)絡(luò)傳輸基于時(shí)間和事件觸發(fā),但傳統(tǒng)的總線技術(shù)在時(shí)間和事件之間的處理沒有兼顧以達(dá)到一個(gè)平衡的狀態(tài),例如MIL-STD-1553總線對于總線調(diào)度采用完全時(shí)間片的方式進(jìn)行,F(xiàn)C總線則基于事件調(diào)度。
機(jī)載總線網(wǎng)絡(luò)是一個(gè)復(fù)雜的網(wǎng)絡(luò),總線上包含各種速率的模塊,各個(gè)模塊的數(shù)據(jù)量大小也不盡相同,數(shù)據(jù)塊也各有優(yōu)先級,傳統(tǒng)調(diào)度方式在這些方面的處理方面往往不能兼顧。
網(wǎng)絡(luò)調(diào)度延遲是機(jī)載網(wǎng)絡(luò)的關(guān)鍵,調(diào)度延遲直接影響網(wǎng)絡(luò)帶寬的利用率,當(dāng)調(diào)度平均延遲過大時(shí),導(dǎo)致不能滿足網(wǎng)絡(luò)數(shù)據(jù)吞吐量,不得不通過增加帶寬等提升成本的方式來滿足需求。因此如何兼顧時(shí)間和事件,降低網(wǎng)絡(luò)調(diào)度延遲,提升總線帶寬利用率是本發(fā)明所要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明提出了一種基于周期及優(yōu)先級的總線調(diào)度方法。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于周期及優(yōu)先級的總線調(diào)度方法,該方法包括:將總線按周期進(jìn)行調(diào)度,每個(gè)調(diào)度周期又劃分為確定調(diào)度段以及競爭調(diào)度段兩部分,對于高優(yōu)先級的待調(diào)度消息,在所述確定調(diào)度段以及競爭調(diào)度段均可以隨時(shí)調(diào)度,并且打斷當(dāng)前正在執(zhí)行的其他低優(yōu)先級消息;對于低優(yōu)先級的待調(diào)度消息,其僅可以在所述競爭調(diào)度段調(diào)度。
根據(jù)本發(fā)明的另一個(gè)方面,所述確定調(diào)度段用于傳輸具有特定周期的小數(shù)據(jù)塊,所述競爭調(diào)度段用于傳輸具有特定周期的大數(shù)據(jù)塊。
根據(jù)本發(fā)明的另一個(gè)方面,所述低優(yōu)先級非周期消息傳輸?shù)膬?yōu)先級大于競爭調(diào)度段中的周期消息,小于高優(yōu)先級非周期消息。
根據(jù)本發(fā)明的另一個(gè)方面,由網(wǎng)絡(luò)控制器定時(shí)總線周期,在每個(gè)新周期到達(dá)時(shí)發(fā)送周期起始包,確定調(diào)度段位于每個(gè)周期的起始位置。網(wǎng)絡(luò)控制器還通過網(wǎng)絡(luò)同步包廣播當(dāng)前網(wǎng)絡(luò)周期剩余時(shí)間,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)接收到網(wǎng)絡(luò)同步包后,重新裝載自身的周期時(shí)間減法計(jì)數(shù)器,當(dāng)減法計(jì)數(shù)器的時(shí)間值不足以發(fā)送一個(gè)非周期消息時(shí),則等待下一個(gè)周期啟動傳輸。
根據(jù)本發(fā)明的另一個(gè)方面,具有特定周期的小數(shù)據(jù)塊以時(shí)間觸發(fā)的方式在確定調(diào)度段傳輸,每個(gè)總線周期固定傳輸一次。具有特定周期的大數(shù)據(jù)塊以事件觸發(fā)的方式在競爭調(diào)度段傳輸,在每個(gè)總線網(wǎng)絡(luò)周期對多個(gè)可能的大數(shù)據(jù)塊進(jìn)行輪詢,如果有數(shù)據(jù)則進(jìn)行傳輸,直到這個(gè)總線網(wǎng)絡(luò)周期結(jié)束,如果數(shù)據(jù)塊很大,可以繼續(xù)在下一個(gè)周期進(jìn)行輪詢,通過幾個(gè)連續(xù)總線周期進(jìn)行傳輸。
與現(xiàn)有技術(shù)相比,本發(fā)明可以兼顧總線網(wǎng)絡(luò)上包含的各種模塊的不同速率、優(yōu)先級的數(shù)據(jù)調(diào)度,降低網(wǎng)絡(luò)調(diào)度延遲,提高總線網(wǎng)絡(luò)帶寬的利用率。
附圖說明
圖1示出本發(fā)明的總線網(wǎng)絡(luò)調(diào)度周期示意圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述。
本發(fā)明針對現(xiàn)有網(wǎng)絡(luò)觸發(fā)條件設(shè)計(jì)一種新的調(diào)度方式,考慮總線上傳輸?shù)臄?shù)據(jù)特點(diǎn),如復(fù)雜長度、周期性、突發(fā)性、優(yōu)先級等,設(shè)計(jì)的一套行之有效的降低調(diào)度延遲提升總線效率的方法。
網(wǎng)絡(luò)調(diào)度需要一個(gè)節(jié)點(diǎn)做為網(wǎng)絡(luò)控制器,網(wǎng)絡(luò)控制器實(shí)現(xiàn)網(wǎng)絡(luò)周期控制、網(wǎng)絡(luò)周期包廣播,周期消息網(wǎng)絡(luò)調(diào)度,網(wǎng)絡(luò)總段指令表功能。
調(diào)度采用周期的方法實(shí)現(xiàn),如圖1所示,總線調(diào)度周期消息按照數(shù)據(jù)塊大小分為下面兩部分:
1、確定調(diào)度段
確定調(diào)度段為一個(gè)周期中的確定調(diào)度段時(shí)間,確定調(diào)度段位于每個(gè)周期的起始位置,由于周期間隔具有確定性,因此確定調(diào)度段執(zhí)行周期消息具有良好的周期特性,適合傳輸具有特定周期的小數(shù)據(jù)塊。
2、競爭調(diào)度段
競爭調(diào)度段為一個(gè)周期中的競爭調(diào)度段時(shí)間,適合傳輸具有特定周期的大數(shù)據(jù)塊,并且可以依據(jù)數(shù)據(jù)塊的大小和周期特性,安排一個(gè)周期傳輸多條消息,或者多個(gè)周期傳輸一條消息。
總線調(diào)度非周期消息按優(yōu)先級也分為兩個(gè)階段,分別是:
1、高優(yōu)先級傳輸區(qū)
高優(yōu)先級傳輸區(qū)是用來傳輸高優(yōu)先級非周期消息的,非周期消息是網(wǎng)絡(luò)中的突發(fā)事件,將突發(fā)事件分為兩個(gè)優(yōu)先級,分別為高優(yōu)先級,低優(yōu)先級。高優(yōu)先級意味這需要網(wǎng)絡(luò)設(shè)備盡快響應(yīng),因此整個(gè)總線周期均可以隨時(shí)插入高優(yōu)先級消息,并且打斷當(dāng)前正在執(zhí)行的周期消息或者低優(yōu)先級非周期消息。
網(wǎng)絡(luò)中斷類似于計(jì)算機(jī)中的軟硬件中斷、消息向量,屬于一個(gè)周期中的高優(yōu)先級非周期消息。網(wǎng)絡(luò)中的節(jié)點(diǎn)可以發(fā)起網(wǎng)絡(luò)中斷,網(wǎng)絡(luò)控制器接收到網(wǎng)絡(luò)中斷后,根據(jù)網(wǎng)絡(luò)中斷向量觸發(fā)網(wǎng)絡(luò)中斷調(diào)度,此調(diào)度方式優(yōu)先級最高,適用于網(wǎng)絡(luò)中節(jié)點(diǎn)的突發(fā)事件。網(wǎng)絡(luò)中斷數(shù)據(jù)幀數(shù)據(jù)塊小,因此可以達(dá)到最大的實(shí)時(shí)性。
2低優(yōu)先級傳輸區(qū)
低優(yōu)先級傳輸區(qū)是用來傳輸?shù)蛢?yōu)先級非周期消息的,低優(yōu)先級執(zhí)行區(qū)與競爭調(diào)度段時(shí)間重合,但低優(yōu)先級非周期消息傳輸?shù)膬?yōu)先級大于競爭調(diào)度中的周期消息,小于高優(yōu)先級非周期消息。
網(wǎng)絡(luò)同步包,網(wǎng)絡(luò)同步包是本發(fā)明的調(diào)度方式的起點(diǎn),網(wǎng)絡(luò)控制器定時(shí)網(wǎng)絡(luò)周期,在每個(gè)新周期到達(dá)時(shí)發(fā)送周期起始包;在確定調(diào)度段完成后發(fā)送網(wǎng)絡(luò)低優(yōu)先級起始包,直至新周期開始發(fā)送周期起始包,網(wǎng)絡(luò)同步包同時(shí)廣播當(dāng)前網(wǎng)絡(luò)周期剩余時(shí)間。
網(wǎng)絡(luò)周期同步,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)接收到網(wǎng)絡(luò)同步包后,重新裝載自身的周期時(shí)間減法計(jì)數(shù)器,當(dāng)減法計(jì)數(shù)器的時(shí)間值不足發(fā)送一個(gè)非周期消息時(shí),需等待下一個(gè)周期啟動傳輸。
周期小數(shù)據(jù)塊傳輸
小數(shù)據(jù)塊低帶寬的周期數(shù)據(jù),以時(shí)間觸發(fā)的方式在確定調(diào)度段執(zhí)行,每個(gè)總線周期固定傳輸一次。雖然每個(gè)周期都要傳輸,但數(shù)據(jù)量并不大,占用帶寬較小,也可以根據(jù)數(shù)據(jù)塊的周期特性,固定每隔幾個(gè)總線周期才調(diào)度一次,進(jìn)一步減小其占用的帶寬。
周期大數(shù)據(jù)塊傳輸
大數(shù)據(jù)塊高帶寬的周期數(shù)據(jù),采用事件觸發(fā)的方式在競爭調(diào)度段執(zhí)行。在每個(gè)總線網(wǎng)絡(luò)周期對多個(gè)可能的大數(shù)據(jù)塊進(jìn)行輪詢,如果有數(shù)據(jù)則傳輸一定數(shù)量的數(shù)據(jù),直到這個(gè)總線網(wǎng)絡(luò)周期結(jié)束。如果數(shù)據(jù)塊很大,可以繼續(xù)在下一個(gè)周期進(jìn)行輪詢,通過幾個(gè)連續(xù)總線周期進(jìn)行傳輸。
非周期高優(yōu)先級數(shù)據(jù)塊傳輸
非周期高優(yōu)先級數(shù)據(jù)塊傳輸在高優(yōu)先級傳輸區(qū),網(wǎng)絡(luò)節(jié)點(diǎn)中可以在任意時(shí)刻發(fā)起高優(yōu)先級非周期消息,非周期高優(yōu)先級具有很高的優(yōu)先級,用于節(jié)點(diǎn)主動發(fā)起小數(shù)據(jù)塊緊急消息的傳輸。
非周期低優(yōu)先級數(shù)據(jù)塊傳輸
非周期低優(yōu)先級大數(shù)據(jù)傳輸在低優(yōu)先級傳輸區(qū),網(wǎng)絡(luò)節(jié)點(diǎn)可以在收到網(wǎng)絡(luò)低優(yōu)先級同步包后發(fā)起非周期低優(yōu)先級數(shù)據(jù),由于確定性周期傳輸已經(jīng)完成,因此非周期低優(yōu)先級數(shù)據(jù)可以在交換互聯(lián)設(shè)備帶寬足夠的條件下,發(fā)起任意大數(shù)量的數(shù)據(jù)傳輸,直到接收到網(wǎng)絡(luò)周期起始包為止。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。