李 辉 张敬波 张 磊
北京航天自动控制研究所,北京 100854
1553B多功能RT IP核的设计与实现
李 辉 张敬波 张 磊
北京航天自动控制研究所,北京 100854
介绍了采用一种自主研发多功能IP核实现总线全地址响应的设计方案,其可在FPGA中灵活配置,配备外围电路后可以方便实现各种功能。设计采用VHDL硬件描述语言进行编程,采用综合工具ISE Foundation对设计进行综合、优化,在ModelSim-SE 6.1g中进行时序仿真,并且最后在FPGA上实现。
MIL-STD-1553B总线;全地址;FPGA
美国军用数据总线标准MIL-STD-l553B(以下简称1553B总线)是目前国际公认的数据总线标准,其凭借优异的性能在航空、航天、航海及其它武器装备上得到广泛应用。对于使用1553B总线应用系统而言,采用简单、经济、高效的方法实现1553B总线各个站点功能完全模拟,以便完成整个总线中包含0~31个的全地址终端站点系统功能的调试与分析,已经成为1553B总线系统设计与验证的必备手段。市场现有协议芯片(如DDC公司的BU—61580等),均可实现固定RT(Remote Terminal远程终端),BC(Bus Controller总线控制器)和MT(Monitor Terminal监视终端)数据收发响应,多功能1553B站点功能的实现大多是各个公司采用自身专用的IP核设计实现,而并不对外公开发售专用的应用芯片。针对这一问题和实际需求,本文介绍了一种采用自主研发IP核实现功能总线站点的设计方案,其可在FPGA中灵活配置,配备外围电路后可以方便实现各种功能。设计采用VHDL硬件描述语言进行编程,采用综合工具ISE Foundation对设计进行综合、优化,在ModelSim-SE 6.1g中进行时序仿真,并且最后在FPGA上实现。由于1553B总线BC和MT的功能在一般的1553B协议芯片上均有支持,因此,本文重点介绍全地址1553B RT站点的模拟的实现方案。
1)可同时模拟0~31个RT站点;
2)模拟站点应及时响应总线信息,不能因模拟站点切换影响总线数据发送接收;
3)功能上应覆盖MIL-STD-1553B协议,通过远程终端有效性测试;
4)总线传输速率1Mbit;
5)支持时标模式;
6)可设置非法命令表;
7)双通道数据发送和接收;
8)支持与各种常用CPU的控制接口,存储器接口支持SRAM,寻址空间≥256K,单站点寻址≥4K。
图1给出了方案的功能模块规划。
图1 IP核功能模块规划
如图1所示,FPGA功能实现由全局Clock和Reset信号产生模块、处理器接口模块、寄存器控制模块、RT协议处理模块、RAM0操作仲裁模块、RAM1操作仲裁模块、RAM0读写接口模块、RAM1读写接口模块、1553曼彻斯特码接收模块、1553曼彻斯特码发送模块组成。图2给出了实际设计中的IP核详细框图。
IP核与CPU接口逻辑匹配后,可以实现与各种CPU的连接,同时需要完成相关操作函数的移植,以满足具体应用需求。
1)全局CLOCK和RESET模块
全局Clock和Reset信号产生模块,调用Xilinx的IP生成同频同相时钟CLK0作为全局工作时钟,生成的2倍频时钟CLK2X作为曼码接收模块RX的接收时钟;采用寄存器同步输出全局复位信号,硬复位和软复位中任何一个复位,全局都可以实现复位。
脉冲生成单元PULSE_GEN产生不同频率的单脉冲信号,为其他模块定时使用(如时标计数)。
2)RX模块
图3 RX模块给出了RX模块框图。RX模块完成1553B总线通信信号的曼彻斯特解码,串并转换,把接收的数据,奇偶校验的结果,错误信息一并传送给“RT协议处理模块”。
3)TX模块
图4为TX模块框图,此模块从“RT协议处理模块”接收需要发送的字,进行并串转换,曼彻斯特编码,发送出去。
4)RT协议处理模块
图5为RT协议处理模块框图,此模块包括接收状态机和发送状态机。根据接收的命令(共10种),进入相应的状态机。状态机根据命令的格式,在响应的不同状态,调动SRAM中的数据,改动寄存器模块的堆栈指针,向“TX模块”发送返回字。消息处理结束后,等待下一条消息的到来;在处理消息的过程中,还要进行包括对接收数据的存储,从存储区取待发送的数据,选择消息通道,产生各种错误标志,控制各种堆栈指针。
图2 IP核详细框图
5)寄存器模块
如图6所示,寄存器模块存放着RT的堆栈指针,控制寄存器等。此模块为整个设计的中枢,存放着RT的一系列控制寄存器,中断生成单元,负责时间标签的处理。
SOC_IF模块接口单元。此单元负责和SOC_IF的接口处理。先由长请求信号CPU_REQ产生单pulse请求信号s_CPU_REQ_PLS;在请求到来后,根据读写,产生读ACK,写ACK返回给SOC_IF模块。
寄存器地址选择单元。不同的地址对应不同的寄存器,此单元将所用到的地址翻译,供其他进程调用,使用简洁方便。
时标生成单元。此单元根据CPU设置的时标使能,RT接收到的关于时标的命令,控制时标计数器计时。时间标签用于记录消息处理的时间,存放在RT操作中的堆栈。
6)处理器接口模块
图7为处理器接口模块框图,此模块是SOC的接口模块,处理CPU芯片对FPGA的读写操作,将CPU对FPGA的不同存储区的操作分开处理(REG存储区,SRAM0存储区,SRAM1存储区)。
7)仲裁模块
仲裁模块如图8所示,上位机可以对SRAM读写操作,“RT协议处理模块”也可以对SRAM读写操作。仲裁模块就是防止两个部分操作冲突,控制优先级,使读写通畅。
图8 仲裁模块
8)SRAM控制模块
SRAM控制模块负责外围SRAM的读写控制。
作为多功能终端,RT响应BC的命令。首先BC命令的格式如图9所示。
图9 BC命令格式
BC命令的高5位是RT地址,与指定的RT通讯。多功能IP有地址使能寄存器RT_REEN如图10所示,此寄存器的[30:0]的各Bit位对应相应的地址是否使能,‘1’表示使能,‘0’表示无效。
图10 RT命令格式
一旦接收到命令,IP将对BC命令中的地址和RT_REEN中的相应使能位对比,检查地址是否使能。如果有效,则IP响应此命令,否则,不响应。
根据BC命令的T/R位,可以判断此命令是发送命令还是接收命令,由此,我们进入发送有限状态机TX_FSM,或接收有限状态机RX_FSM。RT协议处理模块主要是由这两个FSM构成的,由他们来完成命令的处理、数据的调度。
FSM处理完毕后,堆栈指针已经被更新。处理器可以通过查询堆栈指针的变化来确定消息处理完毕。也可以通过中断使能,通过中断通知处理器消息处理完毕。这样,处理器就可以读取消息的详细信息。总工作流程大致如图11所示:
图11 工作流程图
仿真环境的搭建如下所述:
1)操作系统:Windows XP
2)仿真环境:ModelSim SE 6.1g
用Verilog语言编写测试文件,模拟总线时序,用Modelsim对IP进行仿真。
测试文件是使用verilog语言编写的testbench模拟BC的功能。BC命令格式包括BC-to-RT传输,RT-to-BC传输,RT-to-RT传输,不带数据的模式代码,发送带数据的模式代码,接收带数据的模式代码,广播,RT-to-RTs(广播)传输,不带数据的广播模式代码。
为了方便观察数据的正确性,将每一种命令编辑成一个输入文件din.txt,并且将此条命令接收或处理后的数据存成另一个输出文件dout.txt。图12给出了仿真验证图。
图12 仿真验证图
应用板卡主要采用以下周边器件:
1)CPU:SPARC V8
2)静态RAM:SM512K32V017
3)1553 收发器:HI-1573PSI
验证多功能RT的测试规则完全依照GJB5186.1-“远程终端有效性测试方法”进行。
消息测试如图13所示。首先用Conder的1553板卡对多功能IP评估板卡进行简单的消息测试,对IP进行调试。此项测试只包括协议测试的部分内容。
图13 消息测试
后期采用“多功能MIL-STD-1553A/B总线测试仪(型号为AT15030)”,对IP进行系统测试,测试环境如图14所示。“协议测试”完全通过,电气测试基本通过。
图14 总线测试仪测试
测试项目窗口如图15所示。具体测试项目参见GJB5186所列条目。测试结果及日志如图16所示。
图15 测试项目窗口
1553B多功能IP仿真站点功能上覆盖MIL-STD-1553B协议,通过应用测试,完全通过GJB5186.1-“远程终端有效性测试方法”测试。
本方案成本低、使用方便和易于升级,还可以根据总线的测试要求增加必要的扩展功能,具有推广应用价值。
图16 测试结果及日志
[1]GJB/Z 209-2002数字式时分制指令/响应型多路传输数据总线应用手册[Z].
[2]GJB 289A-97数字式时分制指令/响应型多路传输数据总线[Z].
[3]颜学龙,梅明.1553B总线接口中的曼彻斯特编解码器的设计与验证[Z].电子测量与仪器学报,2006年.
[4]许宏杰,田泽,袁晓军.高速1553B IP核的设计与实现[Z].计算机技术与发展,2009年.
The Design and Implementation of 1553B Multifunctional RT IP Core
LI HuiZHANG Jingbo ZHANG Lei
Beijing Aerospace Automatic Control Institute,Beijing 100854,China
A design method of implementation functions of1553Bfull address remote terminal is introduced by using independent researched and developedIPcore which can be flexibly configured inFPGA.And the multifunction can be achieved with peripheral circuit equipped.This design is programmed by hardware description language known asVHDL,synthesized and optimized byISEFoundation.This design is timing simulated by ModelSim-SE 6.1gand finally fits intoFPGA.
MIL-STD-1553Bbus;VHDLhardware description language;FPGA
TP336
A
1006-3242(2012)01-0059-07
2011-10-20
李 辉(1984-),男,山东莘县人,硕士研究生,研究方向为控制系统综合设计;张敬波(1979-),男,山东人,工程师,主要从事运载火箭测发控系统设计工作;张 磊(1972-),男,河北晋州人,研究员,主要从事运载火箭控制系统设计工作。