基于PXI技术的1553B总线通讯模块的设计
扫描二维码
随时随地手机看文章
引言
1553B军用总线标准,在军事装备,特别是飞机系统, 得到了广泛的应用。为了测试带有1553B总线接口的电子设备 与系统,通常需要在测试系统配备1553B接口模块。PXI总线 是一种体积小、数据传输速度高的仪器总线,在航空航天等 测控领域得到了广泛的应用。PXI-1553B模块可用于PXI总线 测试系统与1553B设备的通讯,完成对带有1553B接口设备 的测试,因此设计PXI-1553B模块具有重要的应用意义。
1基于PXI技术的1553B总线通讯模块性能指标
32 b,33 MHz PXI总 线 接口,标 准PXI 3U尺寸 (160 mmX 100 mm);
符合1553B规范,总线传输速率1 Mbps ;
单通道、多功能、双冗余通道数据发送和接收;
通道包括1个BC (总线控制器),0〜31个RT (远程终 端),1个MT(总线监视器);
软件可设置帧间隔时间、消息间隔时间、消息的数量、 RT状态字响应时间和应答超时时间;
提供Windows XP操作系统程序支持,包括驱动和动态 链接库等。
2基于PXI技术的1553B总线通讯模块原理框图
基于PXI技术的1553B总线通讯模块结构组成如图1所 示,主要包括隔离变压器、收发器、FPGA可编程逻辑控制 器、PXI总线控制器、SDRAM存储器、时钟电路等。隔离 变压器与收发器为接口电路;FPGA可编程逻辑控制器用来实 现1553B接口通信,包括信号发送与接收的编解码及串并转换、 总线协议与消息处理和传输逻辑控制与时钟控制等模块;PXI 总线控制器完成PXI总线与本地总线之间的转换;SDRAM存储器用来存储和缓冲命令和信息(数据);时钟用来提供 FPGA和PXI总线控制器所需的时钟。
3基于PXI技术的1553B总线通讯的实现
3.1 PXI总线通信的实现
应用芯片PCI9054实现PXI总线接口,选择PCI9054本地总线工作在C模式下,PCI9054芯片通过片内逻辑控制,将 PXI的地址线和数据线分开,从而为本地总线的各种操作提 供良好的工作时序。
系统上电复位后,PCI9054读取其外部存储器的数据对 寄存器进行配置,完成PCI9O54的初始化。PXI的初始化 数据由E2PROM来加载。E2PROM的配置采用在线烧录的方 式,运行PLXMON软件,可以识别到PXI总线通讯模块的设 备号为9054,设备标志号为10B5,类码为AA。PCI9054的 Local端寄存器包括Local端地址空间范围寄存器(LASORR、 LAS1RR、EROMRR)与Local端地址空间基地址寄存器 (LAS0BA、LASlBA、EROMBA) ; PXI地址空间基地址寄存 器(PCIBAR2、PCIBAR3、PCIERBAR)。Local 端的这三个地 址空间若要被PXI总线访问,则首先需完成PXI空间到Local 空间的地址映射。其次,当系统上电时,系统对PXI基地址寄 存器写入全1,然后回读,返回设备申请的映射资源的类型和 大小。
在C模式下,采用从操作模式向通讯模块发送控制命令,
是由PXI总线上的主设备访问本地总线的操作,PCI9O54通 过一个16字长PXI从模式读FIFO和一个32字长PXI从模 式写FIFO,来实现从PXI总线到本地总线的突发存储器映射 访问和IO映射访问。
3.2驱动程序的开发
驱动程序用WinDriver软件开发,运行Driverwizard程 序,创建新的驱动程序,进入设备选择界面,选定PCI9054 PCIAccelerator, 创建 PXI 设备 安装文件.INF (Device information File),其提供了全面描述设备硬件参数和相应驱 动文件的信息,操作系统通过INF文件就可以找到设备的驱 动程序叫
进入PXI通讯模块的资源对话框,可以查看并修改PXI 通讯模块的存储器空间、I。空间、寄存器等内容,并可以 监听中断,在Visual C++开发环境中生成驱动程序框架代 码,包括M1553_diag.dsw、M1553_diag.dsp两个工程文件与 M1553_lib.c、M1553_lib.h、M1553_diag.c 三个文件,M1553_ lib.c是设备的应用程序级API函数文件,定义了访问所有PXI 设备资源(包括存储器读写、IO读写、寄存器操作、中断处理等) 所需的库函数,可以直接调用这些标准API函数实现对硬件 的操作和访问,M1553_lib.h文件是上述库函数所需的头文件, M1553_diag.c是基于控制台的设备诊断程序,在程序中使用 了文件M1553_lib.c中的库函数,对设备进行实际操作。根据 应用情况对上述三个文件代码进行修改,编写具体的功能代码, 建立用户模式的驱动程序,主要包含设备的初始化、设备的 读写操作与设备的关闭[4, 5]。
3.3 SDRAM存储器的控制
SDRAM作为缓存芯片,选用单周期读写的 MT48LC16M16A,数据位宽16位,块地址选择线为BA0和 BA1,用来寻址4个块的地址空间。每块内部又是一个存储 阵列,分为8 192行和512列,行地址线和列地址线进行复 用,行地址线为A0~A12,列地址线为A0~A8。由于特殊的 存储结构,SDRAM操作指令比较多,SDRAM的操作是通 过RAS, CAS及WE给出的总线命令来控制的[6]。
SDRAM在上电后须对其进行初始化操作配置SDRAM 的工作模式,之后SDRAM进入正常工作状态,等待控制 器对其进行读、写和刷新等操作。SDRAM行列地址采用复 用方式,在每次读写操作时,行列地址要锁存,由ACTIVE 命令激活要读写的BANK,并锁存行地址,然后在读写指 令有效时锁存列地址。为了保证信息完整,必须按要求定期 发出刷新命令,保证在规定的时间内对每一个单元都进行刷 新。刷新命令一次只对一行进行充电,需要每隔7.812 5 us (64 ms/8 192)执行一次刷新命令。
3.4 1553B总线通信的实现
1553B总线协议的处理与逻辑控制功能框图如图2所示, 主要包括命令字、状态字以及方式命令译码,进行RT地址比 较,子地址比较,进行命令字、状态字和方式命令译码,进 行错误检测及发送中断信号等,并要为其余模块发送相应控 制量,实现对总线接口的控制,包括命令字/状态字译码及数 据控制,存储管理单元控制,检错控制,命令字发送及状态 字设置,发送器控制与时钟产生等几部分。
命令字/状态字译码及命令字发送控制模块是在BC 工作方式下发送命令字,且在BC/RT/MT三种工作模式下对 命令字或状态字进行译码,产生相应的控制信号实现对其它 模块的控制,如对数据控制部分,存储管理控制部分,检错 控制部分,状态字设置部分,以及发送器控制部分等,这是 模块的核心部分吐
存储管理单元包括消息队列数据结构的设计、存储 空间的规划(包括总线控制器BC,多个远程终端RT,总线 监视器MT)和读写控制逻辑(控制过程)设计三方面,对 SDRAM进行存储资源分配并对读写控制逻辑进行处理,以 满足各工作方式下多消息传输的连续性要求叫
检错控制模块用于检测消息传输过程中发生的错误, 包括字计数检测及RT响应超时检测,并根据其它模块检测 到的RT地址错误、奇偶校验错误和位计数错误等产生中断信 号。
状态字设置模块实现RT工作方式下返回状态字的 设置,并对状态字和当前命令字和上一命令字进行存储,以 备方式命令的消息方式的实现。
发送器控制模块针对不同的工作方式选择需要发送 的信息。
时钟产生对外部输入时钟进行处理产生不同频率的 时钟,实质上是一个计数器,对外部输入时钟进行分频处理。
1553B总线协议的处理与逻辑控制要完成BC、多个RT 与MT各自功能的实现,并要对BC、RT和MT进行协调处 理与综合管理,执行控制流图见图3。
4 结 语
基于 PXI 技术的 1553B 总线通讯模块的成功开发,掌握了 PXI 总线通讯的核心技术与实现方法,解决了 PXI 总线接口设计、SDRAM 存储器的控制和 1553B 总线通信协议实现等关键技术,为航空领域测控系统开发和搭建 PXI 测控平台提供了技术借鉴,在简化产品设计的同时节约了成本。
20211223_61c4589abcc99__基于PXI技术的1553B总线通讯模块的设计