基于FPGA的航空总线协议接口设计

FPGA/ASIC技术

205人已加入

描述

1 引言

  数据总线是飞机航电系统中首先运用的数字电子设备之一,其典型代表是飞机内部时分制指令/响应式多路传输数据总线MIL-STD-1553B(简称1553B)。它利用一条屏蔽的双绞线进行带有时钟信息的数据传输。高可靠性1553B已成为我国航空航天领域广泛采用的军用总线标准。由于1553B总线协议控制器基本依赖于进口的专用器件,价格昂贵,还受到限制,并且这些器件需要外围的硬件电路配合工作,如果完成整个总线接口板的设计,还需要单独的MCU,集成度不高,这样就在某种程度上限制了设计能力。随着嵌入式技术的发展,可编程片上系统设计SoPC技术已广泛应用于诸多领域。这里采用SoPC技术,以Virtex-II Pro FPGA为核心,实现1553B.传输协议的接口逻辑设计。

  2 1553B.传输协议标准

  目前广泛采用的1553B标准是根据1973年军标1553原版基础上发展。1553B是一种集中控制式、飞机内部时分指令/响应型多路串行数据总线标准。具有高可靠性和灵活性。已经成为现代航空机载系统设备互联的关键技术。广泛应用于飞机、舰船等武器平台。1553B数据总线的传输速率为1Mb/s,协议规定3种字:命令字、数据字和状态字。字的长度为20 bit,且由同步头(3 bit)消息块(16 bit)和奇偶位(1 bit)3部分组成。信息量最大长度为32。总线系统由一个总线控制器(BC)与不多于31个的远程终端(RT)组成,有时系统中还可加入总线.(MT)。总线上传输的信息格式主要有BC到RT,RT到BC,RT到RT,以及广播方式和系统控制方式。

  3 系统设计

  该系统采用Xilinx公司的Virtex-II Pm XC2VP30 FPGA为核心,该器件内部带有2个PowerPC 405处理器核。总线接口协议实现是基于Xilinx Virtex-II Pro开发系统平台,Virtex-II Pro开发平台是整个系统的核心。这样可以快速搭建1553B总线实现平台。系统的硬件平台主要由Vinex-II Pro开发板、总线转换器、总线终端设备和主控计算机构成,系统结构如图1所示。

 

 sopc

 

  在系统开发中,为了提高开发效率,同时系统主要验证的就是1553B总线协议模块,因此可充分利用Xilinx公司的Virtex-II Pro开发板。开发板上具有丰富的资源,主要包括:XC2VP30器件、SDRAM (可扩展到2 GB)、高速SelectMAPFPGA配置PROM、RS232串口、嵌入平台的USB配置端口、高速系统扩展接口(与FPGA的I/O引脚相连)并可选择差分或单端模式、PS2接口、AC97音频接口、板上10/100 M以太网设备等等。这些丰富的板上资源为1553B总线协议逻辑的开发提供支持。

  1553B总线协议开发主要在FPGA器件中开发,因此FPGA本身性能的好坏将影响系统的开发。XC2VP30内部具有2个PowerPC 405处理器核、13 969个Slices、分布式RAM为428 KB、136个乘法器单元、块RAM为2 448 KB、8个DCM、8个多吉比特收发器。因此,选用XC2VP30FPGA完全满足1553B总线逻辑开发需求。

  该系统设计采用Virtex-II Pro系列XC12VP30型FPGA,而FPGA的配置则是硬件设计中很关键的问题。FPGA配置是对其内容进行编程。采用SRAM工艺的FPGA,每次上电后都需重新配置。XC2VP30通过模式引脚选择配置模式,其中M2、M1和M0是专用引脚,HSWAP_EN和配置模式引脚相组合,决定I/O引脚在配置过程中是否具有上拉功能。默认情况下,HSWAP_EN置为高电平,此时在配置过程中关闭I/O引脚的上拉功能;当其置为低电平时,I/O引脚具有上拉功能。当选择某些配置模式时,CCLK可作为FPGA的信号输出引脚,也可作为外部时钟的输入信号,这些引脚不受VCCO的影响,而是采用2.5 V的辅助电源(VCCAUX)。

  图2给出的是FPGA配置引脚连接电路图。XC2VP30支持5种配置模式,分别是Slave-serial模式、Master-serial模式、Slave SelectMAP模式、MasterSelectMAP模式和Boundary-Scan (IEEE 1532/IEEE 1149)模式。通过调整配置引脚MO、M1、M2调整配置模式。该系统设计只提供两种配置模式,在XC2VP30的配置电路中将M0引脚拉为高电平,这样只能选择MasterSelectMAP模式和Boundary-Scan模式(即边界扫描模式)。Master SelectMAP模式是SelectMAP模式的主版本模式,在由XC2VP30所提供的CCLK信号的作用下,器件通过字节宽度数据总线即配置器件XCF32P的[D7:D0],除了CCLK是由FPGA提供之外,配置时序与Slave SelectMAP模式相似。在边界扫描模式下,XC2VP30通过专用配置引脚CCLK,DONE,PROG_B,TDI,TDO,MS,TCK按照IEEE 1149.1标准进行配置。

 

 sopc

 

  4 1553B.协议接口的SoPC设计

  SoPC的开发设计与传统嵌入式系统设计不同,分为硬件开发和软件开发。系统设计思想是充分利用FPGA片上资源,以PPC405处理器硬核为核心,1553B接口逻辑为主要设计内容的SoPC系统,在FPGA内部实现系统的总线架构、外设接口、编码/解码、消息处理模块等系统部件和功能,各功能部件在FPGA的内部都是通过IP核的形式连接在一起的。Xilinx为了用户能够将自行编写的逻辑方便连接到OPB总线上,提供总线与用户逻辑之间的接口,即IPIF(IP Interface,IP接口),利用IPIF便可解决总线接口信号,总线协议以及其他接口问题。

  4.1 曼彻斯特编码,解码模块

  曼彻斯*编码/解码是1553B总线接口重要组成部分,曼彻斯*编解码模块设计将直接影响总线接口的性能。系统编码模块完成曼彻斯*的编解码,并检测错误。它能够接收具有有效同步字头的曼彻斯*,并对其译码,识别类型和串并转换、奇偶校验等;编码模块能将处理器输出的并行二进制数据进行曼彻斯*编码,再加上同步字头及奇偶位,从而输出满足符合1553B标准的字。

  曼彻斯*是一种广泛应用于航空电子综合系统中的总线数据传输的双极性码。它在每个码位中点存在一个跳变,1信号是一个由1到0的负跳沿,而0信号是由0到1的正跳沿。在MIL-STD-1553B协议中其数据格式如图3所示。

 

 

 sopc

 

  系统的编码,解码模块设计采用同步方式,这样,所有的触发器都南一个公共时钟信号实现同步。因此,可以很好解决毛刺和一些竞争与冒险。

  编码模块主要分为检测编码周期是否开始并产生同步字头、串并转换并产生奇偶校验位、对数据和奇偶校验位进行编码。

  下面给出部分编码模块的源代码:

 

 sopc

 

  解码模块也可分为同步字头检测、数据解码、串并转换与奇偶校验3部分。这个过程与编码模块相类似。

  4.2 消息处理模块

  消息处理模块主要是接收来自PC机的命令,并且将其运行结果上传至PC机。为了能够快速开发系统,采用EDK自带的串口控制器IP Core。由于在Virtex-II Pro开发板上已设计与PC机相连的RS-232串口,并且配有标准的DB-9接口,因此只需通过IP Core 16450-UART控制器接收和发送数据即可实现系统与PC机的消息处理功能。

  5 实验结果

  通过发送已知数据和示波器观察实际接收到的数据波形,进行系统测试。测试中,输入的十六进制数据为1234H,通过Tektronix公司的TDS3032B型示波器测试输出数据,图4是测得的系统输出的数据波形,其中,波形前3位表示同步字头,先负后正,表示发送的是数据字,正负电平各占1.5μs,中间的16位曼彻斯*恰好等于发送的1234H,而最后1位数据为奇偶位。因此测试结果证明:该系统设计能够正确接收和发送符合1553B总线接口协议的数据,且工作稳定可靠。

 

 sopc

 

  6 结语

  采用基于SoPC的设计方法,完成了MIL-STD-1553B.接口逻辑的开发,并利用仪器测试系统。将该系统设计的总线协议接口逻辑固化到FPGA中。可取代国外进口的专用1553B总线控制器器件,从而摆脱长期依赖于国外进口器件的束缚,具有良好的军事和经济效益。该系统的创新之处是采用先进的SoPC技术开发FPGA,全面实现1553B总线接口逻辑,系统具有配置灵活,易于扩展等特点。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分