System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及can帧发送,特别是指质一种can帧发送方法、装置及系统、计算设备及存储介质。
技术介绍
1、传统的通过软件发送can帧的方法,在发送can帧时,需要主控处理器的主控制器(即cpu)把要发送的can帧(包括can id、数据以及数据长度)写到对应的can控制器空闲的发送缓存器(即secondary transmit buffer,stb,辅发送缓冲器)中,can控制器启动can帧发送,从一个can端口发送至对应的can终端中。在该can控制器把can帧发送完毕后,会通过中断方式通知cpu进行stb发送缓存器的回收,并根据中断状态设置该发送缓存器为空闲状态,以进行下一can帧的发送,如图1所示。
2、上述现有方法存在的技术问题是:由于stb发送缓存器有限,因此当can帧发送吞吐量较大时,会频繁的产生中断给cpu,以进行发送缓存器的回收,这不仅会耗费大量的cpu资源,也会降低can帧的发送效率。
技术实现思路
1、鉴于现有技术的以上问题,本申请提供一种can帧发送方法、装置及系统、计算设备及存储介质,以降低对cpu资源的耗费,以相应的提高can帧的发送效率。
2、为达到上述目的,本申请第一方面提供了一种can帧发送方法,包括:
3、主控处理器将待发送的第一can帧封装为eth报文,并通过交换模块将所述eth报文传输至网络处理器;所述eth报文中还包括所述第一can帧的第一can id;
4、所述网络处理器解析所述eth报文获取所
5、所述网络处理器根据硬件转发表项中记录的各can帧的id对应的各目的can端口,确定出所述第一can id对应的目的can端口,其中,所确定出的目的can端口包括第一can端口;
6、所述网络处理器将所述第一can帧传输至配置有所述第一can端口的第一can控制器的ptb发送缓存器;
7、所述第一can控制器将所述ptb发送缓存器内的所述第一can帧通过所述第一can端口发送出去。
8、由上,本申请是把can帧封装成eth报文后通过交换模块发送至网络处理器,由网络处理器根据硬件转发表项确定要发送该can帧的目的can端口,然后网络处理器将该can帧发送到配置有该目的can端口的can控制器的ptb发送缓存器,然后由can控制器把ptb发送缓存器内要发送的can帧从相应的can口发送出去,由于该can帧被存储到ptb发送缓存器,而ptb发送缓存器容量大,所以其可以减少主控处理器的cpu中断,再者采用硬件转发表项进行can帧转发,也可以减少主控处理器的cpu中断,因此降低了cpu的参与度,降低对cpu资源的耗费,显著提高了can帧的发送效率。
9、作为第一方面的一种可能的实现方式,所述eth报文包括源mac地址字段、目的mac地址字段、以太网类型字段和eth数据字段;所述eth数据字段包括标志位字段、can id字段、数据长度字段、can帧扩展帧标志字段、can数据字段、校验和字段、pad字段;
10、所述主控处理器将所述待发送的第一can帧封装为eth报文,包括:
11、所述源mac地址字段、目的mac地址字段、以太网类型字段、标志位字段、pad字段根据自定义填写;
12、将所述待发送的第一can帧填入所述can数据字段;
13、从所述待发送的第一can帧中获取第一can id、第一can帧的长度,将所述第一canid、第一can帧的长度填入所述can id字段和数据长度字段;
14、根据所述第一can id所占比特位确定是否是can扩展帧,并相应填写can帧扩展帧标志字段;
15、基于所述eth数据字段计算校验和的值填入校验和字段。
16、由上,本申请按照如上形式将can帧封装成eth报文后通过交换模块发送至网络处理器,由网络处理器根据硬件转发表项确定要发送该can帧的目的can端口,然后网络处理器将该can帧发送到配置有该目的can端口的can控制器的ptb发送缓存器,然后由can控制器把ptb发送缓存器内要发送的can帧从相应的can口发送出去,由于该can帧被存储到ptb发送缓存器且ptb发送缓存器容量大,所以其可以减少主控处理器的cpu中断,再者采用硬件转发表项进行can帧转发,也可以减少主控处理器的cpu中断,因此降低了cpu的参与度,降低对cpu资源的耗费,并且由于不会频繁产生中断,也显著提高了can帧的发送效率。
17、作为第一方面的一种可能的实现方式,所述硬件转发表项具体包括hash索引值项和对应的hash表项:所述hash索引值项中包括根据各can帧的can id和can帧扩展帧标志计算出的各hash索引值,每个所述hash索引值对应的hash表项中包括与相应can帧的目的can端口对应的bitmap值;
18、所述网络处理器根据硬件转发表项中记录的各can帧的id对应的各目的can端口的信息,确定出所述第一can id对应的目的can端口,包括:
19、所述网络处理器根据第一can id和can帧扩展帧标志计算出第一can帧的hash索引值,在硬件转发表项中查询命中所述第一can帧的hash索引值时,获得对应的bitmap值;
20、基于bitmap值获得对应的目的can端口,作为所述第一can id的对应的目的can端口。
21、由上,本申请通过can帧的can id和can帧扩展帧标志计算hash值,根据该hash值可以使该can帧快速地匹配到对应硬件转发表项,从对应的硬件转发表项中获取发送目的端口,然后由can控制器从对应的can端口转发can帧,该can帧的发送不需要cpu参与,完全由硬件完成,能够显著提高can帧的发送效率。
22、作为第一方面的一种可能的实现方式,还包括:
23、在硬件转发表项中查询未命中所述第一can帧的hash索引值时,所述主控处理器在所述硬件转发表项中增加相应的转发项。
24、作为第一方面的一种可能的实现方式,在硬件转发表项中查询未命中所述第一can帧的hash索引值时,所述主控处理器在所述硬件转发表项中增加相应的转发项,包括:
25、所述主控处理器根据第一can id和can帧扩展帧标志计算出第一can帧hash索引值,该hash索引值对应的hash表项中填入第一can帧中的目的can端口对应的bitmap值。
26、由上,本申请在根据hash值匹配不到硬件转发表项时,可以重新硬件转发表项中的配置相应的转发项,这样使得要发送的can帧都能匹配到对应硬件转发表项。
27、作为第一方面的一种可能的实现方式,还包括:
28、所述主控处理器初始化第一can控制器为硬件发送模式;
29、所述主控处理器将所述硬件转发表项预配置到所述网络处理器中。
本文档来自技高网...【技术保护点】
1.一种CAN帧发送方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述ETH报文包括源MAC地址字段、目的MAC地址字段、以太网类型字段和ETH数据字段;所述ETH数据字段包括标志位字段、CAN ID字段、数据长度字段、CAN帧扩展帧标志字段、CAN数据字段、校验和字段、PAD字段;
3.如权利要求2所述的方法,其特征在于,所述硬件转发表项具体包括hash索引值项和对应的hash表项:所述hash索引值项中包括根据各CAN帧的CAN ID和CAN帧扩展帧标志计算出的各hash索引值,每个所述hash索引值对应的hash表项中包括与相应CAN帧的目的CAN端口对应的bitmap值;
4.如权利要求3所述的方法,其特征在于,还包括:
5.如权利要求4所述的方法,其特征在于,在硬件转发表项中查询未命中所述第一CAN帧的hash索引值时,所述主控处理器在所述硬件转发表项中增加相应的转发项,包括:
6.如权利要求1所述的方法,其特征在于,还包括:
7.一种CAN帧发送装置,其特征在于,包括:
...【技术特征摘要】
1.一种can帧发送方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述eth报文包括源mac地址字段、目的mac地址字段、以太网类型字段和eth数据字段;所述eth数据字段包括标志位字段、can id字段、数据长度字段、can帧扩展帧标志字段、can数据字段、校验和字段、pad字段;
3.如权利要求2所述的方法,其特征在于,所述硬件转发表项具体包括hash索引值项和对应的hash表项:所述hash索引值项中包括根据各can帧的can id和can帧扩展帧标志计算出的各hash索引值,每个所述hash索引值对应的hash表项中包括与相应can帧的目的can端口对应的bitmap值;
4.如权利要求3所述的方法,其特征在于,还包括:
5.如权利要求4所述的方法,其...
【专利技术属性】
技术研发人员:孙大娟,
申请(专利权)人:北京东土军悦科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。