国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于搶占式策略的1553b總線通信方法

      文檔序號:7866725閱讀:193來源:國知局
      專利名稱:基于搶占式策略的1553b總線通信方法
      技術領域
      本發(fā)明屬于航天計算機技術領域,具體涉及一種消息優(yōu)先級搶占式策略的1553B總線通信方法。
      背景技術
      目前航天器廣泛使用1553B總線進行各設備間的通信,中央處理單元作為BC端,完成遙測數(shù)據(jù)采集、遙控數(shù)據(jù)注入轉發(fā)、實時指令發(fā)送等重要功能。但是1553B總線的傳輸速率是1Mbps,隨著航天器任務越來越復雜,其系統(tǒng)性能和重要指令的響應時間需要重點關 注。航天器1553B總線上消息傳輸?shù)乃俾屎椭芷谛愿鞑幌嗤齻鬏斨噶钚畔⑼?包括周期性指令和非周期性指令,有效數(shù)據(jù)長度較小,長度固定),還需要傳輸航天器各設備的遙測信息(有效數(shù)據(jù)長度較長,長度不固定,具有一定周期),如何合理的調度1553B總線上的各種消息,特別是實現(xiàn)重要數(shù)據(jù)消息的快速響應,是航天器數(shù)據(jù)管理系統(tǒng)設計的一個重要內容。國外對航天器1553B總線通信有較多研究,但是對重要數(shù)據(jù)消息如何快速響應沒有介紹,對消息重要性分級和如何調度沒有介紹,即細節(jié)技術沒有詳細說明。國內現(xiàn)有航天器1553B總線通信主要存在如下問題大多數(shù)航天器對重要數(shù)據(jù)消息和其他數(shù)據(jù)消息沒有區(qū)分優(yōu)先級,放入同一總線區(qū)進行發(fā)送,即使少數(shù)航天器劃分了數(shù)據(jù)消息的重要性,但是重要數(shù)據(jù)和非重要數(shù)據(jù)都使用同一總線RAM區(qū)進行消息通信,在實際通信時的重要性是相同的。這樣,關鍵指令等重要數(shù)據(jù)和遙測信息等非重要數(shù)據(jù)的重要性一致,如果總線消息調度程序正在處理大量遙測數(shù)據(jù),會導致對時間要求較高的指令消息得不到立即響應,嚴重時會堵塞關鍵指令的實時傳輸,影響關鍵指令的執(zhí)行。

      發(fā)明內容
      本發(fā)明的目的是克服現(xiàn)有技術的不足,針對航天器設備間數(shù)據(jù)通信的特點,提供了一種基于搶占式策略的1553B總線通信方法,其將重要數(shù)據(jù)消息設置為高優(yōu)先級,普通數(shù)據(jù)消息設置為低優(yōu)先級,在總線消息發(fā)送過程中,高優(yōu)先級的消息能夠搶占低優(yōu)先級消息的發(fā)送,等高優(yōu)先級消息發(fā)送完成后,恢復低優(yōu)先級消息的發(fā)送,保證了重要數(shù)據(jù)消息的快速響應,而且不影響對時間緊迫性要求不高的普通數(shù)據(jù)消息的處理。本發(fā)明的技術方案是一種基于搶占式策略的1553B總線通信方法,包括以下步驟步驟一,調用總線初始化模塊;初始化的內容包括A.對總線消息塊的屬性定義;其屬性包括與應用數(shù)據(jù)相對應的總線消息塊類另IJ、總線消息塊格式、目的遠置終端RT地址、目的遠置終端RT子地址、總線消息塊的長度和承載應用數(shù)據(jù)的存儲區(qū);B.將總線消息緩沖區(qū)中的所有的總線消息塊的地址插入至空閑消息塊鏈表中;
      C.對待發(fā)送消息塊鏈表進行優(yōu)先級的定義第一個待發(fā)送消息塊鏈表用于接收關鍵指令,優(yōu)先級最高;其余待發(fā)送消息塊鏈表優(yōu)先級遞減;待發(fā)送消息塊鏈表的數(shù)量至少為2個;步驟二,調用總線消息組織模塊;總線消息組織模塊從中央處理單元CTU的應用進程中獲取應用數(shù)據(jù),并根據(jù)應用數(shù)據(jù)的大小從空閑消息塊鏈表中調取多個總線消息塊,將來自應用進程的應用數(shù)據(jù)拆分后放到多個總線消息塊的存儲區(qū)內,根據(jù)應用數(shù)據(jù)的屬性設置總線消息塊的屬性;將承載應用數(shù)據(jù)的多個總線消息塊的地址插入到應用數(shù)據(jù)的優(yōu)先級對應的待發(fā)送消息塊鏈表中;步驟三,調用總線調度模塊;
      總線調度模塊按優(yōu)先級從高到底的順序依次收集待發(fā)送消息塊鏈表中的總線消息塊,根據(jù)優(yōu)先級的類型,優(yōu)先級最高的總線消息塊調用總線B區(qū)發(fā)送模塊,轉入步驟四;其余總線消息塊調用總線A區(qū)發(fā)送模塊,轉入步驟五;步驟四,調用總線B區(qū)發(fā)送模塊;總線B區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六;由于總線B區(qū)發(fā)送模塊發(fā)送總線消息塊的存儲區(qū)中存載的為優(yōu)先級最高的關鍵指令,總線B區(qū)發(fā)送模塊在發(fā)送時打斷總線A區(qū)發(fā)送模塊的發(fā)送狀態(tài),將關鍵指令優(yōu)先發(fā)送給RT端,待總線B區(qū)發(fā)送模塊發(fā)送完成后再恢復總線A區(qū)發(fā)送模塊繼續(xù)發(fā)送;步驟五,調用總線A區(qū)發(fā)送模塊;總線A區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六;步驟六,調用返回消息處理模塊;返回消息處理模塊接收來自RT端消息,并將處理后的消息返回給應用進程;并且重新將已完成應用數(shù)據(jù)發(fā)送的總線消息塊的地址插入空閑消息塊鏈表中。本發(fā)明的有益效果是(1)本發(fā)明由于將總線消息按照任務類別劃分優(yōu)先級,重要數(shù)據(jù)的優(yōu)先級為高,非重要數(shù)據(jù)的優(yōu)先級為低。高優(yōu)先級的總線消息在RAM B區(qū)發(fā)送,低優(yōu)先級消息在RAM A區(qū)發(fā)送,B區(qū)的消息發(fā)送能夠打斷A區(qū)發(fā)送,待B區(qū)消息發(fā)送完成后,恢復A區(qū)的發(fā)送。這樣,高優(yōu)先級的消息能夠搶占低優(yōu)先級消息的發(fā)送,改變了以往總線消息發(fā)送沒有優(yōu)先級的工作模式,避免了非重要數(shù)據(jù)較長時間占用總線通信信道,使得高優(yōu)先級消息能夠快速響應,為重要數(shù)據(jù)消息的實時傳輸提供了保障,提高了關鍵指令的執(zhí)行效率。(2)本發(fā)明使用總線消息組織模塊根據(jù)應用進程提供的數(shù)據(jù)類別自動組織總線消息塊,并且插入到對應的優(yōu)先級鏈表中,然后調用總線調度模塊實現(xiàn)消息的發(fā)送和返回,實現(xiàn)高優(yōu)先級的消息搶占低優(yōu)先級的消息,這種處理過程對應用層是透明的,處理方式是封裝的,接口是統(tǒng)一的。


      圖I為本發(fā)明的運行環(huán)境示意圖;圖2為本發(fā)明的系統(tǒng)結構示意圖;圖3為本發(fā)明的總線調度模塊流程圖;圖4為本發(fā)明的總線A區(qū)發(fā)送模塊流程圖5為本發(fā)明的總線B區(qū)發(fā)送模塊流程圖。
      具體實施例方式參見附圖1,本發(fā)明運行于中央處理單元CTU即BC端,輸入為應用進程傳入的數(shù)據(jù),包括遙控注入數(shù)據(jù)、遙測數(shù)據(jù)、實時指令數(shù)據(jù)和中央處理單元內部生成的指令數(shù)據(jù)等,輸出為通過1553B總線向RT端發(fā)送的遙控轉發(fā)數(shù)據(jù)、實時指令數(shù)據(jù)、內部指令數(shù)據(jù)和向應用層返回的遙測數(shù)據(jù)。參見附圖2,基于搶占式策略的1553B總線通信方法,它包括以下步驟步驟一,調用總線初始化模塊;初始化的內容包括A.對總線消息塊的屬性定義;其屬性包括與應用數(shù)據(jù)相對應的總線消息塊類 另IJ、總線消息塊格式、目的遠置終端RT地址、目的遠置終端RT子地址、總線消息塊的長度和承載應用數(shù)據(jù)的存儲區(qū);B.將總線消息緩沖區(qū)中的所有的總線消息塊的地址插入至空閑消息塊鏈表中,此時總線消息塊的存儲區(qū)為可寫入狀態(tài);C.對待發(fā)送消息塊鏈表進行優(yōu)先級的定義第一個待發(fā)送消息塊鏈表用于接收關鍵指令,優(yōu)先級最高;其余待發(fā)送消息塊鏈表優(yōu)先級遞減;待發(fā)送消息塊鏈表的數(shù)量至少為2個;步驟二,調用總線消息組織模塊;參見附圖3,總線消息組織模塊從中央處理單元CTU的應用進程中獲取應用數(shù)據(jù),并根據(jù)應用數(shù)據(jù)的大小從空閑消息塊鏈表中調取多個總線消息塊,將來自應用進程的應用數(shù)據(jù)拆分后放到多個總線消息塊的存儲區(qū)內,根據(jù)應用數(shù)據(jù)的屬性設置總線消息塊的屬性;將承載應用數(shù)據(jù)的多個總線消息塊的地址插入到應用數(shù)據(jù)的優(yōu)先級對應的待發(fā)送消息塊鏈表中,此時總線消息塊的存儲區(qū)為已寫入狀態(tài);步驟三,調用總線調度模塊;總線調度模塊按優(yōu)先級從高到底的順序依次收集待發(fā)送消息塊鏈表中的總線消息塊,根據(jù)優(yōu)先級的類型,優(yōu)先級最高的總線消息塊調用總線B區(qū)發(fā)送模塊,轉入步驟四;其余總線消息塊調用總線A區(qū)發(fā)送模塊,轉入步驟五;步驟四,調用總線B區(qū)發(fā)送模塊;總線B區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六;由于總線B區(qū)發(fā)送模塊發(fā)送總線消息塊的存儲區(qū)中存載的為優(yōu)先級最高的關鍵指令,總線B區(qū)發(fā)送模塊在發(fā)送時打斷總線A區(qū)發(fā)送模塊的發(fā)送狀態(tài),將關鍵指令優(yōu)先發(fā)送給RT端,待總線B區(qū)發(fā)送模塊發(fā)送完成后再恢復總線A區(qū)發(fā)送模塊繼續(xù)發(fā)送;步驟五,調用總線A區(qū)發(fā)送模塊;總線A區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六;步驟六,調用返回消息處理模塊;返回消息處理模塊接收來自RT端消息,并將處理后的消息返回給應用進程;并且重新將已完成應用數(shù)據(jù)發(fā)送的總線消息塊的地址插入空閑消息塊鏈表中,此時總線消息塊的存儲區(qū)為可寫入狀態(tài)。
      參見附圖4,上述步驟五中,總線A區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊的步驟為A.總線A區(qū)發(fā)送模塊將收集到的每個總線消息塊的數(shù)據(jù)存儲區(qū)中的內容寫到1553B總線的RAM A區(qū);B.總線A區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為1553B總線RAM A區(qū),重置RAM A區(qū)棧指針到RAM A區(qū)棧開始處,設置消息個數(shù)為總線消息塊的個數(shù),并啟動發(fā)送。參見附圖5,上述步驟四中,總線B區(qū)發(fā)送子模塊向RT發(fā)送總線消息塊的步驟為Al.總線B區(qū)發(fā)送模塊首先停止1553B總線RAM A區(qū)的發(fā)送;BI.總線B區(qū)發(fā)送模塊將收集到的每個總線消息塊的數(shù)據(jù)存儲區(qū)中的內容寫到1553B總線的RAM B區(qū),總線B區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為總線 RAM B區(qū),重置B區(qū)棧指針到RAM B區(qū)棧開始處,設置消息個數(shù)為總線消息塊的個數(shù),并啟動發(fā)送;Cl.總線B區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為總線RAM A區(qū),恢復1553B總線RAM A區(qū)的發(fā)送,結束。上述步驟六中,返回消息處理子模塊處理消息的方法為RT端消息的返回后,存儲在1553B總線RAM A區(qū)或RAM B區(qū),1553B總線根據(jù)不同的消息類型將消息寫入至原發(fā)送應用數(shù)據(jù)的總線消息塊的數(shù)據(jù)存儲區(qū)中;總線調度模塊調用返回消息處理模塊,返回消息處理模塊根據(jù)總線消息塊格式,分別進行處理,如果是BC->RT格式,讀取1553B總線消息狀態(tài)字判斷總線消息塊是否已發(fā)送成功,如果成功則重新將成功發(fā)送應用數(shù)據(jù)的總線消息塊的地址插入空閑消息塊鏈表中,如果失敗,則記錄發(fā)送錯誤的狀態(tài),并且重新將失敗發(fā)送應用數(shù)據(jù)的總線消息塊的地址插入空閑消息塊鏈表中;如果是RT_>BC格式、RT->RT格式、RT_>RT廣播的格式,則將返回的消息寫入至原承載發(fā)送應用數(shù)據(jù)的總線消息塊的數(shù)據(jù)存儲區(qū)中,并且將承載返回消息的總線消息塊的數(shù)據(jù)存儲區(qū)中的內容發(fā)送給中央處理單元CTU的應用進程,重新將承載返回消息的總線消息塊的地址插入空閑消息塊鏈表中。
      權利要求
      1.一種基于搶占式策略的1553B總線通信方法,包括以下步驟 步驟一,調用總線初始化模塊; 初始化的內容包括 A.對總線消息塊的屬性定義;其屬性包括與應用數(shù)據(jù)相對應的總線消息塊類別、總線消息塊格式、目的遠置終端RT地址、目的遠置終端RT子地址、總線消息塊的長度和承載應用數(shù)據(jù)的存儲區(qū); B.將總線消息緩沖區(qū)中的所有的總線消息塊的地址插入至空閑消息塊鏈表中; C.對待發(fā)送消息塊鏈表進行優(yōu)先級的定義第一個待發(fā)送消息塊鏈表用于接收關鍵指令,優(yōu)先級最高;其余待發(fā)送消息塊鏈表優(yōu)先級遞減;待發(fā)送消息塊鏈表的數(shù)量至少為2個; 步驟二,調用總線消息組織模塊; 總線消息組織模塊從中央處理單元CTU的應用進程中獲取應用數(shù)據(jù),并根據(jù)應用數(shù)據(jù)的大小從空閑消息塊鏈表中調取多個總線消息塊,將來自應用進程的應用數(shù)據(jù)拆分后放到多個總線消息塊的存儲區(qū)內,根據(jù)應用數(shù)據(jù)的屬性設置總線消息塊的屬性;將承載應用數(shù)據(jù)的多個總線消息塊的地址插入到應用數(shù)據(jù)的優(yōu)先級對應的待發(fā)送消息塊鏈表中; 步驟三,調用總線調度模塊; 總線調度模塊按優(yōu)先級從高到底的順序依次收集待發(fā)送消息塊鏈表中的總線消息塊,根據(jù)優(yōu)先級的類型,優(yōu)先級最高的總線消息塊調用總線B區(qū)發(fā)送模塊,轉入步驟四;其余總線消息塊調用總線A區(qū)發(fā)送模塊,轉入步驟五; 步驟四,調用總線B區(qū)發(fā)送模塊; 總線B區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六;由于總線B區(qū)發(fā)送模塊發(fā)送總線消息塊的存儲區(qū)中存載的為優(yōu)先級最高的關鍵指令,總線B區(qū)發(fā)送模塊在發(fā)送時打斷總線A區(qū)發(fā)送模塊的發(fā)送狀態(tài),將關鍵指令優(yōu)先發(fā)送給RT端,待總線B區(qū)發(fā)送模塊發(fā)送完成后再恢復總線A區(qū)發(fā)送模塊繼續(xù)發(fā)送; 步驟五,調用總線A區(qū)發(fā)送模塊; 總線A區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊;RT端消息返回后,進入步驟六; 步驟六,調用返回消息處理模塊; 返回消息處理模塊接收來自RT端消息,并將處理后的消息返回給應用進程;并且重新將已完成應用數(shù)據(jù)發(fā)送的總線消息塊的地址插入空閑消息塊鏈表中。
      2.如權利要求I所述的一種基于搶占式策略的1553B總線通信方法,其特征在于,步驟五中,總線A區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊的步驟為 A.總線A區(qū)發(fā)送模塊將收集到的每個總線消息塊的數(shù)據(jù)存儲區(qū)中的內容寫到1553B總線的RAM A區(qū); B.總線A區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為1553B總線RAMA區(qū),重置RAM A區(qū)棧指針到RAM A區(qū)棧開始處,設置消息個數(shù)為總線消息塊的個數(shù),并啟動發(fā)送。
      3.如權利要求I或2所述的一種基于搶占式策略的1553B總線通信方法,其特征在于,步驟四中,總線B區(qū)發(fā)送模塊向RT端發(fā)送總線消息塊的步驟為 Al.總線B區(qū)發(fā)送模塊首先停止1553B總線RAM A區(qū)的發(fā)送;BI.總線B區(qū)發(fā)送模塊將收集到的每個總線消息塊的數(shù)據(jù)存儲區(qū)中的內容寫到1553B總線的RAM B區(qū),總線B區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為總線RAM B區(qū),重置B區(qū)棧指針到RAM B區(qū)棧開始處,設置消息個數(shù)為總線消息塊的個數(shù),并啟動發(fā)送;Cl.總線B區(qū)發(fā)送模塊設置1553B總線配置寄存器I的當前區(qū)為總線RAM A區(qū),恢復1553B總線RAM A區(qū)的發(fā)送,結束。
      4.如權利要求I或2 —種基于搶占式策略的1553B總線通信方法,其特征在于,步驟六中,返回消息處理模塊處理消息的方法為 RT端消息的返回后,存儲在1553B總線RAM A區(qū)或RAM B區(qū),1553B總線根據(jù)不同的消息類型將消息寫入至原發(fā)送應用數(shù)據(jù)的總線消息塊的數(shù)據(jù)存儲區(qū)中;總線調度模塊調用返回消息處理模塊,返回消息處理模塊根據(jù)總線消息塊格式,分別進行處理,如果是BC->RT格式,讀取1553B總線消息狀態(tài)字判斷總線消息塊是否已發(fā)送成功,如果成功則重新將成功發(fā)送應用數(shù)據(jù)的總線消息塊的地址插入空閑消息塊鏈表中,如果失敗,則記錄發(fā)送錯誤的狀態(tài),并且重新將失敗發(fā)送應用數(shù)據(jù)的總線消息塊的地址插入空閑消息塊鏈表中;如果 是RT->BC格式、RT->RT格式、RT->RT廣播的格式,則將返回的消息寫入至原承載發(fā)送應用數(shù)據(jù)的總線消息塊的數(shù)據(jù)存儲區(qū)中,并且將承載返回消息的總線消息塊的數(shù)據(jù)存儲區(qū)中的內容發(fā)送給中央處理單元CTU的應用進程,重新將承載返回消息的總線消息塊的地址插入空閑消息塊鏈表中。
      全文摘要
      本發(fā)明屬于計算機總線技術領域,特別涉及一種1553B總線通信方法。其技術方案是一種基于搶占式策略的1553B總線通信方法,包括以下步驟步驟一,調用總線初始化模塊;步驟二,調用總消息組織模塊;步驟三,調用總線調度模塊;步驟四,調用總線B區(qū)發(fā)送模塊;步驟五,調用總線A區(qū)發(fā)送模塊;步驟六,調用返回消息處理模塊。本發(fā)明保證高優(yōu)先級的消息能夠搶占低優(yōu)先級消息的發(fā)送,改變了以往總線消息發(fā)送沒有優(yōu)先級的工作模式,避免了非重要數(shù)據(jù)較長時間占用總線通信信道,使得高優(yōu)先級消息能夠快速響應,為重要數(shù)據(jù)消息的實時傳輸提供了保障,提高了關鍵指令的執(zhí)行效率。并且本發(fā)明這種處理過程對應用層是透明的,處理方式是封裝的,接口是統(tǒng)一的。
      文檔編號H04L12/40GK102970202SQ20121048938
      公開日2013年3月13日 申請日期2012年11月26日 優(yōu)先權日2012年11月26日
      發(fā)明者詹盼盼, 孫勇, 陸嵐, 何熊文, 李文穎 申請人:北京空間飛行器總體設計部
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1