亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于 MIL-STD-1553B協(xié)議的遠(yuǎn)程終端的 FPGA實(shí)現(xiàn)

        2010-12-22 08:12:54張華春
        電子器件 2010年3期
        關(guān)鍵詞:堆棧寄存器總線

        孫 濤,張華春

        (1.中國科學(xué)院電子學(xué)研究所,北京 100190;2.中國科學(xué)院研究生院,北京 100189)

        SUN Tao1,2,ZHANGHuachun1*

        1.Institute of Electronics,The Chinese Academy of Sciences,Beijing 100190,China;

        2.Graduate University,The Chinese Academy of Sciences,Beijing 100189,China

        1553B總線協(xié)議是由美國軍方在上世紀(jì) 70年代制定的[1],被廣泛應(yīng)用于航空、航天等實(shí)時性和可靠性要求高的軍事領(lǐng)域。目前支持該標(biāo)準(zhǔn)的商用芯片有 HOLT公司的 HI-61XX系列,DDC公司的 BU-6517X,BU-615XX系列等,這些芯片都是由美國生產(chǎn)的,價格昂貴。而使用 FPGA設(shè)計實(shí)現(xiàn)相應(yīng)的遠(yuǎn)程終端協(xié)議[2],外接收發(fā)器完成 1553B遠(yuǎn)程終端的功能,可以降低成本,簡化配置過程,增加使用靈活性。

        1 1553B總線及遠(yuǎn)程終端節(jié)點(diǎn)

        1553B協(xié)議采用雙向曼徹斯特碼,數(shù)據(jù)在總線上以串行脈沖形式傳輸,其傳輸速率為 1 Mbit/s??偩€傳輸?shù)男畔⒆钟腥N,分別是命令字、數(shù)據(jù)字和狀態(tài)字,見表 1。1553B總線上連接的節(jié)點(diǎn)類型分為三類:總線控制器(BC)、遠(yuǎn)程終端(RT)和總線監(jiān)視器(MT)[3]。

        遠(yuǎn)程終端節(jié)點(diǎn)支持的操作包括:①識別總線控制器的命令字是否有效,②對有效的命令字,按有效命令字所規(guī)定的方式做出響應(yīng)并進(jìn)行操作,③接收發(fā)送有效的數(shù)據(jù)字和狀態(tài)字,④實(shí)現(xiàn)與微處理器之間的信息交換。

        表 1 1553B信息字的幀結(jié)構(gòu)

        2 遠(yuǎn)程終端的 FPGA實(shí)現(xiàn)

        1553B協(xié)議遠(yuǎn)程終端節(jié)點(diǎn)的系統(tǒng)結(jié)構(gòu)框圖如圖1,一端通過接口管理模塊與微處理器相連接,一端通過編碼器與解碼器與總線相連接。位流控制模塊負(fù)責(zé)信息傳遞和數(shù)據(jù)交換,實(shí)現(xiàn)節(jié)點(diǎn)功能。

        圖 1 系統(tǒng)結(jié)構(gòu)框圖

        2.1 接口管理模塊

        該模塊主要功能是實(shí)現(xiàn) FPGA模塊與微處理器之間的數(shù)據(jù)交換[4]。由于微處理器總線為 8位,1553B的信息字為 16位,因此該模塊需要在讀寫時實(shí)現(xiàn) 8位與 16位間的轉(zhuǎn)換。這就需要通過兩次置高地址鎖存,讀寫使能,規(guī)定第一次為高 8位,第二次為低 8位。讀取時第一次讀使能讀高 8位,第二次讀使能讀低 8位。

        2.2 寄存器和內(nèi)存管理模塊

        為保證可擴(kuò)展性,寄存器部分預(yù)留了 17組寄存器,包括配置寄存器、命令寄存器、中斷寄存器等[5]。這些寄存器主要用于狀態(tài)信息的存儲和功能參數(shù)的設(shè)置,如 RAM的 A/B區(qū)域選擇,復(fù)位,設(shè)置 RT地址,產(chǎn)生中斷。

        內(nèi)存部分使用一個 16×4 096 bit的雙口 RAM,由微處理器和位流控制模塊進(jìn)行時分讀寫,完成微處理器與 1553B總線間的數(shù)據(jù)交換。RAM分為A、B兩個區(qū)域,當(dāng)前時刻只有一個處于激活狀態(tài),主要地址分配見表 2,堆棧用來存放消息描述符,每4個字描述一條消息。RT命令堆棧指針指向當(dāng)前消息的消息描述符的第一個字。查找表對應(yīng)的是子地址,存放的是指向數(shù)據(jù)塊的指針。整個查找表包括 32個接收子地址、發(fā)送子地址、廣播子地址和子地址控制字,其中子地址控制字指定了對應(yīng) RT子地址的內(nèi)存管理和中斷機(jī)制。數(shù)據(jù)塊用來存放數(shù)據(jù)字。

        表 2 RT內(nèi)存映射

        2.3 編解碼器

        編碼器與解碼器相互獨(dú)立,由時鐘管理模塊提供時鐘,完成同步頭檢測、時鐘對準(zhǔn)、曼徹斯特編解碼、串并轉(zhuǎn)換和奇偶校驗(yàn)等功能。

        解碼器的輸入是總線信息序列,輸出是信息字類型、16位信息字和奇校驗(yàn)結(jié)果。解碼器時鐘頻率為 8 MHz,由時鐘管理模塊對 FPGA時鐘分頻得到。首先,來自總線的信息序列進(jìn)入移位寄存器,進(jìn)行同步頭檢測。得到一個有效的同步頭后,將同步頭類型緩存,開始進(jìn)行曼徹斯特解碼。對每位碼字采樣8次,在曼徹斯特跳變沿處取值,作為解碼值,同時每隔 1 000 ns采樣一次,與跳變沿處的取值對比,驗(yàn)證是否正確。對解碼得到的新序列計算奇校驗(yàn),將校驗(yàn)結(jié)果緩存。最后輸出信息字類型、16位信息字和校驗(yàn)結(jié)果。

        編碼器的輸入是信息字類型和 16位信息數(shù)據(jù),輸出是串行編碼。命令字解析完畢后,需要回送狀態(tài)字或發(fā)送數(shù)據(jù)字,這個功能由編碼器完成。位流控制模塊先把需要發(fā)送的信息寫入相應(yīng)的 RAM區(qū),在得到發(fā)送命令后,位流控制模塊中的狀態(tài)機(jī)每次為編碼器輸入一個信息字,編碼器計算奇校驗(yàn),生成反相字,完成曼徹斯特編碼,根據(jù)信息字類型為序列添加同步頭,最后按照時鐘管理模塊提供的2 MHz時鐘按位發(fā)送,這樣就保證了總線上傳輸速率為 1 Mbit/s。

        2.4 位流控制模塊

        位流控制模塊是整個遠(yuǎn)程終端硬件系統(tǒng)的核心模塊,完成狀態(tài)機(jī)的跳轉(zhuǎn),實(shí)現(xiàn)各個邏輯模塊間的數(shù)據(jù)交換。位流控制模塊的流程見圖 2。

        圖2 位流控制模塊的處理流程

        進(jìn)入數(shù)據(jù)處理狀態(tài)后,如果要求遠(yuǎn)程終端接收數(shù)據(jù)字,則先從配置寄存器 1的 bit 13得到使用RAM區(qū)域 A還是區(qū)域 B,假設(shè)使用區(qū)域 A,則①從RAM中地址為 0x0100的位置讀取本條消息的描述符堆棧地址,②從相應(yīng)查找表地址中讀取子地址控制字,判斷相應(yīng) RT子地址的 RAM管理和中斷機(jī)制,③從相應(yīng)查找表地址中讀取數(shù)據(jù)塊地址,④描述符堆棧的四個字由下向上一次寫入當(dāng)前命令字、數(shù)據(jù)塊地址、時間標(biāo)記字和塊狀態(tài)字,⑤在堆棧指針位置寫入本條消息堆棧描述符的地址,⑥向數(shù)據(jù)塊中寫入接收到的數(shù)據(jù)字,⑦數(shù)據(jù)字全部接收完畢后,返回相應(yīng)狀態(tài)字⑧產(chǎn)生中斷,通知微處理器數(shù)據(jù)接收完畢。如果命令字要求遠(yuǎn)程終端發(fā)送數(shù)據(jù),則執(zhí)行③后,在相應(yīng)位置寫入狀態(tài)字,從數(shù)據(jù)塊地址中讀取數(shù)據(jù)字,置發(fā)送使能,通過編碼器發(fā)送要求個數(shù)的數(shù)據(jù)字。不同狀態(tài)對 RAM區(qū)域的訪問如圖3所示。廣播處理狀態(tài)與數(shù)據(jù)收發(fā)類似,不做狀態(tài)字回復(fù)。方式代碼處理狀態(tài),根據(jù) 1553B總線標(biāo)準(zhǔn)對不同的方式代碼進(jìn)行相關(guān)的位操作。

        1553B協(xié)議字為 16 bit,堆棧大小為 256 K,描述一條消息需要 4個字,因此 RAM區(qū)最多可緩存 32條消息。對于每條消息,又對應(yīng)著 32個子地址,可以存儲 32個數(shù)據(jù)字。微處理器對 FPGA進(jìn)行初始配置時[6],先將數(shù)據(jù)塊地址,子地址控制字等信息寫入相應(yīng)的查找表固定地址內(nèi),當(dāng)接收到命令字后,按命令字要求,將接收到的數(shù)據(jù)按對應(yīng)子地址控制字要求的模式寫入相應(yīng)子地址的數(shù)據(jù)塊中,或者從相應(yīng)的子地址數(shù)據(jù)塊中讀取數(shù)據(jù)發(fā)送到總線上。

        當(dāng)檢測出同步頭 111 000時,則說明檢測到了一個命令字,通過命令字解析,得到節(jié)點(diǎn)標(biāo)識符 RT_ID、接收發(fā)送標(biāo)識符 T/R、子地址(方式代碼)SUB_ADDR和數(shù)據(jù)字個數(shù)(方式代碼數(shù)據(jù))DW_NUM。首先由 RT地址識別子模塊驗(yàn)證 RT_ID,如果是11111,則進(jìn)入廣播處理狀態(tài);如果與節(jié)點(diǎn) id相同,則判斷子地址,若子地址是 00000或 11111,則是方式代碼,進(jìn)入方式代碼處理狀態(tài);若子地址在 00000與 11111之間,則是數(shù)據(jù)傳遞,進(jìn)入數(shù)據(jù)處理狀態(tài)。

        圖 3 RT內(nèi)存的管理

        3 綜合仿真

        本文采用 Xilinx公司的 Spartan3E系列XC3S500E芯片[7],設(shè)計過程采用 Verilog HDL硬件描述語言[8],并在 Xilinx ISE9.2平臺上完成整體模塊的設(shè)計、綜合,用 Modelsim SE 6.5完成仿真。

        圖 4 接收數(shù)據(jù)過程仿真圖

        圖 4是對 RT接收數(shù)據(jù)的仿真結(jié)果:微處理器初始化堆棧指針和子地址查找表。clk為 16MHz的時鐘,rx為總線上的數(shù)據(jù),tx為 RT響應(yīng)的狀態(tài)字。接收完畢后,FGPA向微處理器發(fā)出中斷信號,微處理器讀取中斷寄存器的信息后,從 RAM中以堆棧指針為起點(diǎn)讀取數(shù)據(jù),得到接收的兩個數(shù)據(jù)字是 0x1234和 0x5678,結(jié)果表明接收正確。圖 5是對 RT回送數(shù)據(jù)的仿真結(jié)果,表明 RT對命令字做出正確響應(yīng)。

        圖 5 發(fā)送數(shù)據(jù)過程仿真圖

        4 總結(jié)

        本文闡述了一種基于 FPGA的 MIL-STD-1553B協(xié)議遠(yuǎn)程終端的設(shè)計方法。通過微處理器的配置,本模塊可以方便的實(shí)現(xiàn) 1553B總線網(wǎng)絡(luò)中遠(yuǎn)程終端節(jié)點(diǎn)的主要功能,發(fā)送接收數(shù)據(jù),廣播以及方式代碼等,有成本低、使用方便等優(yōu)點(diǎn)。設(shè)計中預(yù)留了寄存器結(jié)構(gòu),可以將其他功能擴(kuò)展到模塊上,從而實(shí)現(xiàn)較完整的支持 1553B總線協(xié)議的硬件模塊。

        [1] CONDOE ENGINEERING INC.Mil-Std-1553 Tutorial[S].Santa Barbara,CA93103,2004.

        [2] 張羽,胡玉貴,殷奎喜等.基于 FPGA的多串口擴(kuò)展實(shí)現(xiàn)[J].電子器件,2009,32(1):233-236.

        [3] 張傳武,黃勤珍.Mil-Std-1553總線協(xié)議分析[J].西南民族大學(xué)學(xué)報自然科學(xué)版,2007,33(2):381-383.

        [4] 羅一峰,蔡嵩.基于 1553B總線的接口設(shè)計與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2006,29(2):71-73,76.

        [5]ACE/Mini-ACE Series BC/RT/MT Advanced Communication Engine Integrated 1553 Terminal User's Guide[S].Data Device Corporation.1999.

        [6] 歐偉明.基于 FPGA和 MCU的 200通道 A/D轉(zhuǎn)換器的設(shè)計[J].電子器件,2007,30(4):1234-1238.

        [7] 田耕,徐文波.Xilinx FPGA開發(fā)使用教程[M].清華大學(xué)出版社,2008,11.

        [8] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程(第 2版)[M].北京:北京航空航天大學(xué)出版社,2008,1.

        猜你喜歡
        堆棧寄存器總線
        Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
        基于PCI Express總線的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
        嵌入式軟件堆棧溢出的動態(tài)檢測方案設(shè)計*
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于堆棧自編碼降維的武器裝備體系效能預(yù)測
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
        河南科技(2014年16期)2014-02-27 14:13:22
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種用于分析MCS-51目標(biāo)碼堆棧深度的方法
        中文字幕精品一区二区日本 | 亚洲人成人一区二区三区| 日本岛国一区二区三区| 久久国产精品婷婷激情| 久久天堂综合亚洲伊人hd妓女| 国产精品久久无码一区二区三区网| 国产精品伦人视频免费看| 久久成人永久婷婷99精品| 中文字幕亚洲综合久久| 久久精品人人做人人爽电影蜜月| 天天插视频| 男女视频在线观看一区二区| 亚洲AV无码专区国产H小说| 中文字幕中文字幕人妻黑丝| 中文字幕在线乱码一区| 初女破初的视频| 亚洲综合久久成人a片| 亚洲欧美另类日本久久影院| 女优av性天堂网男人天堂| 久久精品国产只有精品96| 日本少妇人妻xxxxx18| 国产好片日本一区二区三区四区| 第一九区另类中文字幕| 成年女人免费视频播放体验区| 欧美另类在线视频| 亚洲中文字幕诱惑第一页| 一区二区三区精品少妇| 亚洲精品v欧洲精品v日韩精品| chinesefreexxxx国产麻豆 | 91福利视频免费| 国产精品久久国产三级国| 老鸭窝视频在线观看| 特黄a级毛片免费视频| 99免费视频精品| 青青草视频网站在线观看| 欧美做受又硬又粗又大视频| 欧美日韩亚洲国内综合网| 日本一区二区不卡视频| 国产一区二区精品av| 高清国产国产精品三级国产av| 国产欧美一区二区精品久久久|