当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:介绍了基于PXI总线技术和LabWindows/CVI软件开发平台的测试系统的总体结构及硬件构成,详细说明了系统软件的设计方案、功能及模块划分,并对人机交互界面进行了介绍。该系统可实现对百兆/千兆以太网及CAN总线数据传输质量的测试分析及相关的协议栈解包分析,而且系统可靠、稳定、安全和实用。

引言

以太网Ethernet)协议是当今现有局域网采用的最通用的通信协议标准,使用的是CSMA/CD(载波监听多路访问/冲突检测)的访问控制方法。CAN总线(ControlAreaNetwork,控制器局域)是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,使用的是CSMA/CA(载波监听多路访问/冲突避免)的访问控制方法。二者的主要区别在于对通信冲突的处理方式不同,从而决定了网络性能的不同。为实现方便快捷地对百兆/千兆以太网及CAN总线数据传输质量进行测试,并对相关的协议栈进行解包分析,本文给出了一种能够直观、快速地检测传输质量的测试系统设计方法。

1  系统整体设计构成

该系统是一种以太网、CAN总线数据传输质量及协议的测试分析系统,它能够实时监控测试正在运行中的网络参数和运行状态,可监控网络利用率、传输速率、帧速、帧大小等,并进行数据分析、协议分析和误码分析等。由于要求系统具有速度快,可靠性高,实用性强等特点,因此其硬件设备主要为两套PXI系统和两套连接PXI系统及控制计算机的PXI控制器。软件系统则是一套系统测试软件(Windows操作系统平台),可以包含所有设计的测试项目。

2  测试原理

本测试系统主要分为以太网测试和CAN总线测试两部分。但测试原理类似,均有端对端测试和环回测试两种测试模式。

端对端测试必须使用两套测试系统来组成如图1所示的测试链路。测试数据从测试仪I发出,经被测链路传输到测试仪Ⅱ上。在测试仪上,用户手动输入与测试仪I发出的测试数据和相同的参数设置,测试仪II接收到数据后,即可进行处理分析。

环回测试通常使用一台测试仪来与被测链路另一端进行环回连接。图2所示是其环回测试系统原理图。测试数据由测试仪产生后,即发送至被测链路。在被测链路另一端,则通过环回连接再次经过被测链路返回至测试仪,测试仪接收到后,即可进行自动分析与处理。

基于CVI的以太网和CAN总线传输

3  系统软件设计

软件设计是该测试系统设计的核心。软件功能最能体现系统的特性,其结构和用户界面设计的好坏直接影响着整个系统的性能指标。本系统采用Lab-Windows/CVI9.0为软件开发平台,CVI是NI公司针对测控领域推出的交互式C语言开发环境,具有很强的数据处理和分析功能,且与NI硬件驱动的整合能力较高。

测试系统分为以太网测试子系统和CAN总线测试子系统两部分,两个子系统使用不同的硬件设备和独立的软件程序。

3.1  以太网测试软件设计

以太网报文的组建和解包分析是整个以太网测试子系统软件设计的重点和关键。由于常规的以太网通讯中,用户接收到的或要发送的只是应用数据,而不是完整的以太网报文(一个完整的以太网报文由帧头、协议头部和应用数据构成),而且整个通讯过程不受用户支配,通讯中间若出现错误报文会被通讯软件丢掉。针对这一情况,本系统使用WinPcap技术进行通讯。对于四层网络结构来说,WinPcap技术可以穿过应用层、传输层和网络层,直接在数据链路层捕获或发送原始报文数据,因而可以控制整个通讯过程,校验每一帧报文,以确保对以太网链路测试的正确、有效。

以太网子系统由以下模块构成:报文结构定义及形成模块、测试配置模块、报文发送模块、误码插入模块(人为插入误码)、报文捕获模块、报文分析和统计模块、误码分析模块、数据显示模块、数据存储与还原模块和测试报告形成及打印模块。根据测试模式和测试端的不同,测试系统工作时可以调用不同模块来实现测试功能。其以太网测试程序结构图如图3所示。

基于CVI的以太网和CAN总线传输

在以太网测试的各个模块中,报文结构定义及形成模块、报文分析与统计模块和误码分析模块是核心模块。报文结构定义与形成的工作就是把应用数据一层层封装,添加协议头部和帧头,最终形成一个完整的以太网帧;报文分析的工作流程则相反,它把一个完整的报文层层剥离,剥离帧头和协议头部得到应用数据;误码分析的工作流程是校验每一层的协议头是否正确,并对应用数据用对比法进行校验,以判断这帧数据是否错误,有没有发生误码。

基于CVI的以太网和CAN总线传输

判断以太网帧有无发生误码,以及对各协议头部和数据进行校验所用的校验和程序如下:

基于CVI的以太网和CAN总线传输

基于CVI的以太网和CAN总线传输

3.2  CAN总线测试软件设计

CAN总线做为一种现场总线,在同一时刻只能有一个设备发送数据,该总线使用一系列显性电平和阴性电平作为数据的载体。鉴于这一情况,可以使用CAN总线卡的两个端口做为发送端和接收端(在环回模式时用同一个端口做为发送端和接收端)在被测链路上传输约定的测试数据和帧数,并使用NI5122示波器卡采集、测量CAN总线上的信号,最后把两种数据综合起来分析CAN总线的传输质量。CAN总线子系统由以下模块构成:CAN帧定义与形成、CAN设备获取、测试配置、CAN帧发送、CAN帧接收、数据分析、误码统计、数据显示、数据存储与还原、物理信号采集和测试报告形成与打印等。

CAN总线测试的测试数据釆用8级伪随机码,它具有类似白噪声的相关特性,故在通讯系统中被广发采用。使用线性同余算法计算8级伪随机码序列的公式如下:

基于CVI的以太网和CAN总线传输

该公式主要用递归方法得到模除后的伪随机数,从X(0)到X(n),每一项都只依赖于前面一项,一般地,X序列将产生m个不同的数,然后重复。其程序代码如下:

基于CVI的以太网和CAN总线传输

其中,RANDA.RANDC和RANDM使用的宏定义值分别为113,11和256。 

基于CVI的以太网和CAN总线传输

4  结语

本系统是选用PXI系统及PXI总线的模块化仪器,配合自行开发的软件,可以实现对以太网和CAN总线数据传输质量的测试分析。通过实验证明,该系统配置优良,性能满足技术需求,同时具有可靠性高,实用性强,操作简单,维护方便等特点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭