<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 1553B總線控制器設(shè)計(jì)與調(diào)試

          1553B總線控制器設(shè)計(jì)與調(diào)試

          作者: 時(shí)間:2009-06-25 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言
          是美國(guó)軍用標(biāo)準(zhǔn)MIL-STD-定義的一種串行的傳輸形式。由美國(guó)于20世紀(jì)70年代提出,的組成包括一個(gè)總線(BC),若干個(gè)(最多31個(gè))遠(yuǎn)程終端(RT),如果需要的話還可以加上負(fù)責(zé)監(jiān)視總線信息的總線監(jiān)視器(BM),總線通訊之所以得到如此廣泛的應(yīng)用,就是其具有以下特點(diǎn):
          (1)強(qiáng)調(diào)實(shí)時(shí)性,1553B的傳送速率為1Mb/s,傳輸速率快。
          (2)1553B總線按指令/響應(yīng)的方式異步操作,即總線上所有的消息傳輸都由總線發(fā)出的指令來(lái)控制,相關(guān)終端對(duì)指令應(yīng)給予回答并執(zhí)行操作。這種方式非常適合集中控制的分布式處理系統(tǒng)。
          (3)1553B總線是雙冗余的傳輸線,總線都是雙備份的,如果總線通訊不通,系統(tǒng)將會(huì)根據(jù)BC初始化時(shí)候的設(shè)定自動(dòng)選擇通訊重試,增強(qiáng)了系統(tǒng)的可靠性。
          總線是總線信息通訊的發(fā)起者和組織者,因此對(duì)BC控制的好壞將直接影響到總線通訊的質(zhì)量。
          2 總線的控制方法
          是總線信息通訊的發(fā)起者,同時(shí)總線上所有信息的傳輸又均由BC來(lái)控制和激勵(lì),其簡(jiǎn)單的通訊過(guò)程為:BC向RT(或多個(gè)RT)發(fā)送一個(gè)發(fā)送或者接收指令,如果為接收指令,指令后會(huì)攜帶需要RT接收的數(shù)據(jù)字,RT接收到命令字后,在給定的相應(yīng)時(shí)間范圍內(nèi)返回一個(gè)狀態(tài)字,并執(zhí)行相應(yīng)動(dòng)作。如果為發(fā)送指令,RT只需接收BC發(fā)送的數(shù)據(jù)字,然后返回狀態(tài)即可。
          在1553B總線上通訊的信息多種多樣,所以針對(duì)不同的背景要有不同的總線方法,對(duì)于結(jié)構(gòu)單一、數(shù)據(jù)量較少系統(tǒng),總線上數(shù)據(jù)的活動(dòng)不是很頻繁,可以采取比較簡(jiǎn)單的方法:對(duì)周期性傳輸?shù)南⒉捎霉潭ㄖ芷趤?lái)定時(shí)傳輸,對(duì)一次性消息采用命令插入的方式,要求RT返回?cái)?shù)據(jù)的采用查詢方式向RT的子地址下達(dá)命令字來(lái)獲取數(shù)據(jù)。
          如果通訊比較復(fù)雜,甚至有多個(gè)RT時(shí),這時(shí)再采用上面的方式就使得BC需要同時(shí)發(fā)送大量命令字來(lái)查詢多個(gè)RT的子地址,這樣勢(shì)必給通訊帶來(lái)沉重負(fù)擔(dān),因此可以采用另外一種矢量字方式,將發(fā)送消息的主動(dòng)權(quán)交還給發(fā)送方(RT),具體的實(shí)現(xiàn)方法就是:RT在接收到BC的命令之后,完成相應(yīng)動(dòng)作(例如自檢),動(dòng)作完成后將數(shù)據(jù)字寫(xiě)到相應(yīng)的子地址BUF中,然后按照協(xié)議構(gòu)造矢量字,再把矢量字發(fā)送到RT的0/31號(hào)子地址(只能是0或31號(hào)子地址),BC在發(fā)送完一次性消息后就可以向0/31號(hào)字地址發(fā)命令字,然后讀得該子地址內(nèi)存放的矢量字,然后根據(jù)協(xié)議解析矢量字,從而向從矢量字中得到的子地址發(fā)送命令,從而得到BC想要得到的RT數(shù)據(jù)。這樣處理既可保證通訊數(shù)據(jù)量明顯較小,又可以保證消息傳輸實(shí)時(shí)性,同時(shí)又使軟件的具有更多的靈活性。
          為了保證1553B通訊能夠適應(yīng)更多更復(fù)雜的情況,BC還提供了很多特殊的功能給用戶,使用戶可以根據(jù)自己的需求來(lái)使用這些特殊功能,以滿足特殊的系統(tǒng)要求:
          (1)自動(dòng)重試:BC進(jìn)行初始化的時(shí)候可以進(jìn)行設(shè)定,根據(jù)需求來(lái)設(shè)定BC的重試條件。
          (2)動(dòng)態(tài)總線控制:向一個(gè)有執(zhí)行總線控制能力的遠(yuǎn)程終端發(fā)送一個(gè)轉(zhuǎn)讓控制的指令字,如果遠(yuǎn)程終端接受總線控制,總線控制權(quán)就交給了這個(gè)遠(yuǎn)程終端。
          (3)啟動(dòng)自檢測(cè):可以用指令使遠(yuǎn)程終端激活其內(nèi)部的自檢電路。
          3 總線控制器的軟件設(shè)計(jì)
          由于BC在總線上面的特殊性,其軟件設(shè)計(jì)的好壞將直接影響整個(gè)系統(tǒng)通訊的流暢、可靠,軟件設(shè)計(jì)歸結(jié)起來(lái)有以下幾個(gè)注意的地方:
          (1)中斷方式的選擇:對(duì)于總線消息而言,都是總線控制器將這些消息組織成一個(gè)一個(gè)的總線幀來(lái)傳輸?shù)?,一幀也就是平時(shí)說(shuō)的一個(gè)總線周期。在設(shè)計(jì)軟件中斷時(shí)可以采用單個(gè)消息觸發(fā)一次中斷,也可以選擇一個(gè)總線周期進(jìn)一次中斷,當(dāng)然最快的就是單個(gè)消息就進(jìn)入中斷,這樣可以保證每個(gè)消息結(jié)束后就能夠馬上得到處理,實(shí)時(shí)性好。但是每條消息都執(zhí)行中斷程序無(wú)疑對(duì)軟件運(yùn)行效率也是有影響的,所以減少中斷次數(shù)對(duì)軟件系統(tǒng)還是有利的,但是減少進(jìn)中斷次數(shù)又是以犧牲系統(tǒng)實(shí)時(shí)性為代價(jià)的,兩者相比較筆者建議如果通訊數(shù)據(jù)量不是很大的情況下盡量采用單條消息中斷的方式,同時(shí)盡量簡(jiǎn)化中斷程序執(zhí)行的代碼,提高程序的效率。如果有多個(gè)RT且數(shù)據(jù)量很大,可以考慮一個(gè)周期進(jìn)行一次中斷。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();