新闻中心

EEPW首页>手机与无线通信>设计应用> 基于SOPC 的1553B 总线接口逻辑设计

基于SOPC 的1553B 总线接口逻辑设计

作者: 时间:2010-08-31 来源:网络 收藏

协议开发主要在FPGA 芯片中开发,因此FPGA 本身性能的好坏将影响系统的开发。XC2VP30 内部具有两个PowerPC 405 处理器核、13969 个Slices、分布式RAM 为428Kb、136 个乘法器单元、块RAM 为2448Kb、8 个DCM、8 个多吉比特收发器。由此可见,系统选用的FPGA 完全可以满足开发的需求。Xilinx 公司的Virtex-IIPro 开发板搭建起来的开发平台共分为4 个部分。其中各部分的功能说明如下:Virtex-II Pro 开发板:主要完成与PC 机通信功能,接收或向总线终端设备发送数据并将其转换成1553B 总线协议格式。

  PC 机:系统通过PC 机对整个系统运行进行控制,如开始、运行、结束等命令都是通过PC 机由串口发送给开发板。

  总线终端设备:采用单片机作为总线终端设备的核心,它与 FPGA 采用8 位并行数据总线进行数据传递。由总线终端设备向开发板发送数据,通过1553B 总线协议模块转换成协议格式,同时1553B 总线协议模块也可以接收来自总线的数据,并将其转换成总线终端设备可以接收的数据格式,总线终端设备通过判断发送数据与接收数据,可以确定

  1553B 总线协议转换模块的有效性。

  总线转换器:由于 1553B 总线上传输的是双极性的差分信号,因此,开发板在收发数据时首先要进行电平转换以及相应的调制解调,总线转换器就是完成这部分功能的。

  4 1553B 总线

的开发过程与传统的嵌入式系统不同,可以分为硬件开发和软件开发两个流程。Xilinx 公司的嵌入式开发工具EDK(Embeded Development Kit)开发套件,可以进行Power PC 硬核嵌入式微处理器的开发工作,使用灵活方便,带有丰富的IP 资源,是目前性能比较优异的嵌入式微处理器开发工具,系统中使用的为EDK8.2 版本。应用EDK开发SOPC 系统过程中可以与ISE(Integrated Software Environment)软件配合使用,ISE 是Xilinx 公司FPGA/CPLD 的集成开发环境,该软件环境集成了FPGA 的整个开发过程所用到的工具。在本文1553B 总线的设计过程中,对于1553B 的编码、解码等核心模块,就是在ISE 环境下利用Verilog HDL 编写并调试通过,然后通过EDK 嵌入到系统当中的。

  4.1 编码/解码模块

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

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

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

  编码模块主要分为三个部分,分别为检测编码周期是否开始并产生同步字头、串并转换并产生奇偶校验位、对数据和奇偶校验位进行编码。下面给出了部分编码模块的源代码:

  always @(posedge enc_clk or negedge rst_n)//检测编码周期开始,根据字型确定同步头

  begin

  if (!rst_n)

  sync_bits = 6'b000_000 ;

  else if (tx_csw)

  sync_bits = 6'b111_000 ;//当写入命令字,同步头为111000

  else if (tx_dw)

  sync_bits = 6'b000_111 ;//当写入数据字,同步头为000111

  else

  sync_bits = sync_bits ;

  end



评论


相关推荐

技术专区

关闭