沧州煜烁伟业电子有限公司

技术信息

多通道综合化控制台通用测试

发布日期:2021-3-10
  通信系统多通道综合化控制台种类繁多,现有工装数量较少并且分散,如若逐一生产制造调试工装会增加成本[1]。本工装设计充分考虑了调试工装平台的通用性、可扩展性,设计了一个以 FPGA[2]为主控制器的通用硬件平台并利用 VC++6.0[3]的通信控件实现串行通信的通用测试平台,该设计降低了研制成本,提高了测试工装的标准化、开放化程度,并且易于扩展、实用、操作快捷方便,可以对多种型号的控制台进行测试和试验。
  1 测试工装组成和工作原理
  1.1 测试系统组成框图
  测试工装由测试盒和配套的工控机组成,用于测试控制台输出的各种控制信号以及模拟各分系统输出的状态信息提供给控制台,测试工装和控制台的系统连接框图如图 1 所示。控制台与测试工装交互的信号具体如图 2 所示。
  1.2 测试工装硬件平台介绍
  1.2.1 测试盒外机箱介绍
  测试盒由外机箱和内部电路板构成,外机箱结构如
多通道综合化控制台通用测试
  图 3、图 4、图 5 所示。
  图 3 所示为测试盒前面板,图 4 所示为测试盒的侧面板,其中,XS1 为电源接口,XS2 为 RS232 接口。电源接口接 +5V 的直流电源,RS232 接口连接到工控机的串口,通过工控机的显控界面,实现工控机与测试盒之间的数据通信。不同型号的控制台根据信号特点编写相适应的显控界面以完成控制。
  图 5 所示为测试盒的后面板,分别为 XS3(接控制台输出的开关信号)、XS4 (接控制台输出的选择信号和提供给控制台的状态指示信号)、XS5 (接提供给控制台的+28V 电平信号),控制台对外的输入输出接口通过三组测试线缆分别接到这三个插座上,不同型号的控制台就配置相应的测试线缆。
  1.2.2 测试盒内部电路板介绍
  内部电路板主要由 FPGA 加外围接口电路组成,原理框图如图 6 所示,实物如图 7 所示。外围接口电路根据信号种类分成三种,分别为 RS232 串口电平转换电路、状态指示接口电路、分离控制接口电路,原理框图分别
  如图 8、图 9 和图 10 所示。
  (1)FPGA 芯片介绍
  FPGA 选用的是 Spartan3[2]系列的 XC3S1000FT256E,存储芯片为 XCF02SVO2OC,配置方式选择主动串行,FPGA 芯片的核电压 1.2V,I/O 电压 3.3V,辅助电压 2.5V,可用 IO 管脚 113 个,可以满足对外接口的数量需求。存储芯片的三组电压均为 3.3V。FPGA 芯片负责与显控界面串行通信,将来自显控界面的信息进行解析后输出状态指示信号给控制台、采集输入的离散信号并按照协议打包组帧上报给显控界面。
  (2)RS232 串口电平转换电路本设计是近距离(约15m)的串行通信, 工控机和 FPGA之间通过 RS232 直接相连。由于 FPGA 串口的输入输出均为 TTL 电平,而工控机上的 RS232 接口为了提高抗干扰性能,采用的是 RS232 标准的 EIA 电平,因此要实现工控机与 FPGA 之间的串行通信,其接口必须经过电平转换。使用 MAX232AESE 芯片完成这两种电平之间的转换。采用 RS232 接口中的 RD(接收数据线)、TD(发送数据线)、GND(信号地)三线来完成双工通信。具体的接口电路如图 8 所示。
  图 8 工控机与 FPGA 串行通信硬件连接电路
  (3)状态指示接口电路
  对于状态指示接口电路,收集外部输入状态信息,由于是悬空 / 接地 /+28V 信号,故设计成通过光耦隔离变成 3.3VTTL 电平、经锁存后再送主控 FPGA 进行采集、按照 ICD 协议进行组帧通过串口上报给显控界面。原理框图如图 9 所示。图 9 状态指示接口原理框图
  (4)分离控制接口电路
  对于分离控制接口电路,当内部控制逻辑为低电平时,光电隔离管截止,分离线输出端口开路;当内部控制逻辑为高电平时,光电隔离管导通,分离线控制口接地。原理框图如图 10 所示。
  2 软件设计
  软件设计包括工控机通信软件设计和 FPGA 软件设计两部分。通信软件实现如下功能:通信开始时由工控机发出一握手信号,同时做好接收 FPGA 发来的信号的准备;FPGA 接收到握手信号后响应,确认握手信号是否正确,并向工控机发送响应信号,做好与工控机通信准备。工控机与 FPGA 进行串行通信前,首先要分别对各自的串口进行初始化,确定串口的工作方式、波特率、数据格式等。本例中约定,工控机与 FPGA 之间串行通信使用工控机的串口 1(COM1),波特率为 9600b/s,数据格式为 8 个数据位、1 个停止位、无奇偶校验位。以下是具体的软件设计部分。
  2.1 工控机通信软件设计
  利用 VC++6.0 的通信控件 MSComm 进行软件设计[4-5],只需对串口进行简单地设置即可。主要操作步骤及源程序代码如下:
  2.1.1 在当前的 Workspace 中插入 MSComm 控件Project 菜单→Add to Project→Components andControls→Registered ActiveX Controls→选 择 Microsoft CommunicationsControl, version 6.0,插入到当前的 Workspace 中。结果添加了类 CMSComm 及相应文件:mscomm.h 和 mscomm.cpp。
  2.1.2 打开串口
  HANNDLE m_hComm = CreateFile(strPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,FILE_FLAG_OVERLAPPED, NULL);
  2.1.3 初始化串口的相关属性DCB dcb;dcb.BaudRate = 9600;dcb.Parity = 0; // 无校验。
拨打电话