System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及汽车控制,尤其是涉及一种嵌入式数据传输方法、软件架构及处理器。
技术介绍
1、在汽车领域,嵌入式驱动软件的通信与程序通常采用同步运行机制,如图1所示,通信过程中处理器接收请求发送命令,通过总线向传感器发送一条消息,然后阻塞等待接收传感器返回响应信号,收到响应信号后判断本条消息发送完成,再进行下一步处理。
2、因此,嵌入式驱动软件中采用的同步运行机制,虽然有编码简单、时序简洁的优点,但是处理器只能按照顺序执行任务,一个任务的执行会阻塞后续任务的执行,直到前一个任务完成。因此,现有同步运行机制,在处理器与传感器通信过程中,存在通信效率低、时序设计不灵活、处理器负载占用高等缺点。
技术实现思路
1、为了解决现有的嵌入式驱动软件,在处理器与传感器通信过程中,存在通信效率低、时序设计不灵活、处理器负载占用高的问题,本申请提供一种嵌入式数据传输方法、软件架构及处理器。
2、第一方面,本申请提供一种嵌入式数据传输方法,采用如下的技术方案:方法包括以下步骤:
3、接收用户发送的第一任务请求,执行第一任务;所述第一任务请求携带若干条消息;
4、基于所述第一任务请求中各消息的执行顺序,依次将各消息进行打包搬移处理;所述打包搬移处理过程包括:将所述消息中的原始数据打包为通信消息,并将所述通信消息插入到缓冲区;
5、判断是否已经对所述第一任务请求中各消息均进行打包搬移处理;
6、若是,则针对所述缓冲区的各通信消息,依次执行消
7、通过采用上述技术方案,首先根据用户发送的第一任务请求,依次将第一任务请求中的每条消息均经过打包搬移处理后,放置在缓冲区,通过以上打包搬移的预处理之后,再针对缓冲区的每条通信消息,依次执行消息处理操作,并在执行消息处理操作的过程时,释放处理器资源,使处理器可以执行除第一任务之外的其它任务,通过异步通信解决了处理器阻塞等待的问题,极大降低处理器的瞬时负载和平均负载,大大提高了数据处理和通信效率,避免了同步运行机制中通信效率低、时序设计不灵活、处理器负载占用高的问题。
8、在一个具体的可实施方案中,针对所述缓冲区的各通信消息,依次执行消息处理操作,具体包括:
9、识别所述通信消息的数据类型;
10、若所述通信消息的数据类型为写类型,则执行第一消息处理操作;
11、若所述通信消息的数据类型为读类型,则执行第二消息处理操作;
12、若所述通信消息的数据类型为延时类型,则执行第三消息处理操作。
13、通过采用上述技术方案,根据通信消息的数据类型,针对性地执行相应的消息处理操作,提高消息处理效率。
14、在一个具体的可实施方案中,所述第一消息处理操作,具体包括:
15、基于所述通信消息对应的原始数据长度,计算第一通信超时时间t1;
16、基于所述第一通信超时时间t1,配置第一发送超时定时器的中断触发时间;
17、开启所述第一发送超时定时器,并启动第一数据发送过程,将所述通信消息从所述缓冲区发送至总线上,并返回第一数据发送结果;
18、基于所述第一数据发送结果,启动第二数据发送过程,将所述通信消息从总线发送至传感器,并在所述第二数据发送过程中释放所述处理器资源;
19、响应于通信消息发送完成中断请求,停止释放所述处理器资源;所述通信消息发送完成中断表征所述通信消息已从总线传输至传感器;
20、关闭所述第一发送超时定时器。
21、通过采用上述技术方案,当数据类型为写类型时,在将通信消息从总线发送至传感器过程中,释放处理器资源,使处理器可以处理其它任务,当第一发送超时定时器未触发中断,且硬件已经将通信消息传输到处理器上之后,再停止释放处理器资源,合理分配处理器的资源,提高处理器的数据处理效率。
22、在一个具体的可实施方案中,所述第二消息处理操作,具体包括:
23、基于所述通信消息对应的原始数据长度和响应数据长度,计算第二通信超时时间t2;
24、基于所述第二通信时间t2,配置第二接收超时定时器的中断触发时间;
25、开启所述第二接收超时定时器,并启动第一数据发送过程,将所述通信消息从所述缓冲区发送至总线上,并返回第一数据发送结果;
26、基于所述第一数据发送结果,启动第二数据发送过程,将所述通信消息从总线发送至传感器,并在所述第二数据发送过程中释放所述处理器资源;
27、响应于响应数据接收完成中断请求,停止释放所述处理器资源;所述响应数据接收完成中断表征接收到传感器返回的响应数据;
28、关闭所述第二接收超时定时器。
29、通过采用上述技术方案,当数据类型为读类型时,在将通信消息从总线发送至传感器过程中,释放处理器资源,使处理器可以处理其它任务,当第二接收超时定时器未触发中断,且根据响应数据接收完成中断,判断出硬件已经成功将通信消息传输到处理器上之后,再停止释放处理器资源,通过合理分配处理器的资源,提高了处理器的数据处理效率。
30、在一个具体的可实施方案中,所述第三消息处理操作,具体包括:
31、基于所述通信消息对应的延时时间t3,配置第三延时定时器的中断触发时间;
32、开启所述第三延时定时器,并释放所述处理器资源;
33、响应于所述第三延时定时器中断请求,停止释放所述处理器资源。
34、通过采用上述技术方案,当数据类型为延时类型时,该通信消息无需向传感器写或读数据,因此直接根据该通信消息对应的延时时间t3,配置第三延时定时器的中断触发时间,使第三延时定时器开始计时,并释放处理器资源;当第三延时定时器计时达到时间t3,则停止释放处理器资源,通过第三消息处理操作,用户可以很方便的设置消息间的延时,不必让处理器在原地等待浪费时间。
35、在一个具体的可实施方案中,停止释放所述处理器资源之前,还包括以下步骤:
36、判断所述处理器对所述其它任务的执行是否完成;
37、若否,则基于预先设定的任务优先级,控制所述处理器将其它任务挂起,并标记其它任务的当前执行进度。
38、在一个具体的可实施方案中,所述接收用户发送的第一任务请求之前,还包括以下步骤:
39、基于所述传感器的通信协议,配置封装通信数据接口;所述封装通信数据接口用于在所述通信消息从缓冲区传输至传感器时,将所述通信消息进行封装处理。
40、通过采用上述技术方案,通过提前配置好封装通信数据接口,在后续数据发送过程中,将通信消息进行封装处理后,再传输至传感器。
41、第二方面,本申请提供一种嵌入式数据传输软件架构,应用上述第一方面或第一方面任一项可实施方案中的嵌入式数据传输方法,所述软件本文档来自技高网...
【技术保护点】
1.一种嵌入式数据传输方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的嵌入式数据传输方法,其特征在于,针对所述缓冲区的各通信消息,依次执行消息处理操作,具体包括:
3.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第一消息处理操作,具体包括:
4.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第二消息处理操作,具体包括:
5.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第三消息处理操作,具体包括:
6.根据权利要求3-5任一项所述的嵌入式数据传输方法,其特征在于,停止释放所述处理器资源之前,还包括以下步骤:
7.根据权利要求1所述的嵌入式数据传输方法,其特征在于,所述接收用户发送的第一任务请求之前,还包括以下步骤:
8.一种嵌入式数据传输软件架构,其特征在于,包括通信驱动层、接口抽象层和用户逻辑层;
9.一种处理器,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7任一项所述的嵌入式数据传输方法。
【技术特征摘要】
1.一种嵌入式数据传输方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的嵌入式数据传输方法,其特征在于,针对所述缓冲区的各通信消息,依次执行消息处理操作,具体包括:
3.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第一消息处理操作,具体包括:
4.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第二消息处理操作,具体包括:
5.根据权利要求2所述的嵌入式数据传输方法,其特征在于,所述第三消息处理操作,具体包括:
【专利技术属性】
技术研发人员:齐超群,王亿彬,胡红利,倪斌,
申请(专利权)人:吉孚汽车技术苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。