一种基于串行通信端口的测试控制方法

文档序号:7740977阅读:163来源:国知局
专利名称:一种基于串行通信端口的测试控制方法
技术领域
本发明涉及通信领域的传输与控制技术和嵌入式领域的测试技术,特别是基于串 行通信端口的测试控制方法。
背景技术
电子产品都需要进行严格测试后才能交付用户使用。许多电子产品,尤其是电子 信息终端,都带有串行通信端口。很多测试方案都是通过串行通信端口进行的。整个测试 系统一般由测试控制系统、被测系统和测试通信媒介构成。测试控制系统一般为个人电脑 或服务器,其上运行有测试控制软件,用于发布测试控制命令、记录和处理测试结果;被测 系统一般为电子产品上的嵌入式系统,其上运行有测试执行软件,用于接收来自测试控制 系统的测试控制命令,执行测试命令,再把测试结果发送给测试控制系统。测试控制系统和 被测系统必须通过测试通信媒介交互信息。测试通信媒介可以是有线的也可以是无线的连 接,常见的测试通信媒介是串行通信连接方式。测试环境往往比较复杂,有时甚至是刻意安排的。测试通信媒介会受到一定的干 扰,而测试命令和数据等对于干扰是很敏感的。目前的测试控制方法有的不具有检错能力, 有的虽然具有检错能力,但只能通过重发请求来对抗干扰。在干扰持续时间较长的情况下, 会加重通信负担,严重影响测试,甚至导致无法测试。在这种情况下就需要有一种可靠稳定 的测试控制方法,来保证测试的顺利实施。

发明内容
技术问题本发明的目的是为了解决上述问题,提供一种基于串行通信端口的测 试控制方法,使得能够在有干扰的环境下保障可靠稳定的测试工作。技术方案为了实现上述目的,本发明采用如下技术方案一种基于串行通信端口的测试控制方法,包括底层基于链路数据包的处理方法和 上层基于帧的处理方法,其中上层基于帧的处理方法包括如下步骤步骤801,测试控制系统作为同步发起方,经过链路同步过程,与被测系统建立同 步数据链路;步骤802,测试控制系统根据测试项目和测试参数生成测试命令帧,测试命令帧依 次由测试项编号、测试命令类型、测试命令参数个数、测试命令参数长度和测试命令参数构 成;步骤803,测试控制系统将步骤802生成的测试命令帧发送给被测系统,若帧发送 过程成功,则进入步骤804 ;若帧发送过程失败,则取消本次测试,返回步骤801 ;步骤804,被测系统接收测试控制系统发送的测试命令帧,若帧接收过程失败,则 取消本次接收,进入步骤813 ;若帧接收检验通过,进入步骤805 ;若帧接收检验失败,进入 步骤808 ;步骤805,被测系统根据测试命令执行测试;
步骤806,被测系统测试完成,根据测试结果,生成测试结果帧;测试结果桢由测试项编号、测试结果类型、测试结果长度和测试结果内容构成;测试项编号与所执行的测试 命令的测试项编号一致,测试结果类型与所执行的测试命令的测试命令类型一致;步骤807,被测系统将步骤806生成的测试结果帧发送给测试控制系统,若发送过 程成功,则进入步骤810 ;若发送过程失败,则取消本次测试,进入步骤813 ;步骤808,被测系统根据测试命令帧被检验出的错误情况,生成测试命令拒收帧, 测试命令拒收帧由测试项编号、拒收测试命令类型、拒收测试命令原因和拒收原因附加参 数构成;测试项编号与所执行的测试命令的测试项编号一致,测试结果类型与所执行的测 试命令的测试命令类型一致;步骤809,被测系统将步骤808生成的测试命令拒收帧发送给测试控制系统,若帧 发送过程成功,则进入步骤810 ;若帧发送过程失败,则取消本次测试,进入步骤813 ;步骤810,测试控制系统等待测试结果,若成功接收检验到测试结果帧,则进入步 骤811 ;若成功接收检验到测试命令拒收帧,则进入步骤812 ;若帧接收检验过程失败,则取 消本次接收,返回步骤801 ;步骤811,测试控制系统处理测试结果帧,该项测试成功,再次返回步骤802进行 下一项测试;步骤812,测试控制系统处理测试命令拒收帧,该项测试失败,返回步骤802进行 下一项测试。步骤813,被测系统作为同步发起方,经过链路同步过程,与测试控制系统重新建 立同步数据链路,进入步骤802重新测试;测试控制系统与被测系统进行帧数据处理时,底层基于链路数据包的处理方法包 括链路同步、链路数据包生成、链路数据包解析、链路数据包发送和链路数据包接收五个过 程(1)链路同步过程包括以下几个步骤a.发送链路同步询问码;b.接收链路同步应答码;c.测试控制系统停止发送链路同步询问码,链路同步过程完成;(2)链路数据包生成过程包括以下几个步骤d.将上层的帧划分为帧数据块;e.将步骤d得到的帧数据块生成为原始数据包信息;f.将步骤e得到的原始数据包信息转换为链路编码数据包信息;g.基于步骤f得到的链路编码数据包信息,在其前后分别增加数据包起始码和数 据包结束码,构成完整数据包,链路数据包生成过程完成;(3)链路数据包解析过程包括以下几个步骤k.将接收到的链路编码数据解码为原始数据;1.将步骤k得到的原始数据组成原始数据包信息;m.对步骤1得到的原始数据包信息进行校验纠错;η.从步骤m校验纠错通过的原始数据包信息中提取数据包帧数据块,链路数据包 解析过程完成;
(4)链路数据包发送过程包括以下几个步骤ο.获得按照(2)所述链路数据包生成过程生成的链路数据包;p.发送步骤ο生成的链路数据包;q.接收链路数据包,发送回应并进行处理;(5)链路数据包接收过程包括以下几个步骤r.接收链路编码数据,匹配数据包起始码;s.通过链路数据包解析过程解析后续链路编码数据得到链路数据包;t.发送链路数据包应答;本发明的基于串行通信端口的测试控制方法中步骤804、步骤810中帧接收检验过程包括以下几个步骤A.按照(5)所述链路数据包接收过程,接收数据包;B.将步骤A接收到的链路数据包重新组装为帧;C.对步骤B组装好的帧进行检验。本发明的基于串行通信端口的测试控制方法中步骤803、步骤807中帧发送过程 包括以下几个步骤D.按照(2)所述链路数据包生成过程,将帧生成为若干数据包;E.按照(4)所述链路数据包发送过程,将步骤D生成的所有数据包发送给接收方。本发明的基于串行通信端口的测试控制方法中步骤e帧数据块生成原始数据包 信息的过程包括以下几个步骤h.在帧数据块前增加数据包类型;i.在数据包类型前增加数据包编号;j.在帧数据块后增加校验位,帧数据块即生成原始数据包信息。有益效果本发明通过建立可靠数据链路的传输,能够实现更加可靠稳定的基于 串行通信端口的测试控制。尤其适用于有长时间干扰的测试环境。且技术方案简单易行。


图1是本发明中测试控制方法交互图。图2是本发明中基于链路数据包的处理方法交互图。图3是本发明中链路数据包格式。图4是本发明中原始数据包信息格式。图5是本发明中测试命令帧格式。图6是本发明中测试结果帧格式。图7是本发明中测试命令拒收帧格式。图8是本发明中基于帧的处理方法交互图。
具体实施例方式下面结合附图对本发明的技术方案进行详细说明如图1所示,本发明的测试控制过程及交互方法。步骤801测试控制系统作为同步发起方,通过下文的链路同步过程,与被测系统建立同步数据链路。步骤802测试控制系统根据测试项目和测试参数生成测试命令帧,测试命令帧 格式如图5所示,依次由测试项编号、测试命令类型、测试命令参数个数、测试命令参数长 度和测试命令参数构成。每次测试都对应一个唯一的测试项编号,测试命令类型根据被测 系统和测试项目的不同会有所差异,测试命令参数个数与后续测试命令参数的数量一致, 测试命令参数长度与测试命令参数一一对应,记录了测试参数所占据的字节数。步骤803测试控制系统采用下文的帧发送过程,将步骤802生成的测试命令 帧发送给被测系统。若发送过程成功,则进入步骤804。若发送过程失败,则取消本次测 试,进入步骤801步骤804被测系统通过下文的帧接收过程接收测试控制系统发送的测试命令 帧。若帧接收过程失败,则取消本次接收,进入步骤813。若帧接收检验通过,那么进入步骤805。若帧接收检验失败,进入 步骤808步骤805被测系统根据测试命令执行测试;步骤806被测系统测试完成,根据测试结果,生成测试结果帧,其格式如图6所 示,由测试项编号、测试结果类型、测试结果长度和测试结果内容构成。测试项编号与所执 行的测试命令的测试项编号一致,测试结果类型与所执行的测试命令的测试命令类型一致。步骤807被测系统采用上述帧发送过程,将步骤806生成的测试结果帧发送 给测试控制系统。若发送过程成功,则进入步骤810。若发送过程失败,则取消本次测试, 进入步骤813步骤808被测系统根据测试命令帧被检验出的错误情况,生成测试命令拒收帧, 其格式如图7所示,由测试项编号、拒收测试命令类型、拒收测试命令原因和拒收原因附加 参数构成。测试项编号与所执行的测试命令的测试项编号一致,测试结果类型与与所执行 的测试命令的测试命令类型一致。步骤809被测系统采用下文的帧发送过程,将步骤808生成的测试命令拒收 帧发送给测试控制系统。若发送过程成功,则进入步骤810。若发送过程失败,则取消本 次测试,进入步骤813步骤810测试控制系统等待测试结果。若通过下文的帧接收检验过程,成功接 收检验到测试结果帧,则进入步骤811;若成功接收检验到测试命令拒收帧,则进入步骤 812;若帧接收检验过程失败,则取消本次接收,进入步骤801步骤811测试控制系统处理测试结果帧,该项测试成功。可以再次进入步骤 802进行下一项测试。步骤812测试控制系统处理测试命令拒收帧,该项测试失败。可以再次进入步 骤802进行下一项测试。步骤813被测系统作为同步发起方,通过下文的链路同步过程,与测试控制系统 重新建立同步数据链路。进入步骤802重新测试。本发明的底层基于链路数据包的处理过程包括链路的同步过程、链路数据包生 成过程、链路数据包解析过程、链路数据包发送过程和链路数据包接收过程。其具体实施方 式如下
(1)链路同步过程。步骤101同步发起方定时向接收方发送链路同步询问码。间隔时间可根据实际 串行通信端口的传输速率和测试系统的处理速度确定,一般为1秒。步骤102同步接收方只要接收到链路同步询问码,就向同步发起方发送链路同 步应答码。步骤103同步发起方一旦接收到链路同步应答码,就停止向接收方发送链路同 步询问码。至此链路同步过程完成,链路处于同步状态。(2)链路数据包生成过程,如图3所示,是本发明中链路数据 包格式。步骤201将上层的帧按照固定大小(最好为16字节)划分为若干帧数据块,最 后一段数据不足的用0补齐。步骤202由各帧数据块生成原始数据包信息(最好为20字节)。生成方法为 根据帧类型和各段数据所处位置,确定各数据包类型(最好为1字节),附加在数据包帧数 据块之前;根据各段数据的相对顺序,基于当前已发数据包编号继续编号,从而确定各数据 包编号(最好为1字节),附加在数据包类型之前;根据数据包编号、数据包类型和数据包 帧数据块,通过可纠错编码(最好采用BCH(160,144)编码)生成各数据包校验码(最好为 2字节),附加在数据包帧数据块之后。顺次由数据包编号、数据包类型、数据包帧数据块和 数据包校验码构成完整的原始数据包信息。BCH编码是常见的纠错编码,其编码技术实现显 而易见,这里省略其相关说明。步骤203通过链路编码的编码表,将原始数据包信息转换为链路编码数据包信 息(最好为40字节)。如图4所示,是本发明中原始数据包信息格式。步骤204分别将数据包起始码和数据包结束码添加到链路编码数据包信息的前 后,构成完整的链路数据包(最好为42字节)。(3)链路数据包解析过程步骤301通过链路编码的解码表,解码接收到的每个字节。当解码结果是特殊 码或异常码,或者所接收到的字节数超过了链路数据包的固定长度时,链路数据包的解码 结束。若成功解码的字节数不是链路数据包的固定长度或最后一个解码结果不是数据包结 束码,解析失败。若解析成功,从解析结果中剔除数据包结束码,得到原始数据包信息。步骤302从原始数据信息包中提取尾部的数据包校验码,对前部的数据包编号、 数据包类型、数据包帧数据块进行检错和纠错。若发现错误并无法纠正,则解析失败。BCH 编码是常见的纠错编码,其解码技术实现显而易见,这里省略其相关说明。步骤303检查该数据包编码是否与上次收到的正确数据包编号连续,若连续,提 取数据包类型和数据包帧数据块交上层组装成帧。否则,解析失败。如图2所示,基于链路数据包的处理方法交互(4)链路数据包发送过程步骤401获得待发送的单个链路数据包,若无链路数据包需要发送,退出发送过程。步骤402通过串行通信端口发送单个链路数据包。步骤403等待链路数据包发送回应。若收到数据包确认接收码,发送成功,回到步骤401进行下一个链路数据包的发送过程;若收到数据包重发请求码,进入步骤404;若响应超时(即在设定时间内两者都未收到),发送过程失败;若收到链路同步应答码,忽略,继续步骤403步骤404重发计数加1。若重发计数超过预设值,发送过程失败,若未超过,则重 新从步骤402开始执行;。(5)链路数据包接收过程步骤501通过串行通信端口接收数据包起始码。若收到的是数据包起始码,进 入步骤502;若收到的是链路同步询问码,则发送链路同步应答码,继续步骤501;若收 到其他内容,接收过程失败。步骤502采用上述链路数据包解析过程解析后续接收的数据,若解析成功,发送 数据包确认接收码,该链路数据包接收过程完成,回到步骤501进行下一个链路数据包接 收过程。若解析失败,进入步骤503步骤503发送数据包重发请求码,重发请求计数加1。若重发计数超过预设值, 接收过程失败,若未超过,则回到步骤501重新接收数据。上层基于帧的处理过程包括帧发送过程、帧接收检验过程和测试控制过程。其具 体实施方式如图8所示(6)帧发送过程步骤601发送方采用上述链路数据包生成过程,将帧生成为若干链路数据包。步骤602发送方采用上述链路数据包发送过程,将步骤601生成的所有链路 数据包发送给接收方。若所有链路数据包发送过程均成功,则帧发送成功。若某个链路数 据包发送过程失败,则帧发送失败。(7)帧接收检验过程步骤701接收方采用上述链路数据包接收过程,将接收到的链路数据包按照数 据包编号和数据包类型重新组装帧。若所有链路数据包接收过程成功,则进入步骤702
进行帧检验。若某个链路数据包接收过程失败,则帧接收失败。步骤702接收方按照对应的帧格式要求检验重新组装的帧。若检验通过,则帧 接收检验成功。否则帧接收检验失败。
权利要求
一种基于串行通信端口的测试控制方法,其特征在于包括底层基于链路数据包的处理方法和上层基于帧的处理方法,其中上层基于帧的处理方法包括如下步骤步骤801,测试控制系统作为同步发起方,经过链路同步过程,与被测系统建立同步数据链路;步骤802,测试控制系统根据测试项目和测试参数生成测试命令帧,测试命令帧依次由测试项编号、测试命令类型、测试命令参数个数、测试命令参数长度和测试命令参数构成;步骤803,测试控制系统将步骤802生成的测试命令帧发送给被测系统,若帧发送过程成功,则进入步骤804;若帧发送过程失败,则取消本次测试,返回步骤801;步骤804,被测系统接收测试控制系统发送的测试命令帧,若帧接收过程失败,则取消本次接收,进入步骤813;若帧接收检验通过,进入步骤805;若帧接收检验失败,进入步骤808;步骤805,被测系统根据测试命令执行测试;步骤806,被测系统测试完成,根据测试结果,生成测试结果帧;测试结果桢由测试项编号、测试结果类型、测试结果长度和测试结果内容构成;测试项编号与所执行的测试命令的测试项编号一致,测试结果类型与所执行的测试命令的测试命令类型一致;步骤807,被测系统将步骤806生成的测试结果帧发送给测试控制系统,若发送过程成功,则进入步骤810;若发送过程失败,则取消本次测试,进入步骤813;步骤808,被测系统根据测试命令帧被检验出的错误情况,生成测试命令拒收帧,测试命令拒收帧由测试项编号、拒收测试命令类型、拒收测试命令原因和拒收原因附加参数构成;测试项编号与所执行的测试命令的测试项编号一致,测试结果类型与所执行的测试命令的测试命令类型一致;步骤809,被测系统将步骤808生成的测试命令拒收帧发送给测试控制系统,若帧发送过程成功,则进入步骤810;若帧发送过程失败,则取消本次测试,进入步骤813;步骤810,测试控制系统等待测试结果,若成功接收检验到测试结果帧,则进入步骤811;若成功接收检验到测试命令拒收帧,则进入步骤812;若帧接收检验过程失败,则取消本次接收,返回步骤801;步骤811,测试控制系统处理测试结果帧,该项测试成功,再次返回步骤802进行下一项测试; 步骤812,测试控制系统处理测试命令拒收帧,该项测试失败,返回步骤802进行下一项测试。步骤813,被测系统作为同步发起方,经过链路同步过程,与测试控制系统重新建立同步数据链路,进入步骤802重新测试;测试控制系统与被测系统进行帧数据处理时,底层基于链路数据包的处理方法包括链路同步、链路数据包生成、链路数据包解析、链路数据包发送和链路数据包接收五个过程(1)链路同步过程包括以下几个步骤a.发送链路同步询问码;b.接收链路同步应答码;c.测试控制系统停止发送链路同步询问码,链路同步过程完成;(2)链路数据包生成过程包括以下几个步骤d.将上层的帧划分为帧数据块;e.将步骤d得到的帧数据块生成为原始数据包信息;f.将步骤e得到的原始数据包信息转换为链路编码数据包信息;g.基于步骤f得到的链路编码数据包信息,在其前后分别增加数据包起始码和数据包结束码,构成完整数据包,链路数据包生成过程完成;(3)链路数据包解析过程包括以下几个步骤k.将接收到的链路编码数据解码为原始数据;l.将步骤k得到的原始数据组成原始数据包信息;m.对步骤1得到的原始数据包信息进行校验纠错;n.从步骤m校验纠错通过的原始数据包信息中提取数据包帧数据块,链路数据包解析过程完成;(4)链路数据包发送过程包括以下几个步骤o.获得按照(2)所述链路数据包生成过程生成的链路数据包;p.发送步骤o生成的链路数据包;q.接收链路数据包,发送回应并进行处理;(5)链路数据包接收过程包括以下几个步骤r.接收链路编码数据,匹配数据包起始码;s.通过链路数据包解析过程解析后续链路编码数据得到链路数据包;t.发送链路数据包应答。
2.根据权利要求1所述的基于串行通信端口的测试控制方法,其特征在于所述步骤 804、步骤810中帧接收检验过程包括以下几个步骤A.按照(5)所述链路数据包接收过程,接收数据包;B.将步骤A接收到的链路数据包重新组装为帧;C.对步骤B组装好的帧进行检验。
3.根据权利要求1所述的基于串行通信端口的测试控制方法,其特征在于所述步骤 803、步骤807中帧发送过程包括以下几个步骤D.按照(2)所述链路数据包生成过程,将帧生成为若干数据包;E.按照(4)所述链路数据包发送过程,将步骤D生成的所有数据包发送给接收方。
4.根据权利要求1所述的基于串行通信端口的测试控制方法,其特征在于所述步骤e 帧数据块生成原始数据包信息的过程包括以下几个步骤H.在帧数据块前增加数据包类型;I.在数据包类型前增加数据包编号;J.在帧数据块后增加校验位,帧数据块即生成原始数据包信息。
全文摘要
本发明提供一种基于串行通信端口的测试控制方法,该测试控制方法包括底层基于链路数据包的处理方法和上层基于帧的处理方法。底层基于链路数据包的处理方法包括链路同步、链路数据包生成、链路数据包解析、链路数据包发送和链路数据包接收等五个过程。上层基于帧的处理方法包括帧发送、帧接收检验和测试控制等三个过程。本发明是通过提供一种基于串行通信端口的测试控制方法,其具有自纠错和自恢复的功能,使得能够在有干扰的环境下保障测试工作的可靠稳定。
文档编号H04L1/24GK101820329SQ20101010230
公开日2010年9月1日 申请日期2010年1月28日 优先权日2010年1月28日
发明者戚隆宁, 黄少珉 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1