• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于ARM處理器的智能1553B總線通信模塊的設(shè)計

      2011-04-24 05:23:30
      指揮控制與仿真 2011年2期
      關(guān)鍵詞:雙口計算機系統(tǒng)總線

      王 巍

      (江蘇自動化研究所,江蘇 連云港 222006)

      1553B又稱MIL-STD-1553B,是上世紀(jì)70年代美國軍方專為飛機上設(shè)備制定推出的一種時分制命令/響應(yīng)式多路復(fù)用數(shù)據(jù)總線。1533B總線采用曼徹斯特II編碼,半雙工工作方式,數(shù)據(jù)傳輸?shù)乃俾蕿? Mbps,能掛接31個遠(yuǎn)置終端,支持3種終端類型,即總線控制器(BC)、遠(yuǎn)程終端(RT)和總線監(jiān)視器(BM),信息格式有BC到RT、RT到BC、RT到RT、廣播方式和系統(tǒng)控制方式[1]。1553B總線采用了多冗余度總線型拓?fù)浣Y(jié)構(gòu),具有雙向輸出特性,并且實時性和可靠性高。該標(biāo)準(zhǔn)作為美國國防部武器系統(tǒng)集成和標(biāo)準(zhǔn)化管理的基礎(chǔ)之一,被廣泛的用于飛機綜合航電系統(tǒng)、外掛物管理與集成系統(tǒng),并逐步擴展到飛行控制等系統(tǒng)及坦克、艦船、航天等領(lǐng)域。我國參照MIL-STD-1553B標(biāo)準(zhǔn),于1987年頒布了相應(yīng)的國家軍用標(biāo)準(zhǔn)。目前,1553B總線通信模塊在多家航空航天和兵器領(lǐng)域的科研院所和生產(chǎn)單位得到了廣泛的應(yīng)用。傳統(tǒng)的采用非智能設(shè)計的1553B總線模塊,因為其較低的數(shù)據(jù)傳輸率,讀寫操作頻繁時,必然會對整個計算機系統(tǒng)的影響較大,因此本文提出了一種基于ARM處理器的1553B總線模塊,將原需要計算機系統(tǒng)主處理器完成的任務(wù)在本模塊內(nèi)部完成,因而可以明顯提高系統(tǒng)的性能。

      1 硬件系統(tǒng)設(shè)計

      傳統(tǒng)的1553B總線模塊一般采用總線協(xié)議芯片+耦合變壓器的工作方式實現(xiàn)與1553B總線的連接[2]。而在系統(tǒng)總線一端,一般通過PCI-Local橋接芯片將PCI系統(tǒng)總線轉(zhuǎn)入模塊內(nèi)部的局部總線(Local Bus),在局部總線和1553B總線之間,通過采用FPGA實現(xiàn)粘合邏輯(Glue Logic),從而實現(xiàn)總線之間的數(shù)據(jù)通信。1553B總線與計算機系統(tǒng)之間的通信流程,以1553B總線一端通過系統(tǒng)總線發(fā)起中斷開始,系統(tǒng)響應(yīng)中斷并完成1553B總線一端的讀寫操作。采用非智能設(shè)計的傳統(tǒng)1553B通信模塊,每次向系統(tǒng)總線發(fā)起中斷擬傳輸?shù)臄?shù)據(jù)量往往較少,而中斷發(fā)起的頻率較高,因此,慢速的1553B總線必然將影響整個系統(tǒng)的運行速度。

      智能1553B總線通信模塊采用基于處理器的設(shè)計技術(shù)[3]。本設(shè)計方法中即在模塊內(nèi)部實現(xiàn)ARM 處理器,通過雙口RAM實現(xiàn)與系統(tǒng)總線之間的數(shù)據(jù)通信。關(guān)于ARM處理器的特點,本文不再贅述,重點介紹ARM處理器如何實現(xiàn)與計算機系統(tǒng)的通信。智能1553B模塊的總體框圖如圖1所示。

      智能1553B總線通信模塊在1553B總線一端仍采用了美國DDC公司的1553B總線協(xié)議芯片BU61580,通過耦合變壓器B3227接入1553B總線。采用變壓器而不使用直接的耦合的設(shè)計方式,是因為由于直接耦合不利于終端故障隔離,可能會因為一個終端故障而造成整個總線網(wǎng)絡(luò)的完全癱瘓,所以1553B協(xié)議中明確指出不推薦使用直接耦合方式。1553B總線數(shù)據(jù)信號采用了曼徹斯特II碼進(jìn)行編碼傳輸,這種編碼非常適合利用變壓器進(jìn)行總線耦合。

      圖1 智能1553B總線通信模塊總體框圖

      在模塊內(nèi)部的數(shù)據(jù)處理方式上,智能1553B總線模塊上的ARM處理器將1553B總線數(shù)據(jù)以一定的格式存入雙口RAM,PCI總線不直接訪問1553B協(xié)議芯片,而是通過訪問雙口RAM存取1553B總線數(shù)據(jù),因此雙口RAM是PCI總線獲得1553B總線數(shù)據(jù)的唯一通道。本文采用了美國CYPRESS公司生產(chǎn)的雙口RAM集成電路 CY7C027。CY7C027是一種高速異步雙口RAM,帶有雙端BUSY信號,存儲容量為512Kb,具有32K×16bit的結(jié)構(gòu),采用3.3V單電源供電,最高存取速度為 15ns[4]。該存儲器具有兩個獨立的端口,各端口分別自有一套相應(yīng)的地址總線、數(shù)據(jù)總線和控制總線。該雙口RAM在工作時,允許兩個端口獨立、異步地對存儲器中作任何存儲單元進(jìn)行存取操作[5]。

      PCI總線一側(cè),采用了PLX公司生產(chǎn)的高性能的PCI-Local橋PCI9054,以完成在PCI 總線和Local 總線之間數(shù)據(jù)傳輸?shù)墓δ?。PCI9054配置靈活,既可以作為兩個總線的主控設(shè)備去控制總線,也可以作為兩個總線的目標(biāo)設(shè)備去響應(yīng)總線。PCI9054有6個零等待可編程FIFO 存儲器。它們分別完成PCI發(fā)起讀、寫操作,PCI目標(biāo)讀、寫操作和DMA讀、寫操作。由于FIFO存儲器的存在,數(shù)據(jù)可以大量突發(fā)傳輸而不丟失。這樣不僅滿足實時性要求,同時可以根據(jù)用戶的需要采用與PCI 時鐘異步的本地頻率。

      2 底層軟件設(shè)計

      從PCI總線一側(cè)來看,本板的1553B總線應(yīng)該是透明的,即對系統(tǒng)總線來說,需要存取數(shù)據(jù)的僅為一只雙口RAM。因此,對于智能1553B總線通信模塊來說,就是需要將1553B總線數(shù)據(jù)進(jìn)行處理后存入雙口RAM,并從雙口RAM中讀出數(shù)據(jù)寫入1553B協(xié)議芯片。為了實現(xiàn)智能模塊上ARM處理器與PCI總線上系統(tǒng)CPU之間的通信,關(guān)鍵是對雙口RAM的處理。從軟件層面來看,智能模塊的結(jié)構(gòu)如圖2所示。

      圖2 智能1553B總線通信模塊軟件結(jié)構(gòu)示意圖

      如圖2所示,數(shù)據(jù)鏈路層的作用是保證系統(tǒng)CPU將數(shù)據(jù)和指令及時準(zhǔn)確的傳輸?shù)街悄苣K中,而雙口RAM是數(shù)據(jù)指令傳輸?shù)耐ǖ?,需要保證數(shù)據(jù)和指令能正確通過雙口RAM。下面為了討論方便,將智能模塊上的ARM CPU稱為CPU-A,系統(tǒng)CPU稱為CPU-B。為了方便CPU-A和CPU-B進(jìn)行數(shù)據(jù)通信,先將雙口RAM分為A、B兩個大區(qū),如圖3所示。

      圖3 雙口RAM存儲空間分配

      A區(qū)地址范圍為0x0000-0x3FFF,用作智能模塊向系統(tǒng)總線傳輸數(shù)據(jù)使用。對于A區(qū)的存儲空間,CPU-A可讀寫,但CPU-B只讀。B區(qū)地址范圍為0x4000-0x7FFF,用作智能模塊向系統(tǒng)總線傳輸數(shù)據(jù)使用。對于A區(qū)的存儲空間,CPU-B可讀寫,但CPU-A只讀。對于每個大區(qū),其空間又被分成兩個小部分(A0/B0和A1/B1),分別用于處理兩個優(yōu)先級的數(shù)據(jù)傳輸。A0/B0區(qū)又稱為命令區(qū),大小為256B,數(shù)據(jù)內(nèi)容包括單板控制命令、高優(yōu)先級命令、高優(yōu)先級數(shù)據(jù)和A1/B1區(qū)的長度信息等。A1/B1又稱為數(shù)據(jù)區(qū),大小分別為A/B區(qū)扣除A0/B0區(qū)后的大小,A1/B1包含普通優(yōu)先級的數(shù)據(jù)。

      在A0/B0區(qū)偏移地址為0的存儲單元,可以定義一個狀態(tài)字STATA/STATB,記錄數(shù)據(jù)區(qū)中的數(shù)據(jù)長度、A0/B0命令區(qū)數(shù)據(jù)是否被處理過的狀態(tài)以及A1/B1數(shù)據(jù)區(qū)數(shù)據(jù)是否被處理過的狀態(tài)等信息。CPU-A 或 CPU-B通過讀取各自區(qū)域的STATA/STATB狀態(tài)字,及時了解對方CPU對已方數(shù)據(jù)的處理情況。現(xiàn)以CPU-A處理CPU-B的數(shù)據(jù)為例,說明數(shù)據(jù)處理流程,如圖4所示。

      圖4 CPU-A處理CPU-B數(shù)據(jù)流程圖

      當(dāng)CPU-A需要向A1區(qū)寫數(shù)據(jù)時,首先檢查A0區(qū)STATA與B0區(qū)的STATB是否相同,如果不相同,說明原先寫入的數(shù)據(jù)未被CPU-B處理過,CPU-A可選擇是否強制寫入新數(shù)據(jù)覆蓋老數(shù)據(jù)。如果CPU-A選擇強制寫入數(shù)據(jù),那么首先設(shè)置STATA為無效值,然后將數(shù)據(jù)寫入A1區(qū),再將STATA設(shè)為有效值。CPU-A從B1區(qū)接收CPU-B的數(shù)據(jù)時,CPU-A首先檢查STATA與STATB的值是否相同,如果相同,說明B1區(qū)的數(shù)據(jù)已過時,不做處理。如果不同,說明B1區(qū)的數(shù)據(jù)是新數(shù)據(jù),CPU-A將B1區(qū)數(shù)據(jù)讀走后,再將STATA設(shè)置與STATB相同,通知CPU-B已將B1區(qū)的數(shù)據(jù)處理完畢。CPU-B讀取或向CPU-A寫入數(shù)據(jù)時,過程與之類似。

      而對于CPU-A與CPU-B之間通信時的具體數(shù)據(jù)結(jié)構(gòu),可由智能模塊的底層軟件設(shè)計人員與操作系統(tǒng)驅(qū)動程序開發(fā)人員定制,處理方式相當(dāng)靈活。

      3 結(jié)束語

      由于智能1553B總線與PCI總線通信模塊不再通過 PCI總線向計算機系統(tǒng)提請中斷,而是通過雙口RAM 以較高的效率實現(xiàn)智能模塊與計算機系統(tǒng)之間的數(shù)據(jù)通信,因此可以減少計算機系統(tǒng)資源消耗,提高計算機系統(tǒng)的性能。另外,由于智能模塊按預(yù)定的數(shù)據(jù)結(jié)構(gòu)在本板內(nèi)實現(xiàn)了數(shù)據(jù)重組,因此也可以減少操作系統(tǒng)下驅(qū)動程序開發(fā)的工作量。通過研制智能1553B總線通信模塊,可以掌握基于ARM處理器的智能模塊設(shè)計的方法。這種采用本模塊內(nèi)部智能處理的設(shè)計方法,也可以推廣到其他智能低速總線通信模塊的設(shè)計中去,從而提高整個系統(tǒng)的性能。

      [1]周福寬,馬彪.MIC總線與1553B總線綜合分析比較[J].測控技術(shù),2006(2):32-33.

      [2]翟雯艷,張遂南.基于CPCI的1553B總線通信模塊的設(shè)計與實現(xiàn)[J].無線電技術(shù)2008(10):90-92.

      [3]李世良,許永輝.PCI總線智能GJB289A仿真卡設(shè)計[J].現(xiàn)代電子技術(shù),2010(20):114-116.

      [4]孫愛東,等.基于雙口 RAM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電子測量技術(shù),2006(2):90-91,94.

      [5]錢瑞霞.基于雙口 RAM 的智能數(shù)據(jù)采集卡設(shè)計[J].中國儀器儀表,2001(3):24-26.

      猜你喜歡
      雙口計算機系統(tǒng)總線
      雙口形式的戴維寧定理在電路分析中的應(yīng)用
      IBM推出可與人類“辯論”的計算機系統(tǒng)
      英語文摘(2019年3期)2019-04-25 06:05:32
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      雙口RAM在機載嵌入式系統(tǒng)中的應(yīng)用
      電子測試(2018年4期)2018-05-09 07:28:10
      分布處理計算機系統(tǒng)研究
      MIMD 并行計算機系統(tǒng)結(jié)構(gòu)與定量分析
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設(shè)計方法
      多通道ARINC429總線檢查儀
      雙口RAM在無人機三余度飛控計算機數(shù)據(jù)交換中的應(yīng)用
      环江| 彭山县| 上高县| 宽城| 西贡区| 海盐县| 城口县| 鹤岗市| 英山县| 黑龙江省| 淅川县| 宜宾市| 深圳市| 惠水县| 西安市| 彰化市| 喀喇| 张掖市| 吉木乃县| 博乐市| 无为县| 南陵县| 临泉县| 焦作市| 孝感市| 东安县| 安多县| 南丰县| 兴仁县| 安阳县| 义马市| 通山县| 东丽区| 临江市| 河东区| 万州区| 宝山区| 托克逊县| 易门县| 汤原县| 安顺市|