分布式测试系统的一种网络通信设计

发表于:2008-6-20 14:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试论坛

1 引言

        在测试系统中,常需要对多台仪器设备进行集中控制,并对它们的数据进行统一分析处理。测试系统智能化和自动化程度的提高对测试设备间的数据交换提出了更高的要求,这里,分布式控制成为一种十分有效的方式[1]。在分布式测试系统中,数据交换主要在主处理机与各智能控制单元间进行,根据测试系统的特点,其通信系统应具有良好的可靠性、通用性、扩展能力和简单的连接方式,并应能适应长距离传输的需要,在系统通信方式及其协议的制定中应充分考虑以上特点,以使其适应不同测试应用的需要。

2 物理层协议与接口设计

        为适应多控制节点和长距离通信的需要,本文采用RS—485半双工串行通信协议作为本测试控制网络的通信标准。由于采用了平衡驱动、差分接收方式,有效地减小了共模干扰等影响,从而使其传输距离和带负载能力等都较RS—232C有很大提高[2]。

        由于目前的PC机都配有RS—232C接口,故设计了一种RS—485接口,它可以安放在普通的转接头内,直接插到PC机的串口上,把PC机的RS—232C输出转换为RS—485输出,其结构如图1所示。与其它方法相比,这一方法具有接口方式简单、通用性强、体积小、成本低等优点。另外,我们还可在这一接口中加入智能控制单元,以适应与常规仪器设备通信的需要。

分布式测试系统的一种网络通信设计

图1 串行接口适配器

3 数据传输协议与软件设计

        分布式测试系统中,各测试设备主要与主处理机间进行数据通信,根据这一特点,本文决定采用较为明确的主从式通信作为系统通信方式[3],以保持系统功能的统一性并同时满足其余节点间通信的需要。

3.1 信息帧格式

        系统中数据与命令的传输均采用打包方式,数据帧格式如图2所示。其中,地址字节最高位规定为0,用以标志帧起始;采用可变长数据域,数据长度范围为1~255字节;采用两个字节进行数据校验;尾标志规定为0FFH,用以标志帧结束。字节传输格式规定为11位,即8位数据位,1位地址/数据标志位,1位起始位和1位停止位。为便于实现多机通信,把传输字节划分为地址类码与数据类码,地址类码第9位标志为1,可为所有处于听者状态的下位机接收;数据类码第9位标志为0,只能被指定的下位机接收。

        通信中,主机发送的命令和数据可分为针对指定下位机的址令和针对所有下位机的通令。为此,我们规定地址7FH为通令地址,发向该地址的命令可为所有下位机接收。为保证数据传输可靠,均采取应答方式进行通信,下位机接收到主机发出的数据后,立即回送状态信息。若超过指定时间仍未收到应答信息,则进行超时报警。本系统中约定用4个字节分别表示系统的通信和工作状态。其中,两个字节代表通信状态,两个字节代表控制器当前工作状态,可根据具体应用进行调整。这里,采用CRC方式进行数据校验,当发现数据传输错误时,主机采用自动反馈重发方法进行纠正。

分布式测试系统的一种网络通信设计

图2 数据通信帧格式

3.2 基于中断的通信软件设计

        为了保证主处理机进行数据处理等工作的时间,通信过程应尽量减小其影响,故在软件设计时,主要过程均采用中断驱动。发送信息时,只需将数据写入缓冲区,其后的过程即由中断接管;同样,接收过程也完全由中断管理,使主机在进行其它处理过程中无需任何等待。为适应不同的通信任务,特别是大数据量通信的需要,接收及发送部分均采用了环形缓冲区结构。为充分利用硬件资源,主要过程采用汇编语言编写,采用嵌入式汇编与汇编调用相结合的方法编写C语言通信函数,以实现与高层程序的接口。另外,各主要通信过程均构成独立的通信函数,可在任何采用该协议的通信网络中使用。图3所示为其中的串口中断处理流程。这里,数据的发送及接收均采取逐字节方式进行,以避免集中占用主机工作时间。

        采用以上通信协议和软件,基于总线型网络,我们方便地实现了PC机之间以及PC机与智能仪器间的数据通信,实验证明它们具有良好适应性。

分布式测试系统的一种网络通信设计

图3 串口中断处理流程

 

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号