APP下载

电子设备接口通用测试模拟器设计

2019-03-19张希栋

舰船电子对抗 2019年1期
关键词:框图模拟器线程

张希栋

(解放军91404部队,河北 秦皇岛 066001)

0 引 言

作为电子设备接口通用检测测试设备,在设计时应充分考虑使用性、保障性、可靠性、安全性等原则。所以在设计时尽量采用了成熟的技术和模块,选用成熟的嵌入式操作系统,并充分考虑电子设备的管理和维护功能,以便于电子设备后续扩展。该设备主要对被测设备的千兆以太网接口、专用串行外设接口(SPI)、光纤接口、RS422接口、低压差分信号(LVDS)/TTL接口进行测试,在测试时需要友好的人机交互界面显示被测接口的输出数据以及输入需要测试的报文。接口模拟器在对设备进行测试时可采取多种方式接入被测设备,既可以诊断单个设备的接口,又可以诊断2个电子设备之间的通信链路,还可以作为数据采集模块对采集的数据进行转发。该接口模拟器可同时完成对设备的千兆以太网接口、专用SPI、光纤接口、RS422差分接口、LVDS/TTL接口的监控,以及模拟环境监测数据的收集,是一款多用途模拟器。

1 接口测试模拟器总体设计

1.1 接口测试模拟器原理设计

接口测试模拟器逻辑框图如图1所示。

图1 接口测试模拟器逻辑框图

接口模拟器主要包括核心控制器、以太网接口模块、光纤接口模块、SPI模块、RS422差分接口模块、LVDS/TTL接口模块、显示和输入接口模块等。核心控制器是接口模拟器的核心控制与处理部分,通过总线和接口标准(PCIE)总线实现与各总线模块的数据交互,同时还负责完成人机交互和数据处理。以太网接口模块由以太网接口控制器组成,负责完成千兆以太网总线的输入输出;光纤接口模块为多模光纤模块,负责光纤通信;SPI模块负责差分SPI处理,同时通过PCIE总线与核心控制器进行数据交互;RS422差分接口模块负责RS422总线数据收发;LVDS/TTL接口接受核心控制器的调度,负责完成LVDS/TTL接口的各个模式输出;显示和输入模块由显示器、键盘和触摸板组成,提供人机交互功能。

1.2 接口模块设计

1.2.1 核心控制器模块

核心控制器采用Intel至强系列处理器和服务器级主板作为核心部件,采用Xeon E5-2683处理器,可以同时满足多路总线并行处理,具有强劲的数据处理能力,核心控制器配置表如表1所示。控制器主板存储部分使用固态硬盘,既保证了高速的写盘速度,又为使用时可能存在的震动和冲击情况提供了安全基础;高分辨率的显示配置增加了人机交互的易用性。

表1 核心控制器模块配置表

1.2.2 光纤接口模块

光纤接口模块采用多模光纤,调制时钟为3.125 GHz,提供512 MHz缓存机制,可以有效进行连续数据I/O,光纤接口模块板卡如图2所示。

图2 光纤接口板卡

光纤数据传输采用报文帧格式,码型采用8 B/10 B编码[1],低位先传,一帧传输数据为一帧报文,包括同步段、报文头、数据段以及空闲码,各字段由双字节数据构成。一帧报文数据长度固定,无校验,数据传输格式如图3所示。

图3 光纤数据传输格式

同步段:每帧报文开始先发送4个双字节同步码,同步码为BCBCH,对应K码为K28.5、K28.5。报文头:由一个双字节码组成,为AA55H,接收端接收解调出这个双字节报文头可以判断接收正常,接收的后续数据有效。报文尾:由一个双字节码组成,为55AAH,接收端接收解调出这个双字节报文尾可以判断一帧接收结束。空闲码:报文的空闲期持续发送空闲码,空闲码为1CFBH,对应K码为K28.0、K27.7[2]。传送的所有字节遵循低位先传原则。

1.2.3 SPI模块

SPI模块原理框图如图4所示,SPI模块用于监控和测试SPI设备的数据或模拟SPI设备。采用FPGA实现SPI协议控制器,当SPI作为主机时使用DDS芯片AD9959作为时钟源,这样可以使SPI时钟在10 MHz~100 MHz的范围内可调。采用SN65LVDS31芯片将输出的单路信号转化成差分信号,采用SN65LVDS32将输入的差分信号还原成单路信号。

SPI分层协议将数据分为2层进行传输,分别为应用层和物理层,分层传输协议如图5所示[3]。

图4 SPI模块原理框图

图5 SPI分层传输协议框图

四线制高速串口物理层由4对LVDS组成,对主机而言,其中3对输出、1对输入分别命名为SCLK、CS、MOSI及MISO,四线制高速串行接口信号定义如表2所示。

表2 四线制高速串行接口信号定义

SPI数据传输时序图如图6所示,SPI进行数据传输时,定时传输,每次传送36 bits数据,定时间隔为44个CLK。当没有数据传输时,传送全0数据;有数据传输时,则进行数据传输,空闲时间大于等于8个CLK。

图6 SPI数据传输时序图

1.2.4 RS422接口模块

RS422接口模块使用工业级货架产品搭建,支持串口速度达921.6 kbps,支持任何波特率设置[4],具有1 000 V直流电浪涌保护和2 500 V直流电隔离保护,有效保证被测电子设备的安全,RS422接口模块板卡如图7所示。

图7 RSS422接口模块板卡

1.2.5 LVDS/TTL接口模块

LVDS/TTL接口模块原理框图如图8所示,逻辑接口模块的主要功能是根据CPU的命令,在对应的通道上产生设定频率的逻辑信号[5]。采用现场可编程门阵列(FPGA)编程实现信号时钟控制。TTL信号口外围采用八通道数字收发器芯片SN74LVC245作保护和隔离。 RS422信号外围采用MAX3030EEUE芯片将FPGA输出的普通TTL信号转换成RS422信号,同时起到保护和隔离的作用。 LVDS差分信号外围芯片采用SN65LVDS31和SN65LVDS32进行单路信号和差分信号的转换。

图8 逻辑接口模块原理图

1.3 软件设计

1.3.1 软件总体设计

系统软件通过高性能关系数据库Sqlite3.0完成数据存储,其整体框架如图9所示。软件开发的主要内容由控制管理主线程、线程池管理线程、各实例线程、消息队列、数据管理线程池及数据库构成。

图9 软件结构框图

实例线程是一个管理线程和一组事务线程的总和,每个线程独立负责一个底层接口模块的交互,管理底层模块并从总线接受或写入数据。这些线程均受线程池管理线程控制。线程池管理线程负责对实例线程进行调度,产生、控制或关闭线程。控制管理主线程是整个应用程序的核心,它负责关联UI线程、数据管理线程及线程池内的线程,并接收和发出控制指令,同时管理应用程序的其它资源。

数据管理线程专门负责数据的存储和读取,它通过消息队列与UI线程共享实时数据或向UI线程推送历史数据。UI线程负责处理人机交互,向控制管理线程发送指令,并从其它线程中获取实时数据和状态信息进行显示。

1.3.2 以太网、光纤及SPI软件流程设计

以太网、光纤及SPI软件流程设计如图10所示。

图10 以太网、光纤及SPI流程框图

以太网、光纤及SPI 3类线程都通过输入输出(IO)复用技术实现多通道监听,其中一个监听通道接收外部控制器的命令,用以配置线程的执行。3个线程的数据通过先入先出(FIFO)管道进行交互,写监听线程接收输入数据后进行编码,并交付给实际IO线程输出到总线;实际IO线程接收写监听线程或底层的数据,当获取到底层的数据后会判定当前是否为监听模式,是则执行路由转发,否则直接将数据推送给读监听线程;读监听线程从实际IO线程中获取到数据执行解码,并通过消息队列将接收到的数据发送给外部处理。SPI数据处理线程的处理流程与其它2类数据类似,区别在于,它的实际IO线程不需要处理路由转发。

1.3.3 RS422数据采集流程

图11 RS422数据采集流程框图

RS422数据采集流程框图如图11所示,首先依据UI选择初始化对应硬件,并为每个接口启动一个子线程,子线程定时读取数据,有数据则上传显示线程;同时子线程中会监测管理线程的消息,如果是,退出消息,线程会结束。

1.3.4 LVDS/TTL接口控制流程

LVDS/TTL接口控制流程如图12所示。对逻辑接口的操作采用Eventloop的架构来处理,线程初始化后,等待外部的事件,如果事件为结束线程,则退出Eventloop;如果事件为逻辑口操作,则进行对应操作,并在UI上显示操作结果。

图12 LVDS/TTL逻辑接口控制流程图

2 结束语

本文主要介绍了接口模拟器的设计方法、硬件配置、软件设计流程等。作为接口模拟测试设备,接

口模拟器可以完成对设备的千兆以太网接口、专用SPI、光纤接口、RS422接口、LVDS/TTL接口测试。本接口模拟器采用开放的软件架构,在使用过程中可以对相关功能进行扩展,逐步形成通用测试设备,为后续接口模拟器设计提供了一定的参考价值。

猜你喜欢

框图模拟器线程
5G终端模拟系统随机接入过程的设计与实现
实时操作系统mbedOS 互斥量调度机制剖析
驾驶模拟器转向系统的设计与研究
浅析体育赛事售票系统错票问题的对策研究
盲盒模拟器
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
电路图2017年凯迪拉克XT5
中国首个自主研发的地球模拟器投入使用
算法框图的补全
基于图表法构建《万有引力定律与航天》知识网络