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所示。
系统的编码,解码模块设计采用同步方式,这样,所有的触发器都南一个公共时钟信号实现同步。因此,可以很好解决毛刺和一些竞争与冒险。
编码模块主要分为检测编码周期是否开始并产生同步字头、串并转换并产生奇偶校验位、对数据和奇偶校验位进行编码. 下面给出部分编码模块的源代码:
解码模块也可分为同步字头检测、数据解码、串并转换与奇偶校验3部分。这个过程与编码模块相类似。
4.2 消息处理模块
消息处理模块主要是接收来自PC机的命令,并且将其运行结果上传至PC机。为了能够快速开发系统,采用EDK自带的串口控制器IP Core。由于在Virtex-II Pro开发板上已设计与PC机相连的RS-232串口,并且配有标准的DB-9接口,因此只需通过IP Core 16450-UART控制器接收和发送数据即可实现系统与PC机的消息处理功能。 |