仿真系统通信方法和仿真系统的制作方法

文档序号:7997028阅读:260来源:国知局
仿真系统通信方法和仿真系统的制作方法
【专利摘要】本发明提供一种仿真系统通信方法和仿真系统,其中方法包括:主设备向从设备发送请求消息;所述主设备接收所述从设备返回的请求响应类消息中的一种消息,并判断所述请求响应类消息中的一种消息是否接收超时,所述请求响应类消息包括所述从设备在判断出所述请求消息为第一消息时返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息;所述主设备在接收超时时,重新发送所述请求消息或进行超时错误处理。本发明提供的仿真系统通信方法和仿真系统用于解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并能够实现自动纠正。
【专利说明】仿真系统通信方法和仿真系统
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种仿真系统通信方法和仿真系统。
【背景技术】
[0002]目前,在微控制器的应用开发过程中通常采用仿真器对软件和硬件进行仿真和调试。仿真器包括主控板及主控固件、仿真板、适配板和电源板,还需要与仿真器配套的上位机仿真软件。其中,主控板上设置有主控芯片,主控固件是固化在主控芯片中的软件,仿真板上设置有仿真芯片,主控芯片可用于控制仿真芯片执行仿真操作。应用仿真器进行测试的过程中,外部环境干扰或用户开发板发生异常等会导致仿真器通讯中断、仿真出错甚至死机等现象,因此对仿真器的抗干扰性和稳定性的改进非常重要。
[0003]现有技术中对仿真器抗干扰性和稳定性的改进通常在硬件上作改进,包括改进仿真器的电源模块设计、电路板布线设计、增加滤波电路、选用性能稳定的通信芯片或改进适配板的连接方法等,这些改进在一定程度上能够降低仿真器受干扰的程度,但是仍然无法避免因受到干扰而导致的通信失败或仿真数据出错的问题,且无法实现自动纠正。

【发明内容】

[0004]本发明提供一种仿真系统通信方法和仿真系统,用于解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。
[0005]本发明实施例提供一种仿真系统通信方法,包括:
[0006]主设备向从设备发送请求消息;
[0007]所述主设备接收所述从设备返回的请求响应类消息中的一种消息,并判断所述请求响应类消息中的一种消息是否接收超时,所述请求响应类消息包括所述从设备在判断出所述请求消息为第一消息时返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息;
[0008]所述主设备在接收超时时,重新发送所述请求消息或进行超时错误处理。
[0009]本发明实施例提供一种仿真系统通信方法,包括:
[0010]从设备接收主设备发送的请求消息,并判断所述请求消息是否接收超时;
[0011]所述从设备在发生接收超时时,向所述主设备发送重发请求,以及在未发生接收超时时,向所述主设备返回请求响应类消息中的一种消息,所述请求响应类消息包括:所述从设备在判断出所述请求消息为第一消息时向所述主设备返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时向所述主设备返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息。[0012]本发明实施例提供一种仿真系统,包括主设备和从设备,所述主设备用于向所述从设备发送请求消息;接收所述从设备返回的请求响应类消息中的一种消息,并判断所述请求响应类消息中的一种消息是否接收超时,所述请求响应类消息包括所述从设备在判断出所述请求消息为第一消息时返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息;在接收超时时,重新发送所述请求消息或进行超时错误处理;
[0013]所述从设备用于接收所述主设备发送的请求消息,并判断所述请求消息是否接收超时;在发生接收超时时,向所述主设备发送重发请求,以及在未发生接收超时时,向所述主设备返回所述请求响应类消息中的一种消息。
[0014]本发明实施例的技术方案通过主设备向从设备发送请求消息,从设备判断该请求消息是否接收超时,若未超时,则向主设备发送请求响应消息,并判断该请求响应消息是否发送超时,主设备判断该请求响应消息是否接收超时,当主设备接收超时时,重新发送所述请求消息或进行超时错误处理,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且通过从设备对第一消息和第二消息进行辨别,针对处理时间不同的消息,从设备向主设备发送不同的响应消息,能够避免在从设备对请求消息的处理还未结束时,主设备误报错的情况发生。
【专利附图】

【附图说明】
[0015]图1为本发明实施例一提供的仿真系统通信方法的流程图;
[0016]图2为本发明实施例一提供的仿真系统通信方法中从设备的顶层数据流示意图;
[0017]图3为本发明实施例一提供的仿真系统通信方法中请求消息的消息帧结构示意图;
[0018]图4为本发明实施例二提供的仿真系统通信方法的流程图;
[0019]图5为本发明实施例三提供的仿真系统通信方法的流程图;
[0020]图6为本发明实施例四提供的仿真系统通信方法的流程图;
[0021]图7为本发明实施例四提供的仿真系统通信方法中从设备的底层数据流示意图;
[0022]图8为本发明实施例五提供的仿真系统通信方法的流程图;
[0023]图9为本发明实施例六提供的仿真系统的结构示意图。
【具体实施方式】
[0024]实施例一
[0025]图1为本发明实施例一提供的仿真系统通信方法的流程图,图2为本发明实施例一提供的仿真系统通信方法中从设备的顶层数据流示意图,图3为本发明实施例一提供的仿真系统通信方法中请求消息的消息帧结构示意图,该方法适用于仿真系统中,通常仿真系统包括主设备和从设备,主设备和从设备通过各种通信方式连接,从设备接收主设备的指令完成仿真操作,并将仿真结果返回给主设备。该方法可由仿真系统中的主设备来执行,可以通过软件/硬件的方式实现。如图1-3所示,该仿真系统通信方法可以包括:[0026]步骤101、主设备向从设备发送请求消息。
[0027]主设备可以为设置在计算机中的上位机仿真软件,用于向从设备发送仿真参数以及下达仿真命令,且实时接收从设备返回的仿真运行状态和仿真数据。从设备可以为设置在仿真器主控芯片上的主控固件,用于根据主设备发送的仿真参数及按照主设备下达的仿真命令控制仿真芯片执行仿真操作,并将仿真运行状态和仿真芯片在仿真运行过程中产生的仿真数据实时传送给主设备。主设备和从设备可通过仿真器主控板中主控芯片内嵌的通用串行总线(Universal Serial Bus,简称USB)模块进行指令和数据的传输。主设备和从设备采用主从式为主的查询和响应方式来实现二者的数据通信,即主设备向从设备发送请求消息,从设备向主设备返回请求响应消息,在特殊情况下,允许从设备主动发送信息给主设备。其中,主设备向从设备发送的请求消息可以为主设备发起的仿真参数设置请求消息,例如:用户在上位机仿真软件提供的仿真参数设置窗口中设置仿真参数后,上位机仿真软件根据该仿真参数生成仿真参数设置请求消息帧,该消息帧可以包括帧头信息、数据长度、从设备地址、内容以及求和校验码,其中的内容即可以为设置的仿真参数。上述仿真参数设置请求消息帧的生成方法可根据本领域技术人员熟知的方式设定,本实施例对此不作限定。主设备将生成的仿真参数设置请求消息帧作为请求消息,发送给从设备,以使从设备根据该消息帧中的内容执行相应的仿真操作。
[0028]步骤102、主设备接收从设备返回的请求响应类消息中的一种消息,并判断请求响应类消息中的一种消息是否接收超时;
[0029]主设备在执行完步骤101后,立即启动定时器开始计时,等待接收从设备返回的请求响应类消息中的一种消息。若在设定时间到之前接收到完整的请求响应类消息中的任一种消息,则视为该请求响应类消息未发生接收超时,若在设定时间到之后仍未接收到完整的请求响应类消息中的任一种消息,则视为该请求响应类消息接收超时。
[0030]请求响应类消息可以包括从设备在判断出请求消息为第一消息时返回的第一消息处理结果,和从设备在判断出请求消息为第二消息时返回的请求消息的应答消息。其中,第一消息为从设备对请求消息的处理时间小于设定值的请求消息,第二消息为从设备对请求消息的处理时间大于设定值的请求消息。若请求响应类消息包括上述两种消息,主设备在执行步骤101之后,会等待接收从设备返回的请求响应类消息中的其中一种消息。具体的,从设备在接收到主设备发送的请求消息之后,需要先解析该请求消息的消息帧,得到消息帧中的具体内容。消息帧可包括帧头信息、数据长度、从设备地址、功能码、内容及求和校验码。从设备对该消息帧中的功能码进行判断,确认该请求消息为第一消息或第二消息,即:从设备对该请求消息所需的处理时间进行判断,当判断出处理时间小于设定值时,则认为该请求消息为第一消息,该设定值可小于主设备在对请求响应类消息进行接收超时监测时设定的时间,例如:主设备对请求响应类消息进行接收超时监测时设定的时间为6分钟,则该设定值可以设置为5分钟,当从设备判断出处理时间小于5分钟时,可表示从设备对该请求消息的处理可在设定的时间内完成。当从设备判断出请求消息为第一消息时,立即对第一消息进行处理,得到第一消息处理结果,作为请求响应类消息中的一种消息发送给主设备,以使主设备停止接收超时监测。
[0031]从设备对该请求消息所需的处理时间进行判断,当判断出处理时间大于设定值时,则认为该请求消息为第二消息,该设定值可大于主设备在对请求响应类消息进行接收超时监测时设定的时间,如上述例子:当从设备判断出处理时间大于6分钟时,可表示从设备对该请求消息的处理不一定能在设定的时间内完成,因此,需从设备先向主设备返回一个请求消息的应答消息,然后再对第二消息进行处理;或者当从设备无法根据消息帧预计第二消息处理的确切时间时,从设备可立即生成请求消息的应答消息,作为请求响应类消息中的一种消息发送给主设备,以使主设备停止对请求响应类消息进行接收超时监测,转为等待接收从设备返回第二消息的处理结果。
[0032]步骤103、主设备在接收超时时,重新发送请求消息或进行超时错误处理。
[0033]当主设备判断出请求响应类消息接收超时时,则认为请求响应类消息在发送的过程中可能受到了干扰,导致请求响应类消息的消息帧发生错误,主设备向从设备重新发送该请求消息。或者主设备进行超时错误处理,具体可以为主设备向从设备发出重传请求响应类消息的请求消息,以使从设备重新将请求响应类消息发送给主设备。当主设备多次监测到请求响应类消息发生超时时,可以向仿真器中USB模块的驱动单元发送复位信号,待USB模块复位后重新发送请求消息。
[0034]本实施例的技术方案通过主设备向从设备发送请求消息,然后接收从设备返回的请求响应类消息中的一种消息,并判断该请求响应类消息中的一种消息是否接收超时,当主设备接收超时时,重新发送所述请求消息或进行超时错误处理,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且本实施例的技术方案通过从设备对第一消息和第二消息进行辨别,针对处理时间不同的消息,主设备接收到从设备发送的不同的响应消息,能够避免在从设备对请求消息的处理还未结束时,主设备误报错的情况发生。
[0035]实施例二
[0036]图4为本发明实施例二提供的仿真系统通信方法的流程图,本实施例是在上述实施例的基础上,进一步优化了仿真系统通信方法,该方法可由仿真系统中的主设备来执行。如图4所示,在上述实施例的基础上,请求响应类消息还可以包括:从设备在判断出请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。即请求响应类消息包括了三种消息,主设备接收其中的一种消息,并判断该消息是否接收超时。具体实现过程中主设备执行以下三个步骤中的一个:
[0037]步骤1021、主设备接收从设备在判断出请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。
[0038]步骤1022、主设备接收从设备在判断出请求消息为第一消息时返回的第一消息处理结果,该第一消息为从设备对请求消息的处理时间小于设定值的请求消息。
[0039]步骤1023、主设备接收从设备在判断出请求消息为第二消息时返回的请求消息的应答消息,该第二消息为从设备对请求消息的处理时间大于设定值的请求消息。主设备执行步骤1021、步骤1022及步骤1023中的一个步骤,具体可以为:从设备接收到主设备发送的请求消息,需要先解析请求消息的消息帧,得到消息帧中的具体内容。消息帧可包括帧头信息、数据长度、从设备地址、功能码、内容及求和校验码。从设备对请求消息进行判断,判断该请求消息的消息帧中的从设备地址、功能码及求和校验码是否正确,其中从设备地址具体可与接收到请求消息的从设备的地址相比较,判断二者是否一致,用于验证该请求消息的接收对象是否正确;判断功能码用于验证从设备的当前状态是否支持该功能;求和校验码用于验证该消息帧中的数据在传送的过程中是否发生了突变。当从设备判断出请求消息中的从设备地址、功能码及求和校验码中一项或几项不正确时,则生成异常功能码,作为请求响应类消息中的一种消息发送给主设备。主设备接收该消息,并停止接收超时监测,重新发送请求消息。该异常功能码可以为一个特殊的字符串或一个携带特殊字符串的消息帧,具体可由本领域技术人员根据惯用的技术手段设定,以使主设备通过该异常功能码可识别到从设备接收到的请求消息有误,主设备将重新发送请求消息。
[0040]若从设备判断出请求消息中的从设备地址、功能码及求和校验码都正确,则从设备根据消息帧中的功能码判断该请求消息为第一消息或第二消息,即从设备对该请求消息所需的处理时间进行判断,当判断出处理时间小于设定值时,则认为该请求消息为第一消息,该设定值的设定可参照上述实施例。当从设备判断出请求消息为第一消息时,立即对第一消息进行处理,得到第一消息处理结果,作为请求响应类消息中的一种消息发送给主设备。主设备接收该第一消息处理结果,并停止接收超时监测。
[0041]当从设备判断出该请求消息的处理时间大于设定值时,则认为该请求消息为第二消息,则从设备立即生成请求消息的应答消息,作为请求响应类消息的一种消息发送给主设备,以使主设备停止对请求响应类消息进行接收超时监测,转为等待接收从设备返回第二消息的处理结果。上述方法能够避免从设备对请求消息的处理还未结束,主设备误报错的情况发生。
[0042]主设备接收从设备在判断出请求消息为第二消息时返回的应答消息之后还包括:
[0043]步骤1024、主设备接收从设备返回第二消息处理结果。
[0044]具体可以为:从设备向主设备返回应答消息后,立即对第二消息进行处理,处理过程可以为:根据该请求消息携带的仿真命令控制仿真芯片执行仿真操作,得到仿真结果或数据,再生成相应的处理结果发送给主设备。上述从设备处理第二消息的具体方式可以以现有仿真技术中常用的方法来实现,或者由技术人员针对不同的仿真操作进行实际的编程以得到处理结果。得到第二消息处理结果,发送给主设备。
[0045]在实施例一的基础上,请求响应类消息还可以包括:从设备在判断出所述请求消息接收超时时返回的重发请求消息。即请求响应类消息包括了三种消息,主设备接收其中一种消息。对于该重发请求消息,主设备执行过程如下步骤:
[0046]步骤1025、主设备接收从设备在判断出该请求消息接收超时时返回的重发请求消
肩、O
[0047]主设备执行步骤1025、步骤1022及步骤1023中的任一个步骤,其中对步骤1022及步骤1023的执行过程可参照上述实施例,此处针对步骤1025的执行过程进行描述。
[0048]具体的,从设备得知主设备将要发送请求消息时,开始接收该请求消息并监测该请求消息是否接收超时,具体可以为启动定时器开始计时,若从设备在设定时间内未接收到完整的请求消息的消息帧,则认为接收超时,从设备生成重发请求消息,作为请求响应类消息的一种消息返回给主设备。主设备接收该消息,然后重新发送请求消息。若从设备在设定时间内接收到了完整的请求消息的消息帧,则停止对该请求消息进行接收超时监测,并对该消息帧进行判断,将判断的结果作为请求响应类消息中的一种消息发送给主设备,以使主设备执行步骤1022及步骤1023中的一个。[0049]进一步的,请求响应类消息还可以将以上四种消息包括在内,主设备接收其中一种消息。相应的,主设备执行步骤1025、步骤1021、步骤1022及步骤1023中的任一个步骤。具体的,在从设备判断出请求消息接收超时时,向主设备发送重发请求消息,则主设备执行步骤1025 ;若从设备判断出请求消息接收未超时,则对请求消息的消息帧进行判断,当判断出该请求消息中的从设备地址、功能码和求和校验码中的一项或几项不正确时,生成异常功能码发送给主设备,则主设备执行步骤1021 ;若从设备判断出该请求消息的消息帧都正确时,继续对消息帧中的功能码进行判断,当判断出该请求消息为第一消息时,从设备立即对第一消息进行处理,生成第一消息处理结果发送给主设备,之后主设备执行步骤1022 ;若从设备判断出该请求消息为第二消息时,从设备立即向主设备发送请求消息的应答消息,则主设备执行步骤1023,然后等待接收第二消息的处理结果。其中对各步骤的具体执行过程可参照上述内容。此处不再赘述。
[0050]在上述实施例的基础上,主设备接收从设备返回的第一消息处理结果或第二消息处理结果之后还包括:
[0051]步骤1026、主设备在未发生接收超时时,判断第一消息处理结果或第二消息处理结果中的从设备地址、功能码及求和校验码是否正确,在其中一项或几项不正确时向从设备发送重传数据请求。
[0052]当主设备判断从设备发送的请求响应类消息未发生超时时,对请求响应类消息中的处理结果进行消息帧解析和识别,进而判断结果处理中的从设备地址、功能码及求和校验码是否正确,若其中一项或几项不正确,则可能由于处理结果在消息传送的过程中受到了干扰导致处理结果的消息帧发生错误,主设备向从设备发送重传数据请求,以使从设备重新将处理结果作为请求响应类消息中的一种消息发送给主设备。若请求响应类消息中的处理结果的消息帧都正确,则主设备执行步骤1027的操作:
[0053]步骤1027、主设备向从设备发送第一消息处理结果的应答消息或第二消息处理结果的应答消息。
[0054]具体可以为:当主设备在接收到从设备发送的第一消息处理结果的应答消息或第二消息处理结果的应答消息的完整消息帧,且判断出处理结果消息帧中的从设备地址、功能码及求和校验码都正确之后,立即向从设备发送应答消息,告知从设备处理结果已经接收完毕,完成此次请求任务。
[0055]上述实施例中,请求消息的应答消息、第一消息处理结果的应答消息或第二消息处理结果的应答消息的生成规则和具体内容可以以本领域技术人员常用的方式来实现,此处不作限定。
[0056]本实施例的技术方案通过主设备向从设备发送请求消息,然后接收从设备返回的请求响应类消息中的一种,并判断该请求响应类消息是否接收超时,当主设备接收超时时,重新发送所述请求消息或进行超时错误处理,并且主设备接收到从设备返回的请求响应类消息后立即发送处理结果的应答消息,并对处理结果进行判断,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且从设备根据请求消息进行判断,对消息处理时间较长的第二消息,则立即向主设备返回请求消息的应答消息,然后再对该请求消息进行处理,避免主设备因长时间收不到请求响应类消息而产生误报接收超时故障发生。[0057]实施例三
[0058]图5为本发明实施例三提供的仿真系统通信方法的流程图。本实施例是在上述实施例的基础上,进一步优化了仿真系统通信方法,该方法可由仿真系统中的从设备来执行。如图5所示,该仿真系统通信方法可以包括:
[0059]步骤201、从设备接收主设备发送的请求消息,并判断请求消息是否接收超时。
[0060]具体可以为:当从设备得知主设备将要发送请求消息时,立即启动定时器开始计时,并开始接收主设备发送的请求消息,,若在定时时间到之前接收到完整的请求消息的消息帧,则视为请求消息未发生超时,若在定时时间到之后仍未接收到完整的请求消息的消息帧,则视为请求消息接收超时。
[0061]步骤202、从设备在发生接收超时时,向主设备发送重发请求,以及在未发生接收超时时,向主设备返回请求响应类消息中的一种消息。
[0062]当从设备监测到主设备发送的请求消息发生接收超时,则向主设备发送重发请求,以使主设备重新发送该请求消息。该重发请求可以包括错误码,具体可以为按照通信协议设定的一个特殊的字符串或一个携带有特殊字符串的消息帧。
[0063]当从设备监测到主设备发送的请求消息未发生接收超时时,则向主设备返回请求响应类消息中的一种消息。请求响应类消息可以包括:从设备在判断出请求消息为第一消息时向主设备返回的第一消息处理结果,和从设备在判断出请求消息为第二消息时向主设备返回的请求消息的应答消息,第一消息为从设备对请求消息的处理时间小于设定值的请求消息,第二消息为从设备对请求消息的处理时间大于设定值的请求消息。即:请求响应类消息包括上述两种消息,从设备将其中的一种消息发送给主设备。
[0064]具体的,在从设备判断请求消息未接收超时时,将接收到的请求消息进行解析,得到请求消息的消息帧的具体内容,对消息帧中的功能码进行判断,即根据功能码中包含的信息对该请求消息所需的处理时间进行判断。当从设备判断出处理时间小于设定值时,则认为该请求消息为第一消息,该设定值可小于主设备在对请求响应类消息进行接收超时监测时设定的时间。当从设备判断出请求消息为第一消息时,立即对第一消息进行处理,得到第一消息处理结果,作为请求响应类消息中的一种消息发送给主设备。
[0065]若从设备根据功能码判断出处理时间大于设定值时,则认为该请求消息为第二消息,该设定值可大于主设备在对请求响应类消息进行接收超时监测时设定的时间,或者当从设备无法根据消息帧预计第二消息处理的确切时间时,从设备可立即生成请求消息的应答消息,作为请求响应类消息中的一种消息发送给主设备,以使主设备停止对请求响应类消息进行接收超时监测,转为等待接收从设备返回第二消息的处理结果。
[0066]本实施例的技术方案通过从设备接收主设备发送的请求消息,并判断该请求消息是否超时,若超时则向主设备发送重发请求,若未超时则向主设备返回请求响应类消息,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且本实施例的技术方案通过从设备对第一消息和第二消息进行辨别,针对处理时间不同的消息,向主设备发送不同的响应消息,能够避免在从设备对请求消息的处理还未结束时,主设备误报错的情况发生。
[0067]实施例四
[0068]图6为本发明实施例四提供的仿真系统通信方法的流程图,图7为本发明实施例四提供的仿真系统通信方法中从设备的底层数据流示意图。本实施例是在上述实施例的基础上,进一步优化了仿真系统通信方法,该方法可由仿真系统中的从设备来执行。如图6和图7所示,在上述实施例的基础上,从设备向主设备返回的请求响应类消息还可以包括:从设备在判断出请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。即请求响应类消息包括了三种消息,从设备将其中一种消息发送给主设备。具体执行过程中,从设备将执行如下三个步骤中的一个:
[0069]步骤2021、从设备在判断出请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。
[0070]步骤2022、从设备在判断出请求消息为第一消息时向主设备返回第一消息处理结果,第一消息为从设备对请求消息的处理时间小于设定值的请求消息。
[0071]步骤2023、从设备在判断出请求消息为第二消息时向主设备返回应答消息,第二消息为从设备对请求消息的处理时间大于设定值的请求消息。
[0072]具体为:从设备在判断出请求消息未发生接收超时后,对该请求消息进行解析,得到请求消息的消息帧,对消息帧中的从设备地址、功能码及求和校验码进行判断。当从设备判断出请求消息中的从设备地址、功能码及求和校验码中一项或几项不正确时,则生成异常功能码,作为请求消息的响应消息发送给主设备,以使主设备重新发送请求消息。
[0073]若从设备判断出第一消息中的从设备地址、功能码及求和校验码都正确时,则根据消息帧中的功能码判断该请求消息为第一消息或第二消息,即从设备对该请求消息所需的处理时间进行判断,当判断出处理时间小于设定值时,则认为该请求消息为第一消息,该设定值可小于主设备在对请求响应类消息进行接收超时监测时设定的时间。当从设备判断出请求消息为第一消息时,立即对第一消息进行处理,得到第一消息处理结果,作为请求消息的响应消息发送给主设备。当从设备判断出处理时间大于设定值时,则认为该请求消息为第二消息,该设定值可大于主设备在对请求响应类消息进行接收超时监测时设定的时间,或者当从设备无法根据消息帧预计第二消息处理的确切时间时,从设备可立即生成请求消息的应答消息,作为请求消息的响应消息发送给主设备,以使主设备停止对请求响应类消息进行接收超时监测,转为等待接收从设备返回第二消息的处理结果。上述方法能够避免从设备对请求消息的处理还未结束,主设备误报错的情况发生。
[0074]在上述技术方案的基础上,从设备在判断出请求消息为第二消息时向主设备返回应答消息之后还可以执行步骤2024。
[0075]步骤2024、从设备向主设备返回第二消息处理结果。从设备对第二消息的处理过程以及处理结果发送的方式可参照上述实施例中提到的方式,此处不再赘述。
[0076]进一步的,从设备向主设备返回第一消息处理结果或第二消息处理结果之后,还可以执行步骤2025。
[0077]步骤2025、从设备接收主设备发送的第一消息处理结果的应答消息或第二消息处理结果的应答消息。
[0078]当从设备开始向主设备发送第一消息处理结果或第二消息处理结果时,启动定时器开始计时,并监测USB通信模块的消息发送状态,若监测到USB通信模块的状态为发送完毕,则视为处理结果未发生发送超时,从设备停止计时;若在设定时间内,监测到USB通信模块的状态一直为发送状态,则认为处理结果发送超时,从设备停止计时并重新发送第一消息处理结果或第二消息处理结果。
[0079]另外,当从设备得知主设备即将发送第一消息处理结果的应答消息或第二消息处理结果的应答消息时,从设备启动应答消息接收超时监测,若在设定时间到之前收到了主设备发送的相应处理结果的应答消息,则视为未发生接收超时,则从设备等待接收主设备的其它指令。若在定时时间到之后仍未收到主设备发送的相应处理结果的应答消息,则视为发生接收超时,从设备则可以重新向主设备发送相应处理结果,或采取与主设备发起查询的方式或其他处理方式。若从设备监测到多次发生发送超时或接收超时,则从设备USB模块的驱动单元发送复位信号,待USB模块复位后重新发送相应处理结果。
[0080]上述实施例中提到的发送超时的设定时间和接收超时的设定时间均可由本领域技术人员根据仿真事件或USB通信模块的性能具体设定,本实施例对此不做限定。
[0081]本实施例的技术方案通过从设备接收主设备发送的请求消息,并判断该请求消息是否超时,若超时则向主设备发送重发请求,若未超时则向主设备返回请求响应类消息中的一种消息,并且从设备在发送处理结果时进行发送超时监测,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且从设备根据请求消息进行判断,对消息处理时间较长的第二消息,则立即向主设备返回请求消息的应答消息,然后再对该请求消息进行处理,避免主设备因长时间收不到请求响应类消息而产生误报接收超时故障发生。
[0082]实施例五
[0083]图8为本发明实施例五提供的仿真系统通信方法的流程图。本实施例是在上述实施例的基础上,进一步优化了仿真系统通信方法。如图8所示,该仿真系统通信方法包括:
[0084]步骤301、主设备向从设备发送请求消息,并启动请求响应类消息接收超时监测,若发生超时,则中断当前操作,转而执行步骤315,若未发生超时,则连续执行以下步骤,直至主设备停止接收超时监测。
[0085]步骤302、从设备接收主设备发送的请求消息,并判断请求消息是否接收超时,若接收超时,则执行步骤303,若未发生接收超时,则执行步骤304。
[0086]步骤303、从设备向主设备发送重发请求,以使主设备停止接收超时监测,并重新执行步骤301。
[0087]步骤304、从设备判断请求消息中的从设备地址、功能码及求和校验码是否正确,若不正确,则执行步骤305,若正确,则执行步骤306。
[0088]步骤305、从设备生成异常功能码,并将该异常功能码发送给主设备,以使主设备停止超时监测,并重新执行步骤301。
[0089]步骤306、从设备对请求消息为第一消息或第二消息进行判断,若判断出该请求消息为第一消息,则执行步骤307,若判断出该请求消息为第二消息,则执行步骤309。
[0090]步骤307、从设备处理该请求消息,并生成第一消息处理结果,之后执行步骤308。
[0091]步骤308、从设备将该第一消息处理结果发送给主设备,并执行步骤312。
[0092]步骤309、从设备立即向主设备发送请求消息的应答消息,并执行步骤310。
[0093]步骤310、从设备处理该请求消息,生成第二消息处理结果,之后执行步骤311。
[0094]步骤311、从设备将该第二消息处理结果发送给主设备,并执行步骤312。
[0095]步骤312、从设备启动处理结果发送超时监测,判断处理结果是否发送超时,若判断出第一消息处理结果发送超时,则重新执行步骤308,若判断出第二消息处理结果发送超时,则重新执行步骤并执行步骤311,若未发生发送超时,则执行步骤313。
[0096]步骤313、主设备判断第一消息处理结果或第二消息处理结果中的从设备地址、功能码及求和校验码是否正确,若正确,则执行步骤314,若不正确,则执行步骤316。
[0097]步骤314、若请求消息为第一消息,则主设备向从设备发送第一消息处理结果的应答消息,若请求消息为第二消息,则主设备向从设备发送第二消息处理结果的应答消息,以使从设备判断相应处理结果的应答消息是否接收超时。
[0098]步骤315、主设备向从设备重新发送请求消息或进行超时错误处理,若重新发送请求消息,则返回执行步骤301,若进行超时错误处理,则可对主设备或从设备中的通信模块进行复位,之后返回执行步骤301。
[0099]步骤316、若请求消息为第一消息,则主设备向从设备发送第一消息处理结果的重传消息,以返回执行步骤308,若请求消息为第二消息,则主设备向从设备发送第二消息处理结果的重传消息,以返回执行步骤311。
[0100]本实施例的技术方案通过主设备向从设备发送请求消息,从设备判断该请求消息是否接收超时,若未超时,则向主设备发送请求响应类消息中的一种消息,并判断该请求响应类消息是否发送超时,主设备判断该请求响应类消息是否接收超时,当主设备接收超时时,重新发送所述请求消息或进行超时错误处理,并且从设备在发送处理结果时进行发送超时监测,主设备接收到从设备返回的请求响应类消息中的处理结果后立即发送处理结果的应答消息,并对处理结果进行判断,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且从设备根据请求消息进行判断,对消息处理时间较长的第二消息,则立即向主设备返回请求消息的应答消息,然后再对该请求消息进行处理,避免主设备因长时间收不到请求响应类消息而产生误报接收超时故障发生。
[0101]实施例六
[0102]图9为本发明实施例六提供的仿真系统的结构示意图。如图9所示,该仿真系统包括:主设备I和从设备2。
[0103]其中,主设备I为设置在计算机中的上位机仿真软件,用于向从设备2发送请求消息,接收从设备2返回的请求响应类消息中的一种消息,并判断请求响应类消息是否接收超时,在接收超时时,重新发送请求消息或进行超时错误处理。请求响应类消息包括从设备2在判断出请求消息为第一消息时返回的第一消息处理结果,和从设备2在判断出请求消息为第二消息时返回的请求消息的应答消息,第一消息为从设备2对请求消息的处理时间小于设定值的请求消息,第二消息为从设备2对请求消息的处理时间大于设定值的请求消肩、O
[0104]从设备2为设置在仿真器主控芯片中的主控固件,用于接收主设备I发送的请求消息,并判断请求消息是否接收超时,在发生接收超时时,向主设备I发送重发请求,以及在未发生接收超时时,向主设备I返回请求响应类消息中的一种消息。
[0105]主设备I和从设备2可执行上述实施例所提供的仿真系统通信方法,执行方法可参照上述方法实施例,即上述仿真系统可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。[0106]本实施例的技术方案通过主设备向从设备发送请求消息,从设备判断该请求消息是否接收超时,若未超时,则向主设备发送请求响应类消息中的一种消息,并判断该请求响应类消息中的一种消息是否发送超时,主设备判断该请求响应类消息是否接收超时,当主设备接收超时时,重新发送所述请求消息或进行超时错误处理,能够解决仿真器因受到干扰而导致的通信失败或仿真数据出错的问题,实现改进仿真器的抗干扰性和稳定性,并实现自动纠正。且通过从设备对第一消息和第二消息进行辨别,针对处理时间不同的消息,主设备接收到从设备发送的不同的响应消息,能够避免在从设备对请求消息的处理还未结束时,主设备误报错的情况发生。
[0107]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0108]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种仿真系统通信方法,其特征在于,包括: 主设备向从设备发送请求消息; 所述主设备接收所述从设备返回的请求响应类消息中的一种消息,并判断所述请求响应类消息中的一种消息是否接收超时,所述请求响应类消息包括所述从设备在判断出所述请求消息为第一消息时返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息; 所述主设备在接收超时时,重新发送所述请求消息或进行超时错误处理。
2.根据权利要求1所述的仿真系统通信方法,其特征在于,所述请求响应类消息还包括: 所述从设备在判断出所述请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。
3.根据权利要求1或2所述的仿真系统通信方法,其特征在于,所述请求响应类消息还包括: 所述从设备在判断出所述请求消息接收超时时返回的重发请求消息。
4.根据权利要求3所述的仿真系统通信方法,其特征在于,所述主设备接收所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息之后还包括: 所述主设备接收所述从设备返回第二消息处理结果。
5.根据权利要求4所述的仿真系统通信方法,其特征在于,所述主设备接收所述从设备返回的第一消息处理结果或第二消息处理结果之后,还包括: 所述主设备向所述从设备发送所述第一消息处理结果的应答消息或所述第二消息处理结果的应答消息。
6.根据权利要求5所述的仿真系统通信方法,其特征在于,所述主设备在未发生接收超时时,判断所述第一消息处理结果或第二消息处理结果中的从设备地址、功能码及求和校验码是否正确,在其中一项或几项不正确时向所述从设备发送重传数据请求。
7.根据权利要求6所述的仿真系统通信方法,其特征在于,所述主设备为上位机仿真软件,所述从设备为主控固件。
8.一种仿真系统通信方法,其特征在于,包括: 从设备接收主设备发送的请求消息,并判断所述请求消息是否接收超时; 所述从设备在发生接收超时时,向所述主设备发送重发请求,以及在未发生接收超时时,向所述主设备返回请求响应类消息中的一种消息,所述请求响应类消息包括:所述从设备在判断出所述请求消息为第一消息时向所述主设备返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时向所述主设备返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息。
9.根据权利要求8所述的仿真系统通信方法,其特征在于,所述请求响应类消息还包括: 所述从设备在判断出所述请求消息中的从设备地址、功能码和求和校验码中一项或几项不正确时返回的异常功能码。
10.根据权利要求8或9所述的仿真系统通信方法,其特征在于,所述从设备在判断出所述请求消息为第二消息时向所述主设备返回的请求消息的应答消息之后还包括: 所述从设备向所述主设备返回第二消息处理结果。
11.根据权利要求10所述的仿真系统通信方法,其特征在于,所述从设备向所述主设备返回所述第一消息处理结果或第二消息处理结果之后还包括: 所述从设备接收所述主设备发送的所述第一消息处理结果的应答消息或第二消息处理结果的应答消息。
12.根据权利要求11所述的仿真系统通信方法,其特征在于,所述主设备为上位机仿真软件,所述从设备为主控固件。
13.一种仿真系统,其特征在于,包括主设备和从设备,所述主设备用于向所述从设备发送请求消息;接收所述从设备返回的请求响应类消息中的一种消息,并判断所述请求响应类消息中的一种消息是否接收超时,所述请求响应类消息包括所述从设备在判断出所述请求消息为第一消息时返回的第一消息处理结果,和所述从设备在判断出所述请求消息为第二消息时返回的请求消息的应答消息,所述第一消息为所述从设备对所述请求消息的处理时间小于设定值的请求消息,所述第二消息为所述从设备对所述请求消息的处理时间大于设定值的请求消息;在接收超时时,重新发送所述请求消息或进行超时错误处理; 所述从设备用于接收所述主设备发送的请求消息,并判断所述请求消息是否接收超时;在发生接收超时时 ,向所述主设备发送重发请求,以及在未发生接收超时时,向所述主设备返回所述请求响应类消息中的一种消息。
14.根据权利要求13所述的仿真系统,其特征在于,所述主设备为设置在计算机中的上位机仿真软件,所述从设备为设置在仿真器主控板的主控固件。
【文档编号】H04L1/18GK104038309SQ201310073143
【公开日】2014年9月10日 申请日期:2013年3月7日 优先权日:2013年3月7日
【发明者】周亚林, 潘松, 杨荣, 褚桂英 申请人:上海海尔集成电路有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1