System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信系统领域,具体而言,涉及一种总线系统的通信方法、系统及计算机程序产品。
技术介绍
1、使用总线进行通信的电子产品在电池供电的场合下,一般会有休眠的功能以降低功耗。以can总线为例,由于can总线使用5v差分电压, can总线激活时非常耗电,平均耗电流值在20ma以上,所以设备在进入休眠状态时,会让can通信模块处于完全断电的状态,以降低功耗。
2、在实践中,can总线的从机是自主进入休眠,从机在接收到最后一帧can数据后一段时间内,如果没有接收到新的can数据,从机的mcu会控制io断开can总线外围电路电源,关闭mcu内部的can模块,然后进入休眠。
3、从机进入休眠后,can总线的主机并不知道从机何时唤醒可以接收数据。如果主机在从机休眠期间发送数据给节点设备,就会导致数据丢失。如果主机等待过长的时间再尝试与从机通信,则会导致通信效率降低。换言之,从机一旦开启自动休眠功能,主机就会失去跟从机通信的能力。
技术实现思路
1、本专利技术的主要目的在于提出一种总线系统的通信方法、系统及计算机程序产品,旨在解决现有技术中存在的上述问题。
2、为实现上述目的,本专利技术提供一种总线系统的通信方法,应用于从机; 所述从机在满足预设休眠条件后进入休眠状态;
3、所述方法包括:
4、响应于预设中断信号,从休眠状态中唤醒并立即开始向主机发送第一数据包;
5、在唤醒后的所述预设时间内接收到来自所述主机的第二数据包;
6、在一些实施例中,
7、所述从机包括系统基准时钟,所述系统基准时钟在接收数据包完成后重新开始计时;
8、所述响应于预设中断信号,从休眠状态中唤醒并立即开始向主机发送第一数据包,包括:
9、响应于预设中断信号,恢复系统基准时钟;
10、使用所述系统基准时钟开始计时并同时开始向主机发送第一数据包;
11、所述在唤醒后的所述预设时间内接收到来自所述主机的第二数据包,包括:
12、在所述系统基准时钟的计时值小于等于预设时间时接收到来自所述主机的第二数据包。
13、在一些实施例中,
14、所述从机被配置为:
15、在收发数据包完成和/或连接所述从机的外围设备动作完成后,重新设置所述预设时间。
16、在一些实施例中,
17、在所述响应于预设中断信号,恢复系统基准时钟的步骤,以及所述使用所述系统基准时钟开始计时并同时开始向主机发送第一数据包的步骤之间,所述方法还依次包括以下步骤:
18、根据休眠时间对所述系统基准时钟进行补偿;
19、初始化所述从机的mcu和总线模块;
20、为连接所述从机的外围设备供电;
21、解除对除所述预设中断信号外的其他中断信号的屏蔽;
22、设置所述预设时间。
23、在一些实施例中,
24、所述进入休眠状态,依次包括:
25、屏蔽除所述预设中断信号外的其他中断信号;
26、控制连接所述从机的外围设备断电;
27、设置所述实时时钟中断信号的时间间隔;
28、关闭所述从机的mcu和总线模块。
29、在一些实施例中,
30、所述预设中断信号还包括实时时钟中断信号和/或gpio中断信号;
31、所述从机的mcu具有芯片引脚;所述芯片引脚用于接收所述实时时钟中断信号和/或gpio中断信号。
32、在一些实施例中,
33、所述预设休眠条件包括:
34、所述从机的系统任务消息队列为空或处于空闲任务以及连接所述从机的外围设备的当前任务执行完毕或初始化完成,再经过预设时间;
35、所述系统任务包括收发数据包的任务。
36、在一些实施例中,
37、所述从机具有可选择开启的自动休眠功能,所述方法应用于开启了所述自动休眠功能的从机;
38、开启所述自动休眠功能的从机在满足预设休眠条件后的预设时间进入休眠状态。
39、此外,为实现上述目的,本专利技术还提出一种总线系统的通信方法,所述总线系统包括主机和多个从机,至少部分所述从机具有可选择开启的自动休眠功能,所述自动休眠功能用于所述从机在满足预设休眠条件后进入休眠状态,所述预设休眠条件包括接收数据包完成后经过预设时间;
40、所述方法应用于主机,包括:
41、缓存待发送给第一从机的第二数据包,所述第一从机为已开启所述自动休眠功能的从机;
42、响应于所述第一从机发送的第一数据包,在所述预设时间内发送所述第二数据包。
43、在一些实施例中,
44、所述缓存待发送给第一从机的第二数据包,包括:
45、在与所述第一从机无数据收发超过所述预设时间时,缓存待发送给所述第一从机的第二数据包。
46、在一些实施例中,
47、所述缓存待发送给第一从机的第二数据包,之前,所述方法包括:
48、在所有从机中设置至少部分从机开启自动休眠功能。
49、在一些实施例中,
50、所述第一数据包携带有表示对应从机的所述自动休眠功能的开启状态的信息;
51、所述缓存待发送给第一从机的第二数据包,之前,所述方法包括:
52、根据获取的所述多个从机发送的第一数据包,确定第一从机。
53、此外,为实现上述目的,本专利技术还提出一种总线系统,包括:
54、多个从机和一个用于对所述多个从机进行控制的主机;
55、至少部分所述从机用于执行前述任一实施例所述的应用于从机的通信方法;
56、所述主机用于执行前述任一实施例所述的应用于主机的通信方法。
57、在一些实施例中,
58、所述第一数据包包括心跳包和/或握手包。
59、在一些实施例中,
60、所述总线包括can总线和/或rs485总线。
61、此外,为实现上述目的,本专利技术还提出一种计算机程序产品,包括:
62、计算机程序,所述计算机程序被处理器执行时实现前述任一实施例所述的应用于从机的总线系统的通信方法,或者,实现前述任一实施例所述的应用于主机的总线系统的通信方法。
63、本申请提出的一种总线系统的通信方法,从机具有休眠等待时间,即从机在收发数据完成后会经过预设时间(即休眠等待时间)再进入休眠。本申请具有以下优点:
64、1.主机在与对应从机无数据收发且经过休眠等待时间后缓存待发送给该从机的第二数据包,从而避免从机进入休眠后,主机继续向该从机发送数据而导致数据丢失。
65、2.从机在唤醒后立即向主机发送第一数据包,主机收到第一数据包后,本文档来自技高网...
【技术保护点】
1.一种总线系统的通信方法,其特征在于,应用于从机;所述从机在满足预设休眠条件后进入休眠状态;
2.如权利要求1所述的总线系统的通信方法,其特征在于,
3.如权利要求2所述的总线系统的通信方法,其特征在于,
4.如权利要求2所述的总线系统的通信方法,其特征在于,
5.如权利要求1所述的总线系统的通信方法,其特征在于,
6.如权利要求5所述的总线系统的通信方法,其特征在于,
7.如权利要求1所述的总线系统的通信方法,其特征在于,
8.如权利要求7所述的总线系统的通信方法,其特征在于,
9.一种总线系统的通信方法,其特征在于,所述总线系统包括主机和多个从机,至少部分所述从机具有可选择开启的自动休眠功能,所述自动休眠功能用于所述从机在满足预设休眠条件后进入休眠状态,所述预设休眠条件包括接收数据包完成后经过预设时间;
10.如权利要求9所述的总线系统的通信方法,其特征在于,
11.如权利要求9所述的总线系统的通信方法,其特征在于,
12.如权利要求9所述的总
13.一种总线系统,其特征在于,包括:
14.如权利要求13所述的总线系统,其特征在于,
15.如权利要求13所述的总线系统,其特征在于,
16.一种计算机程序产品,其特征在于,包括:
...【技术特征摘要】
1.一种总线系统的通信方法,其特征在于,应用于从机;所述从机在满足预设休眠条件后进入休眠状态;
2.如权利要求1所述的总线系统的通信方法,其特征在于,
3.如权利要求2所述的总线系统的通信方法,其特征在于,
4.如权利要求2所述的总线系统的通信方法,其特征在于,
5.如权利要求1所述的总线系统的通信方法,其特征在于,
6.如权利要求5所述的总线系统的通信方法,其特征在于,
7.如权利要求1所述的总线系统的通信方法,其特征在于,
8.如权利要求7所述的总线系统的通信方法,其特征在于,
9.一种总线系统的通信方法,其特征在于,所述总...
【专利技术属性】
技术研发人员:董友才,何胜,晏刚,杨青,王莹,张懿鑫,雷典,辛冰洁,
申请(专利权)人:浙江正泰电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。