基于C语言的车载交换机检测仪设计

2019-01-07 11:57,,
计算机测量与控制 2018年12期
关键词:以太信令检测仪

,,

(1.中国人民解放军65183部队,辽宁 辽阳 111299;2.中国人民解放军71375部队,哈尔滨 150000;3.陆军装甲兵学院士官学校,长春 130117)

0 引言

某型指控装备车载交换机集计算机、网络和通信等多项技术于一体,其功能已经突破了传统意义上的语音交换,还兼有数据交换和IP交换功能,在设备多且密集的指控平台车上,它通过9个端口与其它多种通信设备相连接,成为指挥平台中的核心设备和信息枢纽。为能及时掌握和发现交换机技术性能变化,保证整个指控系统处良好的技术状态,对交换机的整机性能检测便成为维修保障人员重点关注的对象。由于交换机接口种类多,目前,用传统的仪器仪表进行检测,不仅涉及仪器种类和数量多、连接复杂、操作步骤繁琐等问题,甚至很难完成检测,而交换机又没有专用检测设备,只能依靠在指挥平台中通过检查它与其他设备的通信正常与否来判定交换机的技术性能,而在其他设备也存在问题时便无法判定交换机的技术性能,给维修保障增加了难度。本文针对这一问题,设计了车载交换机检测仪,解决了交换机不能在离线状态下进行整机性能检测问题,取得了较好效果。

1 检测仪功能及硬件组成

1.1 检测仪功能

检测仪能完成交换机9个端口的技术性能检测,从而判定其整机技术性能,它们是1个控制口,2个以太口,1模拟用户口,1个数字用户口,2个群路口以及2个远传群路口,其中模拟用户口包括20路模拟用户,数字用户口包括8路数字用户。

1.2 检测仪硬件组成

检测仪硬件主要由检测终端和检测适配器两部分组成,如图1 所示。检测适配器又由嵌入式计算机电路、以太网交换电路、FPGA电路、模拟接口电路、数字接口电路、模拟分户电路和数字分户电路组成。嵌入式计算机电路选用ARM9嵌入式计算机板,板内配有S3C2410AL-20嵌入式计算机芯片。以太网交换电路选用的是RTL8305SC芯片,最多支持16组VLAN。FPGA电路选用的是XC3S1000-FTG256E嵌入式FPFA芯片。

图1 交换机检测仪硬件原理图

2 检测仪软件组成及设计原理

检测仪软件由检测终端软件和检测适配器嵌入式计算机端软件两部分组成,两者之间通过以太网进行通信,如图2 所示。

图2 检测仪软件总体架构图

2.1 检测终端软件

检测终端软件采用C语言,在LabWindowsCVI软件环境编制,分为操作控制层、业务实现层和通信协议层三层。操作控制层,向上为用户提供图形化的操作界面,接收用户的配置输入并显示测试过程和测试结果;向下调用业务实现层的相关函数来完成控制命令生成和发送、测试数据接收和处理,并完成数据库的相关操作。业务实现层,管理函数用于实现交换机参数的自动查询和修改;通信接口用于实现测试命令的下发、接收和解析,并将测试数据发送到特定的测试功能函数实现测试信息交互;测试数据库用于记录测试数据,便于后期查询和生成报表。通信协议层,包括ICMP协议、SNMP协议、UDP协议及TCP/IP协议4个部分[1-2]。ICMP协议接收来自于整机测试模块的ping包测试命令,完成ICMP请求报文的封装和发送、ICMP响应报文的接收和解析,判断ping包测试结果并返回给整机测试模块[3-4];SNMP协议接收来自于管理函数的管理操作命令,完成SNMP报文的封装和发送、响应报文的接收,并将响应数据返回给管理函数进行分析和处理;UDP协议接收来自于通信接口的测试命令,完成UDP报文的封装和发送、响应报文的接收,并将响应报文内容返回给通信接口进行分析和处理。TCP/IP协议用于实现检测终端和适配器之间的网络通信。

2.2 检测适配器端软件

检测适配器的嵌入式计算机端采用Vxworks嵌入式系统,检测软件采用C语言,在Tornado软件环境编制,包括以太网接收模块、以太网发送模块、信令解析模块、控制口测试模块、模拟口测试模块和数字口测试模块共6个模块。

以太网接收模块以一个单独的任务运行,任务启动后,立即进入阻塞式等待,等待来自检测终端的测试命令消息,在收到测试命令消息后,立即通过消息队列送给信令解析模块,之后再次进入阻塞式等待。

信令解析模块以一个单独的任务运行,任务启动后,立即进入阻塞式等待,等待来自以太网接收模块的测试命令消息,在收到测试命令消息后,立即进行解析,并根据解析的结果启动控制口测试任务、模拟用户口测试任务或数字用户口测试任务,之后再次进入阻塞式等待。

模拟用户口测试模块仅在信令解析模块收到测试模拟用户口的命令后以任务的形式运行一次,任务开始后进行对应的测试,若在测试过程中发现异常则实时返回相关信息,同时任务结束,否则将完成所有测试操作后任务自动退出,模拟用户口测试模块依次完成注册、自动话机基本呼叫(双向)、注销3个功能。

数字用户口测试模块同模拟用户口测试模块,仅在信令解析模块收到测试数字用户口的命令后以任务的形式运行一次,任务开始后进行对应的测试,若在测试过程中发现异常则实时返回相关信息,同时任务结束,否则将完成所有测试操作后任务自动退出,数字用户接口测试模块依次完成注册、基本呼叫、数据测试、注销4个功能。

控制口测试模块仅在信令解析模块收到测试控制口的命令后以任务的形式运行一次,任务开始后进行对应的测试,若控制口测试异常则立即返回,同时任务结束,若控制口正常,则在完成指定以太网接口IP地址的配置后返回测试结果,同时任务结束。

以太网发送模块以一个单独的任务运行,任务启动后,立即进入阻塞式等待,等待来自于控制口测试模块、模拟用户口测试模块和数字用户口测试模块的测试数据,在收到测试数据消息后,立即通过以太网送给检测终端,之后再次进入阻塞式等待。

因此,在嵌入式计算机端各软件模块均以任务的形式存在,当以太网接收模块接收到数据后,通过消息队列发送给信令解析模块,信令解析模块根据信令的类型以任务的形式启动控制口测试模块、模拟用户口测试模块、数字用户口测试模块,完成对应测试后,通过消息队列将测试数据发送到以太网发送模块,同时任务自动消亡,以太网发送模块在收到测试数据后通过以太网将数据发送给检测终端,从而完成整个测试过程。

3 检测仪工作原理

检测仪对交换机9个端口的检测是通过运行检测软件自动完成,检测软件是采用C语言通过调用函数的方式实现各操作界面的显示和对交换机各端口的检测。在检测终端启动检测应用软件图标进入欢迎界面,在欢迎界面上点击进入系统按钮便进入测试配置界面,如图3所示。在配置界面选择要测试的端口和进行相应的参数配置后,点击确定按钮便进入测试状态界面,如图4所示,各端口均测试完毕后显示出各端口测试结果。

图3 检测终端测试配置界面

图4 检测终端测试状态界面

进入检测状态后,以控制口、以太口、数字用户口和群路口为例,其检测过程如下。

3.1 控制口检测

检测终端运行整机测试模块,调用业务实现层的控制口相关函数生成测试命令,并通过通信接口下发到通信协议层,按SNMP和UDP协议对测试命令进行封装形成报文,再以TCP/IP协议形式通过以太口,经适配器内的以太网交换电路至嵌入式计算机的CPU,被CPU内处于阻塞式等待状态的以太网接收模块接收,通过消息队列发送给信令解析模块,信令解析模块根据信令的类型以任务的形式启动控制口测试模块,通过RS-232控制口向交换机控制口发送测试命令,交换机接收到测试命令后经内部计算机处理,又通过控制口返回响应数据至控制口测试模块,完成对应测试后,通过消息队列将测试数据发送到以太网发送模块,同时任务自动消亡,以太网发送模块在收到测试数据后通过以太网将数据发送给检测终端,检测终端按TCP/IP、SNMP和UDP协议响应接收到的数据[5],并将响应数据返回给管理函数进行分析和处理后存于测试数据库,同时,在操作控制层显示检测结果,从而完成控制口检测。

3.2 以太口检测

对以太口的检测分两步,以检测以太口1为例,第一步是通过控制口设置以太口1的IP地址,第二步是利用“ping”命令检测以太口1的性能。

1) 以太口1的IP地址设置。检测终端调用业务实现层的以太口1相关函数生成测试命令,并通过通信接口下发到通信协议层,按SNMP和UDP协议对测试命令进行封装形成报文,再以TCP/IP协议形式通过以太口,经适配器内的以太网交换电路至嵌入式计算机的CPU,被CPU内处于阻塞式等待状态的以太网接收模块接收,通过消息队列发送给信令解析模块,信令解析模块根据信令的类型以任务的形式启动控制口测试模块中的以太口IP地址设置模块,通过RS-232控制口和交换机控制口设置以太口1的 IP地址,使以太口1可以和检测终端通过以太网进行通信,设置完成后,又通过控制口返回响应数据至以太口IP地址设置模块,通过消息队列将响应数据发送到以太网发送模块,同时任务自动消亡,以太网发送模块收到响应数据后通过以太网将数据发送给检测终端,检测终端按TCP/IP、SNMP和UDP协议响应接收到的数据,并将响应数据返回给管理函数进行分析和处理,判定设置成功后,进行下一步。

2)检测以太口1性能。检测终端运行整机测试模块中的Ping包测试命令,并按ICMP协议请求报文封装后通过以太口、适配器以太网交换电路对交换机以太口1进行Ping包测试[6-9],然后对ICMP响应报文进行接收和解析,根据解析结果判定以太口1的性能,完成以太口1的检测。

3.3 数字用户口检测

对数字用户口的检测分数字用户口速率设置、数字用户电话号码注册和数字用户呼叫三步,以检测用户1与用户5为例,将适配器数字接口第1路转接于数字用户1插孔,第2路转接于数字用户5插孔,如图1所示,检测过程如下:

1)数字用户口速率设置。检测终端整机测试模块,调用业务实现层带有已配置速率编码信息的数字用户口相关函数,按SNMP协议封装为控制命令,经检测终端的以太网口、适配器以太网交换电路和被测试交换机以太网口1发送到被测试交换机的主控,然后接收并判断交换机主控的响应信息,判定是否设置成功,若没成功给出相应提示信息,成功则进行下一步。

2)数字用户电话号码注册。检测终端调用业务实现层的数字用户口相关函数生成测试命令,并通过通信接口下发到通信协议层,按SNMP和UDP协议对测试命令进行封装形成报文,以TCP/IP协议形式通过以太口、适配器内以太网交换电路发送至嵌入式计算机的CPU,在CPU内通过接收、解析后运行数字用户口测试模块,控制FPGA电路和2路数字接口电路,通过交换机的数字用户口分别向交换机的数字用户通道板发送占用命令,并检测交换机是否正常送出确认指令,若没正常送出确认指令,则给出相应提示信息,若正常送出确认指令,则继续向交换机数字用户通道板分别发送带有两部电话号码信息的拨号指令,并检测交换机是否正常送出确认指令,若没正常送出确认指令,则给出相应提示信息,若正常送出确认指令,则进行下一步。

3)数字用户呼叫。继续运行数字用户口测试模块,控制FPGA电路和2路数字接口电路将数字用户第1路、第2路分别做为主叫和被叫各进行一次呼叫测试。做主叫的数字用户向交换机的数字用户通道板发送占用指令,并检测交换机是否正常送出确认指令,若没正常送出确认指令,则给出相应提示信息,若正常送出确认指令,则做主叫的数字用户向交换机的数字用户通道板发送带有被叫用户号码拨号指令,并在主叫端检测交换机送出的指令,在被叫端检测交换机送出的振铃指令,以判断是否呼叫成功,若呼叫没成功则给出相应提示信息,若呼叫成功,被叫用户端向交换机的数字用户通道板发送占用指令以建立通话,主叫用户端与被叫用户端相互发送数据并进行检测,若双向检测不正常则给出相应提示信息,若正常则在被叫用户端发送释放指令,在主叫用户端检测交换机是否送出释放指令,然后在主叫用户端发送释放指令,在被叫用户端检测交换机是否送出释放指令,若没有送出释放指令则给出相应提示信息,若送出释放指令则给出数字用户口检测正常提示信息。

3.4 群路口检测

群路口检测分群路口速率设置和群路口信令交互两步。

1)群路口速率设置。群路口速率设置过程与数字用户口速率设置过程相仿,此处不再赘述。

2)群路口信令交互。检测终端整机测试模块,调用业务实现层群路口相关函数,运行群路口检测程序,经检测终端的以太网口、适配器以太网交换电路、被测试交换机以太口1、群路1口和环路线缆向群路2口发送信令,并通过以太口1读取群路2口的接收信令,反之亦然,通过读取交互信令,判定群路口1和群路口2的性能,并在检测终端上显示检测结果。

4 实验结果与分析

检测仪进行实际应用前对各项检测功能均进行了实验,以下是对以太口和数字用户口的实验。

4.1 实验方法

4.1.1 实验拓扑图

以太口检测功能实验拓扑如图5所示,数字用户口检测功能实验拓扑如图6所示。

图5 以太口检测功能实验拓扑图

图6 数字用户口检测功能实验拓扑图

4.1.2 实验方法

以太口检测功能实验方法:在检测仪以太口与交换机以太口之间通过HUB(集线器)连接数据监控计算机,用于使用抓包工具WireShark捕捉测试数据。检测过程中通过断开交换机内以太网线或其他硬件电路的方式来控制ping不通的次数。使用检测仪对交换机以太口进行检测,ping10次,如果均ping通,则认为以太口正常,如果小于10次,则认为以太口异常,然后,通过核对检测仪的发包数量、监控计算机捕捉到的应答包数量及检测仪显示的检测结果三者之间是否符合这一逻辑关系来验证检测仪对以太口检测功能的正确性。

数字用户口检测功能实验方法:将检测仪分别接于数据用户口性能正常的交换机和性能异常的交换机。对性能异常的交换机是按照检测原理顺序分别设置产生注册、拨号及通话失败的各故障进行实验。在检测终端上运行检测软件,由软件界面控制检测仪和被测试交换机进行呼叫信令交互,如果信令交互过程异常,会向界面返回检测结果异常的提示信息,如果信令交互过程正常,则进入误码测试环节,误码测试中,误码数大于0个则接口异常,无误码则接口正常,检测过程是依据通信协议,在检测软件中实现。实验后通过核实检测结果是否与交换机的性能相一致来验证检测仪对数据用户口检测功能的正确性。

4.2 实验数据

1)以太口检测功能实验数据如表1所示。

表1 以太口检测功能实验数据 个

续表1

序号发包数量应答包数量预期结果检测结果6105异常异常7104异常异常8103异常异常9102异常异常10101异常异常11100异常异常

2)数字用户口检测功能实验数据如表2、表3所示。

表2 数字用户口性能正常的实验数据

表3 数字用户口性能异常的试验数据

4.3 实验结果分析

从4.2的实验数据来看,测试结果与预期结果完全一致,证明检测仪的检测功能正确。

5 关键技术及解决难题

1) 该检测仪综合运用计算机技术、网络通信技术和自动测试技术,采用“检测终端+适配器”的结构设计,实现了对交换机的整机性能检测,解决了交换机不能离线检测的难题,提高了修理效率。

2) 使用C语言,基于LabWindows/CVI和Tornado环境以及ICMP、UDP等通信协议,开发的整机性能检测软件,实现了对交换机共9个端口的通信性能检测,检测速度快,自动化程度高。

3) 采用适配器CPU内信令解析模块解析来自检测终端的测试命令,并根据解析结果执行不同检测程序的设计方法,实现了检测终端软件和适配器端软件的衔接,使之成为一个有机整体。

4) 采用以太网总线技术和标准UDP通信技术,解决了测试过程中因数据吞吐量大导致的处理速度慢、数据包丢失问题,保证了检测的快速性和测试结果的准确性。

6 结束语

本文基于C语言,综合运用计算机技术、网络通信技术和自动测试技术设计的检测仪,解决了车载交换机离线检测难的问题,克服了用传统仪器检测导致使用设备多、连接麻烦、操作步骤繁琐和检测时间长等缺点。实验和应用结果表明,该检测仪连接使用方便、检测速度快、自动化程度高,不仅为交换机增加了新的检测维修方法,也为其它指控设备的检测与维修开辟了新途径。

猜你喜欢
以太信令检测仪
基于活跃节点库的以太坊加密流量识别方法
以太万物理论概述
一种防雷接地装置的便携式检测仪电路
车易链:做汽车业的“以太坊”
体脂检测仪
浅谈JSQ-31 V5数字程控用户交换机NO.7及NO.1信令参数设定及不同
LTE网络信令采集数据的分析及探讨
A Study on the Contract Research Organization
巧用故障检测仪中的Reset功能
家庭食品安全检测仪