国产精品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>

      基于信號(hào)名的嵌入式多cpu板間信號(hào)自動(dòng)交換的方法

      文檔序號(hào):8411780閱讀:508來(lái)源:國(guó)知局
      基于信號(hào)名的嵌入式多cpu板間信號(hào)自動(dòng)交換的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于嵌入式系統(tǒng)領(lǐng)域,特別涉及一種多CPU板通過(guò)數(shù)據(jù)總線實(shí)現(xiàn)板間信號(hào)自動(dòng)交換的實(shí)現(xiàn)方法。
      【背景技術(shù)】
      [0002]對(duì)于由兩個(gè)或多個(gè)CPU板組成的嵌入式系統(tǒng),各CPU板完成不同的功能,CPU板之間通過(guò)數(shù)據(jù)總線交換信號(hào),從而實(shí)現(xiàn)分布式計(jì)算和協(xié)同工作,如圖1所示。為了實(shí)現(xiàn)CPU板間信號(hào)交換,常規(guī)做法是在軟件編程階段,預(yù)先為各CPU板需要交換的輸出信號(hào)、輸入信號(hào)分配相同的數(shù)據(jù)總線地址,并將分配的地址寫入各個(gè)CPU板程序。只有輸出方和輸入方的數(shù)據(jù)總線地址相同,才能實(shí)現(xiàn)正確的信號(hào)交換。如圖2所示,板I輸出信號(hào)Sigl、板2輸入信號(hào)Sig2都使用了數(shù)據(jù)總線地址X進(jìn)行信號(hào)交換。在嵌入式系統(tǒng)開發(fā)過(guò)程中,通常多次調(diào)整信號(hào)和信號(hào)交換(如增加、減少、改變順序),需要信號(hào)收發(fā)雙方同步修改數(shù)據(jù)總線地址,重新編譯CPU板程序。在一個(gè)復(fù)雜系統(tǒng)中,板間信號(hào)交換可能有幾萬(wàn)個(gè),手工調(diào)整數(shù)據(jù)總線地址很容易出現(xiàn)錯(cuò)誤。因此,對(duì)于一個(gè)多CPU板構(gòu)成的嵌入式系統(tǒng),如何方便、靈活地使用數(shù)據(jù)總線進(jìn)行CPU板間信號(hào)自動(dòng)交換是一個(gè)挑戰(zhàn)。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明的目的,在于提供一種基于信號(hào)名的嵌入式多CPU板間信號(hào)自動(dòng)交換的方法,其可直觀簡(jiǎn)單地調(diào)整CPU板間信號(hào)交換,并保證信號(hào)交換的正確性。
      [0004]為了達(dá)成上述目的,本發(fā)明的解決方案是:
      [0005]一種基于信號(hào)名的嵌入式多CPU板間信號(hào)自動(dòng)交換的方法,包括如下步驟:
      [0006](I)將嵌入式多CPU板分布式系統(tǒng)中的CPU板劃分為主板和從板,將一個(gè)具備信號(hào)管理功能的CPU板作為主板,其余CPU板均作為從板;在初始化階段,所有從板依次向主板發(fā)送包含信號(hào)名、信號(hào)內(nèi)存地址和信號(hào)數(shù)據(jù)類型的信號(hào)注冊(cè)信息;
      [0007](2)主板匯總所有從板的信號(hào)注冊(cè)信息后,從配置文件中讀取用信號(hào)名連線表示的輸出、輸入信號(hào)交換關(guān)系,計(jì)算分配輸出、輸入信號(hào)映射的數(shù)據(jù)總線地址,依次將各個(gè)信號(hào)的內(nèi)存地址、數(shù)據(jù)類型和總線地址發(fā)給各從板;
      [0008](3)從板收到主板的信號(hào)的內(nèi)存地址、數(shù)據(jù)類型和總線地址后,保存為輸出信號(hào)表和輸入信號(hào)表;
      [0009](4)在運(yùn)行階段,信號(hào)發(fā)送方按照輸出信號(hào)表,將輸出信號(hào)值填入所分配的相應(yīng)總線地址中,接收方按照輸入信號(hào)表,從相應(yīng)總線地址讀取輸入信號(hào)值。
      [0010]上述步驟(I)中,從板通過(guò)CAN、RS-485或Ethernet向主板發(fā)送信號(hào)注冊(cè)信息。[0011 ] 上述步驟(I)中,在初始化階段,主板輪流向各個(gè)從板發(fā)送開始注冊(cè)命令,接收到該開始注冊(cè)命令的從板向主板發(fā)送信號(hào)注冊(cè)信息。
      [0012]上述步驟(2)中,主板獲取所有從板的信號(hào)注冊(cè)信息后,按照輸出、輸入類型存儲(chǔ)成輸出信號(hào)注冊(cè)表和輸入信號(hào)注冊(cè)表,所述注冊(cè)表以數(shù)組存儲(chǔ),每個(gè)數(shù)組項(xiàng)表示一個(gè)信號(hào)信息,包括信號(hào)名字符串、信號(hào)所屬板卡編號(hào)、信號(hào)數(shù)據(jù)類型和信號(hào)內(nèi)存地址;所有信號(hào)注冊(cè)結(jié)束后,信號(hào)信息表按信號(hào)名排序。
      [0013]上述步驟(2)中,主板從配置文件中讀取用信號(hào)名連線表示的輸出、輸入信號(hào)交換關(guān)系,具體內(nèi)容是:主板讀取配置文件,逐條提取信號(hào)名連線,存儲(chǔ)為信號(hào)交換關(guān)系表數(shù)組,其中每個(gè)數(shù)組項(xiàng)代表一個(gè)信號(hào)連線;主板根據(jù)信號(hào)交換關(guān)系表中的輸出信號(hào)名,從輸出信號(hào)注冊(cè)表中檢索到信號(hào)信息,再按輸出信號(hào)的板卡地址、數(shù)據(jù)類型和內(nèi)存地址順序,對(duì)信號(hào)交換關(guān)系表的表項(xiàng)進(jìn)行重新排序,具體排序規(guī)則是:不同板卡編號(hào)的信號(hào)按板卡編號(hào)從小到大,相同板卡的按信號(hào)數(shù)據(jù)類型寬度從小到大,相同板卡且相同數(shù)據(jù)類型的按內(nèi)存地址從小到大。
      [0014]上述數(shù)據(jù)類型寬度的順序從小到大是:布爾量、單字節(jié)整型、雙字節(jié)整型、四字節(jié)整型和浮點(diǎn)型。
      [0015]采用上述方案后,本發(fā)明通過(guò)在初始化階段從板向主板發(fā)送信號(hào)注冊(cè)信息;用信號(hào)名連線表示輸出、輸入信號(hào)交換關(guān)系;用配置文件存儲(chǔ)信號(hào)名連線;主板解析配置文件中的信號(hào)交換關(guān)系,計(jì)算分配輸出、輸入信號(hào)的總線地址,將各個(gè)信號(hào)的內(nèi)存地址、數(shù)據(jù)類型和總線地址發(fā)給各從板;從板將輸出、輸入信號(hào)內(nèi)存地址、數(shù)據(jù)類型和總線地址保存為輸出信號(hào)表和輸入信號(hào)表;在運(yùn)行時(shí),信號(hào)發(fā)送方按照輸出信號(hào)表,將信號(hào)值填入總線所分配的地址中,接收方按照輸入信號(hào)表,從數(shù)據(jù)總線特定地址讀取輸入信號(hào)值,能夠降低手工調(diào)整信號(hào)交換的難度,避免人工出錯(cuò)的風(fēng)險(xiǎn),從機(jī)制上保證了多CPU板間信號(hào)交換的正確性;另外,根據(jù)信號(hào)名來(lái)調(diào)整CPU板間信號(hào)交換,可以通過(guò)編輯配置文本來(lái)實(shí)現(xiàn),既直觀又簡(jiǎn)單,無(wú)需修改CPU板卡程序,簡(jiǎn)化了嵌入式系統(tǒng)開發(fā)設(shè)計(jì)。
      【附圖說(shuō)明】
      [0016]圖1是本發(fā)明所針對(duì)的嵌入式多CPU板分布式系統(tǒng)的結(jié)構(gòu)結(jié)構(gòu)圖;
      [0017]圖2是現(xiàn)有基于固定分配數(shù)據(jù)總線地址的多CPU板間信號(hào)交換實(shí)現(xiàn)方法示意圖;
      [0018]圖3是本發(fā)明中基于信號(hào)名多CPU板間信號(hào)自動(dòng)交換實(shí)現(xiàn)方法示意圖;
      [0019]圖4是本發(fā)明初始化階段的信號(hào)注冊(cè)及計(jì)算分配數(shù)據(jù)總線地址的示意圖;
      [0020]圖5是本發(fā)明運(yùn)行階段更新輸出、輸入信號(hào)示意圖。
      【具體實(shí)施方式】
      [0021]以下將結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
      [0022]如圖3所示,本發(fā)明提供一種基于信號(hào)名的嵌入式多CPU板間信號(hào)自動(dòng)交換的方法,包括如下步驟:
      [0023](I)將嵌入式多CPU板分布式系統(tǒng)(其架構(gòu)如圖1所示)中的CPU板劃分為主板和從板,將其中一個(gè)CPU板劃分為主板,其余均作為從板,形成“主從”系統(tǒng)架構(gòu);
      [0024]所述嵌入式多CPU板分布式系統(tǒng)上電后,各CPU板首先初始化硬件,然后進(jìn)行信號(hào)注冊(cè),即將該從板需要與外部交換的信號(hào)信息用通信總線發(fā)送給主板,具體可采用CAN、RS-485、Ethernet等;所述信號(hào)信息包含信號(hào)名、信號(hào)內(nèi)存地址和信號(hào)數(shù)據(jù)類型;為了避免多個(gè)從板同時(shí)向主板發(fā)送,超出主板接收能力,可以采取主板輪流向各個(gè)從板發(fā)送開始注冊(cè)命令,讓各從板依次注冊(cè)的方法,如圖4所示。
      [0025](2)主板匯總所有從板的信號(hào)注冊(cè)信息后,按照輸出、輸入類型存儲(chǔ)成輸出信號(hào)注冊(cè)表和輸入信號(hào)注冊(cè)表,所述注冊(cè)表以數(shù)組存儲(chǔ),每個(gè)數(shù)組項(xiàng)表示一個(gè)信號(hào)信息,包括信號(hào)名字符串、板卡編號(hào)、數(shù)據(jù)類型和內(nèi)存地址。所有信號(hào)注冊(cè)結(jié)束后,信號(hào)信息表將按信號(hào)名排序。
      [0026]主板讀取如下述結(jié)構(gòu)的配置文件:
      [0027]B01.Sigl->B02.Sig2
      [0028]B01.Sigl->B03.SigO
      [0029]B02.Sigl->B01.Sig4
      [0030]…
      [0031]主板讀取配置文件,逐條提取信號(hào)名連線,存儲(chǔ)為信號(hào)交換關(guān)系表數(shù)組,其中每個(gè)數(shù)組項(xiàng)代表一個(gè)信號(hào)連線(輸出信號(hào)名字符串、輸入信號(hào)名字符串)。
      [
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1