• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一體化1553B 總線通信仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

    2022-05-24 11:44:12張弟江志東高偉偉彭海軍
    電子設(shè)計(jì)工程 2022年10期
    關(guān)鍵詞:命令串口消息

    張弟,江志東,高偉偉,彭海軍

    (海軍航空大學(xué)青島校區(qū),山東 青島 266041)

    MIL-STD-1553B 總線是一種時(shí)分制多路復(fù)用數(shù)據(jù)總線[1],采用指令/響應(yīng)型的通信協(xié)議及雙冗余總線結(jié)構(gòu)[2]。協(xié)議是20 世紀(jì)70 年代由美國(guó)空軍提出[3],總線網(wǎng)絡(luò)拓?fù)渲锌刂茩?quán)歸總線控制器(BC)所獨(dú)有[4],遠(yuǎn)程終端(RT)通過(guò)識(shí)別終端地址來(lái)響應(yīng)BC 命令,使得數(shù)據(jù)實(shí)時(shí)有序傳輸。由于它的高可靠性、實(shí)時(shí)性和強(qiáng)抗干擾性[5-6],已經(jīng)在航空航天等軍事領(lǐng)域有著廣泛的應(yīng)用[6]。

    在1553B 總線的教學(xué)中,總線上消息的格式、通信原理以及消息的調(diào)度對(duì)于學(xué)員來(lái)說(shuō)較為抽象,1553B 總線學(xué)習(xí)缺乏感性認(rèn)識(shí)的問(wèn)題日漸突出,學(xué)生需要總線消息格式的可視化展示、通信時(shí)序的定量分析、總線通信的網(wǎng)絡(luò)構(gòu)建等。

    現(xiàn)有的實(shí)驗(yàn)設(shè)備,在進(jìn)行驗(yàn)證性實(shí)驗(yàn)時(shí),需要學(xué)員在實(shí)驗(yàn)前將實(shí)驗(yàn)例程燒寫(xiě)到設(shè)備中,對(duì)沒(méi)有任何單片機(jī)開(kāi)發(fā)經(jīng)驗(yàn)的學(xué)員而言,操作比較復(fù)雜,而且仿真器工作狀態(tài)不穩(wěn)定,導(dǎo)致實(shí)驗(yàn)效率低,故障率高;在進(jìn)行二次開(kāi)發(fā)時(shí),由于代碼的可讀性低,學(xué)員編程實(shí)現(xiàn)的難度大。該設(shè)計(jì)采用一體化程序架構(gòu),將軟件固化在Flash 中,通過(guò)串口助手直接設(shè)置平臺(tái)的終端類(lèi)型以及需要進(jìn)行的實(shí)驗(yàn)類(lèi)別,操作簡(jiǎn)單且不需要反復(fù)燒寫(xiě)程序,可以提高操作的效率,并且程序的可讀性和實(shí)驗(yàn)的可操作性增強(qiáng),可以更好地服務(wù)1553B 總線教學(xué)。

    1 系統(tǒng)整體設(shè)計(jì)

    仿真平臺(tái)能夠?qū)崿F(xiàn)對(duì)1553B 總線協(xié)議從編碼實(shí)驗(yàn)、原理實(shí)驗(yàn)到綜合實(shí)驗(yàn)等驗(yàn)證性實(shí)驗(yàn)的支持,還可以為用戶進(jìn)行二次開(kāi)發(fā)提供軟硬件支持。

    仿真平臺(tái)設(shè)計(jì)了兩塊對(duì)稱(chēng)的MBI 板,每塊MBI板上都包括主控模塊、串口通信模塊、1553B 收發(fā)電路,如圖1所示。1553B 總線有3 種工作模式:總線控制器(BC)、遠(yuǎn)程終端(RT)、總線監(jiān)視器(BM),每塊MBI 板都具備這3 種工作模式。

    圖1 仿真平臺(tái)硬件設(shè)計(jì)方案

    平臺(tái)軟件固化在Flash 中,相關(guān)的數(shù)據(jù)存儲(chǔ)在DPRAM 中。用戶能夠通過(guò)串口設(shè)定平臺(tái)的終端類(lèi)型、實(shí)驗(yàn)類(lèi)型等;平臺(tái)能夠獨(dú)立實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的消息格式實(shí)驗(yàn)和通信原理實(shí)驗(yàn),也可以完成多個(gè)平臺(tái)組網(wǎng)進(jìn)行綜合性實(shí)驗(yàn);該設(shè)計(jì)將硬件驅(qū)動(dòng)進(jìn)行封裝,將數(shù)據(jù)塊鏈表中數(shù)據(jù)進(jìn)行具體定義,軟件可讀性增強(qiáng),留有相應(yīng)的軟件接口,通過(guò)改變軟件接口中的參數(shù),就可以調(diào)整網(wǎng)絡(luò)內(nèi)消息的調(diào)度,如圖2 所示。

    圖2 1553B仿真平臺(tái)組網(wǎng)

    2 系統(tǒng)硬件設(shè)計(jì)

    1553B 總線仿真平臺(tái)的設(shè)計(jì)旨在輔助1553B 總線通信原理教學(xué),因此,平臺(tái)的硬件設(shè)計(jì)要具備實(shí)時(shí)性和可靠性,并要具備豐富的測(cè)試資源,以便學(xué)員進(jìn)行不同測(cè)試點(diǎn)的檢測(cè)和驗(yàn)證。

    2.1 主控模塊

    主控模塊采用HKS1553BCRT,該芯片采用SoC架構(gòu),是一款通用化、低功耗的通信處理芯片[7],將“處理器芯片+多個(gè)存儲(chǔ)器芯片+1553B 協(xié)議處理芯片+定時(shí)器”以單芯片的形式提供給用戶使用[8]。目前HKS1553BCRT 已經(jīng)廣泛應(yīng)用于1553B 總線通信模塊和仿真平臺(tái)的設(shè)計(jì)[9-11]。

    平臺(tái)采用供電電壓為+5 V,電源電路將外部電源引入的5 V 電壓進(jìn)行電壓轉(zhuǎn)換分別得到3.3 V、2.5 V、1.8 V 和1.2 V 電壓,為各個(gè)模塊供電;兩片HKS1553 BCRT 芯片的主機(jī)接口全部連接至FPGA 處理器的IO 管腳,將PCI 總線接口轉(zhuǎn)化為USB 接口[12]。同時(shí)USB 驅(qū)動(dòng)芯片F(xiàn)T232H 也與FPGA 處理器相連接,F(xiàn)PGA 能夠通過(guò)讀寫(xiě)FT232H 端口的緩隊(duì)列進(jìn)行數(shù)據(jù)交換,USB 接口能夠通過(guò)USB 傳輸線與PC 機(jī)進(jìn)行通信。PC 機(jī)上有上位機(jī)軟件,通過(guò)USB 接口實(shí)現(xiàn)與實(shí)驗(yàn)箱交互。

    為了增加開(kāi)發(fā)實(shí)驗(yàn)的豐富性,實(shí)驗(yàn)箱設(shè)計(jì)時(shí)將HKS1553BCRT 芯片的GPIO 接口進(jìn)行了擴(kuò)展,設(shè)計(jì)了8 路LED 燈、4 路離散量模擬輸入接口、一個(gè)蜂鳴器和8 段數(shù)碼管等;平臺(tái)上兩片HKS1553BCRT 芯片各配置一片32 Mbit 的Flash 存儲(chǔ)器用來(lái)固化程序和MBI 總線操作實(shí)驗(yàn)。

    2.2 1553B總線收發(fā)電路

    1553B 總線收發(fā)電路采用雙冗余設(shè)計(jì),如圖3 所示。電路基于HI-1573 芯片搭建總線的通信接口模塊,HI-1573 是低功耗雙向CMOS 芯片滿足1553B 收發(fā)要求,其功能是實(shí)現(xiàn)+3.3 V 差分電平與1553B 總線電平的匹配轉(zhuǎn)換[13]。數(shù)據(jù)的收發(fā)還需經(jīng)過(guò)變壓器和耦合器,變壓器采用M21038/27-26。該設(shè)計(jì)的兩個(gè)LED 燈指示HKS1553BCRT 芯片被配置成BC 或RT 模式,指示燈通過(guò)GPIO 6 端口和GPIO 7 端口進(jìn)行驅(qū)動(dòng),可以讓用戶直接看到芯片配置的狀態(tài)。

    圖3 1553B總線收發(fā)器電路

    2.3 串口通信電路

    串口通信電路一路為RS232;另一路為RS422 和RS485,這兩路通過(guò)軟件控制使能端選擇進(jìn)行422 通信或485 通信,用于實(shí)現(xiàn)平臺(tái)與上位機(jī)之間的交互。

    3 系統(tǒng)軟件設(shè)計(jì)

    平臺(tái)采用一體化的軟件架構(gòu),能夠?qū)崿F(xiàn)MBI 板的初始化、地址重映射、與上位機(jī)交互,總線控制器(BC)和遠(yuǎn)程終端(RT)等功能。該設(shè)計(jì)將BC 功能和RT 功能集成在一個(gè)軟件框架內(nèi),學(xué)員可以通過(guò)PC機(jī)與平臺(tái)進(jìn)行交互,選擇MBI 板運(yùn)行的終端類(lèi)型進(jìn)行實(shí)驗(yàn)。主函數(shù)流程如圖4 所示。

    圖4 主函數(shù)流程圖

    系統(tǒng)上電,先完成初始化,初始化包括雙端口存儲(chǔ)器配置、串口參數(shù)配置、軟件復(fù)位寄存器清零、DPRAM 清零以及串口收發(fā)寄存和FIFO 清零;隨后通過(guò)串口向上位機(jī)發(fā)送終端類(lèi)型選擇選項(xiàng)的消息,并通過(guò)串口讀取用戶選擇字符,用戶輸入字符1 選擇BC 模式,用戶輸入字符0 選擇RT 模式,進(jìn)而進(jìn)入相應(yīng)終端軟件的運(yùn)行。

    3.1 總線控制器(BC)軟件實(shí)現(xiàn)

    總線控制器負(fù)責(zé)傳輸信息和管理總線信息傳輸[14]。用戶通過(guò)上位機(jī)選擇平臺(tái)作為BC 使用時(shí),運(yùn)行BC 軟件,作為總線的控制中心,實(shí)現(xiàn)實(shí)驗(yàn)類(lèi)型選擇、10 種實(shí)驗(yàn)的完成以及軟件復(fù)位等功能。

    3.1.1 消息鏈表的建立

    為了滿足1553B 標(biāo)準(zhǔn)中BC 功能的實(shí)現(xiàn),需要在內(nèi)部寄存器和外部存儲(chǔ)器中建立BC 的命令塊結(jié)構(gòu)。BC 的命令字都有一個(gè)命令塊與之對(duì)應(yīng),命令塊位于外部存儲(chǔ)器DPRAM 中,由頭指針、控制字、兩個(gè)命令字、數(shù)據(jù)列表指針、兩個(gè)狀態(tài)字和一個(gè)尾指針8個(gè)字構(gòu)成,如圖5 所示。

    圖5 BC命令塊結(jié)構(gòu)

    兩個(gè)命令字第一個(gè)是接收命令字,第二個(gè)是發(fā)送命令字。數(shù)據(jù)指針指向命令塊消息的數(shù)據(jù)在存儲(chǔ)器中的起始位置。每個(gè)消息的相應(yīng)數(shù)據(jù)必須連續(xù)存放。狀態(tài)字1,包含RT 響應(yīng)的狀態(tài)字。狀態(tài)字2 包含RT-RT 傳送中接收RT 的狀態(tài)字。對(duì)于不是RTRT 傳送的消息,該位置不起作用。尾指針包含下一個(gè)命令塊的開(kāi)始地址。

    命令塊從DPRAM 偏移地址為0x80 的存儲(chǔ)單元開(kāi)始存放,前一命令塊的尾指針指向下一命令塊的頭指針,形成命令塊鏈表。

    3.1.2 軟件實(shí)現(xiàn)

    BC 軟件結(jié)構(gòu)如圖6 所示。首先通過(guò)串口打印實(shí)驗(yàn)類(lèi)型選項(xiàng),通過(guò)串口讀取用戶選擇的字符,根據(jù)用戶選擇,運(yùn)行相應(yīng)實(shí)驗(yàn)的函數(shù),運(yùn)行結(jié)束,通過(guò)串口打印函數(shù)運(yùn)行的反饋信息。

    圖6 BC軟件架構(gòu)

    發(fā)送命令塊時(shí),BC 將命令塊的起始地址在DT中斷中寫(xiě)入寄存器rBlkAddrReg,自動(dòng)讀取命令列表,自動(dòng)發(fā)送到總線上。時(shí)間間隔計(jì)時(shí)器DT 是HKS1553BCRT 芯片的毫秒級(jí)定時(shí)器,計(jì)數(shù)長(zhǎng)度為8位。ARM7TDMI 處理器可通過(guò)rLOADDT 寄存器對(duì)DT 進(jìn)行加載,當(dāng)給DT 加載非零值時(shí),DT 開(kāi)始遞減,遞減到零,DT 分別向ARM7TDMI 和子系統(tǒng)主機(jī)發(fā)送一個(gè)中斷信號(hào),并自動(dòng)加載上一次的加載值,重新開(kāi)始計(jì)數(shù);當(dāng)給DT 加載零時(shí),DT 停止計(jì)數(shù),不產(chǎn)生中斷。1553B 通信綜合實(shí)驗(yàn)的大小周期調(diào)度都通過(guò)計(jì)時(shí)器控制。比如綜合實(shí)驗(yàn)rLOADDT 寄存器值設(shè)為0x32,則DT 中斷周期50 ms,再通過(guò)周期計(jì)數(shù)的設(shè)計(jì),實(shí)現(xiàn)100 ms 的任務(wù)周期控制,100 ms 內(nèi),所有消息被發(fā)送一次,按照固定周期收發(fā)數(shù)據(jù)。

    以綜合實(shí)驗(yàn)為例,其程序流程如圖7 所示。首先設(shè)置不同消息的周期控制數(shù),通過(guò)數(shù)據(jù)加載函數(shù)完成不同消息的命令塊中控制字及數(shù)據(jù)字的加載;完成數(shù)據(jù)加載后,加載DT 值并進(jìn)行中斷初始化;通過(guò)DT 中斷服務(wù)程序,實(shí)現(xiàn)BC 命令塊的發(fā)送;最后從RT-BC 數(shù)據(jù)緩沖區(qū)(DPRAM 中)讀取并打印收到的消息數(shù)據(jù)。

    圖7 綜合實(shí)驗(yàn)程序流程

    DT 中斷服務(wù)程序可以分為非周期性消息處理和周期性消息發(fā)送兩部分,處理流程如圖8(a)、(b)所示。周期性消息的收發(fā)是按固定周期進(jìn)行的,不同的消息設(shè)置了不同的周期控制數(shù),每進(jìn)入一次DT 中斷,每種消息的周期計(jì)數(shù)值加一,當(dāng)周期計(jì)數(shù)值與周期控制值相等時(shí),選擇通道,將命令塊頭指針寫(xiě)入rBlk AddrReg寄存器,啟動(dòng)使能,自動(dòng)完成命令塊的發(fā)送。

    圖8 DT中斷服務(wù)程序流程圖

    BC 軟件在接收數(shù)據(jù)時(shí),通過(guò)bc_revedata()函數(shù)訪問(wèn)RT 到BC 的數(shù)據(jù)緩沖區(qū),將數(shù)據(jù)存入變量,然后進(jìn)行解析和顯示即可。

    3.2 RT軟件實(shí)現(xiàn)

    3.2.1 RT描述塊

    RT 接收塊和發(fā)送塊是基于描述塊的相關(guān)參數(shù)進(jìn)行配置,每個(gè)描述塊包括4 個(gè)字:控制字、消息狀態(tài)表指針、數(shù)據(jù)表指針和一個(gè)留待擴(kuò)充的字,如圖9所示。

    圖9 RT描述塊

    每個(gè)子地址有一個(gè)接收描述塊和發(fā)送描述塊,因此RT 配置了31 個(gè)接收塊和發(fā)送塊。描述塊位于DPRAM 中,按照子地址的順序依次排列。通過(guò)描述塊中的索引功能,可以緩沖收發(fā)消息。

    3.2.2 軟件實(shí)現(xiàn)

    當(dāng)平臺(tái)作為RT 時(shí),BC 的命令塊到了,狀態(tài)機(jī)會(huì)自動(dòng)發(fā)送相應(yīng)的狀態(tài)字,RT 只需要讀取和解析數(shù)據(jù)。RT 接收數(shù)據(jù)流程如圖10 所示。

    圖10 RT接收數(shù)據(jù)流程

    1553B 協(xié)議處理芯片會(huì)自動(dòng)將收到的數(shù)據(jù)存入對(duì)應(yīng)子地址的數(shù)據(jù)緩沖區(qū),當(dāng)RT軟件讀取數(shù)據(jù)時(shí),查詢(xún)接收塊,通過(guò)readdrv(busn,ln,len,*message)函數(shù)訪問(wèn)數(shù)據(jù)緩沖區(qū)*(mbiad+recd+i*4+2)=datap,將緩沖區(qū)的數(shù)據(jù)讀入變量,然后進(jìn)行進(jìn)一步的解析和顯示。

    RT 發(fā)送數(shù)據(jù)時(shí),首先關(guān)閉MBI 的命令響應(yīng),執(zhí)行setfuncdrv(busn,func)函數(shù)將MBI 板設(shè)置為RT 狀態(tài),并選擇通道;向串口打印RT 地址設(shè)置消息,并通過(guò)串口回讀用戶設(shè)置;通過(guò)mbi_init_drv()函數(shù)加載輸出輸入表設(shè)置RT 地址,設(shè)置成功,執(zhí)行initdrv()函數(shù),將數(shù)據(jù)寫(xiě)入DPRAM 中;將發(fā)送描述塊的地址寫(xiě)入rBlkAddrReg 寄存器,并啟動(dòng)發(fā)送,最后加載DT值,如圖11 所示。

    圖11 RT發(fā)送數(shù)據(jù)流程

    4 實(shí)驗(yàn)及數(shù)據(jù)分析

    設(shè)計(jì)的平臺(tái)實(shí)現(xiàn)并能夠滿足多層級(jí)教學(xué)的驗(yàn)證性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)和綜合性實(shí)驗(yàn),包括編碼實(shí)驗(yàn)、數(shù)據(jù)傳輸實(shí)驗(yàn)、廣播消息實(shí)驗(yàn)、方式消息實(shí)驗(yàn)和綜合實(shí)驗(yàn)。

    數(shù)據(jù)傳輸實(shí)驗(yàn)包括BC 傳輸?shù)絉T、RT 傳輸?shù)紹C、RT 傳輸?shù)絉T 和消息時(shí)間特性實(shí)驗(yàn),通過(guò)串口助手進(jìn)行人機(jī)交互并利用示波器檢測(cè)總線上的波形,將3 套實(shí)驗(yàn)箱進(jìn)行級(jí)聯(lián),結(jié)合部分消息定義,可模擬典型航空電子系統(tǒng)中子任務(wù)的消息調(diào)度。

    以RT-RT 數(shù)據(jù)傳輸實(shí)驗(yàn)為例,將平臺(tái)通過(guò)串口助手交互,一端設(shè)置為BC 工作模式,其余設(shè)置為RT工作模式[15],測(cè)得波形如圖12 所示。

    圖12 RT-RT數(shù)據(jù)傳輸實(shí)驗(yàn)波形

    1553B總線字長(zhǎng)20位,數(shù)據(jù)有效位16位[16-18]。BC先向RT1 和RT2 分別發(fā)送命令字0x0827 和0x1447,命令字解析如下:

    RT1 收到接收命令后,狀態(tài)機(jī)自動(dòng)回復(fù)BC 一個(gè)狀態(tài)字;RT2 收到發(fā)送命令字,向RT1 發(fā)送7 個(gè)數(shù)據(jù)字;RT1 通過(guò)讀接收緩沖區(qū)接收數(shù)據(jù),數(shù)據(jù)接收完,狀態(tài)機(jī)向BC 發(fā)送狀態(tài)字,通信過(guò)程結(jié)束。通過(guò)波形可以看出這一過(guò)程字的交換,加深學(xué)生對(duì)1553B 總線通信過(guò)程的認(rèn)識(shí)。

    5 結(jié)論

    文中設(shè)計(jì)采用一體化的軟件架構(gòu),實(shí)現(xiàn)了3 個(gè)層次10種實(shí)驗(yàn)類(lèi)型的功能,并且留有二次開(kāi)發(fā)的軟件接口,使得實(shí)驗(yàn)的穩(wěn)定性、操作的友好性大幅度提高。

    猜你喜歡
    命令串口消息
    只聽(tīng)主人的命令
    淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
    一張圖看5G消息
    移防命令下達(dá)后
    USB接口的多串口數(shù)據(jù)并行接收方法探索
    這是人民的命令
    基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
    消息
    消息
    消息
    永川市| 霍林郭勒市| 成安县| 嘉鱼县| 青州市| 桐柏县| 买车| 昭苏县| 旺苍县| 大理市| 同德县| 卢龙县| 房产| 威宁| 宁陕县| 裕民县| 邢台县| 藁城市| 东台市| 绥中县| 抚宁县| 揭阳市| 邹城市| 浙江省| 临泉县| 翼城县| 赞皇县| 梁河县| 湛江市| 秦皇岛市| 临泽县| 紫金县| 怀仁县| 昭平县| 印江| 讷河市| 黔江区| 黔西县| 霍山县| 永昌县| 亳州市|