控制/遠程節(jié)點與總線監(jiān)控節(jié)點同步工作的電路及方法
【技術領域】
[0001]本發(fā)明屬于計算機硬件技術,涉及一種關于I394總線的控制計算機節(jié)點(ControlComputer,CC)/遠程節(jié)點(RemoteNode,RN)和總線監(jiān)控(BusMoni tor,BM)節(jié)點同步工作的設計電路和方法。
【背景技術】
[0002]地面仿真設備要求能夠模擬機載設備1394總線控制計算機節(jié)點(CC)和遠程節(jié)點(RN)角色切換功能,同時還需對1394總線傳輸進行監(jiān)控,這就要求在同一設備中必須具備控制/遠程節(jié)點功能可切換,并與總線監(jiān)控節(jié)點同步工作。在控制/遠程節(jié)點接收消息時,總線監(jiān)控節(jié)點也在監(jiān)控消息,如何使二者同步工作,目前技術中,沒有支持此類問題的解決方法和措施。
【發(fā)明內容】
[0003]本發(fā)明目的是提供一種控制/遠程節(jié)點與總線監(jiān)控節(jié)點同步工作的電路及方法,可滿足地面仿真設備需求,使單一設備在作為控制/遠程節(jié)點接收消息時,可與總線監(jiān)控節(jié)點同步工作。
[0004]本發(fā)明的技術解決方案是:
[0005]—種控制/遠程節(jié)點與總線監(jiān)控節(jié)點同步工作的電路,包括CC/RN功能單元、BM功能單元以及PCIe主機接口單元,其特殊之處是:所述CC/RN功能單元包括AS5643協(xié)議處理模塊、配置表區(qū)、DMA控制以及接收/發(fā)送數(shù)據(jù)緩沖區(qū);所述AS5643協(xié)議處理模塊用于按照配置表區(qū)中配置的信息,完成消息的收發(fā)控制;所述配置表區(qū)用于存放需要收發(fā)消息的配置信息;所述DMA控制用于發(fā)起CC/RN功能單元DMA請求,等待搬移至主存;所述BM功能單元包括消息號輪詢區(qū)、DM接口、FIFO控制、監(jiān)控管理與狀態(tài)寄存器、監(jiān)控狀態(tài)FIFO、監(jiān)控數(shù)據(jù)FIFO;所述DM接口用于接收1394總線消息;所述PCIe主機接口單元包括寄存器接口、DMA數(shù)據(jù)接口、DMA請求接口、DMA占用仲裁模塊以及PCIe總線后端模塊;所述寄存器接口與CC/RN功能單元的配置表區(qū)及BM功能單元的監(jiān)控管理與狀態(tài)寄存器連接;所述DMA數(shù)據(jù)接口與CC/RN功能單元的接收/發(fā)送數(shù)據(jù)緩沖區(qū)和BM功能單元的監(jiān)控數(shù)據(jù)FIFO連接;所述DMA占用仲裁模塊用于仲裁CC/RN功能單元和BM功能單元的DMA請求;所述DMA請求接口按照DMA占用仲裁模塊的仲裁結果,將CC/RN功能單元和BM功能單元的DMA數(shù)據(jù)發(fā)送到PCIe總線后端模塊;所述PCIe總線后端模塊與寄存器接口以及DMA數(shù)據(jù)接口連接。
[0006]一種控制/遠程節(jié)點接收消息與總線監(jiān)控節(jié)點同步工作的方法,包括以下步驟:
[0007]步驟1:控制/遠程節(jié)點初始化配置,配置CC或RN自身節(jié)點角色以及按周期發(fā)送/接收消息屬性信息;總線監(jiān)控節(jié)點初始化配置監(jiān)控過濾條件;
[0008]所述按周期發(fā)送/接收消息屬性信息包括發(fā)送偏移、消息負載長度和期望發(fā)送/接收消息ID;
[0009]步驟2:等待從1394總線中接收消息;然后數(shù)據(jù)流一路進入CC/RN功能單元處理,轉入步驟3;數(shù)據(jù)流另一路進入BM功能單元,轉入步驟4;
[0010]步驟3: CC/RN功能單元提取該消息ID,與期望接收的消息ID比較,如需接收則將該消息存入接收/發(fā)送數(shù)據(jù)緩沖區(qū),DMA控制模塊發(fā)起CC/RN功能單元DMA請求,等待搬移至主存,轉入步驟6;
[0011 ]步驟4: BM功能單元DM接口模塊接收消息的同時,從1394鏈路接收到的消息中提取該消息標識號,并輸入消息號輪詢單元進行比較,判斷當前接收消息是否滿足監(jiān)控條件,如滿足則轉入步驟5,否則繼續(xù)等待下條接收消息;
[0012]步驟5:監(jiān)控控制單元將數(shù)據(jù)從接收/發(fā)送數(shù)據(jù)緩沖區(qū)中提出,存入監(jiān)控數(shù)據(jù)FIFO中,并將監(jiān)控消息的狀態(tài)信息,存入監(jiān)控狀態(tài)FIFO中,狀態(tài)FIFO非“空”即發(fā)起B(yǎng)M單元DMA請求,轉入步驟6 ;
[00?3] 步驟6:在等待請求狀態(tài)下如果CC/RN功能單元和BM單元有一個發(fā)起DMA請求,則轉入步驟7,否則等待;
[0014]步驟7:判斷請求的發(fā)起者,首先判斷是否為CC/RN功能單元發(fā)起,如果是則轉入步驟8,否則轉入步驟9;
[0015]步驟8:授權CC/RN功能單元啟動數(shù)據(jù)DMA搬移,等待數(shù)據(jù)搬移完成,檢查BM單元是否有請求,如果是則轉入步驟7,否則回到等待接收消息狀態(tài);
[0016]步驟9:授權BM功能單元啟動數(shù)據(jù)DMA搬移,等待BM功能單元數(shù)據(jù)搬移完成,回到等待接收消息狀態(tài)。
[0017]—種控制/遠程節(jié)點發(fā)送消息與總線監(jiān)控節(jié)點同步工作的方法,包括以下步驟:
[0018]步驟1:控制/遠程節(jié)點初始化配置,配置CC或RN自身節(jié)點角色以及按周期發(fā)送/接收消息屬性信息;總線監(jiān)控節(jié)點初始化配置監(jiān)控過濾條件;
[0019]所述按周期發(fā)送/接收消息屬性信息包括發(fā)送偏移、消息負載長度和期望發(fā)送/接收消息ID;
[0020]步驟2:控制/遠程節(jié)點上層軟件填充待發(fā)送數(shù)據(jù)到主機內存,并根據(jù)消息屬性和當前消息的發(fā)送情況填充到主存中為空或即將為空的待發(fā)送緩沖區(qū)中,并在完成數(shù)據(jù)封裝填充后,主機更新發(fā)送消息隊列的指針,通知硬件電路該數(shù)據(jù)具備發(fā)送條件;
[0021]步驟3:硬件電路根據(jù)發(fā)送此條消息隊列的頭尾指針,計算出當前需發(fā)送消息的主存起始地址,將此消息的主存起始地址通知DMA控制單元,進行數(shù)據(jù)預搬移,并將搬移到的消息存放在片內接收/發(fā)送數(shù)據(jù)緩沖區(qū)中;
[0022]步驟4:在發(fā)送偏移時刻,邏輯將數(shù)據(jù)封裝為協(xié)議規(guī)定的包格式,通過鏈路層送到網(wǎng)絡上,同時將該消息發(fā)送至BM功能單元DM接口模塊;
[0023]步驟5:步驟4中本節(jié)點發(fā)送消息,與總線上接收到的消息一起傳輸至BM功能單元DM接口模塊,監(jiān)控控制單元從LLC層芯片接收到的消息中提取該消息標識號,并輸入消息號輪詢單元進行比較,判斷當前接收消息是否滿足監(jiān)控條件,如滿足則轉入步驟6,否則繼續(xù)等待下條接收消息;
[0024]步驟6:監(jiān)控控制單元將數(shù)據(jù)從接收接收/發(fā)送數(shù)據(jù)緩沖區(qū)中提出,存入監(jiān)控數(shù)據(jù)FIFO中,并將監(jiān)控消息的狀態(tài)信息,存入監(jiān)控狀態(tài)FIFO中,狀態(tài)FIFO非“空”即發(fā)起B(yǎng)M單元DMA請求,轉入步驟7;
[0025]步驟7: BM功能單元啟動數(shù)據(jù)DMA搬移,等待BM功能單元數(shù)據(jù)搬移完成,回到步驟2。
[0026]本發(fā)明具有的優(yōu)點:
[0027]1、本發(fā)明電路及方法,可滿足地面仿真設備需求,使單一設備在作為控制/遠程節(jié)點接收消息時,可與總線監(jiān)控節(jié)點同步并行工作,不會損失設備工作效率。
[0028]2、本發(fā)明同一設備具備控制/遠程節(jié)點功能可切換,并與總線監(jiān)控節(jié)點同步工作。
[0029]3、本發(fā)明在控制/遠程節(jié)點接收消息時,總線監(jiān)控節(jié)點也在監(jiān)控消息,簡化了一個設備。
[0030]4、本發(fā)明在自身節(jié)點電路組織發(fā)送數(shù)據(jù)包到鏈路層DM接口時,同時將此數(shù)據(jù)返回BM功能單元的接收接口,然后按照BM功能單元功能設計,與從總線上接收的消息一起進行監(jiān)控,滿足監(jiān)控自身控制/遠程節(jié)點在總線上傳輸實際情況的需求。
[0031 ] 5、本發(fā)明引入DMA(直接內存訪問)請求仲裁單元,可以有效的避免控制/遠程節(jié)點單元與總線監(jiān)控節(jié)點單元競爭。
【附圖說明】
[0032]圖1是本發(fā)明的結構框圖。
[0033]圖2是本發(fā)明控制/遠程節(jié)點接收消息與總線監(jiān)控節(jié)點同步工作流程圖。
[0034]圖3是本發(fā)明控制/遠程節(jié)點發(fā)送消息與總線監(jiān)控節(jié)點同步工作流程圖。
【具體實施方式】
[0035]一種控制/遠程節(jié)點與總線監(jiān)控節(jié)點同步工作的電路及方法,參照圖1,包含CC/RN功能單元、BM功能單元以及PCIe主機接口單元,其中:CC/RN功能單元包括AS5643協(xié)議處理模塊、配置表區(qū)、DMA控制以及接收/發(fā)送數(shù)據(jù)緩沖區(qū)(雙端口存儲器);BM功能單元包括消息號輪詢區(qū)、DM接口、FIF0控制、監(jiān)控管理與狀態(tài)寄存器、監(jiān)控狀態(tài)FIFO、監(jiān)控數(shù)據(jù)FIFO;PCIe主機接口單元包括寄存器接口、DMA數(shù)據(jù)接口、DMA請求接口、DMA占用仲裁模塊以及PCIe總線后端t吳塊。
[0036]—種控制/遠程節(jié)點接收消息與總線監(jiān)控節(jié)點同步工作的方法,采用上述電路,參見圖2,步驟如下:
[0037]步驟1:控制/遠程節(jié)點初始化配置,配置自身節(jié)點角色(CC或RN)以及按周期發(fā)送/接收消息屬性(發(fā)送偏移、消息負載長度、期望發(fā)送/接收消息ID)等信息??偩€監(jiān)控節(jié)點初始化配置監(jiān)控過濾條件;
[0038]步驟2:等待從1394總線中接收到消息后,數(shù)據(jù)流一路進入CC/RN功能單元處理,轉入步驟3,一路進入BM功能單元,轉入步驟4 ;
[0039]步驟3:CC/RN功能單元提取該消息ID,與期望接收的消息ID比較,如需接收則將該消息存入接收/發(fā)送數(shù)據(jù)緩沖區(qū),DMA控制模塊發(fā)起CC/RN功能單元DMA請求,等待搬移至主