本技术属于汽车电子,尤其涉及一种通信的控制方法及装置。
背景技术:
1、车辆中通常包括多个mcu(microcontroller unit,控制器单元),这些mcu通常负责控制整个车辆的电子系统,包括涉及到光学显示的部分。而车辆中的dlpc(digitallightprocessing controller,数字光处理控制器)在汽车中的作用主要是控制光学投影系统。
2、在mcu和dlpc的通信过程中,mcu负责将用户的相关控制指令传输给dlpc。dlpc将根据这些数据控制不同灯光的亮度以及开关。
3、在相关技术中,mcu和dlpc的通信为同步通信。即mcu将指令发送给dlpc,dlpc执行该指令相应的操作,并将操作的结果反馈给mcu,mcu再进行下一步的操作。如此一来,由于mcu等待指令处理结果的时间过长,将导致mcu的负载率低。
技术实现思路
1、本技术实施例提供了一种通信的控制方法及装置,能够解决现有的mcu的负载率低的问题。
2、第一方面,本技术实施例提供一种通信的控制方法,方法包括:
3、获取第一控制器的工作标识,所述工作标识用于表征所述第一控制器的工作状态;
4、根据所述工作标识获取待执行指令,所述待执行指令用于指示调整第二控制器的工作状态;
5、根据所述工作标识将所述待执行指令拆分为至少一个异步指令,并在拆分之后更新所述工作标识;
6、根据所述工作标识将所述至少一个异步指令依次向所述第二控制器发送,对所述第二控制器的工作状态进行调整;
7、其中,在任意两个相邻的异步指令的发送时刻的时间间隔,所述第一控制器可用于执行第二控制操作,所述第二控制操作为所述待执行指令对应的第一控制操作之外的控制操作。
8、在一些实施例中,所述根据所述工作标识获取待执行指令,包括:
9、在所述工作标识为第一工作标识的情况下,检测指令队列中是否存在至少一个第一指令,其中,所述第一工作标识用于表征所述第一控制器的工作状态为空闲;
10、在检测到所述指令队列中存在至少一个第一指令的情况下,将所述至少一个第一指令中执行优先级最高的第一指令从所述指令队列中取出,并将所述执行优先级最高的第一指令确定为待执行指令。
11、在一些实施例中,所述根据所述工作标识将所述待执行指令拆分为至少一个异步指令,并在拆分之后更新所述工作标识,包括:
12、在所述工作标识为第一工作标识且存在从指令队列中取出的待执行指令情况下,将所述待执行指令拆分为存在先后顺序的至少一个异步指令;
13、将所述工作标识更新为第二工作标识,其中,所述第二工作标识用于表征所述第一控制器的工作状态为工作中。
14、在一些实施例中,所述将所述待执行指令拆分为存在先后顺序的至少一个异步指令之后,还包括:
15、将第一异步指令向所述第二控制器发送,其中,所述第一异步指令为存在先后顺序的至少一个异步指令中的排列在第一位的异步指令。
16、在一些实施例中,所述根据所述工作标识将所述至少一个异步指令向所述第二控制器发送,包括:
17、在所述工作状态为第二工作状态的情况下,判断第二异步指令的发送时刻之后第一时长以内是否接收到所述第二异步指令对应的反馈结果,其中,所述第二异步指令为所述至少一个异步指令中距离当前时刻最近的一次已向所述第二控制器发送的异步指令;
18、在所述发送时刻之后所述第一时长以内接收到所述反馈结果的情况下,向所述第二控制器发送所述至少一个异步指令中按照先后顺序排在所述第二异步指令之后的下一个异步指令。
19、在一些实施例中,所述判断第二异步指令的发送时刻之后第一时长以内是否接收到所述第二异步指令对应的反馈结果之后,还包括:
20、在所述发送时刻之后所述第一时长以内未接收到所述反馈结果的情况下,将所述工作标识更新为第三工作标识,其中,所述第三工作标识用于表征所述第一控制器的工作状态为忙碌中;
21、直至接收到所述第二异步指令对应的反馈结果,将所述工作标识更新为第二工作标识,并向所述第二控制器发送所述至少一个异步指令中按照先后顺序排在所述第二异步指令之后的下一个异步指令。
22、在一些实施例中,所述将所述至少一个异步指令向所述第二控制器发送,包括:
23、获取第三异步指令对应的功能函数,其中,所述第三异步指令为所述至少一个异步指令中任意一个异步指令;
24、执行所述功能函数对应的第一操作,所述第一操作用于将所述第三异步指令向所述第二控制器发送。
25、在一些实施例中,所述将所述至少一个异步指令向所述第二控制器发送之后,还包括:
26、在检测到异步指令发送的过程存在第一错误的情况下,将所述工作标识更新为第四工作标识;
27、停止向所述第二控制器发送所述至少一个异步指令,上报所述第一错误,所述第一错误为所述第一控制器和所述第二控制器的通信断开。
28、在一些实施例中,所述将所述至少一个异步指令向所述第二控制器发送之后,还包括:
29、在检测到异步指令发送的过程存在第二错误的情况下,将所述工作标识更新为第五标识;
30、向所述第二控制器发送恢复指令,所述恢复指令用于控制恢复所述第二错误,所述第二错误为发送的异步指令存在错误。
31、第二方面,本技术实施例提供一种通信的控制装置,装置包括:
32、第一获取模块,用于获取第一控制器的工作标识,所述工作标识用于表征所述第一控制器的工作状态;
33、第二获取模块,用于根据所述工作标识获取待执行指令,所述待执行指令用于指示调整第二控制器的工作状态;
34、拆分模块,用于根据所述工作标识将所述待执行指令拆分为至少一个异步指令,并在拆分之后更新所述工作标识;
35、发送模块,用于根据所述工作标识将所述至少一个异步指令依次向所述第二控制器发送,对所述第二控制器的工作状态进行调整;
36、其中,在任意两个相邻的异步指令的发送时刻的时间间隔,所述第一控制器可用于执行第二控制操作,所述第二控制操作为所述待执行指令对应的第一控制操作之外的控制操作。
37、第三方面,本技术实施例提供了一种通信的控制设备,设备包括:处理器以及存储有计算机程序指令的存储器;
38、处理器执行计算机程序指令时实现如上的通信的控制方法。
39、第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如上的通信的控制方法。
40、第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序指令,所述计算机程序指令被处理器执行时实现如上的通信的控制方法。
41、在本技术中,第一控制器可以为mcu,第一控制器可以读取工作标识,并基于工作标识来获取待执行指令,然后将待执行指令拆分为至少一个异步指令,将该至少一个异步指令异步发送至第二控制器,来调整第二控制器的工作状态。如此一来,就可以将一整个指令拆分为异步指令,将一个大的同步通信转换为至少一个小的异步通信,在每一次异步通信完成之后,都无需等待该异步通信的反馈结果,而是可以执行其他的任务或者操作,这样一来,可以在待执行指令对应的控制操作之间穿插其他任务的控制操作,从而使得mcu能够并行的完成多线程的任务,提升了mcu的工作效率以及任务负载率。