黃揚(yáng)洲 夏虎
【摘要】 航空1553B總線是一種集中控制的時分制指令/響應(yīng)串行數(shù)據(jù)總線,具有很高的可靠性和靈活性,被廣泛應(yīng)用于航空軍事電子系統(tǒng)。本文研究1553B總線協(xié)議IP核設(shè)計(jì)與實(shí)現(xiàn),描述了1553B IP核的架構(gòu),及各功能模塊的設(shè)計(jì)與實(shí)現(xiàn)。測試結(jié)果表明,1553B IP核符合GJB289A-97協(xié)議標(biāo)準(zhǔn),可集成到XILINX公司的多種型號FPGA芯片。
【關(guān)鍵詞】 航空電子 1553B總線 IP核
Design and Implementation of Avionics 1553B IP Core HUANG Yangzhou(China Electronics Technology Group Corporation NO.10th Research Institute,Chengdu 610036)
Abstract: The military Avionics systems are mostly based on 1553B bus,which is a central control,command/response,time division serial data bus with high reliability and flexibility. This paper researches the design and implementation of 1553B transport protocol based on IP core techniques,and brings forward 1553B IPs architecture,module,and the details of design and implementation. The results of the verification prove this design comply with the 1553B specification,and can be integrate into most Xilinxs FPGA chips.
Key words: Avionics; 1553B Bus; IP Core
一、引言
航空1553B總線是航空電子系統(tǒng)使用的標(biāo)準(zhǔn)互聯(lián)總線,是一種集中控制的時分制指令/響應(yīng)的多路傳輸串行數(shù)據(jù)總線,由于1553B總線具有確定的傳輸延遲、可靠的傳輸能力,以及較強(qiáng)的容錯能力等特點(diǎn),因此被廣泛用于航空、航天、艦載以及車載領(lǐng)域的綜合電子信息系統(tǒng)[1]。
在航空電子系統(tǒng)中,航空1553B總線主要完成信息傳輸、資源共享、任務(wù)協(xié)調(diào)和容錯重構(gòu)等功能,是系統(tǒng)的核心部件之一。1553B總線協(xié)議處理芯片作為1553B總線的核心,目前主要采用專用芯片進(jìn)行設(shè)計(jì),主要型號包括DDC公司ACE系列總線通信終端接口控制器BU-61580、BU-61590和BU-65620,UTMC公司的UT1553B,INTEL公司的M82553等。但隨著微電子技術(shù)的飛速發(fā)展,IP復(fù)用技術(shù)(Intellectual Property)被廣泛應(yīng)用于電子信息系統(tǒng)中,基于IP技術(shù)設(shè)計(jì)符合GJB289A-97規(guī)范的1553B總線IP核,不僅有利于總線接口單元和功能模塊集成,降低總線通信的復(fù)雜性,提高通信的可靠性;而且有利于系統(tǒng)的小型化和低功耗設(shè)計(jì),適應(yīng)當(dāng)前電子信息系統(tǒng)發(fā)展的需求。
二、1553B總線概述
1553B總線采用時分方式共享總線,總線上掛接總線控制器(BC)和遠(yuǎn)程終端(RT),以及總線監(jiān)視器(MT),其中BC負(fù)責(zé)分配、協(xié)調(diào)各通信成員通信時隙,發(fā)揮集中控制作用,各RT在BC的指令下實(shí)現(xiàn)信息傳輸。
在航電系統(tǒng)中,1553總線一般采用雙余度總線型拓?fù)浣Y(jié)構(gòu),同時具備A總線和B總線兩組,所有子系統(tǒng)或處理單元通過總線接口單元掛接到在總線上。
1553B總線以序列脈沖碼調(diào)制方式傳輸信號,編碼方式采用曼徹斯特II雙極碼。1553總線傳輸?shù)南钭?、?shù)據(jù)字和狀態(tài)字三種類型,每個字占20比特位,包含3位同步頭、16位有效信息位和1位奇偶校驗(yàn)位[2]。
1553總線各通信單元之間基于消息幀傳輸數(shù)據(jù),GJB289A-97定義了10種消息傳輸格式[2],包括:控制器向遠(yuǎn)程終端的傳輸、遠(yuǎn)程終端向控制器的傳輸、遠(yuǎn)程終端到遠(yuǎn)程終端的傳輸、帶數(shù)據(jù)字的方式指令(接收)、帶數(shù)據(jù)字的方式指令(發(fā)送)、不帶數(shù)據(jù)字的方式指令、控制器向各遠(yuǎn)程終端廣播、遠(yuǎn)程終端向遠(yuǎn)程終端廣播、帶數(shù)據(jù)字的方式指令、不帶數(shù)據(jù)字的方式指令。
本文的1553B IP按照GJB289A-97總線協(xié)議規(guī)范設(shè)計(jì),實(shí)現(xiàn)物理層和鏈路層功能,主要包括:1)可配置為總線控制器(BC)、遠(yuǎn)程終端(RT)或總線監(jiān)視器(MT)三種類型;2)支持RT地址軟件配置,雙冗余總線自動識別和切換;3)總線傳輸速率1Mb/s,完整實(shí)現(xiàn)總線協(xié)議規(guī)定的三種消息字和10種消息格式處理;4)為應(yīng)用層提供中斷機(jī)制和異步總線操作接口;5)提供消息時間標(biāo)簽信息,便于分析總線消息。
三、1553B IP設(shè)計(jì)與實(shí)現(xiàn)
1553B IP主要由總線接收單元、總線發(fā)送單元、總線協(xié)議處理單元、時標(biāo)單元和CPU接口單元構(gòu)成??偩€接口單元、總線發(fā)送單元主要實(shí)現(xiàn)物理層功能,包括曼徹斯特編解碼、位同步、校驗(yàn)、消息字組織和提取。鏈路層功能由總線協(xié)議處理單元實(shí)現(xiàn),完成總線仲裁、消息格式處理、狀態(tài)自動回傳等。CPU接口單元主要實(shí)現(xiàn)與應(yīng)用層處理器通信。1553B IP核結(jié)構(gòu)如圖1所示。
3.1總線發(fā)送單元
總線發(fā)送單元主要實(shí)現(xiàn)發(fā)送消息緩存、A/B總線選擇、曼徹斯特編碼和串行發(fā)送功能。1553B總線以序列脈沖編碼調(diào)制方式傳輸數(shù)據(jù)信息,數(shù)據(jù)編碼采用曼徹斯特雙極性碼,編碼規(guī)則為:每個碼元中間有一個跳變,“1”是由1到0的負(fù)跳變,“0”是由0到1的正跳變。
在總線發(fā)送單元設(shè)計(jì)中,先對緩沖器的16比特?cái)?shù)據(jù)進(jìn)行奇校驗(yàn);然后對數(shù)據(jù)和奇校驗(yàn)進(jìn)行曼徹斯特編碼;最后根據(jù)消息字類型(命令字、數(shù)據(jù)字和狀態(tài)字)添加3比特同步頭,組成20比特的1553B消息字,以1Mb/s速率按先高后低順序發(fā)送到總線上。消息發(fā)送過程如圖2所示。
3.2總線接收單元
總線接收單元主要實(shí)現(xiàn)A/B總線數(shù)據(jù)采樣、曼徹斯特解碼、位同步、校驗(yàn)、消息緩存和A/B總線仲裁功能,處理流程如圖3所示。在總線接收單元中,以24MHz時鐘分別對A/B總線數(shù)據(jù)進(jìn)行采樣,每個采樣數(shù)據(jù)從低比特端存入移位寄存器,以備同步頭判決、曼徹斯特解碼和奇校驗(yàn)使用。根據(jù)圖2所示同步頭特點(diǎn),并結(jié)合GJB289A-97規(guī)范允許100ns誤差,進(jìn)行同步頭判決,并可判斷消息字的類型,然后對同步頭后的數(shù)據(jù)進(jìn)行曼徹斯特解碼和奇校驗(yàn)檢測;如果解碼錯誤或校驗(yàn)錯誤,則丟棄并置錯誤標(biāo)志位;如果數(shù)據(jù)正確則將數(shù)據(jù)存放接收緩存器中,并輸出接收數(shù)據(jù)標(biāo)志和A/B總線標(biāo)識給總線協(xié)議處理單元。
3.3總線協(xié)議處理單元
總線協(xié)議處理單元是1553B IP的核心,主要實(shí)現(xiàn)1553B協(xié)議規(guī)定的10種消息格式處理,實(shí)現(xiàn)BC到RT、RT到BC和RT到RT的消息傳輸。CPU可將總線協(xié)議處理單元配置為BC、RT或MT類型,在RT類型時,可以配置該節(jié)點(diǎn)的RT地址。
總線協(xié)議處理單元作為RT工作時,從總線接收單元接收來自BC的命令字,在BC控制下實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送。如果接收的命令字正確并且RT地址匹配,則按照協(xié)議規(guī)定的消息格式和響應(yīng)時間間隔響應(yīng)。如果接收到BC或其它RT發(fā)送到本RT的數(shù)據(jù),則將數(shù)據(jù)存入接收緩沖區(qū),并產(chǎn)生中斷通知CPU讀取數(shù)據(jù);如果本RT向BC或其它RT發(fā)送數(shù)據(jù),則從發(fā)送緩沖區(qū)中讀取數(shù)據(jù)通過總線發(fā)送單元發(fā)送到A/B總線標(biāo)識指定的總線上。
總線協(xié)議處理單元作為BC工作時,從CPU接口單元接收CPU的命令,通過總線發(fā)送單元發(fā)送到總線;并接收RT響應(yīng)的數(shù)據(jù)字和狀態(tài)字,按照協(xié)議規(guī)定的消息格式和響應(yīng)時間判斷RT響應(yīng)的正確性,在發(fā)生響應(yīng)異常時向CPU發(fā)送中斷信號,以便CPU進(jìn)行進(jìn)一步處理,如切換總線發(fā)送等。在收到RT響應(yīng)的正確數(shù)據(jù)后,存入緩沖區(qū),并產(chǎn)生中斷通知CPU讀取。
總線協(xié)議處理單元作為MT工作時,通過總線接收單元接收總線上的所有數(shù)據(jù)消息,根據(jù)命令字、數(shù)據(jù)字和狀態(tài)字格式進(jìn)行解析,按照協(xié)議規(guī)定的消息格式判斷消息正確性,在收到異常消息或正確消息時,從時標(biāo)單元讀取時間信息和接收到1553消息一起發(fā)送給CPU處理。
3.4時標(biāo)單元
時標(biāo)單元主要實(shí)現(xiàn)計(jì)時功能,工作時鐘為24MHz,精度為1us。該單元為總線在RT、BC和BM方式下提供時間,以便計(jì)算消息到達(dá)的絕對時間和相對時間。
3.5 CPU接口單元
CPU接口單元主要實(shí)現(xiàn)1553B IP與CPU之間的數(shù)據(jù)交互功能,為CPU配置1553B IP參數(shù)和獲取總線數(shù)據(jù)提供傳輸通道。CPU接口單元采用異步總線通信方式進(jìn)行設(shè)計(jì),接口信號包括片選信號CS、寫使能WE、讀使能RD、地址總線ADDR和數(shù)據(jù)總線DATA,在CS、WE、RD信號的控制下,實(shí)現(xiàn)指定地址的數(shù)據(jù)讀寫操作。
四、1553B IP核驗(yàn)證與分析
首先用ModelSim SE 6.3對本文設(shè)計(jì)的1553B IP核進(jìn)行RTL仿真,仿真通過后,再基于XC4VLX25芯片使用synplify9.2綜合工具對其進(jìn)行綜合,綜合后的門電路資源使用情況如表1所示。
最后,將1553 IP集成到XC4VLX25芯片,并與DSP2812、總線收發(fā)器HI-1573、變壓器PM DB2725構(gòu)成1553節(jié)點(diǎn),與在計(jì)算機(jī)端的兩通道CONDOR 1553卡構(gòu)成具有3個節(jié)點(diǎn)的總線驗(yàn)證環(huán)境,對1553B IP進(jìn)行測試驗(yàn)證。測試驗(yàn)證主要包括協(xié)議測試、噪聲抑制測試和電氣性能測試等,驗(yàn)證結(jié)果表明,在BC、RT和MT三種方式下,1553B IP均能滿足GJB289A-97規(guī)范要求。
五、結(jié)束語
本文重點(diǎn)論述了1553B IP的功能結(jié)構(gòu)和各模塊單元的設(shè)計(jì)與實(shí)現(xiàn),并在XC4VLX25芯片上綜合實(shí)現(xiàn)。通過構(gòu)建總線測試驗(yàn)證環(huán)境,開展了大量測試驗(yàn)證試驗(yàn),試驗(yàn)結(jié)果表明本文設(shè)計(jì)的1553B IP核工作穩(wěn)定可靠,可為綜合電子信息系統(tǒng)提供總線通信服務(wù)。
參 考 文 獻(xiàn)
[1] 支超有.機(jī)載數(shù)據(jù)總線技術(shù)及其應(yīng)用:國防工業(yè)出版社,2009
[2] GJB289A-97 數(shù)字式時分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線,1997
[3] GJB5186.1-2003數(shù)字式時分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線測試方法,2003