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

        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)支持的操作包括:①識(shí)別總線控制器的命令字是否有效,②對(duì)有效的命令字,按有效命令字所規(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,一端通過(guò)接口管理模塊與微處理器相連接,一端通過(guò)編碼器與解碼器與總線相連接。位流控制模塊負(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í)實(shí)現(xiàn) 8位與 16位間的轉(zhuǎn)換。這就需要通過(guò)兩次置高地址鎖存,讀寫使能,規(guī)定第一次為高 8位,第二次為低 8位。讀取時(shí)第一次讀使能讀高 8位,第二次讀使能讀低 8位。

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

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

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

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

        2.3 編解碼器

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

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

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

        2.4 位流控制模塊

        位流控制模塊是整個(gè)遠(yuǎn)程終端硬件系統(tǒng)的核心模塊,完成狀態(tài)機(jī)的跳轉(zhuǎn),實(shí)現(xiàn)各個(gè)邏輯模塊間的數(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,則①?gòu)腞AM中地址為 0x0100的位置讀取本條消息的描述符堆棧地址,②從相應(yīng)查找表地址中讀取子地址控制字,判斷相應(yīng) RT子地址的 RAM管理和中斷機(jī)制,③從相應(yīng)查找表地址中讀取數(shù)據(jù)塊地址,④描述符堆棧的四個(gè)字由下向上一次寫入當(dāng)前命令字、數(shù)據(jù)塊地址、時(shí)間標(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ā)送使能,通過(guò)編碼器發(fā)送要求個(gè)數(shù)的數(shù)據(jù)字。不同狀態(tài)對(duì) RAM區(qū)域的訪問(wèn)如圖3所示。廣播處理狀態(tài)與數(shù)據(jù)收發(fā)類似,不做狀態(tài)字回復(fù)。方式代碼處理狀態(tài),根據(jù) 1553B總線標(biāo)準(zhǔn)對(duì)不同的方式代碼進(jìn)行相關(guān)的位操作。

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

        當(dāng)檢測(cè)出同步頭 111 000時(shí),則說(shuō)明檢測(cè)到了一個(gè)命令字,通過(guò)命令字解析,得到節(jié)點(diǎn)標(biāo)識(shí)符 RT_ID、接收發(fā)送標(biāo)識(shí)符 T/R、子地址(方式代碼)SUB_ADDR和數(shù)據(jù)字個(gè)數(shù)(方式代碼數(shù)據(jù))DW_NUM。首先由 RT地址識(shí)別子模塊驗(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è)計(jì)過(guò)程采用 Verilog HDL硬件描述語(yǔ)言[8],并在 Xilinx ISE9.2平臺(tái)上完成整體模塊的設(shè)計(jì)、綜合,用 Modelsim SE 6.5完成仿真。

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

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

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

        4 總結(jié)

        本文闡述了一種基于 FPGA的 MIL-STD-1553B協(xié)議遠(yuǎn)程終端的設(shè)計(jì)方法。通過(guò)微處理器的配置,本模塊可以方便的實(shí)現(xiàn) 1553B總線網(wǎng)絡(luò)中遠(yuǎn)程終端節(jié)點(diǎn)的主要功能,發(fā)送接收數(shù)據(jù),廣播以及方式代碼等,有成本低、使用方便等優(yōu)點(diǎn)。設(shè)計(jì)中預(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é)報(bào)自然科學(xué)版,2007,33(2):381-383.

        [4] 羅一峰,蔡嵩.基于 1553B總線的接口設(shè)計(jì)與實(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ì)[J].電子器件,2007,30(4):1234-1238.

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

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

        猜你喜歡
        堆棧寄存器總線
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        基于PCI Express總線的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
        嵌入式軟件堆棧溢出的動(dòng)態(tài)檢測(cè)方案設(shè)計(jì)*
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于堆棧自編碼降維的武器裝備體系效能預(yù)測(cè)
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
        河南科技(2014年16期)2014-02-27 14:13:22
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種用于分析MCS-51目標(biāo)碼堆棧深度的方法
        日本a在线天堂| 国产啪精品视频网站丝袜| 91精品一区国产高清在线gif| 精品推荐国产精品店| 少妇人妻中文字幕hd| 丰满少妇三级全黄| 亚洲av无码1区2区久久| 亚洲国产成人91| 亚洲精彩视频一区二区| 中文字幕久久精品一区二区| 97成人精品视频在线| 欧美人与善在线com| 欧美亚洲色综久久精品国产| 精品综合久久久久久97超人| 欧美一区二区午夜福利在线yw| 亚洲午夜无码久久久久软件| 午夜宅男成人影院香蕉狠狠爱| 亚洲国产中文字幕一区| 性无码一区二区三区在线观看| 在线看片免费人成视频久网下载| 国农村精品国产自线拍| 国产乱人伦真实精品视频| 久久中文字幕av第二页| 丰满又紧又爽又丰满视频| 国产精品亚洲а∨无码播放| 国产三区在线成人av| 毛茸茸性xxxx毛茸茸毛茸茸| 欧美巨大xxxx做受中文字幕| 人妻少妇艳情视频中文字幕| 刺激一区仑乱| 国产尤物精品福利视频| 香蕉网站在线| 一区二区三区婷婷中文字幕| 国产亚洲中文字幕久久网| 久久婷婷五月综合色高清| 小宝极品内射国产在线| 免费人成又黄又爽的视频在线| 无码精品一区二区三区免费16| 久久精品蜜桃美女av | 国产亚av手机在线观看| 人人妻人人澡人人爽久久av|