久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

探討總線的接口軟件設(shè)計(jì)與實(shí)現(xiàn)

所屬欄目:軟件開發(fā)論文 發(fā)布日期:2010-09-15 08:37 熱度:

  摘要:近年來,1553B數(shù)據(jù)總線由于其高可靠性和實(shí)時(shí)性,在航天、航空、軍事等領(lǐng)域的電子聯(lián)網(wǎng)系統(tǒng)中取得了廣泛的應(yīng)用。MIL-STD-1553B是美國(guó)軍用標(biāo)準(zhǔn)的串行通信總線,全稱是“飛機(jī)內(nèi)部時(shí)分制指令/響應(yīng)多路傳輸數(shù)據(jù)總線”。這個(gè)標(biāo)準(zhǔn)規(guī)定了數(shù)字式的命令/響應(yīng)時(shí)分制多路數(shù)據(jù)總線的技術(shù)要求,也規(guī)定了多路總線的操作方式和總線上信息流的格式以及電氣要求。MIL-STD-1553B總線接口板是實(shí)現(xiàn)航天電子綜合化系統(tǒng)的關(guān)鍵部件,完成總線的信息綜合、資源共享、任務(wù)協(xié)調(diào)和容錯(cuò)重構(gòu)。
  關(guān)鍵詞:1553B總線;接口軟件;總線控制器;遠(yuǎn)程終端;堆棧
  11553B總線卡的通信接口
  1553B總線的主要特征:傳輸速度為1Mbit/s,字的長(zhǎng)度為20bit,數(shù)據(jù)有效長(zhǎng)度為16bit,信息量最大長(zhǎng)度為32個(gè)字。傳輸方式為半雙工方式,傳輸協(xié)議為命令/響應(yīng)方式,故障容錯(cuò)是典型的雙冗余方式,第二條總線處于熱備份狀態(tài)。傳輸媒介為屏蔽雙絞線,總線耦合方式為直接耦合
  和變壓器耦合。由于PC局部總線技術(shù)的發(fā)展,使得PCI總線成為PC總線事實(shí)上的標(biāo)準(zhǔn)。這使得航電系統(tǒng)所需要的接口板由ISA總線向PCI總線的轉(zhuǎn)換便顯得尤為迫切。我們?cè)O(shè)計(jì)的仿真控制系統(tǒng)實(shí)現(xiàn)了基于PCI總線通信的1553B總線接口板。其具體的設(shè)計(jì)思路是:與1553B總線的接口采用DDC公司的BU-61580協(xié)議芯片,與PCI總線的接口采用AMCC公司的PCI總線接口芯片S5920,其中重點(diǎn)部分在于S5920與BU-61580之間的接口邏輯的設(shè)計(jì),這部分采用了一片Lattice公司的GAL20V8可編程邏輯芯片和地址鎖存和數(shù)據(jù)驅(qū)動(dòng)、隔離的分立元件來實(shí)現(xiàn)。1553B總線協(xié)議電路主要是圍繞BU-61580協(xié)議芯片其RT子地址要用專門的外部電路來設(shè)置,接口卡上設(shè)計(jì)了RT子地址設(shè)置電路,可以通過增減短路來完成1553B總線終端RT子地址的設(shè)置。1553B總線輸出電路完成接口卡與1553B總線的信息交換,主要包括隔離變壓器和專用接口。接口卡有A和B兩個(gè)輸出通道,通道都可獨(dú)立接受和發(fā)送信息。信號(hào)從BU-61580的內(nèi)部發(fā)送接收機(jī)出來后要經(jīng)過一個(gè)隔離變壓器后,連接到專用的傳輸線接口上。邏輯電路主要通過一片GAL20V8完成接口卡全部邏輯處理,包括S5920本地端和BU-61580相連時(shí)一些控制信號(hào)的轉(zhuǎn)換等邏輯功能。接口卡的電源狀態(tài)由指示電路上的LED指示燈來顯示,1553B板卡的實(shí)現(xiàn)原理圖如圖1所示。
  表1.jpg
  2接口軟件設(shè)計(jì)
  1553B總線卡是仿真測(cè)試系統(tǒng)的核心部件,它的功能是連接測(cè)試系統(tǒng)和被測(cè)系統(tǒng),實(shí)現(xiàn)兩個(gè)系統(tǒng)間的實(shí)時(shí)信號(hào)通訊,保障系統(tǒng)間各種工作狀態(tài)控制及狀態(tài)數(shù)據(jù)及時(shí)、正確地傳輸。本文不討論總線卡的有關(guān)底層驅(qū)動(dòng)問題,只探討接口傳輸應(yīng)用層軟件的相關(guān)設(shè)計(jì)和實(shí)現(xiàn)。
  2.1軟件總體設(shè)計(jì)思路
  總線上所有消息的傳輸都由BC激勵(lì)和控制,因此其軟件設(shè)計(jì)的好壞關(guān)系到整個(gè)系統(tǒng)的性能。本BC通訊軟件的設(shè)計(jì)有如下幾個(gè)關(guān)鍵之處。
  2.1.1消息的組織
  本應(yīng)用軟件的消息有數(shù)據(jù)轉(zhuǎn)發(fā)、采集RT(RotateTer-mina1,簡(jiǎn)稱RT)工程參數(shù)以及時(shí)間碼。廣播時(shí)間碼是每幀都要處理的消息,屬于周期性消息。采集RT工程參數(shù)是由事件的請(qǐng)求觸發(fā)的,屬于非周期性消息。對(duì)于非周期性消息,BC要在原有周期性消息基礎(chǔ)上增加要求RT發(fā)送向量字的方式指令消息。設(shè)計(jì)時(shí),BC以4Hz的頻率向RT發(fā)送詢問指令,被查詢的RT若有事件請(qǐng)求,就將矢量字置位,BC將在下一幀增加處理該事件的消息。這樣,每一幀的消息描述塊、消息塊內(nèi)容和堆棧的消息處理個(gè)數(shù)都不一樣。所以,每一幀都需要在保留周期性消息的前提下增加非周期性消息描述塊、復(fù)位堆棧指針、更改消息個(gè)數(shù)、更新消息塊、填寫發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。
  2.1.2消息時(shí)間間隔的選取
  消息的時(shí)間間隔可以是均勻的,也可以是非均勻的。由于消息之間的時(shí)間間隔對(duì)所有RT都會(huì)產(chǎn)生影響,而且任務(wù)不同使得總線繁忙程度也不同。另外,有些消息需要在消息結(jié)束后的中斷服務(wù)中進(jìn)行處理,這時(shí)適當(dāng)增加消息間隔時(shí)間可提高系統(tǒng)通訊的可靠性;而有些消息不需要這
  樣的處理,減少消息時(shí)間間隔反而有利于提高總線系統(tǒng)運(yùn)行效率。因此,本設(shè)計(jì)采用非均勻分配時(shí)間間隔的方式。實(shí)現(xiàn)這一目的,只需根據(jù)不同的消息對(duì)描述符堆棧中時(shí)間間隔字進(jìn)行編程即可。根據(jù)以上分析,所設(shè)計(jì)的BC通訊軟件的工作過程可用圖2表示。
  表2.jpg
  2.2關(guān)鍵數(shù)據(jù)結(jié)構(gòu)和函數(shù)介紹
  測(cè)試系統(tǒng)的功能是模擬機(jī)上航電系統(tǒng),通過對(duì)被測(cè)試系統(tǒng)進(jìn)行控制操縱等過程來完成各項(xiàng)測(cè)試任務(wù)。所以,本項(xiàng)目中1553B卡主要工作于BC模式。而對(duì)于1553B卡軟件的開發(fā),主要使用以下幾個(gè)重要函數(shù):
  2.2.1與板卡的硬件控制相關(guān)的函數(shù)
  (1)Get_4000Module_Type(WORDdevice_num,WORDmodule_num,WORD*modtype):該函數(shù)用來獲取板卡。參數(shù)device_num指板卡數(shù),取值范圍是0~3;參數(shù)module_num指板卡上相應(yīng)的模塊,取值范圍是0~2;參
  數(shù)modtype指板卡類型。
  (2)Init_Module_MCH(usintdevice_num,usintmod-ule_num):該函數(shù)用來初始化板卡相關(guān)模塊。要注意的是,它是第一個(gè)用戶必須調(diào)用的函數(shù),使得用戶可以訪問1553板卡上的四個(gè)模塊。
  (3)Set_Mode_MCH(inthandle,shortmode):用來設(shè)定板卡的工作模式。參數(shù)mode的取值有BC_MODE、RT_MODE、BM_MODE和BM_RT_MODE。在本項(xiàng)目中,板卡工作于BC模式,故mode取值為BC_MODE。
  (4)Stop_Card_MCH(inthandle):該函數(shù)用來停止板卡的運(yùn)行。
  (5)Release_Module_MCH(inthandle):該函數(shù)用來釋放板卡資源并給板卡下電,每調(diào)用一次Init_Module_MCH()函數(shù),就必須調(diào)用一次Release_Module_MCH()函數(shù)。
  2.2.2關(guān)于1553B數(shù)據(jù)傳輸?shù)闹匾瘮?shù)
  (1)Read_BC_Datablk_MCH(inthandle,usintblk-num,usintwdcnt,usint*data):該函數(shù)用來讀取數(shù)據(jù)。參數(shù)handle是函數(shù)Init_Module_MCH()的返回值,參數(shù)blknum指數(shù)據(jù)堆棧號(hào),參數(shù)wdcnt指希望從buffer里讀取數(shù)據(jù)的字?jǐn)?shù),參數(shù)data是一個(gè)指向buffer的指針,讀到的1553數(shù)據(jù)最終會(huì)存儲(chǔ)到這個(gè)buffer。
  (2)Set_BC_Cmd_MCH(inthandle,usintcmdnum,structCMDENTRY*entry):該函數(shù)用來創(chuàng)建一個(gè)命令棧的入口,參數(shù)cmdnum指命令堆棧入口號(hào)。
  (3)Load_BC_Datablk_MCH(inthandle,usintblk-num,usintwdcnt,usint*data):該函數(shù)用來為一個(gè)RT接受命令加載數(shù)據(jù)。參數(shù)blknum為數(shù)據(jù)堆棧號(hào),取值范圍是0~750,wdcnt為希望寫入發(fā)送寄存器里的字?jǐn)?shù),參數(shù)data為用戶想要寫入的數(shù)據(jù)地址。
  (4)Run_BC_MCH(inthandle):該函數(shù)在所有的1553消息被Set_BC_Cmd_MCH()創(chuàng)建后調(diào)用,用來執(zhí)行消息堆棧,送出消息。
  2.2.3軟件封裝的函數(shù)
  考慮到使用的方便和有效等情況,在二次開發(fā)過程中對(duì)1553B總線卡的操作進(jìn)行了類的封裝并在類中提供了以下接口函數(shù),專門用來進(jìn)行1553B卡的通信控制。
  (1)初始化函數(shù)的封裝。1553B卡的初始化函數(shù)
  Init1553()利用BOOLInit1553()進(jìn)行封裝。與初始化函數(shù)相對(duì)應(yīng),程序退出時(shí)必須調(diào)用釋放1553B板卡資源的函數(shù)Stop1553()。
  ①1553B卡的初始化函數(shù)Init1553()的封裝。
  BOOLInit1553()
  {
  usintuModType;
  Get_4000Module_Type(0,0,&uModType);//獲取板卡
  if(uModType!=EXC4000_MODTYPE_MCH){
  AfxMessageBox("Error_EXC4000PCI");
  returnFALSE;
  }
  m_ExcHandle1553=Init_Module_MCH(0,0);
  if((uModType=Set_Mode_MCH(m_ExcHandle1553,BC
  _MODE))!=0){
  AfxMessageBox("1553moduleinitfailed");
  returnFALSE;
  }
  returnTRUE;
  }
  ②Stop1553()函數(shù)的封裝。
  與初始化函數(shù)相對(duì)應(yīng),程序退出時(shí)必須調(diào)用釋放1553B板卡資源的函數(shù)Stop1553()。
  BOOLStop1553()
  {
  usintuModType;
  if((uModType=Stop_Card_MCH(m_ExcHandle1553))!
  =0){
  AfxMessageBox("1553modulestopfailed");
  returnFALSE;
  }
  if((uModType=Release_Module_MCH(m_
  ExcHandle1553))!=0){
  AfxMessageBox("1553moduleReleasefailed");
  returnFALSE;
  }
  returnTRUE;
  }
  (2)數(shù)據(jù)處理函數(shù)的封裝。
  ①BOOLSend1553MessageRTR(WORDcmd,WORDdata[],UINTnum,intdataIp):該函數(shù)用來控制被測(cè)系統(tǒng)發(fā)送“接受指令”給測(cè)試系統(tǒng),其中參數(shù)data[]是要測(cè)試系統(tǒng)接收的數(shù)據(jù),參數(shù)dataIp是要寫入的數(shù)據(jù)堆棧號(hào)。
  ②BOOLSend1553MessageRTT_CYCLE(WORDcmd,intdataIp,WORDtime):該函數(shù)是用來發(fā)送“發(fā)送指令”給測(cè)試系統(tǒng)。
  3接口軟件測(cè)試
  為了方便系統(tǒng)應(yīng)用軟件的開發(fā),能夠及時(shí)了解所設(shè)計(jì)的1553B接口卡軟件的工作狀態(tài),我們測(cè)試它的通信效果。主要測(cè)試內(nèi)容有1553消息字塊定義、消息查看、錯(cuò)誤信息、重試等幾個(gè)部分。
  3.11553消息字塊定義
  1553B總線上發(fā)送數(shù)據(jù)以“消息”為單位,首先需要定義“消息”。在測(cè)試界面上可以通過選擇工作模式、傳輸通道、間隔時(shí)間等內(nèi)容來確定消息字塊的樣式。消息定義的界面如圖3所示。在板卡的測(cè)試中,選擇BC-RT工作模式,RT地址設(shè)為0,子地址為1。時(shí)間間隔(Gap)設(shè)置為1000微秒,選擇B通道。
  表3.jpg
  3.2數(shù)據(jù)輸入
  測(cè)試數(shù)據(jù)可以由自己輸入或者點(diǎn)擊“Random”按鈕產(chǎn)生隨機(jī)數(shù)據(jù),如圖4所示。
  
  3.3數(shù)據(jù)接收顯示
  數(shù)據(jù)顯示界面如圖5所示。
  表5.jpg
  在對(duì)端顯示所接收的數(shù)據(jù),其中包括控制字、狀態(tài)字、數(shù)據(jù)內(nèi)容、錯(cuò)誤信息顯示等內(nèi)容,從而可以準(zhǔn)確地掌握數(shù)據(jù)總線的工作情況。錯(cuò)誤消息顯示能夠幫助操作人員對(duì)數(shù)據(jù)總線的錯(cuò)誤進(jìn)行判斷和定位,使問題較快地得到解決。測(cè)試結(jié)果表明,該接口軟件能夠?qū)崟r(shí)正確地傳輸數(shù)據(jù)
  和控制字塊,滿足仿真測(cè)試系統(tǒng)的通信要求。
  4結(jié)束語
  MIL-STD-1553B總線作為一種高可靠性和實(shí)時(shí)性的主從式數(shù)據(jù)總線,目前在軍事和工業(yè)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。本設(shè)計(jì)采用價(jià)格低廉且易采購的元器件,組成了結(jié)構(gòu)簡(jiǎn)單、功能完善的1553B多路總線接口模塊。根據(jù)任務(wù)需求主要實(shí)現(xiàn)了BC通信的板塊,采用VC編程實(shí)現(xiàn)了接口板的通信,提高了代碼的效率,大大縮短了編程的時(shí)間。

  搜論文知識(shí)網(wǎng)致力于為需要刊登論文的人士提供相關(guān)服務(wù),提供迅速快捷的論文發(fā)表、寫作指導(dǎo)等服務(wù)。具體發(fā)表流程為:客戶咨詢→確定合作,客戶支付定金→文章發(fā)送并發(fā)表→客戶接收錄用通知,支付余款→雜志出版并寄送客戶→客戶確認(rèn)收到。鳴網(wǎng)系學(xué)術(shù)網(wǎng)站,對(duì)所投稿件無稿酬支付,謝絕非學(xué)術(shù)類稿件的投遞!
  

文章標(biāo)題:探討總線的接口軟件設(shè)計(jì)與實(shí)現(xiàn)

轉(zhuǎn)載請(qǐng)注明來自:http://www.56st48f.cn/fblw/dianxin/ruanjiankaifa/4158.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3

主站蜘蛛池模板: 日韩欧美精品一区 | 污视频在线免费观看 | 在线久草 | 久久久国产一区二区三区四区小说 | 有码在线| 伊人最新网址 | 久久精品a | 欧美男人天堂 | 日韩成人在线网站 | 亚洲欧美日韩国产综合 | 成人午夜免费在线视频 | 美女天天操 | 亚洲一二三区在线观看 | 国产成人综合av | 日本韩国欧美在线观看 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 国产成人免费一区二区60岁 | 国产色婷婷精品综合在线手机播放 | 爱爱小视频| 一区二区三区在线播放 | 亚洲精品视频免费观看 | 91精品国产乱码久久久久久 | 久久久久久国产精品 | 久久精品国产一区二区三区 | 国产91色在线 | 亚洲 | 波多野结衣一区二区三区在线观看 | 精品国产欧美一区二区 | 色综合av | 狠狠综合久久av一区二区小说 | av中文字幕在线 | 久久久蜜桃 | 日韩欧美在线观看 | 日韩在线播放一区 | 欧美一区视频 | 亚洲国产成人精品女人久久久野战 | 综合久久av| 在线三级电影 | 国产成人综合久久 | 免费 视频 1级 | 99精品电影 | 欧美性大战久久久久久久蜜臀 |