基于FPGA和BU-65170的1553B远程终端设计与实现
摘要:为了满足载荷与卫星进行可靠通信的目的,设计并实现了基于FPGA和BU-65170协议芯片的1553B远程终端。自行设计了用于控制BU-65170的主控制状态机,采用16位零等待缓冲接口模式,使用单消息和双缓冲模式进行消息传输。创新性地引入RS 422总线与1553B总线进行通信,方便测试过程,结果直观可见。采用专用测试板卡Alta ECD54-1553对系统进行测试,获得预期的可靠结果。FPGA取代传统CPU来控制1553B通信并集成数据传输功能,采用Verilog HDL硬件描述语言有利于软件移植,缩短研发周期,提高系统可靠性。
关键词:1553B;FPGA;BU-65170;RS 422
1 1553B概述
MIL-STD-1553B是美国于20世纪70年提出的一种用于战机的时分控制/命令响应式总线。1553B的网络拓扑结构如图1所示,它最多可以挂载32个终端,所有消息共享一条线路,通过采用冗余设计,另一条线路始终处于热备份状态,大大提高了可靠性。其字长20 b,数据有效长度16 b,最大信息量长度为32个字,传输速度为1 Mb/s,传输方式为半双工方式,采用曼彻斯特Ⅱ型码。1553B的3种终端类型为:
(1)总线控制器(Bus Controller),总线系统中惟一被安排为执行建立和启动数据传输任务的终端。
(2)远程终端(Remote Terminal),子系统到总线的接口,在BC的控制下实现命令、数据的接收和发送。
(3)总线监视器(Bus Monitor),能记录总线上的所有数据,方便备份和查错,但不参与总线通信。
由于1553B具有可靠性高、实时性好、扩展方便等优点,被广泛应用于飞机、导弹、卫星、舰艇等航空航天和兵器领域。目前,航天系统大多采用DDC公司的BU-61580/BU-65170协议芯片来实现1553B通信。BU-61580是一款多协议集成接口芯片,由两个低功耗双端收发器、协议逻辑、存储器管理逻辑、处理器接口逻辑及4K×16 B内置共享静态RAM以及直接面向主处理器的缓存接口组成,能完全实现1553B标准所规定的所有信息传输方式。BU-61580和BU-65170的区别在于前者集成了BC/RT/BM功能,后者只能实现RT功能。在此研制的某型号项目作为一个子系统,只要求实现RT功能。因此,选用了BU-65170作为1553B协议芯片。
一般采用CPU来控制BU-65170实现1553B通信,然而CPU只能顺序地执行命令,系统硬件不扩展的情况下,难以实现更加复杂的数据处理和控制。随着航天载荷小型化的要求,数据的运算处理,系统的运行控制及通信,更多地采用FPGA实现,这样就可以把所有功能集成在一片FPGA芯片中,还能实现代码的重复利用,提高研发效率。本文采用Xilinx xc6slx75控制BU-65170实现1553B通信,同时因工程项目需要又用FPGA实现了RS422通信,这样不仅方便测试,使结果直观可见,还使整个系统事实上成为了1553B总线和RS 422总线适配器。只要稍稍修改代码,就可以在保留数据处理的功能下将系统移植应用到采用其他通信方式(如RS 232,LVDS等)的子系统上。
2 硬件设计
BU-65170共有70个信号管脚,其中主要的控制信号如表1所示。
Xilinx的Spartan-6系列xc6s1x75芯片拥有74 637个逻辑单元,11 662个可配置逻辑模块,280个I/O口以及18 KB的Block RAM模块,同时拥有丰富的时钟管理模块(CMT)、集成存储器控制模块等,数据速率高达800 Mb/s。采用XCF32P Flash芯片作为FPGA的PROM,使用MASTER配置模式,这样在每次上电时程序都会写入到FPGA中。由于FPGA的I/O口是3.3 V逻辑,而BU-65170是+5 V逻辑,所以需要采用电平转换芯片74LVX3245进行FPGA和BU-65170之间的逻辑电平转换。系统的硬件连接如图2所示。
BU-65170有4种接口模式可以选择,采用16位零等待模式。在此模式下,FPGA接收到BU-65170的READYn信号为低电平后,表示D15-D00上已经呈现读取的数据,或者D15-D00上的数据已经写入存储器或寄存器。BU-65170各信号配置如表2所示。
分别采用DS26LV32AW和DS26LV31W芯片作为RS 422差分接收器和驱动器,UART设计将在逻辑设计中详细介绍。
3 逻辑设计
使用Verilog HDL进行编程,在FPGA中实现所需的功能。逻辑总体框图如图3所示,下面分别对各个模块进行详细介绍。
![](http://m.amcfsurvey.com/webstorage/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码