• 
    

    
    

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

      基 于FPGA 和B61580S3 的1553B 總線RT/MT 功能 的設(shè)計(jì)與驗(yàn)證

      2023-01-24 12:52:14王越濤趙冬青武慧軍
      電子設(shè)計(jì)工程 2023年2期
      關(guān)鍵詞:堆棧指針中斷

      王越濤,趙冬青,武慧軍

      (1.中北大學(xué)儀器與電子學(xué)院,山西太原 030051;2.中北大學(xué)電子測(cè)試技術(shù)與重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)

      為提高現(xiàn)代飛行控制系統(tǒng)運(yùn)行過程中的通信效率,適應(yīng)數(shù)量不斷增加的內(nèi)部電子通信設(shè)備,提出了MIL-STD-1553B“數(shù)字時(shí)分制命令/響應(yīng)多路復(fù)用數(shù)據(jù)總線”的電子信息系統(tǒng)傳輸標(biāo)準(zhǔn)。

      在設(shè)計(jì)系統(tǒng)時(shí)選用B61580S3 國產(chǎn)協(xié)議芯片,通過芯片內(nèi)置的16 位非零等待緩沖模式來實(shí)現(xiàn)RT/MT功能。相比16 位透明模式[1]將電路內(nèi)部的存儲(chǔ)器旁路而使用外部存儲(chǔ)器,雖具有外部擴(kuò)展、存儲(chǔ)容量更大的優(yōu)點(diǎn),但由于透明模式對(duì)外部存儲(chǔ)器有特定要求,使用不當(dāng)很容易發(fā)生協(xié)議或主機(jī)的存儲(chǔ)訪問失敗,因此選用具有程序設(shè)計(jì)簡(jiǎn)潔、實(shí)時(shí)性高的16 位緩沖模式。在目前芯片價(jià)格不斷上漲、電路板空間資源受到限制的情況下,使用FPGA 配合協(xié)議芯片實(shí)現(xiàn)遠(yuǎn)程終端與總線監(jiān)控器功能,降低了生產(chǎn)成本,資源得到了合理利用。

      1 總線接口電路設(shè)計(jì)

      總線接口電路主要由可編程邏輯器件FPGA、協(xié)議芯片B61580S3、電平轉(zhuǎn)換芯片和1553B 耦合變壓器四部分構(gòu)成。

      1553B 的協(xié)議主硬件系統(tǒng)采用XC6SLX150_FGG484 型號(hào)的FPGA 芯片,利用VHDL 對(duì)FPGA 的功能做行為描述。協(xié)議芯片內(nèi)部配備有地址鎖存器和雙向的數(shù)據(jù)緩沖電路,有利于其與處理器FPGA總線進(jìn)行數(shù)據(jù)交互;4kB×16 位的靜態(tài)存儲(chǔ)器容量足夠滿足1553B 總線傳輸需求。主機(jī)具有可編程的中斷結(jié)構(gòu),通過中斷信號(hào)為FPGA 預(yù)留出一段時(shí)間,由協(xié)議芯片中斷狀態(tài)寄存器對(duì)消息類型進(jìn)行判斷,進(jìn)而執(zhí)行下一步的消息處理操作。同時(shí),由于芯片可配置為BC(Bus Controller)、RT(Remote Terminal)、MT(Monitor Terminal)三種模式[2-3],每種模式都可作為廣播通路,因此,為保證數(shù)據(jù)的完整性和系統(tǒng)的容錯(cuò)率,將BUS_A 作為主總線通路,BUS_B 為冗余通路。1553B 標(biāo)準(zhǔn)總線拓?fù)浣Y(jié)構(gòu)如圖1 所示。

      圖1 1553B標(biāo)準(zhǔn)總線拓?fù)浣Y(jié)構(gòu)

      由于FPGA 為3.3 V 邏輯高電平,協(xié)議芯片采用5 V 的TTL 邏輯電平且可向下兼容至最高2 V 電壓,因而FPGA 可向協(xié)議芯片直接傳輸,反之則會(huì)引起電流倒灌[4-5]將FPGA 燒毀,故在協(xié)議芯片向FPGA傳輸?shù)男盘?hào)引腳上增加電平轉(zhuǎn)換芯片具有一定的必要性。

      將終端RT 接入總線時(shí),使用曼徹斯特碼[6]有利于數(shù)據(jù)傳輸?shù)目焖俜€(wěn)定,所以1553B 總線內(nèi)部采用此碼進(jìn)行串行傳輸[7]。由于接口電路耦合方式有直接與間接兩種,而間接耦合具有故障隔離特性,一路終端故障并不會(huì)影響整個(gè)總線網(wǎng)絡(luò),因此采用匝數(shù)比為1∶1.79 的變壓器耦合。相比于直接耦合,在變壓器引腳根部焊接隔離電阻和終端電阻,故耦合時(shí)具有較高的噪聲抑制性能和電氣隔離特性[8]。電氣隔離提高了短截線阻抗匹配,降低了終端發(fā)生故障時(shí)對(duì)1553B 總線的影響,提升了可靠性,保障了設(shè)備的安全。圖2 所示是為實(shí)現(xiàn)RT/MT 功能所設(shè)計(jì)的16位緩沖模式1553B 總線接口電路原理圖。

      圖2 總線接口電路原理圖

      1553B 總線采用中央集權(quán)方式響應(yīng),由總線控制器發(fā)出命令,各RT 比較命令字中的地址與自身地址,若相同則發(fā)出響應(yīng),執(zhí)行BC 后續(xù)的操作,相異則忽略此命令[9]。與RT 模式不同,MT 僅對(duì)總線上的消息進(jìn)行監(jiān)控并上傳至存儲(chǔ)器存儲(chǔ)區(qū)。相比12 MHz頻率時(shí)鐘,協(xié)議芯片采用較高頻率的16 MHz[10]頻率時(shí)鐘,高的采樣頻率將極大提高其電路內(nèi)部編碼器和解碼器的容錯(cuò)能力。

      由于總線上各個(gè)終端的地址不同,因此對(duì)協(xié)議芯片的地址配置引腳RTAD4-RTAD0 置高或低,達(dá)到對(duì)協(xié)議芯片地址配置的目的。當(dāng)工作在緩沖模式時(shí),TRAN/BUFF 引腳置低,16/8 和ZERO_WAIT 引腳置高[11],此時(shí)芯片將使用內(nèi)部緩沖區(qū)對(duì)數(shù)據(jù)進(jìn)行緩沖,隨后存入存儲(chǔ)器供脫機(jī)分析使用。

      2 協(xié)議芯片工作原理

      發(fā)送數(shù)據(jù)時(shí),協(xié)議芯片會(huì)將待發(fā)送數(shù)據(jù)根據(jù)數(shù)據(jù)類型自動(dòng)添加相應(yīng)同步頭[12],計(jì)算奇偶校驗(yàn)結(jié)果,待數(shù)據(jù)處理為20 位的曼徹斯特標(biāo)準(zhǔn)Ⅱ型編碼后,串行發(fā)送至總線。接收數(shù)據(jù)時(shí),總線控制器與各終端交互的串行數(shù)據(jù)信息被采集至協(xié)議芯片內(nèi)部,F(xiàn)PGA通過中斷類型將協(xié)議芯片配置為對(duì)應(yīng)模式,并為其子地址分配空間;在協(xié)議芯片篩選出數(shù)據(jù)有效信息后,F(xiàn)PGA 執(zhí)行后續(xù)操作,最后將解碼后的數(shù)據(jù)存入緩沖FIFO[13]。

      2.1 RT/MT中斷處理

      協(xié)議芯片B61580S3 內(nèi)部具有十分方便的中斷機(jī)制。通過協(xié)議芯片的中斷和對(duì)消息類型的識(shí)別,MT 可完成消息的有序歸類,為RT/MT 的實(shí)現(xiàn)提供了可能。

      初始化時(shí),芯片處在等待中斷信號(hào)狀態(tài)[14],等待總線通信的發(fā)生;當(dāng)通信發(fā)生時(shí),芯片內(nèi)部產(chǎn)生下降沿觸發(fā)的中斷請(qǐng)求脈沖,通過INT 引腳向FPGA 發(fā)送中斷請(qǐng)求信號(hào),同時(shí)中斷狀態(tài)寄存器會(huì)自動(dòng)判斷中斷狀態(tài)并保存;FPGA 讀取并判斷中斷狀態(tài)寄存器的第0、1、4 位,以確定該幀消息位的中斷類型,之后將中斷信號(hào)的結(jié)果存入寄存器,待后續(xù)執(zhí)行消息時(shí)使用。FPGA 對(duì)中斷類型進(jìn)行判斷,若為RT 中斷,則協(xié)議芯片置為遠(yuǎn)程終端RT 模式,由中斷狀態(tài)寄存器為FPGA 指出具體指令類型;若為MT 中斷,則芯片置為監(jiān)控器MT 模式,并將監(jiān)控?cái)?shù)據(jù)存入緩存FIFO。中斷處理流程如圖3 所示。

      圖3 中斷處理流程圖

      2.2 MT工作流程

      通過讀取狀態(tài)寄存器的中斷標(biāo)志信息,確定為MT 中斷時(shí),協(xié)議芯片將進(jìn)行MT 工作流程。MT 的任務(wù)是將消息的指令字、數(shù)據(jù)字、狀態(tài)字從協(xié)議芯片內(nèi)有序取出并全部存入存儲(chǔ)器內(nèi)部緩存FIFO。當(dāng)收到消息后,協(xié)議芯片將根據(jù)字標(biāo)志位的不同自動(dòng)識(shí)別字類型并做相應(yīng)存儲(chǔ)[15]:指令字存入指令堆棧,數(shù)據(jù)字及狀態(tài)字作為數(shù)據(jù)塊,先后被存入數(shù)據(jù)堆棧。初始化階段,F(xiàn)PGA 自動(dòng)配置數(shù)據(jù)堆棧和指令堆棧的首地址,并為其分別分配足夠的空間來存放指針。初始化完成后,消息將按照堆棧指針?biāo)赶虻牡刂芬来未鎯?chǔ)。若存滿,則指針跳回初始地址,將原有數(shù)據(jù)覆蓋,繼續(xù)循環(huán)存儲(chǔ)。

      消息執(zhí)行時(shí),協(xié)議芯片將數(shù)據(jù)塊存入數(shù)據(jù)堆棧,指令字被存入指令堆棧[16]。當(dāng)消息執(zhí)行完畢,F(xiàn)PGA分別讀取存放在存儲(chǔ)器地址為“0102H”和“0103H”內(nèi)的指令堆棧指針與數(shù)據(jù)堆棧指針。之后,F(xiàn)PGA 依據(jù)指針指向,依次逆序讀取指令堆棧中存放的四種信息與數(shù)據(jù)堆棧中的數(shù)據(jù)塊,并將所讀取的信息一同存入緩存FIFO[17]。至此,該次MT 工作結(jié)束,等待下次數(shù)據(jù)的到來。編幀后,F(xiàn)PGA 將FIFO 中的消息下發(fā)至記錄器供脫機(jī)分析使用。

      2.3 RT工作流程

      由BC 下發(fā)的指令字分為方式代碼指令與一般指令兩種,一般指令用來傳輸數(shù)據(jù),方式代碼指令用于數(shù)據(jù)流的管理。當(dāng)終端處于RT 模式下時(shí),需要對(duì)指令字的類別做出判斷并執(zhí)行對(duì)應(yīng)操作。

      1553B 總線協(xié)議有多種5 位方式代碼指令,該終端僅使用其中兩種,即00011B 和10001B。如圖4 所示,當(dāng)總線控制器發(fā)送方式代碼指令00011B 時(shí),終端將進(jìn)行自檢,F(xiàn)PGA 啟動(dòng)測(cè)試電路對(duì)自身進(jìn)行測(cè)試檢查,并將檢查后的結(jié)果存于狀態(tài)寄存器中。在BC端發(fā)送完自檢結(jié)果回讀指令后,測(cè)試結(jié)果被讀取并發(fā)送至接口寄存器,由BC 獲取結(jié)果。

      圖4 自檢指令及狀態(tài)反饋

      圖5 為利用示波器在1553B 總線上抓取的時(shí)間同步指令及狀態(tài)反饋波形圖。當(dāng)進(jìn)行時(shí)間同步操作時(shí),BC 將指令字與數(shù)據(jù)字先后下發(fā)至RT 終端,協(xié)議芯片在收到字后,將執(zhí)行解析到的方式代碼指令10001B,同時(shí)數(shù)據(jù)字被存至定時(shí)器標(biāo)簽中進(jìn)行RT 同步,2 μs 后同步完成并在BC 的狀態(tài)回讀指令發(fā)送后獲取結(jié)果。

      圖5 時(shí)間同步指令及狀態(tài)反饋

      3 實(shí)驗(yàn)結(jié)果

      測(cè)試臺(tái)作為總線控制器BC 對(duì)終端RT 下發(fā)測(cè)試指令,RT 對(duì)所收到的命令進(jìn)行響應(yīng),MT 監(jiān)控到的消息集如圖6 所示。

      圖6 總線監(jiān)控器消息集

      消息集每行記錄一條80 字的消息。第一條是測(cè)試臺(tái)上位機(jī)模擬總線控制器BC 下發(fā)的自檢指令,EB90H 為消息頭,0001H 為消息計(jì)數(shù),B7E3H 為方式指令,第7 至第14 字依次為數(shù)據(jù)塊指針、時(shí)間標(biāo)簽字、塊狀態(tài)字和有效數(shù)據(jù)個(gè)數(shù)。由于自檢指令未發(fā)送數(shù)據(jù)字,且數(shù)據(jù)塊指針處于初始化狀態(tài),故數(shù)據(jù)塊指針為0000H,有效數(shù)據(jù)個(gè)數(shù)為0,并以DDDDH 作為填充。第二至第四條分別為自檢狀態(tài)反饋、時(shí)間同步命令下發(fā)及狀態(tài)反饋,與預(yù)定結(jié)果保持一致,表明遠(yuǎn)程終端RT 的功能得到實(shí)現(xiàn)。

      第五條及以后的消息是上位機(jī)下發(fā)的測(cè)試數(shù)據(jù),A8A0H 為命令字,數(shù)據(jù)以FDB1H 和8540H 為頭部,0000H、0001H、0002H 依次遞增被監(jiān)控并存入存儲(chǔ)器FIFO 中。每條消息的數(shù)據(jù)塊指針地址與上一條始終相差0020H,表明數(shù)據(jù)被準(zhǔn)確無誤地進(jìn)行了存儲(chǔ)。綜上可知,MT 監(jiān)控到了包括RT 模式在內(nèi)總線上的所有消息,RT/MT 的功能得到了實(shí)現(xiàn)。

      4 結(jié)論

      文中基于1553B 總線通信協(xié)議,直接利用B615 80S3 協(xié)議芯片,避免了繁瑣的協(xié)議設(shè)計(jì);在VIVADO環(huán)境下編寫的VHDL 硬件描述語言,對(duì)硬件接口電路進(jìn)行描述編程、仿真燒錄,實(shí)現(xiàn)了1553B 總線接口功能;經(jīng)過上位機(jī)軟件對(duì)芯片功能的測(cè)試,表明該設(shè)計(jì)方法靈活可靠,單片協(xié)議芯片設(shè)計(jì)時(shí)系統(tǒng)更簡(jiǎn)單、效率更高、功耗更小,生產(chǎn)成本得到大幅降低。

      猜你喜歡
      堆棧指針中斷
      偷指針的人
      嵌入式軟件堆棧溢出的動(dòng)態(tài)檢測(cè)方案設(shè)計(jì)*
      為什么表的指針都按照順時(shí)針方向轉(zhuǎn)動(dòng)
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      基于堆棧自編碼降維的武器裝備體系效能預(yù)測(cè)
      基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
      ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
      AT89C51與中斷有關(guān)的寄存器功能表解
      FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
      五指山市| 汝南县| 娱乐| 宜兰市| 屏东市| 克什克腾旗| 寻乌县| 信宜市| 盖州市| 岳西县| 金溪县| 龙州县| 台南县| 浮山县| 金坛市| 武夷山市| 南澳县| 岗巴县| 新化县| 永德县| 肥乡县| 玛沁县| 博白县| 红原县| 淮阳县| 保靖县| 慈利县| 大竹县| 湛江市| 田林县| 新宁县| 安阳县| 滨州市| 高雄县| 临安市| 隆德县| 凤台县| 宁强县| 铜陵市| 汤阴县| 河南省|