当前位置:无忧公文网 >范文大全 > 征文 > 基于FPGA的1553B总线接口设计与验证

基于FPGA的1553B总线接口设计与验证

时间:2022-03-23 09:20:15 浏览次数:

zoޛ)j馑O
ypuTpb-Xy<!O�BE3$SF$zמwfiמwiLu~?}]4~_m5Mni
规范的分析,通过FPGA来实现MIL⁃STD⁃1553B总线接口是可行的。本文提出了一种基于FPGA的1553B总线接口设计方案,并编写VHDL代码进行仿真,最后在FPGA上完成了设计验证,实现了传统1553B协议数据的1 Mb/s电缆传输和3 Gb/s以上光纤传输。

1 MIL⁃STD⁃1553B总线介绍

MIL⁃STD⁃1553B是一种命令/响应型多路传输总线,它采用冗余的总线结构,在当前传输线发生故障时可立刻切换到冗余传输线上,防止通信中断。同时,1553B协议严格规定了消息格式,限定了每条消息的最大传输数据量及总线单元的最大响应时间,并规范了总线耦合方式、电缆电气特性等,从各个方面确保总线传输的高可靠性。

1553B总线包含三种总线单元:总线控制器BC、远程终端RT和总线监视器MT,各单元在总线控制器BC的调度下有序地进行通信。总线上数据以字为基本单位进行传输,分为命令字、状态字和数据字,每个字包含20位。总线单元间每一次数据的交换称为一条消息,1553B协议规定了10种消息格式,除此之外其他格式的消息均为非法消息。总线采用曼彻斯特编码方式,方便接收端提取同步时钟,简化了总线结构[4]。

2 1553B总线接口整体设计方案

总线接口是外部系统与总线之间的数据交换媒介,其主要功能是完成总线协议的处理。根据1553B协议的特点,总线接口整体设计方案如图1所示。

由图1可知,总线接口包括模拟收发器、曼彻斯特编解码器和协议处理逻辑三大模块。其中,模拟收发器完成FPGA输出信号与总线信号之间的电平转换,可由专用转换芯片完成,而曼彻斯特编解码器和1553B协议处理逻辑是接口的主要组成部分,完成数据编解码和协议处理,通过FPGA实现。总线接口通过一定的地址、数据和握手信号与外部系统相连。

3 曼彻斯特编解码器模块设计

3.1 1553B总线数据格式

信号编解码的设计方案由总线传输层特性决定,1553B消息字格式和曼彻斯特码型如图2所示。

图2 1553B消息字格式和曼彻斯特码型

1553B总线以字为单位进行数据传输,每个字包含20位,其中前3位为同步头,后17位为数据位和奇偶校验位,如图2(a)所示。

总线数据传输速率为1 Mb/s,采用曼彻斯特Ⅱ双相码编码方式,每位数据中间均有一个跳变沿,由正到负的跳变表示逻辑‘1’,由负到正的跳变表示逻辑‘0’,其码型对应关系如图2(b)所示。

3.2 编码器设计

编码器的设计相对简单,主要完成对待发送消息字的曼彻斯特编码,并将其并串转换后输出。由于曼彻斯特码每位数据中间均有跳变,故发送时需将每一位分割成两位,分别发送。其工作过程为:

(1) 同步头编码,若为数据字同步头,则编码为“111000”(由高位到低位,下同),若为状态字或命令字同步头,则编码为“000111”;

(2) 数据和奇偶校验位编码,若为‘0’,则编码为“10”,若为‘1’,则编码为“01”;

(3) 按由低到高的顺序将编码后的40位数据串行输出。

FPGA采用16 MHz主时钟,由于编码后每位数据对应0.5 μs,故将主时钟分频后产生2 MHz时钟来控制编码器发送40位数据,每个时钟沿发送一位,正好满足1553B总线1 Mb/s的速率要求[5]。

3.3 解码器设计

解码器主要完成消息字的解码,并将其串并转换后输出,其工作过程为:

(1) 检测到总线上有效电平,解码器开始工作;

(2) 同步头解码,检测到指令字和状态字同步头用“011”表示,检测到数据字同步头用“100”表示;

(3) 16位数据位和1位奇偶校验位解码;

(4) 将解码后的消息字(20位)并行输出。

同步头和数据位检测示意如图3所示。

由1553B协议可知,同步头包含三个位时,在1.5个位时处有跳变。如图3(a)所示,同步头到来后,解码器连续采集48个数,理论上,采用16 MHz时钟,如果检测到24个‘0’和24个‘1’,则表示收到有效同步头,但考虑到信号上升时间及下降时间等因素,实际若检测到22个或者23个‘0’和‘1’,就可以判定同步头有效,进行下一步数据的接收。

数据位包含一个位时,在0.5个位时处有跳变。如图3(b)所示,在每个数据中间部位,若前一时钟采样到‘0’,后一时钟采样到‘1’,则表示当前数据位为‘0’,反之则是‘1’。另外,如果采到的数没有跳变,为全‘0’或者全‘1’,则产生错误标志,通知协议处理逻辑或子系统进行相应的错误处理。

4 协议处理模块设计

4.1 协议处理模块响应流程

协议处理模块实现BC,RT,MT三种总线终端的协议处理,在FPGA模块设计之前,根据1553B协议对协议处理模块三种工作模式下的响应流程分别进行分析设计。

4.1.1 BC模式[6]

BC(总线控制器)是1553B总线的核心,总线上任何类型的数据交换都由它发起。BC模式下接口响应流程设计如图4所示。

MIL⁃STD⁃1553B协议规定的总线指令可分发送指令、接收指令和方式指令三种,共能实现四种类型的功能:RT到BC的数据传输、BC到RT的数据传输、RT到RT的数据传输和总线管理。根据图4,BC模式下接口主要工作过程为:

(1) 根据外部系统需求发送相应命令字,发起总线传输;

(2) 根据指令类型的不同,进入不同响应流程,主要包括数据字发送、数据字接收和状态字接收等;

(3) 消息完成后进行消息结束处理,主要包括消息结束标志的产生,差错处理,以及根据收到的RT状态字判断总线终端状态等。

需要注意的是,BC如果在规定的时间内没有收到RT状态回复,则需重新发送命令字进行重试(Retry)。

4.1.2 RT模式[7]

RT(远程终端)是1553B总线上的指令/响应型终端,它响应BC发送的指令,按要求接收或发送数据,在规定时间内回送状态字,并服从BC的总线管理。RT模式下接口响应流程设计如图5所示。

图5 RT模式下接口响应流程

根据图5,RT模式下接口主要工作过程为:

(1) 收到命令字后进行指令分析,根据指令类型进入相应的响应流程;

(2) 按照流程进行数据字接收、发送,并回复状态字;

(3) 消息完成后进行消息结束处理,主要包括消息结束标志的产生,差错处理,以及特殊方式指令下方式标志的产生等。

4.1.3 MT模式

MT(总线监控器)是总线上的监听单元,它监控总线上的信息传输,完成对总线的上原始数据的记录,但它本身不参与总线的通信。

MT模式接口的功能较为简单,主要进行指令字、状态字和数据字的接收并将其写入相应缓存中,方便以后提取分析,可通过BC模式或RT模式下接口相应的子模块实现。

4.2 协议处理模块FPGA总体设计

根据以上三种模式下接口响应流程的分析,对协议处理模块各FPGA子功能模块进行了划分[8],总体设计框图如图6所示。

协议处理模块主要由数据接收部分、数据发送部分和数据缓存部分组成,此外还包括超时检测、地址译码及读写控制、中断管理等辅助部分。由于三种模式下某些功能重复,为了提高FPGA资源利用率,设计时充分考虑了相应模块的模式复用,整个协议处理逻辑可在外部模式选择信号的控制下工作在BC,RT和MT模式。

图6 协议处理模块总体设计框图

16 MHz的全局时钟通过时钟管理模块为各FPGA功能模块提供工作时钟,各模块间通过一定的握手信号互联,保证协议处理逻辑有序工作。整个协议处理模块的基本工作原理如下:按照1553B协议规范,通过接收器接收总线上的数据并存入缓存,通过发送器取出缓存中的数据并发送到总线上,同时不断以中断和握手信号与外部系统进行通信,通知外部系统向缓存中写入待发送数据或从缓存中读取已接收数据,并共同完成差错处理和协议逻辑的管理[9]。

5 设计仿真与验证

根据设计方案,编写了重要模块的FPGA代码,模拟实现BC功能和RT功能,采用Active⁃HDL软件仿真,其中BC向RT的数据传输仿真结果如图7所示。

仿真通过后,在Virtex⁃5 FPGA[10]平台上对设计进行了验证,如图8所示。将BC功能模块和RT功能模块的代码经ISE综合、布局布线后分别下载到两块开发板中实现,开发板通过串口与PC机通信。PC机将指令和数据写入FPGA相应寄存器中,BC和RT在PC机指令的控制下进行1553B协议通信。验证过程中通过示波器查看模拟总线的波形,并通过ChipScope观察和比对协议收发数据。

验证结果表明,BC和RT功能模块能够正常按照1553B协议进行数据的发送和接收,完成基本1553B协议的处理,实现1553B协议数据的1 Mb/s电缆传输和3 Gb/s以上光纤传输,数据比对无误,说明该接口设计方案实际可行,具备开发应用价值,同时也为光纤1553接口的设计提供了一定参考价值。

6 结 语

本文提出一种基于FPGA的1553B总线接口方案,该接口采用模块化和通用性设计,能够工作在BC,RT和MT三种模式,实现曼彻斯特编解码,并完成1553B协议的处理。编写VHDL代码对设计方案进行了仿真和验证,证明了其可行性,同时对光纤1553接口的设计进行了探索性研究。目前,1553B接口芯片主要依赖进口,若能积极开展该方面的研究,开发出具有自主知识产权的通用IP核,对于摆脱国外限制,降低成本,提升我国在该领域的自主竞争力具有重要意义,其应用前景非常广泛。

本文创新点:将FPGA技术应用于1553B总线接口,缩短了设计周期,降低了设计成本,同时,系统的集成度提高,扩展性增强,设计灵活性也大大提高。

参考文献

[1] Department of Defence. MIL⁃STD⁃1553B: Military standard digital time division command/response multiplex data bus notice 2 [S]. USA: Department of Defence, 1978.

[2] 曹厚平.1553B总线系统的可靠性研究[J].科技与企业,2012 (5):91⁃93.

[3] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2009.

[4] 李鹏,郑宾.基于FPGA的MIL⁃STD⁃1553B总线控制器的设计[J].电脑知识与技术,2012(1):217⁃220.

[5] 汤晓曦,尹蕾,许晏,等.基于FPGA的曼彻斯特编解码器设计[J].电子设计工程,2011(23):177⁃179.

[6] 颜学龙,黄雪明,任登娟.1553B总线接口控制器研究与顶层设计[J].微计算机信息,2007(22):36⁃38.

[7] 李宪强,周昌义.基于IP核的1553B远置终端设计[J].微计算机信息,2010(26):136⁃137.

[8] DDC. MIL⁃STD⁃1553B designer guide [S]. USA: DDC, 1998.

[9] 赵明阳,朱岩,张建东,等.基于PCI局部总线的1553B总线接口卡设计[J].现代电子技术,2012,35(10):55⁃57.

[10] Xilinx. Virtex⁃5 FPGA RocketIO transceiver user guide [S]. USA: Xilinx, 2009.

[11] 林强,熊华钢,张其善.光纤通道中的1553总线技术[J].航空电子技术,2004(1):1⁃5.

[12] 史林锋,王斌永,何志平,等.基于FPGA和BU⁃65170的1553B远程终端设计与实现[J].现代电子技术,2013,36(14):65⁃69.

[13] 李海军,牟俊杰,孙海文.高速1553B总线控制器通信管理系统设计[J].现代电子技术,2014,37(17):16⁃18.

推荐访问: 总线接口 验证 设计 FPGA