一种基于udp协议分布式硬件远程通讯系统及其控制方法
技术领域
1.本技术涉及数据通信技术领域,尤其涉及一种基于udp协议分布式硬件远程通讯系统及其控制方法。
背景技术:2.在嵌入式系统测试中,随着通信总线类的使用越来越多,测试中所需要的硬件支持也随之增多。现有测试硬件通常需要升级改造,改造成本大,设备端使用的操作系统也不支持现有新的硬件驱动,设备的通用性降低。
3.新增一套测试硬件用来对现有测试环境的扩充,一般测试设备为了简化操作,大都使用单机版的测试软件。单机版测试软件扩展性不够强,多个硬件之间建立数据通讯也受到一定的限制。
技术实现要素:4.有鉴于此,本技术实施例提供一种基于udp协议分布式硬件远程通讯控制方法,通过扩展现有硬件驱动,实现嵌入式系统测试中对多种类别硬件的需求,使之兼容原有硬件板卡。在不改变现有硬件的基础上,增加udp通讯协议,封装硬件驱动层,改变嵌入式产品通讯总线的测试需求,提升测试效率。
5.第一方面,本技术实施例提供一种基于udp协议分布式硬件远程通讯系统,所述系统包括主控计算机、以及多个与所述主控计算机通讯连接的测试设备,各所述测试设备均配置有一个或者多个硬件板卡;
6.所述主控计算机用于向所述测试设备发送指令,所述主控计算机与所述测试设备采用udp通讯协议进行通讯;
7.所述测试设备用于接收所述指令并进行解析,根据解析后的指令驱动所述硬件板卡;
8.所述硬件板卡与被测产品进行通讯连接,被驱动后对所述被测产品进行测试以及接收所述被测产品的反馈信息,并将所述反馈信息传输至所述测试设备;
9.所述测试设备用于接收所述反馈信息并进行解析,并将解析后的反馈信息转换成udp协议的数据,通过udp通道传输至主控计算机进行分析。
10.根据本技术实施例的一种具体实现方式,所述封装硬件板卡的驱动层被封装为应用程序接口,所述应用程序接口用于被所述测试设备进行调用。
11.根据本技术实施例的一种具体实现方式,所述应用程序接口的参数信息包括:硬件板卡初始化的参数信息、配置信息加载的参数信息、使用通道的参数信息和数据收发的参数信息。
12.根据本技术实施例的一种具体实现方式,所述测试设备端设有数据协议模块,所述数据协议模块用于按照udp通讯协议制定通讯协议格式。
13.根据本技术实施例的一种具体实现方式,所述通讯协议格式包括包头、硬件板卡
类型、硬件板卡通道、数据消息号、实际数据和数据校验。
14.根据本技术实施例的一种具体实现方式,所述包头包括发送信息标识和接收信息标识;
15.所述硬件板卡类型采用阿拉伯数字按顺序对不同的所述硬件板卡进行标识;
16.所述硬件板卡通道号用于根据所述硬件板卡通道的数量,规定使用所述硬件板卡的具体通道进行通讯;
17.所述数据消息号用于规定所述硬件板卡发送或接收的具体msgid;
18.所述实际数据用于规定实际收发数据的数量,以及真实数据;
19.所述数据校验用于规定一种校验方式,对所述包头至所述实际数据的数据信息进行校验,保证数据的可靠性。
20.根据本技术实施例的一种具体实现方式,所述硬件板卡通过执行线程机制接收所述主控计算机的指令,通过调用所述数据协议模块,对数据进行分析。
21.根据本技术实施例的一种具体实现方式,所述测设设备对所述指令/所述反馈信息的解析通过设备端中驻留的程序完成,分析数据的含义,针对字节意义进行数据的发送,数据的收发采用udp通讯协议。
22.第二方面,本技术实施例还提供一种基于udp协议分布式硬件远程通讯系统的控制方法,采用如第一方面任一实施例所述的基于udp协议分布式硬件远程通讯系统,所述控制方法包括如下步骤:
23.s1、主控计算机通过udp通讯协议向多个测试设备发送测试指令;
24.s2、所述测试设备接收所述测试指令并对所述测试指令进行解析,根据解析后的测试指令驱动所述硬件板卡;
25.s3、所述硬件板卡与被测产品进行通讯连接,所述硬件板卡被驱动后对所述被测产品进行测试;
26.s4、所述硬件板卡接收所述被测产品的反馈信息,并将所述反馈信息传输至所述测试设备;
27.s5、所述测试设备接收所述反馈信息并进行解析,解析后的所述反馈信息通过所述udp通讯协议传输至所述主控计算机进行分析。
28.根据本技术实施例的一种具体实现方式,所述步骤s2中具体包括如下步骤:
29.s201、驻留在测试设备的程序执行初始化所述硬件板卡的操作;
30.s202、执行初始化udp通讯socket过程,网络链接成功则启动线程等待机制跳转到步骤203,否则检查网络链接;
31.s203、启动线程机制,循环检测绑定至所述硬件板卡上的udp端口数据,所述udp端口数据为所述主控计算机发出的所述测试指令;
32.s204、检测到有接收到数据时,跳转到步骤205,否则在线程中继续等待检测数据;
33.s205、进行数据通讯包头判断,判断正确则跳转到步骤206进行数据解析,否则就return出去本次检测,继续等待数据;
34.s206、执行数据解析操作,针对按照udp通讯协议制定的通讯协议格式,进行相关数据的解析,转换为所述硬件板卡可识别的指令;
35.s207、将解析后的指令按封装的硬件驱动应用程序接口进行填充,填充到应用程
序接口的相应参数中进行所述硬件板卡的执行操作,驱动所述硬件板卡进行数据的发送。
36.有益效果
37.本技术实施例中的基于udp协议分布式硬件远程通讯系统,在测试设备端兼容了单机版硬件驱动数据的交互,实现了网络udp通讯驱动数据交互的兼容,扩展了测试硬件的应用范围,在满足数据通讯任务的前提下,利用udp协议灵活交互能力,在测试和产品时提供了更丰富的手段。
38.本发明提出的控制方法可以在嵌入式系统测试中广泛应用,采用的方法定位于驻留在设备端的程序,不受测试平台和操作系统的影响,具有极好的继承性、扩展性及移植性。
附图说明
39.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
40.图1为根据本发明一实施例的基于udp协议分布式硬件远程通讯系统的示意图;
41.图2为根据本发明一实施例的基于udp协议分布式硬件远程通讯系统的控制方法流程图。
具体实施方式
42.下面结合附图对本技术实施例进行详细描述。
43.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
45.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
46.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的
技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
47.第一方面,本技术实施例提供一种基于udp协议分布式硬件远程通讯系统,参照图1,具体包括主控计算机、以及多个与主控计算机通讯连接的测试设备,各测试设备均配置有一个硬件板卡。
48.具体的,主控计算机用于向测试设备发送指令,主控计算机与测试设备之间采用udp通讯协议进行通讯,主控计算机可通过交换机连接到多个测试设备终端,测试设备终端上电进行硬件板卡的一系列初始化操作,构建udp数据通道。测设设备用于接收主控计算机发送的指令并进行解析,根据解析后的指令驱动硬件板卡;硬件板卡与被测产品进行通讯连接,被驱动后对被测产品进行测试以及接收被测产品的反馈信息,并将反馈信息传输至测试设备;测试设备用于接收反馈信息并进行解析,并将解析后的反馈信息转换成udp协议的数据,通过udp通道传输至主控计算机进行分析。
49.在利用上述系统进行测试之前,需要对硬件板卡的驱动层进行封装,具体的,通过调用硬件厂商的sdk(software development kit,软件开发工具包),对硬件板卡进行驱动层的封装,主要实现硬件的初始化,硬件板卡的配置信息加载,硬件数据的发送和接收等基本功能,封装成api(application programming interface,应用程序接口),提供给上层应用程序调用。api包括了硬件的初始化、配置信息加载、使用通道、数据收发等各类参数信息。
50.进一步的,在测试设备端还需要进行制定数据协议模块,数据协议模块用于按照udp通讯协议制定符合规定的通讯协议格式,通讯协议格式包括包头、硬件板卡类型、硬件板卡通道、数据消息号、实际数据和数据校验。
51.在一个实施例中,包头包括发送信息标识和接收信息标识,例如,采用自定义的0xfe标识,代表发送的信息,0xfd标识代表接收信息。
52.硬件板卡类型采用阿拉伯数字按顺序对不同的硬件板卡进行标识,例如,1394、afdx/fcae/1533等类型的硬件板卡,每新增一种硬件板卡,就增加1个序列号。
53.硬件板卡通道号用于根据硬件板卡通道的数量,规定使用硬件板卡的具体通道进行通讯,如板卡通道数量过多的,规定使用板卡的具体通道进行通讯。
54.数据消息号用于规定硬件板卡发送或接收的具体msgid,过滤掉不需要的消息号。
55.实际数据用于规定实际收发数据的数量,以及真实数据。
56.数据校验用于规定一种校验方式,对包头至实际数据的数据信息进行校验,保证数据的可靠性。
57.进一步的,硬件板卡通过执行线程机制接收主控计算机的指令,通过调用数据协议模块,对数据进行分析。具体的,硬件板卡上电初始化完成后,执行线程函数,等待主控计算机的指令,接收到指令后,通过调用数据协议模块,对数据进行有效分析。根据指令的含义驱动相应的硬件板卡,发送相关命令对被测产品进行总线测试。被测产品接收命令后执行相应操作,操作结果反馈给硬件板卡,硬件板卡再将结果转化为udp通讯协议格式的数据,反馈给主控计算机。
58.进一步的,主控计算机通过网络协议发过来udp数据,测设设备对指令/反馈信息的解析通过设备端中驻留的程序完成,分析数据的含义,针对字节意义进行数据的发送,数据的收发采用udp通讯协议。
59.第二方面,本技术实施例还提供一种基于udp协议分布式硬件远程通讯系统的控制方法,采用如第一方面任一实施例的基于udp协议分布式硬件远程通讯系统,参照图2,图中描述了本实施例的控制方法的主要流程,主要包括以下步骤:
60.s1、主控计算机通过udp通讯协议向多个测试设备发送测试指令。
61.s2、测试设备接收测试指令并对测试指令进行解析,根据解析后的测试指令驱动硬件板卡。该步骤具体包括如下步骤:
62.s200、测试设备上电,驻留在测试设备的程序开启服务,正常运行;
63.s201、驻留在测试设备的程序执行初始化硬件板卡的操作,确保硬件安装正确无误,如有故障,需要自行检测硬件;
64.s202、执行初始化udp通讯socket过程,网络链接成功则启动线程等待机制跳转到步骤203,否则检查网络链接;
65.s203、启动线程机制,循环检测绑定至硬件板卡上的udp端口数据,udp端口数据为主控计算机发出的测试指令,在此过程为防止处理数据造成程序卡顿,接收数据不及时,特采用线程机制进行操作;
66.s204、检测到有接收到数据时,跳转到步骤205,否则在线程中继续等待检测数据;
67.s205、进行数据通讯包头判断,判断正确则跳转到步骤206进行数据解析,否则就return出去本次检测,继续等待数据;
68.s206、执行数据解析操作,针对按照udp通讯协议制定的通讯协议格式,进行相关数据的解析,包括解析包头,硬件类型,硬件通道,收发数据消息号,实际数据,数据校验板等数据信息,转换为硬件板卡可识别的指令;
69.s207、将解析后的指令即udp解析后的数据,按封装的硬件驱动应用程序接口(api)进行填充,填充到应用程序接口的相应参数中进行硬件板卡的执行操作,驱动硬件板卡进行数据的发送,进而测试被测产品的总线协议,被测产品为嵌入式产品。
70.s3、硬件板卡与被测产品进行通讯连接,硬件板卡被驱动后对被测产品进行测试,硬件板卡发送指令执行成功后,嵌入式产品将对指令做出相应的反馈信息。
71.s4、硬件板卡接收被测产品的反馈信息,并将反馈信息传输至测试设备,即硬件执行完成反馈指令;
72.s5、所述测试设备接收所述反馈信息并进行解析,解析后的所述反馈信息通过所述udp通讯协议传输至所述主控计算机进行分析。具体包括如下步骤:
73.s501、所述测试设备接收所述反馈信息失败,即指令执行失败,则根据错误的代码值生成相应的错误信息,并将相应的错误信息按预定udp通讯协议格式进行反向组装;
74.s502、若所述测试设备接收所述反馈信息成功,即指令执行成功,则将数据信息按预定udp通讯协议格式进行反向组装;
75.s503、将组装完成的反馈信息通过udp通讯协议传输至主控计算机,发送完成后,继续返回线程机制检测下次数据,程序正常启动后,将一直在线程中循环,直至退出应用程序。
76.本发明提供的系统,主要是在主控计算机端发起udp请求,连接到多个测试设备终端,测试设备终端上电进行硬件的一系列初始化操作,构建udp数据通道,接收主控计算机的命令,对硬件进行操控,实现控制硬件总线对嵌入式产品的系统测试,测试反馈结果由硬
件收集反馈信息,转发给主控计算机,完成一系列的操控任务。
77.本发明基于udp协议分布式硬件板卡远程通讯控制方法,对现有测试硬件进行扩展,增加udp协议,通过网络的方式,完成多个测试设备,多个硬件板卡之间的数据交互。使硬件板卡与网络调试相结合,也支持硬件板卡与主控机系统软件的数据交互。嵌入式测试软件,分为应用层端、中间层、驱动层,本发明驻留在中间层,将硬件板卡驱动层进行封装,定义udp传输的协议,与应用层进行通讯。主控计算机使用硬件板卡时,与硬件板卡所使用的操作系统,硬件板卡物理位置无关,具有极好的继承性、扩展性及移植性。
78.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。