本发明专利技术涉及一种CAN网桥通信系统、方法、设备及存储介质。所述系统包括:两个均设有两个CAN接口的微控制器;两个所述微控制器之间通过两对互为主从的外设SPI接口进行通信;微控制器用于在自身CAN接口或外设SPI接口接收到数据时,识别数据的目标CAN接口,当识别到所述数据的目标CAN接口为同一个微控制器的CAN接口时,将所述数据直接转发给对应的目标CAN接口;当识别到所述数据的目标CAN接口为另一个微控制器的CAN接口时,将所述数据通过外设SPI接口转发给另一个微控制器。本发明专利技术减少SPI单主机通讯需额外中断处理从机通知信号的时间,在满足CAN通道数量的同时,同时保证了高达6000fps的高吞吐量,从而削弱多通道CAN网桥在微控制器选型方面所受到的限制。微控制器选型方面所受到的限制。微控制器选型方面所受到的限制。
【技术实现步骤摘要】
CAN网桥通信系统、方法、设备及存储介质
[0001]本专利技术涉及通信
,具体地,涉及一种CAN网桥通信系统、方法、设备及存储介质。
技术介绍
[0002]CAN是控制器局域网络(Controller Area Network,CAN)的简称,是ISO国际标准化的串行通信协议,是国际上应用最广泛的现场总线之一。CAN总线通信接口,继承了CAN协议的物理层和数据链路层功能,完成对通讯数据的成帧处理;废除传统的站地址编码,而代之以对通讯数据块进行编码,使网络内的节点个数在理论上不受限制;CAN总线采用多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线及广播通信的特点。
[0003]CAN总线数据理论传输距离高达10mm,远超各类常见的串口总线。但值得注意的是,在不同传输速率下,CAN可使用的最高传输速率是有限的。也就是说,传输速率越低,可传输的距离才越远,10km的传输距离,往往要求其总线速率下降至5kbps。联系到CAN总线的综合性及应用场景的多样性,5kbps显然不够,此时,CAN网桥应运而生。
[0004]如图1所示为传统的CAN网桥结构框图,CAN网桥一般有两路、四路、八路等,靠微控制器的CAN控制器外设再外加转换芯片去实现CAN总线上数据的滤波、缓存与转发。这也意味着,每多一路CAN,微控制器的CAN控制器外设就相应要多一个,而目前市面上主流微控制器的CAN控制器外设一般最多只有两个,这也为四路及以上的CAN网桥设计带来难度。
技术实现思路
[0005]本专利技术旨在克服上述现有技术中至少一种缺陷,提供一种CAN网桥通信系统、方法、设备及存储介质,本专利技术在满足CAN通道数量的同时,利用高速串行外设SPI接口通信的应用,可靠保证了产品的高吞吐量,从而削弱多通道CAN网桥在微控制器选型方面所受到的限制。
[0006]为了实现上述目的,本专利技术采用如下技术方案:
[0007]第一方面,提供一种CAN网桥通信系统,包括:
[0008]两个微控制器;各所述微控制器均设有两个CAN接口,各所述微控制器的各CAN接口用于与一个CAN收发模块连接;
[0009]两个所述微控制器之间通过两对互为主从的外设SPI接口进行通信;
[0010]所述CAN接口用于接收CAN收发模块发送的数据;
[0011]所述外设SPI接口用于接收另一个微控制器发送的数据或将数据发送给另一个微控制器;
[0012]微控制器用于在自身CAN接口或外设SPI接口接收到数据时,识别数据的目标CAN接口,当识别到所述数据的目标CAN接口为同一个微控制器的CAN接口时,将所述数据直接转发给对应的目标CAN接口;当识别到所述数据的目标CAN接口为另一个微控制器的CAN接口时,将所述数据通过外设SPI接口转发给另一个微控制器。
[0013]优选地,所述微控制器还用于将接收到的数据存储进对应的数组环形队列FIFO中;
[0014]当微控制器处于接收数据间隙,所述微控制器还用于按预设的判断顺序循环判断自身的所有数组环形队列FIFO是否为非空;
[0015]若判定一个数组环形队列FIFO非空,则识别所述数组环形队列FIFO的当前的数据的目标CAN接口,将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并判断下一个判断顺序的数组环形队列FIFO是否为非空。
[0016]优选地,所述微控制器用于识别接收的数据的目标CAN接口具体为:
[0017]将当前的数据的目标CAN接口按预设的匹配顺序依次与两个微控制器的CAN接口进行匹配;
[0018]若匹配成功,则将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并与下一个匹配顺序的CAN接口进行匹配,直至与所有CAN接口匹配结束。
[0019]优选地,两个微控制器为微控制器MCU1和微控制器MCU2,微控制器MCU1设有外设SPI1接口和外设SPI2接口,微控制器MCU2设有外设SPI3接口和外设SPI4接口;两个所述微控制器之间通过两对互为主从的外设SPI接口进行通信,具体为:SPI1接口的时钟引脚SCK连接SPI3接口的时钟引脚SCK,SPI1接口的数据引脚MOSI连接SPI3接口的时钟引脚MOSI;SPI2接口的时钟引脚SCK连接SPI4接口的时钟引脚SCK,SPI2接口的数据引脚MOSI连接SPI4接口的时钟引脚MOSI;SPI1接口用于将数据转发给SPI3接口,SPI2接口用于接收SPI4接口发送的数据。
[0020]第二方面,提供一种CAN网桥通信方法,应用于CAN网桥通信系统,所述CAN网桥通信系统包括:
[0021]两个微控制器;各所述微控制器均设有两个CAN接口,各所述微控制器的各CAN接口用于与一个CAN收发模块连接;
[0022]所述CAN接口用于接收CAN收发模块发送的数据;
[0023]所述外设SPI接口用于接收另一个微控制器发送的数据或将数据发送给另一个微控制器;
[0024]所述CAN网桥通信方法包括:
[0025]在自身CAN接口或外设SPI接口接收到数据时,识别数据的目标CAN接口;
[0026]当识别到所述数据的目标CAN接口为同一个微控制器的CAN接口时,将所述数据直接转发给对应的目标CAN接口;
[0027]当识别到所述数据的目标CAN接口为另一个微控制器的CAN接口时,将所述数据通过外设SPI接口转发给另一个微控制器。
[0028]优选地,在自身CAN接口或外设SPI接口接收到数据时,还包括:
[0029]将接收到的数据存储进对应的数组环形队列FIFO中;
[0030]当微控制器处于接收数据间隙,按预设的判断顺序循环判断自身的所有数组环形队列FIFO是否为非空;
[0031]若判定一个数组环形队列FIFO非空,则识别所述数组环形队列FIFO的当前的数据
的目标CAN接口,将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并判断下一个判断顺序的数组环形队列FIFO是否为非空。
[0032]优选地,所述识别接收的数据的目标CAN接口具体包括:
[0033]将当前的数据的目标CAN接口按预设的匹配顺序依次与两个微控制器的CAN接口进行匹配;
[0034]若匹配成功,则将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并与下一个匹配顺序的CAN接口进行匹配,直至与所有CAN接口匹配结束。
[0035]第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述CAN网桥通信方法的步骤。
[0036]第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种CAN网桥通信系统,其特征在于,包括:两个微控制器;各所述微控制器均设有两个CAN接口,各所述微控制器的各CAN接口用于与一个CAN收发模块连接;两个所述微控制器之间通过两对互为主从的外设SPI接口进行通信;所述CAN接口用于接收CAN收发模块发送的数据;所述外设SPI接口用于接收另一个微控制器发送的数据或将数据发送给另一个微控制器;微控制器用于在自身CAN接口或外设SPI接口接收到数据时,识别数据的目标CAN接口,当识别到所述数据的目标CAN接口为同一个微控制器的CAN接口时,将所述数据直接转发给对应的目标CAN接口;当识别到所述数据的目标CAN接口为另一个微控制器的CAN接口时,将所述数据通过外设SPI接口转发给另一个微控制器。2.根据权利要求1所述的一种CAN网桥通信系统,其特征在于,所述微控制器还用于将接收到的数据存储进对应的数组环形队列FIFO中;当微控制器处于接收数据间隙,所述微控制器还用于按预设的判断顺序循环判断自身的所有数组环形队列FIFO是否为非空;若判定一个数组环形队列FIFO非空,则识别所述数组环形队列FIFO的当前的数据的目标CAN接口,将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并判断下一个判断顺序的数组环形队列FIFO是否为非空。3.根据权利要求1或2任一项所述的一种CAN网桥通信系统,其特征在于,所述微控制器用于识别接收的数据的目标CAN接口具体为:将当前的数据的目标CAN接口按预设的匹配顺序依次与两个微控制器的CAN接口进行匹配;若匹配成功,则将当前的所述数据直接转发给对应的目标CAN接口,或将当前的所述数据通过外设SPI接口转发给另一个微控制器,并与下一个匹配顺序的CAN接口进行匹配,直至与所有CAN接口匹配结束。4.根据权利要求3所述的一种CAN网桥通信系统,其特征在于,两个微控制器为微控制器MCU1和微控制器MCU2,微控制器MCU1设有外设SPI1接口和外设SPI2接口,微控制器MCU2设有外设SPI3接口和外设SPI4接口;两个所述微控制器之间通过两对互为主从的外设SPI接口进行通信,具体为:SPI1接口的时钟引脚SCK连接SPI3接口的时钟引脚SCK,SPI1接口的数据引脚MOSI连接SPI3接口的时钟引脚MOSI;SPI2接口的时钟引脚SCK连接SPI4接口的时钟引脚SCK...
【专利技术属性】
技术研发人员:ꢀ五一IntClH零四L一二四零,
申请(专利权)人:广州金升阳科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。