System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及通信领域,特别涉及一种can通信方法、装置、电子设备和存储介质。
技术介绍
1、控制器局域网络(can,controller area network)总线因其高性能和可靠性已被广泛应用在工业自动化、医疗设备、汽车电子等方面。由于can属于异步通讯,没有时钟信号线,因此,连接在同一个can总线网络中的各节点间使用约定好的波特率进行通讯,can网络使用同步的方式实现总线电平信号的正确采样。可见,波特率偏差将对can通信产生至关重要的影响。
2、目前,使用can接口时只需配置收发模式和波特率。但是实际使用时存在以下问题:(1)使用常规配置方法收发数据时,经试验发现,发送(txd,transmit external data)端随着数据发送量的增加有些比特的位宽会被拉长,降低波特率,导致采样点和波特率出现偏差;(2)can控制器挂接某些波特率偏差容忍度低的设备时,经试验发现,若使用常规配置方法收发数据,提高波特率会导致can控制器与其挂接设备无法正常通信,can控制器只能接收数据,并且can控制器发出的数据对端设备收不到;(3)当can控制器挂接多个设备节点时,用常规配置方法收发数据,can控制器端只能接收数据,如果发送数据会出现总线挂死现象。
3、因此,需要一种新的can通信方法以减少波特率偏差,确保can网络通信正常。
技术实现思路
1、有鉴于此,本公开提供了一种can通信方法、装置、电子设备和存储介质,以避免发送端数据位宽被拉长,在实现数据同步的前
2、根据本公开的第一方面,提供了一种can通信方法,所述方法包括:
3、在当前can节点进行通信前,为当前can节点的can控制器配置发送端位时间信息,所述发送端位时间信息包括:时间量子的长度、传输段的长度、第一相位缓冲段的长度、第二相位缓冲段的长度以及重同步跳转宽度的配置值;
4、在当前can节点通信过程中,当前can节点中can控制器按照所述发送端位时间信息发送数据。
5、本公开的一种可能的实现方式中,在当前can节点通信过程中,发送端位时间信息中的时间量子的长度、传输段的长度、第一相位缓冲段的长度以及第二相位缓冲段的长度均固定不变且重同步跳转宽度的取值不超过所述配置值。
6、本公开的一种可能的实现方式中,所述当前can节点中can控制器按照所述发送端位时间信息发送数据,包括:每次需要发送数据时,当前can节点中can控制器均按照所述发送端位时间信息发送数据。
7、本公开的一种可能的实现方式中,在当前can节点通信过程中,当前can节点中can控制器按照所述发送端位时间信息发送数据,包括:当前can节点中can控制器根据回读数据和发送数据之间的时间延时,将can控制器接收端的第一相位缓冲段拉长预定长度以使得所述回读数据的跳变沿在所述发送数据的同步段内;当前can节点中can控制器不会根据接收端的第一相位缓冲段的拉长调整发送端的位时间信息,继续按照发送端位时间信息发送后续数据。
8、本公开的一种可能的实现方式中,还包括:根据所述当前can节点挂接的设备节点的波特率容忍度重新配置当前can节点的波特率;以及,为当前can节点的can控制器配置适应新配置的波特率的发送端位时间信息。
9、本公开的一种可能的实现方式中,所述发送端位时间信息根据如下的can通信协议规定计算得到:
10、seg2≥sjw;
11、sjw取值范围为1~4且sjw≤min(seg1,seg2);
12、8tq≤ss+prop+seg1+seg2≤25tq;
13、
14、
15、
16、其中,clk表示can节点的时钟频率,sjw表示重同步跳转宽度,ss表示同步段,prop表示传输段,seg1表示第一相位缓冲段,seg2表示第二相位缓冲段,tq表示时间量子,baudrate表示波特率,us表示微秒,为时间量子的单位,sample_pos表示采样率,pre表示预分频系数。
17、本公开的一种可能的实现方式中,can-fd协议仲裁场的所述发送端位时间信息根据如下的can-fd通信协议规定计算得到:
18、seg2≥sjw;
19、sjw≤min(seg1,seg2);
20、sjw取值范围为1~16tq;
21、8tq≤ss+prop+seg1+seg2≤80tq;
22、
23、
24、
25、其中,clk表示can节点的时钟频率,sjw表示重同步跳转宽度,ss表示同步段,prop表示传输段,seg1表示第一相位缓冲段,seg2表示第二相位缓冲段,tq表示时间量子,baudrate表示波特率,us表示微秒,为时间量子的单位,sample_pos表示采样率,pre表示预分频系数。
26、本公开的一种可能的实现方式中,can-fd协议中数据场的所述发送端位时间信息根据如下的can-fd通信协议规定计算得到:
27、sjw≤min(seg1,seg2);
28、sjw取值范围为1~8dtq;
29、5dtq≤ss+prop+seg1+seg2≤25dtq;
30、
31、
32、
33、其中,clk表示can节点的时钟频率,sjw表示重同步跳转宽度,ss表示同步段,prop表示传输段,seg1表示第一相位缓冲段,seg2表示第二相位缓冲段,dtq表示数据场时间量子,baudrate表示波特率,us表示微秒,为时间量子的单位,sample_pos表示采样率,pre表示预分频系数。
34、本公开的一种可能的实现方式中,所述当前can节点挂接有多个设备节点。
35、根据本公开的第二方面,提供了一种can通信装置,所述can通信装置设置于can控制器中,所述can通信装置包括:
36、配置单元,用于在当前can节点进行通信前,为当前can节点的can控制器配置发送端位时间信息,所述发送端位时间信息包括:时间量子的长度、传输段的长度、第一相位缓冲段的长度、第二相位缓冲段的长度以及重同步跳转宽度的配置值;
37、发送单元,用于在当前can节点通信过程中,按照所述发送端位时间信息发送数据。
38、根据本公开的第三方面,提供了一种电子设备,包括:
39、一个或者多个处理器,和
40、存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述第一方面所述的方法。
41、根据本公开的第四方面,提供了一种can节点设备,包括:can控制器和can收发器;所述can控制器,用于根据上述第一方面所述的方法进行数据发送,所述can收发器用于将所述ca本文档来自技高网...
【技术保护点】
1.一种CAN通信方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在当前CAN节点通信过程中,所述发送端位时间信息中的时间量子的长度、传输段的长度、第一相位缓冲段的长度以及第二相位缓冲段的长度均固定不变且重同步跳转宽度的取值不超过所述配置值。
3.根据权利要求1所述的方法,其特征在于,所述当前CAN节点中CAN控制器按照所述发送端位时间信息发送数据,包括:每次需要发送数据时,当前CAN节点中CAN控制器均按照所述发送端位时间信息发送数据。
4.根据权利要求1所述的方法,其特征在于,在当前CAN节点通信过程中,当前CAN节点中CAN控制器按照所述发送端位时间信息发送数据,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1或5所述的方法,其特征在于,所述发送端位时间信息根据如下的CAN通信协议规定计算得到:
7.根据权利要求1或5所述的方法,其特征在于,CAN-FD协议仲裁场的所述发送端位时间信息根据如下的CAN-FD通信协议规定计算得到:
8.根据权利
9.根据权利要求1所述的方法,其特征在于,所述当前CAN节点挂接有多个设备节点。
10.一种CAN通信装置,其特征在于,所述CAN通信装置设置于CAN控制器中,所述CAN通信装置包括:
11.一种电子设备,其特征在于,包括:
12.一种CAN节点设备,其特征在于,包括:CAN控制器和CAN收发器;
13.一种存储有程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算装置的一个或者多个处理器执行时,致使所述计算装置执行根据权利要求1至9中任一项所述的方法。
...【技术特征摘要】
1.一种can通信方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在当前can节点通信过程中,所述发送端位时间信息中的时间量子的长度、传输段的长度、第一相位缓冲段的长度以及第二相位缓冲段的长度均固定不变且重同步跳转宽度的取值不超过所述配置值。
3.根据权利要求1所述的方法,其特征在于,所述当前can节点中can控制器按照所述发送端位时间信息发送数据,包括:每次需要发送数据时,当前can节点中can控制器均按照所述发送端位时间信息发送数据。
4.根据权利要求1所述的方法,其特征在于,在当前can节点通信过程中,当前can节点中can控制器按照所述发送端位时间信息发送数据,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1或5所述的方法,其特征在于,所述发送端位时间信息根据如下的can通信协议规定计算得到:
【专利技术属性】
技术研发人员:白雪,姜若楠,王家兴,汶少阳,薛希庆,
申请(专利权)人:飞腾信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。