基于Nios II的MIII总线转换板设计
引言
机载数据总线在飞机上的地位非常重要。机载总线转换板则是为计算机与机载设备之间的连接提供的硬件基础。机载设备通过总线转换板与计算机进行通信以收发数据。因此,用于测试系统的转换板的研制与开发就成为航电发展的一个重要部分。本文介绍的MIII总线转换板的主要功能是将机载火控设备的MIII总线数据转换成串口数据,以方便实现与PC机的通信,这样,PC机就可读取机载设备数据或发送指令以操作总线设备。
该转换卡采用Top-Down自顶向下的设计方法,并综合嵌入式可配置微处理器技术,来对系统进行模块化设计。顶层模块则采用图形设计方式,底层模块由VerilogHDL语言描述,并利用Quartus lI完成仿真及综合,然后在ALTERA公司的Cyclone II系列EP2C40芯片来实现。此设计提升了系统的处理速度和稳定性。降低了系统的功耗和成本。
1 MIII总线介绍
MIII总线是某型飞机火控电子设备的专用数据通信总线,又称第三级总线。MIII总线是单向地址、双向数据、半双工通信总线。
MIII总线的接口逻辑信号与电信号之间的逻辑关系是:逻辑“1”对应逻辑高电平;逻辑“0”对应逻辑高电平。
MIII总线接口信号线根据功能可分为三组,即数据通信总线、地址通信总线和信号控制总线。其中,数据通信总线包括0pKlK2~15pKlK-2;地址通信总线:0pAl~15pAl。总线的“输入”表示从MIII总线转换板向某飞机火控设备输出数码标志,“输出”则表示从某飞机火控设备向MIII总线转换板输入数码标志。MIII的A1地址选通主要用于跟踪地址数据与选择设备,外部写选通则用于在从MIII总线转换板向某飞机火控设备传输数据和地址时的数码跟踪。外部接收选通则用于在从某飞机火控设备向MIII总线转换板传输数据时的数码跟踪。
2 RS422通信协议
RS422通信协议标准的全称为TIA/EIA-422-B串行通信标准。该标准的数据传输采用差分传输方式,也称作平衡传输。由于RS-422标准的接收器采用高输入阻抗和发送驱动器,故比RS232具备更强的驱动能力,并可支持点对多点的双向通信。RS-422四线接口由于采用了单独的发送和接收通道,因此不必控制数据方向,各装置之间的任何必须的信号交换均可以按软件(XON/XOFF握手)或硬件方式(一对单独的双绞线)来实现。
3 转换板总体设计
MIII总线转换板的总体结构如图l所示,由接口电平转换电路、总线接口控制逻辑、双口存储器和RS422转换模块组成。其中总线接口控制单元主要用于地址和数据的收发和寄存,以及接口控制信号和驱动信号的产生等;双口存储器RAM用来存放数据和地址,包括MIII总线发送的数据以及PC机发送到MIII总线上的数据和地址;接口电平转换电路由单双向驱动电路芯片组成,该电路的作用是提供符合MIII总线要求的驱动电平信号。
3.1 总线转换设计逻辑
在总线接口控制单元的设计开发中,在严格执行国军标对地面设备的研制规范等要求下,为了保证系统的可靠性,提高系统的可扩展性和性能,设计时应采用模块化设计方法,并尽可能采用成熟的技术和器件。
基于上述设计原则,MIII总线接口板的硬件电路应采用FPGA器件来实现。而采用FPGA实现也具有设计周期短、成本低、运行速度快、电路性能可靠、拥有集成软核、方便二次开发等优点。
本接口板的设计采用自上而下(Top-Down)的设计技术路线。设计从系统的整体出发,应用Ouartus II软件,并采用结构化描述方式来对设计对象的功能特性进行分析,然后自上而下逐步将问题细化,再根据分析的结果划分功能模块,并根据电路功能出发使用VerilogHDL语言对各模块电路进行数据流描述,然后利用Quartus II软件进行各模块的功能仿真,在确认无误之后,再连接各模块进行逻辑综合及优化,最后下载到FPGA芯片。
3.2 RS422转换模块
此模块采用SP3490芯片进行RS422通信协议转换。SP3490芯片Sipex的+3.3V低功率全双工收发转换芯片,完全可以满足各种规格的RS-485和RS-422串行通信协议。图2所示为RS422转换模块的电路原理图。
3.3 总线接口控制单元
总线接口控制单元的主要功能是MIII总线地址和数据的收发、转换、寄存以及接口控制信号和驱动信号的产生等。总线接口控制单元可以基于FPGA嵌入IP软核的SOPC系统来实现。SOPC是一种特殊的嵌入式系统,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能,但它不是简单的SOC,它也是可编程系统,因而具有灵活的设计方式,并可在FPGA中植入软核处理器。也可以根据设计要求,利用相应的EDA工具来对NIOS II及其外围设备进行构建,以使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足系统的设计要求。此系统的开发工具采用Altera公司推出的Quartus II系列软件。FPGA采用Altera公司生产的Cyclone II系列的EP2C40芯片,此芯片采用TSMC验证的90nm低K介电质工艺制造的成本优化架构,并具有更多的特性和非常大的容量,以及很低的单位逻辑单元成本,故可满足系统要求。
(1)Nios II处理器
Nios II处理器主要负责解析从RS422串口接收的控制命令,以控制总线转换器,使其按照设定的工作模式运行;同时,该处理器还实时打包接收到的MIII总线数据,并通过RS422串口上传至PC机,实现PC对MIII总线信息的获取。采用QuartusII软件SOPC Builder生成的Nios II处理器单元如图3所示。
具体工作时,当数据流向为RS422串口到MIII总线时,NIOSII处理器可将数据从RS422串口接收缓冲存储器中读出,并输出至MIII总线发送缓冲单元中,同时还将数据发送到外部的SRAM中进行存储;而当数据流向为MIII总线到RS422串口时,其方式其之类似,其不同点是由于MIII总线的传输速率远大于串口的传输速率,因而要插入相应的等待和协调控制信号。
(2)MIII总线收发
MIII总线收发功能则独立于Nios系统。它充分利用FPGA可灵活配置的特点,并用VerilogHDL语言实现MIII总线的实时性和可靠性要求较高的关键部分,然后模拟MIII总线的逻辑功能,最终实现MIII总线数据、地址的收发以及与Nios系统通过自定义的接口实现通讯。MIII总线的信号时序如图4所示。
该转换板的读写时序可用VerilogHDL语言描述,然后采用有限状态机实现上述操作,并用Quartus II进行时序仿真,其仿真波形如图5所示。本文采用的是用时钟同步输出信号的Moore型状态机,该方式可有效消除状态机输出信号的毛刺。
3.4 接口电平转换电路
由于FPGA可编程器件的输入/输出电平通常是3.3 V,而对接MIII总线设备是OC门输入/输出。OC门又称集电极开路(漏极开路)电路,其内部电压为+5 V。所以,FPGA的输入/输出需要进行两次电压转换。
其中,第一次电压转换是把FPGA输入/输出电平的3.3 V转换为5 V电平。由于数据信号是读写双向的,而地址和控制信号是单向的(由MIII总线发送到对接MIII总线设备),因此,其数据信号应当用74LS245芯片来进行转换,而地址和控制线则应用74LS244芯片来转换,其电路原理如图6所示。
由于对接MIII总线设备内部是OC门输入/输出,而且由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻到电源。一般情况下,OC门会使用上拉电阻以输出高电平,此外,为了加大输出引脚的驱动能力,选择上拉电阻阻值的原则是降低功耗及芯片的灌电流能力应当足够大,从而确保足够的驱动电流足够小。基于此原则,本设计选择上拉电阻阻值为680Ω。其具体的电平转换电路原理图如图7所示。
FPGA输入/输出的信号,经过以上两个步骤的电平转换,就能符合MIII总线对接设备的输入/输出信号要求。至此,只需MIII总线转换板输入/输出的地址、数据和控制信号按照MIII总线时序进行收发,就可以实现MIII总线通信。
MIII总线 VerilogHDL NiosII 相关文章:
- Verilog门电平模型化(06-06)
- VHDL:中文版Verilog HDL简明教程:第3章 Verilog语言要素(06-06)
- VHDL:中文版Verilog HDL简明教程:第2章 HDL指南(06-06)
- VHDL:中文版Verilog HDL简明教程:第1章 简介(06-06)
- VHDL:中文版Verilog HDL简明教程:第3章 Verilog语言要素(续)(06-06)
- 基于Verilog应用(06-06)