CAN总线通讯控制系统及通信系统转让专利

申请号 : CN202010991480.8

文献号 : CN112039745B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘锴宋宁崔明章杜金凤

申请人 : 广东高云半导体科技股份有限公司

摘要 :

本发明提供了一种CAN总线通讯控制系统及通信系统,所述通信系统以集成在同一片上系统中的MCU内核和FPGA内核组成的SoC架构为基础,基于FPGA内核中的逻辑资源设置CAN总线控制器模块、MCU总线映射模块以及CAN总线中断信号映射模块,将MCU和片外的外部CAN设备之间的CAN总线集成在片内,且能动态配置CAN总线数量,以及实现MCU内核对各个所述CAN总线控制器模块的优先级分类控制,由此,提高了MCU扩展性和易用性,降低了MCU挂载外部CAN设备的设计与应用复杂度,有助于用户快速应用CAN总线,且降低了CAN总线优先级对CAN设备节点的依赖性,增强了MCU对CAN设备节点优先级的控制性。本发明还提供一种动态配置CAN总线各个设备节点的优先级的方法。

权利要求 :

1.一种基于具有FGPA与MCU的 SoC架构的CAN总线通讯控制系统,其特征在于,包括集成在同一片上系统中的MCU内核和FPGA内核,所述FPGA内核逻辑资源设置有CAN总线中断信号映射模块、MCU总线映射模块和多个CAN总线控制器模块;其中,每个所述CAN总线控制器模块用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议,并连接位于所述片上系统外部的外部CAN设备,所述MCU总线映射模块用于将所述MCU内核的一路CAN系统总线,映射为数量能够动态配置的多路CAN子系统总线,以实现所述片上系统所连接的外部CAN设备的功能和数量的动态可配;所述CAN总线中断信号映射模块连接各个所述CAN总线控制器模块,所述CAN总线中断信号映射模块用于将各个所述CAN总线控制器模块的中断信号按照规定的优先级映射到所述MCU内核的中断向量表中,以实现MCU内核对各个所述CAN总线控制器模块的优先级的分类控制。

2.如权利要求1所述的CAN总线通讯控制系统,其特征在于,所述MCU系统总线映射模块通过所述FPGA内核的内部边界延伸到所述FPGA内核,与相应的所述CAN总线控制器模块连接,实现MCU内核与所述外部CAN设备的交互。

3.如权利要求1所述的CAN总线通讯控制系统,其特征在于,每路所述CAN子系统总线用于连接相应的一个所述CAN总线控制器模块;每个所述CAN总线控制器模块均包括:CAN总线功能控制模块,用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议;

CAN总线外部接口,连接所述CAN总线功能控制模块和相应的所述外部CAN设备,以实现所述CAN总线功能控制模块与所述外部CAN设备的CAN总线通信交互;

CAN总线内部接口,连接所述CAN总线功能控制模块、所述MCU总线映射模块和所述CAN总线中断信号映射模块,用于实现CAN总线功能控制模块和所述MCU总线映射模块、所述CAN总线中断信号映射模块之间的交互。

4.如权利要求1所述的CAN总线通讯控制系统,其特征在于,每个所述CAN总线控制器模块均包括通用寄存器组,所述通用寄存器组包括控制寄存器、状态寄存器、读数据寄存器和写数据寄存器;所述通用寄存器组中的各个寄存器连接所述CAN总线功能控制模块的相应引脚。

5.如权利要求4所述的CAN总线通讯控制系统,其特征在于,所述MCU总线映射模块还用于译码所述MCU内核的外设地址空间,在所述MCU内核的外设地址空间中映射相应的所述CAN总线控制器模块的寄存器,以实现所述MCU内核与所述外部CAN设备的读、写与控制。

6.如权利要求所述4的CAN总线通讯控制系统,其特征在于,所述CAN 总线功能控制模块包括:时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚和写数据引脚;其中,所述时钟引脚外接MCU内核的时钟信号,所述复位引脚外接所述MCU内核的复位信号,所述控制类引脚连接所述控制寄存器,所述状态类引脚连接所述状态寄存器,所述读数据引脚连接所述读数据寄存器,所述写数据引脚连接所述写数据寄存器。

7.一种通信系统,其特征在于,包括权利要求1 6中任一项所述的基于具有FGPA与MCU~

的 SoC架构的CAN总线通讯控制系统,以及,与所述CAN总线通讯控制系统连接的至少一个外部CAN设备,每个所述外部CAN设备与所述CAN总线通讯控制系统中相应的一个CAN总线控制器模块连接。

8.如权利要求7所述的通信系统,其特征在于,所述外部CAN设备包括外部CAN收发器,所述外部CAN收发器与所述CAN总线通讯控制系统集成在同一片上系统中,或者,所述外部CAN收发器的至少部分设置在所述CAN总线通讯控制系统所在的片上系统的片外。

9.一种利用权利要求7所述的通信系统实现动态配置CAN总线各个设备节点的优先级的方法,其特征在于,包括以下步骤:

首先,利用FPGA的逻辑资源,将MCU的一路CAN系统总线,映射为数量能够动态配置的多路CAN子系统总线;

然后,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子系统总线上;

接着,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部CAN设备所在节点的优先级分类控制。

说明书 :

CAN总线通讯控制系统及通信系统

技术领域

[0001] 本发明涉及CAN通信技术领域,特别涉及一种CAN总线通讯控制系统及通信系统、动态配置CAN总线各个设备节点的优先级的方法。

背景技术

[0002] CAN(Controller Area Network,控制器局域网络)是一种有效支持分布式控制或实时控制的串行通信网络,是一种多主总线,可以仅有低电平CAN系统总线CAN_L和高电平
CAN系统总线CAN_H这两根线与外部设备相连,且内部继承了错误探测和管理模块。CAN被广
泛应用于汽车计算机控制系统和嵌入式工业控制局域网领域,在MCU(Micro‑controller 
Unit,微控制器单元)单片机领域,通常作为MCU的外部设备与片外CAN总线串行通信。
[0003] 同时具有MCU与FPGA(Field Programmable Gate Array,现场可编程门阵列)的片上系统(System‑on‑a‑Chip,SoC)是指通过FPGA将MCU、存储器、外部设备等与FPGA内核连接
起来,构成一个MCU内核加FPGA内核的SoC架构。基于FPGA可编程的特点,该片上系统架构具
有良好的扩展性。
[0004] 在传统的仅具有MCU内核的片上系统中,受制于成本限制,能支持两路以上的CAN外设的MCU型号有限或成本过高,且MCU并不能很好地控制CAN总线各个设备节点的优先级。

发明内容

[0005] 本发明的目的在于提供一种CAN总线通讯控制系统及通信系统、动态配置CAN总线各个设备节点的优先级的方法,能够实现MCU对CAN总线各个设备节点的优先级的分类控
制,以使得CAN设备功能和数据动态可配。
[0006] 为解决上述技术问题,本发明提供一种CAN总线通讯控制系统,包括集成在同一片上系统中的MCU内核和FPGA内核,所述FPGA内核逻辑资源设置有CAN总线中断信号映射模
块、MCU总线映射模块和多个CAN总线控制器模块;其中,每个所述CAN总线控制器模块用于
基于所述FPGA内核的逻辑资源实现CAN总线标准协议,并连接位于所述片上系统外部的相
应的外部CAN设备,所述MCU总线映射模块用于将所述MCU内核的一路CAN系统总线,映射为
数量能够动态配置的多路CAN子系统总线。
[0007] 可选地,所述CAN总线中断信号映射模块连接各个所述CAN总线控制器模块,所述CAN总线中断信号映射模块用于将各个所述CAN总线控制器模块的中断信号,按照规定的优
先级映射到所述MCU内核的中断向量表中,以实现MCU内核对各个所述CAN总线控制器模块
的优先级的控制。
[0008] 可选地,所述MCU总线映射模块通过所述FPGA内核的内部边界延伸到所述FPGA内核,与相应的所述CAN总线控制器模块连接,实现MCU内核与所述外部CAN设备的交互。
[0009] 可选地,每路所述CAN子系统总线用于连接相应的一个所述CAN总线控制器模块;每个所述CAN总线控制器模块均包括:
[0010] CAN总线功能控制模块,用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议;
[0011] CAN总线外部接口,连接所述CAN总线功能控制模块和相应的所述外部CAN设备,以实现所述CAN总线功能控制模块与所述外部CAN设备的CAN总线通信交互;
[0012] CAN总线内部接口,连接所述CAN总线功能控制模块和所述MCU总线映射模块、所述CAN总线中断信号映射模块,用于实现CAN总线功能控制模块和所述MCU总线映射模块、所述
CAN总线中断信号映射模块的交互。
[0013] 可选地,每个所述CAN总线控制器模块还均包括通用寄存器组,所述通用寄存器组包括控制寄存器、状态寄存器、读数据寄存器和写数据寄存器;所述通用寄存器组中的各个
寄存器连接所述CAN总线功能控制模块的相应引脚。
[0014] 可选地,所述MCU总线映射模块还用于译码所述MCU内核的外设地址空间,在所述MCU内核的外设地址空间中映射相应的所述CAN总线控制器模块的寄存器,以实现所述MCU
内核与所述外部CAN设备的读、写与控制。
[0015] 可选地,所述CAN总线功能控制模块包括:时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚和写数据引脚;其中,所述时钟引脚外接MCU内核的时钟信号,所述复位
引脚外接所述MCU内核的复位信号,所述控制类引脚连接所述控制寄存器,所述状态类引脚
连接所述状态寄存器,所述读数据引脚连接所述读数据寄存器,所述写数据引脚连接所述
写数据寄存器。
[0016] 基于同一发明构思,本发明还提供一种通信系统,包括本发明所述的CAN总线通讯控制系统,以及,与所述CAN总线通讯控制系统连接的至少一个外部CAN设备,每个所述外部
CAN设备与所述CAN总线通讯控制系统中相应的一个CAN总线控制器模块连接。
[0017] 可选地,所述外部CAN设备包括外部CAN收发器,所述外部CAN收发器与所述CAN总线通讯控制系统集成在同一片上系统中,或者,设置在所述CAN总线通讯控制系统所在的片
上系统的片外。
[0018] 基于同一发明构思,本发明一实施例还提供一种动态配置CAN总线各个设备节点的优先级的方法,包括以下步骤:
[0019] 首先,利用一FPGA的逻辑资源,将一MCU的一路CAN系统总线,映射为数量能够动态配置的多路CAN子系统总线;
[0020] 然后,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子系统总线上;
[0021] 接着,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部
CAN设备所在节点的优先级分类控制。
[0022] 与现有技术相比,本发明提供的技术方案,至少具有以下有益效果之一:
[0023] 1、该设计以集成在同一片上系统中的MCU内核和FPGA内核组成的SoC架构为基础,基于FPGA内核中的逻辑资源来实现MCU和片外的外部CAN设备之间的CAN总线,以使得在
FPGA中实现的CAN子系统总线能作为MCU的外部设备,提高了MCU的扩展性。
[0024] 2、基于FPGA可编程的特点,通过FPGA内核中的逻辑资源来实现的CAN总线控制器模块的数量以及MCU总线映射模块映射出的CAN子系统总线的数量可以动态调整,因此该设
计具有良好的扩展性,用户可以动态配置MCU外部的CAN总线控制器模块的数量,并进一步
通过CAN总线控制器模块动态配置所接入的外部CAN设备,以达到外部CAN设备的功能和数
据动态可配的目的,提高了MCU的扩展性和易用性,降低了MCU挂载外部CAN设备的设计与应
用复杂度,有助于用户快速应用CAN总线。
[0025] 3、由于所述CAN总线中断信号映射模块将所述CAN总线控制器模块的中断信号,按照规定的优先级映射到所述MCU内核的中断向量表中,因此能实现MCU内核对所述CAN总线
控制器模块的优先级的分类控制,降低了CAN总线优先级对CAN设备节点的依赖性,增强了
MCU对CAN设备节点优先级的控制性,提高了MCU外部CAN设备的扩展性和易用性。

附图说明

[0026] 图1是本发明具体实施例的CAN总线通讯控制系统的结构框图。
[0027] 图2是本发明具体实施例的CAN总线控制器模块的结构示意图。
[0028] 图3是本发明具体实施例的MCU总线映射模块的映射流程示意图。
[0029] 图4是本发明具体实施例的动态配置CAN总线各个设备节点的优先级的方法流程图。

具体实施方式

[0030] 以下结合附图和具体实施例对本发明提出的技术方案作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用
非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0031] 请参考图1,本发明一实施例提供一种CAN总线通讯控制系统,其基于MCU和FPGA SoC架构来实现,具体包括集成在同一片上系统Soc中的MCU内核13和FPGA内核10。MCU内核
13具有至少一路CAN系统总线,每路CAN系统总线具有低电平CAN系统总线CAN_L和高电平
CAN系统总线CAN_H两根线。FPGA内核10内部的逻辑资源主要包括逻辑控制区块(Logical 
ControlBlock,LCB) 资源、时钟网络资源、时钟处理资源、块随机存储器(Block RAM)、数字
信号处理资源(DSP核)和接口资源。逻辑控制区块资源包括显示查找表、加法器、寄存器、多
路选择器等等。本实施例中,所述FPGA内核10逻辑资源设置有一MCU总线映射模块11、一CAN
总线中断信号映射模块12以及n个CAN总线控制器模块1 n,其中n≥2且为整数。
~
[0032] 其中,每个所述CAN总线控制器模块1 n用于基于所述FPGA内核10的逻辑资源实现~
CAN总线标准协议,并连接设置于所述片上系统SoC外部的相应的外部CAN设备21 2n。即CAN
~
总线控制器模块1 n通过CAN总线与外部CAN设备21 2n一一对应连接,外部CAN设备21 2n位
~ ~ ~
于片上系统SoC外部并作为CAN总线的设备节点。在实际应用时,实际接入系统的外部CAN设
备的数量m可以小于n,此时,一些CAN总线控制器模块就未连接外部CAN设备,处于空闲状
态。
[0033] 请参考图2,每个所述CAN总线控制器模块1 n均包括CAN总线功能控制模块100、~
CAN总线外部接口(未图示)、CAN总线内部接口(未图示)以及通用寄存器组。其中,CAN总线
功能控制模块100用于基于所述FPGA内核10的逻辑资源实现CAN总线标准协议。CAN总线外
部接口连接所述CAN总线功能控制模块和外部CAN设备21 2n中的一个外部CAN设备,以实现
~
所述CAN总线功能控制模块与该外部CAN设备的CAN总线通信交互。CAN总线内部接口连接所
述CAN总线功能控制模块100和所述MCU总线映射模块11、所述CAN总线中断信号映射模块
12,用于实现CAN总线功能控制模块100和所述MCU总线映射模块11、所述CAN总线中断信号
映射模块12的交互。
[0034] 所述通用寄存器组包括控制寄存器101、状态寄存器102、读数据寄存器103和写数据寄存器104,控制寄存器101用于控制和确定操作模式以及当前执行任务的特性,状态寄
存器102用于存放两类信息:一类是体现当前指令执行结果的各种状态信息,另一类是存放
控制信息;读数据寄存器103用于暂存读取的数据;写数据寄存器104用于暂存需要写入的
数据。
[0035] 所述CAN总线功能控制模块100包括时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚、写数据引脚以及连接CAN总线外部接口的两个引脚CAN_H、CAN_L;其中,所
述时钟引脚外接MCU内核13的时钟信号,所述复位引脚外接所述MCU内核13的复位信号,所
述控制类引脚连接所述控制寄存器101,所述状态类引脚连接所述状态寄存器102,所述读
数据引脚连接所述读数据寄存器103,所述写数据引脚连接所述写数据寄存器104。
[0036] 请参考图1和图2,所述CAN总线中断信号映射模块12主要是由FPGA内核10中的一些组合逻辑电路来实现,组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于
该时刻的输入,与电路原来的状态无关。所述CAN总线中断信号映射模块12的输入侧还通过
各个所述CAN总线控制器模块1 n的CAN总线内部接口,连接各个所述CAN总线控制器模块1
~ ~
n的控制寄存器101和状态寄存器102,所述CAN总线中断信号映射模块12的输出侧连接MCU
内核13的中断向量表。所述CAN总线中断信号映射模块12用于将各个所述CAN总线控制器模
块1 n的中断信号,按照规定的优先级映射到所述MCU内核13的中断向量表中,以实现MCU内
~
核13对各个所述CAN总线控制器模块1 n的优先级的控制。
~
[0037] 请参考图1至图3,所述MCU总线映射模块11连接MCU内核13的一路CAN系统总线,即MCU总线映射模块11连接MCU内核13的低电平CAN系统总线CAN_L和高电平CAN系统总线CAN_
H两根线。所述MCU总线映射模块11能够根据CAN总线控制器模块1 n所连接外部CAN设备的
~
数量,将所述MCU内核13的一路CAN系统总线,映射为与所接入的外部CAN设备的数量相同的
多路CAN子系统总线,即所述MCU总线映射模块11能够根据需要接入的外部CAN设备的数量,
动态配置CAN子系统总线的数量,每路所述CAN子系统总线与需要接入的外部CAN设备一一
对应,且每路所述CAN子系统总线用于连接CAN总线控制器模块1 n中相应的一个。
~
[0038] 简单来说就是,MCU总线映射模块11能够将MCU内核13的一根低电平CAN系统总线CAN_L映射为多根低电平CAN子系统总线CAN_L_s,将MCU内核13的一根高电平CAN系统总线
CAN_H映射为多根高电平CAN子系统总线CAN_H_s,且一根低电平CAN子系统总线CAN_L_s和
一根低电平CAN子系统总线CAN_L_s组成一路CAN子系统总线,一路CAN子系统总线连接相应
的一个CAN总线控制器模块,此时,外部CAN设备21 2n相当于并联到MCU内核13上,通过MCU
~
内核13对所述CAN总线控制器模块1 n的优先级的分类控制,可以实现MCU内核13对外部CAN
~
设备21 2n的优先级控制,由此避免了现有技术中MCU仅有两根CAN系统总线时很难支持两
~
路外部CAN设备以及MCU并不能很好地控制CAN总线各个设备节点的优先级的问题。
[0039] 可选地,所述MCU总线映射模块11通过所述FPGA内核10的内部边界延伸到所述FPGA内核10中,以与相应的所述CAN总线控制器模块连接,实现MCU内核13与所述外部CAN设
备21 2n的交互。
~
[0040] 请参考图3,所述MCU总线映射模块11译码每路CAN子系统总线所对应的MCU内核13外设地址空间,以根据译码结果在所述MCU内核的外设地址空间中映射相应的所述CAN总线
控制器模块的寄存器,实现所述MCU内核13与所述外部CAN设备21 2n的读、写与控制。
~
[0041] 作为一种示例,MCU总线映射模块11根据各个所述CAN总线控制器模块1 n中的通~
用寄存器组的地址深度,以及所接入的外部CAN设备21 2n的数量,对MCU内核12的外设地址
~
空间进行地址分段,并在地址分段与通用寄存器组的寄存器组地址之间形成映射关系,并
进一步通过CAN子系统总线和CAN系统总线将映射关系发送至MCU内核13,以使得MCU内核13
能够根据映射关系产生所接入的每个外部CAN设备在MCU内核13中的专用外设地址信号。进
一步地,MCU总线映射模块11还将每个外部CAN设备在MCU内核13中的专用外设备地址信号
映射成该外部CAN设备的寄存器组地址信号,进一步发送至对应的CAN总线控制器模块,该
CAN总线控制器模块根据该寄存器组地址信号对其通用寄存器组进行操作,以进一步利用
其通用寄存器组对所连接的外部CAN设备进行操作,以实现MCU内核13与所述外部CAN设备
21 2n的读、写与控制。
~
[0042] 进一步地,MCU总线映射模块11用于从MCU内核13的CAN系统总线接收MCU内核13发送的操作指令,并确定操作指令的类型;相应的CAN总线控制器模块用于根据操作指令的类
型对其通用寄存器组中对应的寄存器进行相应的操作。
[0043] 下面结合图1至图3,来说明当MCU内核13需要对某一外部CAN设备2i(1≤i≤n)进行操作时的具体流程,此时,MCU内核13所在的片上系统SoC已接入包含该外部CAN设备2i在
内的多个外部CAN设备21 2n,且MCU总线映射模块11已根据各个所述CAN总线控制器模块1
~ ~
n中的通用寄存器组的地址深度,以及接入的外部CAN设备21 2n的数量,将所述MCU内核13
~
的一路CAN系统总线,映射为数量能够动态配置的n路CAN子系统总线,每路CAN子系统总线
用于连接一个外部CAN设备,其中第i路CAN子系统总线连接CAN总线控制器模块i,CAN总线
控制器模块i连接外部CAN设备2i,实现片上系统SoC与外部CAN设备2i之间的交互。MCU内核
13需要对外部CAN设备2i进行操作的具体流程包括:
[0044] 首先,MCU内核13发送操作指令,MCU总线映射模块11对操作指令进行译码,以判断外部CAN设备2i所对应的第i路CAN子系统总线是否被选中,若否,外部CAN设备2i所连接的
CAN总线控制器模块i继续处于待机状态,若是,CAN总线控制器模块i使能,并从所述操作指
令中解析出操作类型,判断是读操作还是写操作;
[0045] 若是读操作,则CAN总线控制器模块i根据MCU总线映射模块11所提供的该外部CAN设备2i的寄存器组地址信号,从其通用寄存器组中选择所要操作的寄存器,包括状态寄存
器、控制寄存器和读数据寄存器,并通过选中的寄存器和对外部CAN设备2i进行控制以及数
据读取,读取的数据可以暂存于读数据寄存器中,控制和确定操作模式以及当前执行任务
的特性等信息暂存于控制寄存器,体现当前指令执行结果的各种状态信息以及CAN总线控
制器模块i产生的用于控制外部CAN设备2i的控制信息等暂存于状态寄存器中;CAN总线控
制器模块i进一步通过MCU总线映射模块11和CAN总线中断信号映射模块12将其读数据寄存
器中的数据发送给MCU内核13,以完成读数据操作。
[0046] 若是写操作,则CAN总线控制器模块i根据MCU总线映射模块11所提供的该外部CAN设备2i的寄存器组地址信号,从其通用寄存器组中选择所要操作的寄存器,包括控制寄存
器和写数据寄存器,并通过选中的寄存器和对外部CAN设备2i进行控制以及写入数据,待写
入外部CAN设备2i的数据可以暂存于写数据寄存器中,控制和确定操作模式以及当前执行
任务的特性等信息暂存于控制寄存器;CAN总线控制器模块i进一步通过将其写数据寄存器
中的数据写入到外部CAN设备2i中,以完成写数据操作。
[0047] 基于同一发明构思,请参考图1 图3,本实施例还提供一种通信系统,包括本实施~
所述的CAN总线通讯控制系统,以及,与所述CAN总线通讯控制系统(即片上系统SoC)连接的
至少一个外部CAN设备21 2n,每个所述外部CAN设备与所述CAN总线通讯控制系统中相应的
~
一个CAN总线控制器模块连接。
[0048] 可选地,所述外部CAN设备包括外部CAN收发器。本实施例中,所述外部CAN收发器设置在所述CAN总线通讯控制系统所在的片上系统SoC的片外。
[0049] 在本发明的其他实施例中,所述外部CAN收发器也可以与所述CAN总线通讯控制系统集成在同一片上系统SoC中。
[0050] 综上所述,本发明的CAN总线通讯控制系统及通信系统,以集成在同一片上系统中的MCU内核和FPGA内核组成的SoC架构为基础,基于FPGA内核中的逻辑资源来实现MCU和片
外的外部CAN设备之间的CAN总线,以使得在FPGA中实现的CAN总线能作为MCU的外部设备,
提高了MCU的扩展性。而且基于FPGA可编程的特点,利用FPGA内核中的逻辑资源来实现的
CAN总线控制器模块的数量以及MCU总线映射模块映射出的CAN子系统总线的数量可以动态
调整,因此该设计具有良好的扩展性,用户可以动态配置MCU外部的CAN总线控制器模块的
数量,并进一步通过CAN总线控制器模块动态配置所接入的外部CAN设备,以达到外部CAN设
备的功能和数据动态可配的目的,提高了MCU的扩展性和易用性,降低了MCU挂载外部CAN设
备的设计与应用复杂度,有助于用户快速应用CAN总线。此外,由于所述CAN总线中断信号映
射模块将各个所述CAN总线控制器模块的中断信号,按照规定的优先级映射到所述MCU内核
的中断向量表中,因此能实现MCU内核对各个所述CAN总线控制器模块的优先级的分类控
制,降低了CAN总线优先级对CAN设备节点的依赖性,增强了MCU对CAN设备节点优先级的控
制性,提高了MCU外部CAN设备的扩展性和易用性。
[0051] 基于同一发明构思,请参考图4,本发明一实施例还提供一种动态配置CAN总线各个设备节点的优先级的方法,包括以下步骤:
[0052] S1,利用一FPGA的逻辑资源,将一MCU的一路CAN系统总线,映射为数量能够动态配置的多路CAN子系统总线;
[0053] S2,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子系统总线上;
[0054] S3,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部CAN
设备所在节点的优先级分类控制。
[0055] 优选地,请参考图1至图4,本实施例的动态配置CAN总线各个设备节点的优先级的方法,通过本发明的CAN总线通讯控制系统及通信系统来实现,即步骤S1中的MCU通过本发
明的CAN总线通讯控制系统的MCU内核13来实现,步骤S1中的FPGA通过本发明的CAN总线通
讯控制系统的FPGA内核10来实现,步骤S1的整体过程通过FPGA内核10中的MCU总线映射模
块11的功能来实现,步骤S2中的各个CAN总线控制器通过FPGA内核10中相应的CAN总线控制
器模块来实现,步骤S2的整体过程通过CAN总线控制器模块、MCU总线映射模块11、MCU内核
13连接后的组合功能来实现,步骤S3中通过CAN总线控制器模块、CAN总线中断信号映射模
块12与MCU内核13连接后的组合功能来实现。
[0056] 综上所述,本发明的动态配置CAN总线各个设备节点的优先级的方法,可以利用FPGA的逻辑资源来实现MCU和外部CAN设备之间的CAN总线,从而能基于FPGA可编程的特点,
来实现CAN系统总线数量的动态调整,因此该设计具有良好的扩展性,用户可以动态配置
MCU外部的CAN系统总线及所接入的外部CAN设备的数量,以达到外部CAN设备的功能和数据
动态可配的目的,提高了MCU的扩展性和易用性,降低了MCU挂载外部CAN设备的设计与应用
复杂度,有助于用户快速应用CAN总线。同时,由于能将每个所述CAN总线控制器的中断信
号,按照规定的优先级映射到所述MCU的中断向量表中,因此能实现MCU对各个外部CAN设备
的优先级的分类控制,降低了CAN总线优先级对CAN设备节点的依赖性,增强了MCU对CAN设
备节点优先级的控制性,提高了MCU外部CAN设备的扩展性和易用性。
[0057] 可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,
都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等
同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对
以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围
内。
[0058] 而且还应该理解的是,本发明并不限于此处描述的特定的方法、材料、制造技术、用法和应用,它们可以变化。还应该理解的是,此处描述的术语仅仅用来描述特定实施例,
而不是用来限制本发明的范围。必须注意的是,此处的以及所附权利要求中使用的单数形
式“一个”、“一种”以及“该”包括复数基准,除非上下文明确表示相反意思。因此,例如,对
“一个步骤”或“一个装置”的引述意味着对一个或多个步骤或装置的引述,并且可能包括次
级步骤以及次级装置。应该以最广义的含义来理解使用的所有连词。因此,词语“或”应该被
理解为具有逻辑“或”的定义,而不是逻辑“异或”的定义,除非上下文明确表示相反意思。此
处描述的结构将被理解为还引述该结构的功能等效物。可被解释为近似的语言应该被那样
理解,除非上下文明确表示相反意思。