基于USB的ARINC429总线接口模块设计
时间:07-15
来源:世界电子元器件
点击:
引言
ARINC429总线由美国航天无线电设备公司所资助,是广泛应用于当前航空电子设备中的一种数据总线传输标准。与传统的航空电子设备间的模拟传输相比,ARINC429总线具有抗干扰能力强、传输精度高、传输线路少以及成本低等优点。ARINC数据总线协议规定一个数据由32位组成,采用双极性归零码,以12.5Kb/s或100Kb/s码速率传输。本设计利用USB即插即用、FPGA可灵活配置等特点,设计了基于USB总线的ARINC429总线接口模块。
接口模块总体设计结构
接口模块总体设计包括硬件设计和软件设计两部分。硬件设计由USB接口芯片,FPGA和调制/解调电路三部分组成。硬件设计整体框图如图1所示。USB接口芯片采用CYPRESS公司的USB2.0接口芯片CY68013,主要完成PC机和FPGA之间的数据传输,起到接口模块的桥梁作用。FPGA采用ALTERA公司的CycloneⅡ系列EP2C5Q208,主要负责将32位429数据字按照ARINC429数据总线协议串行输出,当检测到ARINC429总线上的数据时,将数据组装成32位429数据字发送给PC机。调制/解调电路主要负责将FPGA输出的LVTTL电平调制为满足ARINC429总线电气特性的电平(即高电平为+10V,低电平为-10V,0V为自身时钟脉冲),并将输入的ARINC429电平解调为FPGA可接收的LVTTL电平。
接口模块硬件部分由USB接口芯片,FPGA和调制/解调电路三部分组成。下面以一路429设备为例来介绍接口模块的发送和接收部分的硬件设计。
发送部分硬件设计
发送部分硬件设计框图如图3所示。发送部分主要负责将ARINC429数据字按照设置的发送模式传输给ARINC429总线。
由于在测试ARINC429电子设备中,时常要求多路ARINC429总线同时传输数据。为了实现接口模块多路ARINC429总线同时工作,本设计采用了一个全局start/stop信号。当PC机传下start信号后,FPGA中各路的发送控制模块开始将RAM中数据取出并传输给移位寄存器。移位寄存器再将并行输入的32位429数据字串行输出给外围的发送调制电路。FPGA中时钟控制模块用来控制发送ARINC429数据字的速率。
因为FPGA输出信号是LVTTL电平,并不满足ARINC429数据总线的电气特性,所以必须加上发送调制电路对FPGA输出的LVTTL A和LVTTL B两路信号进行调制,以满足ARINC429数据总线的电气特性。
接收部分硬件设计
接收部分硬件设计框图如图4所示。接收部分主要作用是检测ARINC429总线上是否有数据,并当有数据时将并行的32位429数据字组装成并行的4个字节数据发送给PC机。
当USB接口芯片响应中断信号后,先判断是哪一路ARINC429总线数据,并将此路总线的通道号写入芯片的Buffer中。USB接口芯片再发送读信号读取FPGA中寄存器的429数据字,共4个字节。本设计采用双缓冲Buffer方式来存储接收到的429数据字。这种设计方式能有效提高接口模块传输数据的稳定性和准确性。
接收解调电路主要负责将ARINC429总线输入的电平解调为FPGA可接收的LVTTL电平。
接口模块软件设计
接口模块软件由USB-ARINC429仪器驱动程序、USB驱动程序和USB固件程序等三部分组成。USB-ARINC429仪器驱动程序主要将应用程序与驱动程序之间的通讯协议以及应用程序与硬件之间的数据传输命令进行封装。仪器驱动程序在Visual C++6.0下开发,可以提供给应用程序显式或隐式调用。在本文中不详细介绍仪器驱动程序的开发过程。下面将介绍USB固件程序及驱动程序的设计。
ARINC429总线由美国航天无线电设备公司所资助,是广泛应用于当前航空电子设备中的一种数据总线传输标准。与传统的航空电子设备间的模拟传输相比,ARINC429总线具有抗干扰能力强、传输精度高、传输线路少以及成本低等优点。ARINC数据总线协议规定一个数据由32位组成,采用双极性归零码,以12.5Kb/s或100Kb/s码速率传输。本设计利用USB即插即用、FPGA可灵活配置等特点,设计了基于USB总线的ARINC429总线接口模块。
接口模块总体设计结构
接口模块总体设计包括硬件设计和软件设计两部分。硬件设计由USB接口芯片,FPGA和调制/解调电路三部分组成。硬件设计整体框图如图1所示。USB接口芯片采用CYPRESS公司的USB2.0接口芯片CY68013,主要完成PC机和FPGA之间的数据传输,起到接口模块的桥梁作用。FPGA采用ALTERA公司的CycloneⅡ系列EP2C5Q208,主要负责将32位429数据字按照ARINC429数据总线协议串行输出,当检测到ARINC429总线上的数据时,将数据组装成32位429数据字发送给PC机。调制/解调电路主要负责将FPGA输出的LVTTL电平调制为满足ARINC429总线电气特性的电平(即高电平为+10V,低电平为-10V,0V为自身时钟脉冲),并将输入的ARINC429电平解调为FPGA可接收的LVTTL电平。
接口模块硬件部分由USB接口芯片,FPGA和调制/解调电路三部分组成。下面以一路429设备为例来介绍接口模块的发送和接收部分的硬件设计。
发送部分硬件设计
发送部分硬件设计框图如图3所示。发送部分主要负责将ARINC429数据字按照设置的发送模式传输给ARINC429总线。
由于在测试ARINC429电子设备中,时常要求多路ARINC429总线同时传输数据。为了实现接口模块多路ARINC429总线同时工作,本设计采用了一个全局start/stop信号。当PC机传下start信号后,FPGA中各路的发送控制模块开始将RAM中数据取出并传输给移位寄存器。移位寄存器再将并行输入的32位429数据字串行输出给外围的发送调制电路。FPGA中时钟控制模块用来控制发送ARINC429数据字的速率。
因为FPGA输出信号是LVTTL电平,并不满足ARINC429数据总线的电气特性,所以必须加上发送调制电路对FPGA输出的LVTTL A和LVTTL B两路信号进行调制,以满足ARINC429数据总线的电气特性。
接收部分硬件设计
接收部分硬件设计框图如图4所示。接收部分主要作用是检测ARINC429总线上是否有数据,并当有数据时将并行的32位429数据字组装成并行的4个字节数据发送给PC机。
当USB接口芯片响应中断信号后,先判断是哪一路ARINC429总线数据,并将此路总线的通道号写入芯片的Buffer中。USB接口芯片再发送读信号读取FPGA中寄存器的429数据字,共4个字节。本设计采用双缓冲Buffer方式来存储接收到的429数据字。这种设计方式能有效提高接口模块传输数据的稳定性和准确性。
接收解调电路主要负责将ARINC429总线输入的电平解调为FPGA可接收的LVTTL电平。
接口模块软件设计
接口模块软件由USB-ARINC429仪器驱动程序、USB驱动程序和USB固件程序等三部分组成。USB-ARINC429仪器驱动程序主要将应用程序与驱动程序之间的通讯协议以及应用程序与硬件之间的数据传输命令进行封装。仪器驱动程序在Visual C++6.0下开发,可以提供给应用程序显式或隐式调用。在本文中不详细介绍仪器驱动程序的开发过程。下面将介绍USB固件程序及驱动程序的设计。
- 基于S3C44B0X的心电血压监测仪USB接口设计(11-28)
- C8051F320在USB设计中的应用(01-18)
- 基于ISP1581型接口电路的USB2.0接口设计(01-18)
- 用CP2101将USB口扩展成串口(01-18)
- TM1300 PCI-XIO口的UART和USB接口设计(01-17)
- 基于CH371的实用USB接口设计(01-23)