论文部分内容阅读
摘 要:本文通过研究开关控制类型和开关矩阵构成特点,建立了虚拟开关矩阵整机模型,提出基于XML配置文件的通用开关矩阵控制软件的解决方案,从根本解决了每种开关矩阵需要重新编译控制软件的问题,提高了软件工程师的工作效率。
关键词:开关矩阵;控制软件;XML配置文件
引言
开关矩阵在自动测试系统中发挥着被测产品测试所需的各类微波信号的调理和分配的作用,在测试的时候把来自多台测试设备的不同信号分配至一个或者多个被测产品中。自动测试系统的研制针对特定型号或特定系列被测产品,因此开关矩阵的通道拓扑结构、信号调理需根据自动测试系统的测试功能进行设计。开关矩阵的控制软件也要根据通道设计需求重新编辑通道控制关系,软件工程师需要参与通道和开关数据编辑等繁杂冗余的工作,降低了软件工程师的工作效率,导致开关矩阵调试时间加长。
为提高软件工程师的工作效率,本文采用开关矩阵的开关控制关系、端口命令和通道拓扑结构等数据为XML配置文件形式,软件主体完成配置文件解析、通信交互和命令执行的工作,实现开关矩阵控制软件的可配置特性。
1微波开关类型分析
微波开关控制类型的划分关系到通道切换指令后开关的控制方式,本文以锁存类型和控制地址类型为分类标准对微波开关进行控制类型划分。
●锁存类型
锁存即礠保持,是微波开关中的基本配置选项,微波开关按照锁存类型划分分为有锁存和无锁存微波开关,主要区别是控制端口TTL电平断开后,开关能否保持断开前的状态。目前市场上的很多型号微波开关均有锁存配置选项。但是有锁存微波开关价格偏高,出于经济性考虑很多情况会选择配置无锁存开关。因此,本文以锁存类型为微波开关的一个控制选项。
●逻辑地址类型
控制地址类型是指微波开关是否由一个FPGA的逻辑地址控制。一般情况下,一个逻辑地址控制一个微波开关,但是当开关端口数量超出一个逻辑地址控制的端口数量时,也会出现两个逻辑地址控制一个开关的情况。在这种情况下需要协调控制两个控制地址的指令输出,只能有一个管脚输出的电平为高,避免出现多个开关端口同时打通的情况。控制示意图如下图所示。
2开关矩阵配置文件元素分析
开关矩阵以微波开关为基本硬件集合,构成开关矩阵的硬件基础。微波开关集合通过电缆连接不同开关之间的端口形成通道,所有的通道构成了开关矩阵的通道集合。因此,开关控制数据和通道数据构成了开关矩阵控制软件的数据核心。开关矩阵文件配置设计可将开关矩阵数据结构抽象为树形结构,以开关矩阵整机为根节点,以开关集合与通道集合为树的两个子节点。开关矩阵控制软件通过解析该树形数据结构,获取开关矩阵通道逻辑结构,从而实现对开关矩阵的控制。
XML是W3C组织提出的一种通用标记语言,任何标准的XML语法分析器都可以读取、解析、检验这种基于文本的自描述文档,并通过标准的数据访问接口以独立于平台的方式访问数据元素。由于XML文档也是树形结构的,与开关矩阵树形结构类似,而且XML文档树结构清晰,开关矩阵调试人员查看、编辑比较方便,本系统配置文件以XML格式实现,文件数据结构图如下图2所示。
图3为本软件开关矩阵数据文档模型,以开关矩阵整机为配置文件根节点,开关矩阵的型号名称、微波开关数据集、通道数据集和端口控制指令集合为组成开关矩阵控制软件的四个重要的子节点,对应为name_set、port_set、 switch_set和channel_set为XML文档树根节点switch_matrix的四个子节点,channel_set引用到了switch_set和port_set中的数据元素。
3可配置开关矩阵控制软件设计分析
软件按照功能划分为初始化子模块、通信子模块和命令执行子模块三部分,框架如下图3所示。
3.1初始化子模块设计
根据开关矩阵数据模型定义了微波同轴开关、微波通道等对象模型,在软件启动后根据配置文件初始化数据模型。初始化子模块的主要作用是开关矩阵软件启动后初始化开关矩阵硬件及开关矩阵数据集的相关状态。其主要工作包括以下几点:
1)载入并解析开关矩阵配置文件,初始化相应变量,建立开关矩阵模型。主要包括:
●初始化开关矩阵型号名称变量;
●初始化微波开关相关变量,建立微波开关数据列表,开关名称与开关数据一一映射存储;
●初始化通道相关变量,建立通道数据列表,通道名与通道数据一一映射存储。
2)检测LAN总线设备驱动状态,开放相应的TCP/IP端口。
3)检测GPIB总线设备驱动状态及相应端口开放状态。
3.2通信子模块设计
通信子模块负责开关矩阵与主控计算机通信,其作用就是建立与主控计算机的通信,接收主控計算机发出的程控指令,经过解析后将指令传递给执行模块进行开关通道的切换,最后把执行模块返回的执行状态返回给主控计算机。其主要工作包括以下几点:
1)通过与主控计算机的通信交互建立与主控计算机的通信。
2)监听通信端口,接收、解析计算机的控制指令,将程控指令传递给执行子模块。程控指令包括以下几种:
●IDN查询命令,通信子模块直接反馈开关矩阵整机型号、名称信息。
●connect通道连接命令,典型值如:connect port1-port2,其中port1和port2为配置文件中端口控制指令,通信子模块将该命令传递给执行子模块。
●reset开关矩阵复位命令,将开关矩阵各个微波开关端口复位到初始状态。
3)反馈执行子模块的执行状态。根据执行子模块返回的信息将执行状态反馈到主控计算机。
3.3执行子模块
执行子模块接收到通信子模块或人机交互设备的通道切换指令后,根据通道名称查找到需要切换的开关端口列表,再按照开关端口列表的开关信息查询开关列表,完成开关端口的切换,反馈命令的执行状态。其具体工作如下:
1)接收通道切换指令。在开关矩阵本机控制软件中建立通道名称与相应通道内开关列表、通道控制指令与相应通道内开关列表的一一映射的列表,通道执行子模块接收通信子模块的程控指令或软件面板的人机交互信息,根据程控指令或交互信息查找通道内开关端口列表信息。
2)依据通道内开关列表信息查找相应的开关的地址和锁存信息,完成开关端口切换。在开关控制程序中增加开关状态寄存器,标记对应各个开关的不同位置。根据开关状态寄存器进行查询,如果显示开关处于正确的连通状态,则不对该开关进行连通控制;如果显示所需开关通道处于断开状态,则根据开关的具体分类该开关进行连通控制,并设置对应开关状态寄存器中的标志位为连通状态。
4 总结
本文通过分析开关矩阵的组成元素及其类型,通过载入XML通道配置文件实现开关矩阵控制软件的通用性,提高了开关矩阵的调试效率,同时具有一定的可扩展性,除了控制微波开关外还可以控制程控步进衰减器等TTL控制状态的微波器部件。
参考文献:
[1]李行善,左毅,孙杰. 自动测试系统集成技术[M]. 电子工业出版社,2004
[2]李士刚,刘文伟,姚崇斌. 微波开关矩阵设计与使用[J],应用天地,2009,24(7).
[3]郭瑞杰,王斌,丁捷.基于表格驱动的XML配置文件解析与生成技术[J].计算机工程与应用,2006,09
[4]孟小峰.XML数据管理概念与技术[M].北京:清华大学出版社,2009.1-312
(中电科思仪科技股份有限公司,山东 青岛 266555)
关键词:开关矩阵;控制软件;XML配置文件
引言
开关矩阵在自动测试系统中发挥着被测产品测试所需的各类微波信号的调理和分配的作用,在测试的时候把来自多台测试设备的不同信号分配至一个或者多个被测产品中。自动测试系统的研制针对特定型号或特定系列被测产品,因此开关矩阵的通道拓扑结构、信号调理需根据自动测试系统的测试功能进行设计。开关矩阵的控制软件也要根据通道设计需求重新编辑通道控制关系,软件工程师需要参与通道和开关数据编辑等繁杂冗余的工作,降低了软件工程师的工作效率,导致开关矩阵调试时间加长。
为提高软件工程师的工作效率,本文采用开关矩阵的开关控制关系、端口命令和通道拓扑结构等数据为XML配置文件形式,软件主体完成配置文件解析、通信交互和命令执行的工作,实现开关矩阵控制软件的可配置特性。
1微波开关类型分析
微波开关控制类型的划分关系到通道切换指令后开关的控制方式,本文以锁存类型和控制地址类型为分类标准对微波开关进行控制类型划分。
●锁存类型
锁存即礠保持,是微波开关中的基本配置选项,微波开关按照锁存类型划分分为有锁存和无锁存微波开关,主要区别是控制端口TTL电平断开后,开关能否保持断开前的状态。目前市场上的很多型号微波开关均有锁存配置选项。但是有锁存微波开关价格偏高,出于经济性考虑很多情况会选择配置无锁存开关。因此,本文以锁存类型为微波开关的一个控制选项。
●逻辑地址类型
控制地址类型是指微波开关是否由一个FPGA的逻辑地址控制。一般情况下,一个逻辑地址控制一个微波开关,但是当开关端口数量超出一个逻辑地址控制的端口数量时,也会出现两个逻辑地址控制一个开关的情况。在这种情况下需要协调控制两个控制地址的指令输出,只能有一个管脚输出的电平为高,避免出现多个开关端口同时打通的情况。控制示意图如下图所示。
2开关矩阵配置文件元素分析
开关矩阵以微波开关为基本硬件集合,构成开关矩阵的硬件基础。微波开关集合通过电缆连接不同开关之间的端口形成通道,所有的通道构成了开关矩阵的通道集合。因此,开关控制数据和通道数据构成了开关矩阵控制软件的数据核心。开关矩阵文件配置设计可将开关矩阵数据结构抽象为树形结构,以开关矩阵整机为根节点,以开关集合与通道集合为树的两个子节点。开关矩阵控制软件通过解析该树形数据结构,获取开关矩阵通道逻辑结构,从而实现对开关矩阵的控制。
XML是W3C组织提出的一种通用标记语言,任何标准的XML语法分析器都可以读取、解析、检验这种基于文本的自描述文档,并通过标准的数据访问接口以独立于平台的方式访问数据元素。由于XML文档也是树形结构的,与开关矩阵树形结构类似,而且XML文档树结构清晰,开关矩阵调试人员查看、编辑比较方便,本系统配置文件以XML格式实现,文件数据结构图如下图2所示。
图3为本软件开关矩阵数据文档模型,以开关矩阵整机为配置文件根节点,开关矩阵的型号名称、微波开关数据集、通道数据集和端口控制指令集合为组成开关矩阵控制软件的四个重要的子节点,对应为name_set、port_set、 switch_set和channel_set为XML文档树根节点switch_matrix的四个子节点,channel_set引用到了switch_set和port_set中的数据元素。
3可配置开关矩阵控制软件设计分析
软件按照功能划分为初始化子模块、通信子模块和命令执行子模块三部分,框架如下图3所示。
3.1初始化子模块设计
根据开关矩阵数据模型定义了微波同轴开关、微波通道等对象模型,在软件启动后根据配置文件初始化数据模型。初始化子模块的主要作用是开关矩阵软件启动后初始化开关矩阵硬件及开关矩阵数据集的相关状态。其主要工作包括以下几点:
1)载入并解析开关矩阵配置文件,初始化相应变量,建立开关矩阵模型。主要包括:
●初始化开关矩阵型号名称变量;
●初始化微波开关相关变量,建立微波开关数据列表,开关名称与开关数据一一映射存储;
●初始化通道相关变量,建立通道数据列表,通道名与通道数据一一映射存储。
2)检测LAN总线设备驱动状态,开放相应的TCP/IP端口。
3)检测GPIB总线设备驱动状态及相应端口开放状态。
3.2通信子模块设计
通信子模块负责开关矩阵与主控计算机通信,其作用就是建立与主控计算机的通信,接收主控計算机发出的程控指令,经过解析后将指令传递给执行模块进行开关通道的切换,最后把执行模块返回的执行状态返回给主控计算机。其主要工作包括以下几点:
1)通过与主控计算机的通信交互建立与主控计算机的通信。
2)监听通信端口,接收、解析计算机的控制指令,将程控指令传递给执行子模块。程控指令包括以下几种:
●IDN查询命令,通信子模块直接反馈开关矩阵整机型号、名称信息。
●connect通道连接命令,典型值如:connect port1-port2,其中port1和port2为配置文件中端口控制指令,通信子模块将该命令传递给执行子模块。
●reset开关矩阵复位命令,将开关矩阵各个微波开关端口复位到初始状态。
3)反馈执行子模块的执行状态。根据执行子模块返回的信息将执行状态反馈到主控计算机。
3.3执行子模块
执行子模块接收到通信子模块或人机交互设备的通道切换指令后,根据通道名称查找到需要切换的开关端口列表,再按照开关端口列表的开关信息查询开关列表,完成开关端口的切换,反馈命令的执行状态。其具体工作如下:
1)接收通道切换指令。在开关矩阵本机控制软件中建立通道名称与相应通道内开关列表、通道控制指令与相应通道内开关列表的一一映射的列表,通道执行子模块接收通信子模块的程控指令或软件面板的人机交互信息,根据程控指令或交互信息查找通道内开关端口列表信息。
2)依据通道内开关列表信息查找相应的开关的地址和锁存信息,完成开关端口切换。在开关控制程序中增加开关状态寄存器,标记对应各个开关的不同位置。根据开关状态寄存器进行查询,如果显示开关处于正确的连通状态,则不对该开关进行连通控制;如果显示所需开关通道处于断开状态,则根据开关的具体分类该开关进行连通控制,并设置对应开关状态寄存器中的标志位为连通状态。
4 总结
本文通过分析开关矩阵的组成元素及其类型,通过载入XML通道配置文件实现开关矩阵控制软件的通用性,提高了开关矩阵的调试效率,同时具有一定的可扩展性,除了控制微波开关外还可以控制程控步进衰减器等TTL控制状态的微波器部件。
参考文献:
[1]李行善,左毅,孙杰. 自动测试系统集成技术[M]. 电子工业出版社,2004
[2]李士刚,刘文伟,姚崇斌. 微波开关矩阵设计与使用[J],应用天地,2009,24(7).
[3]郭瑞杰,王斌,丁捷.基于表格驱动的XML配置文件解析与生成技术[J].计算机工程与应用,2006,09
[4]孟小峰.XML数据管理概念与技术[M].北京:清华大学出版社,2009.1-312
(中电科思仪科技股份有限公司,山东 青岛 266555)