CN112039745A - Can总线通讯控制***及通信*** - Google Patents
Can总线通讯控制***及通信*** Download PDFInfo
- Publication number
- CN112039745A CN112039745A CN202010991480.8A CN202010991480A CN112039745A CN 112039745 A CN112039745 A CN 112039745A CN 202010991480 A CN202010991480 A CN 202010991480A CN 112039745 A CN112039745 A CN 112039745A
- Authority
- CN
- China
- Prior art keywords
- bus
- mcu
- external
- module
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
Abstract
本发明提供了一种CAN总线通讯控制***及通信***,所述通信***以集成在同一片上***中的MCU内核和FPGA内核组成的SoC架构为基础,基于FPGA内核中的逻辑资源设置CAN总线控制器模块、MCU总线映射模块以及CAN总线中断信号映射模块,将MCU和片外的外部CAN设备之间的CAN总线集成在片内,且能动态配置CAN总线数量,以及实现MCU内核对各个所述CAN总线控制器模块的优先级分类控制,由此,提高了MCU扩展性和易用性,降低了MCU挂载外部CAN设备的设计与应用复杂度,有助于用户快速应用CAN总线,且降低了CAN总线优先级对CAN设备节点的依赖性,增强了MCU对CAN设备节点优先级的控制性。本发明还提供一种动态配置CAN总线各个设备节点的优先级的方法。
Description
技术领域
本发明涉及CAN通信技术领域,特别涉及一种CAN总线通讯控制***及通信***、动态配置CAN总线各个设备节点的优先级的方法。
背景技术
CAN(Controller Area Network,控制器局域网络)是一种有效支持分布式控制或实时控制的串行通信网络,是一种多主总线,可以仅有低电平CAN***总线CAN_L和高电平CAN***总线CAN_H这两根线与外部设备相连,且内部继承了错误探测和管理模块。CAN被广泛应用于汽车计算机控制***和嵌入式工业控制局域网领域,在MCU(Micro-controllerUnit,微控制器单元)单片机领域,通常作为MCU的外部设备与片外CAN总线串行通信。
同时具有MCU与FPGA(Field Programmable Gate Array,现场可编程门阵列)的片上***(System-on-a-Chip,SoC)是指通过FPGA将MCU、存储器、外部设备等与FPGA内核连接起来,构成一个MCU内核加FPGA内核的SoC架构。基于FPGA可编程的特点,该片上***架构具有良好的扩展性。
在传统的仅具有MCU内核的片上***中,受制于成本限制,能支持两路以上的CAN外设的MCU型号有限或成本过高,且MCU并不能很好地控制CAN总线各个设备节点的优先级。
发明内容
本发明的目的在于提供一种CAN总线通讯控制***及通信***、动态配置CAN总线各个设备节点的优先级的方法,能够实现MCU对CAN总线各个设备节点的优先级的分类控制,以使得CAN设备功能和数据动态可配。
为解决上述技术问题,本发明提供一种CAN总线通讯控制***,包括集成在同一片上***中的MCU内核和FPGA内核,所述FPGA内核逻辑资源设置有CAN总线中断信号映射模块、MCU总线映射模块和多个CAN总线控制器模块;其中,每个所述CAN总线控制器模块用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议,并连接位于所述片上***外部的相应的外部CAN设备,所述MCU总线映射模块用于将所述MCU内核的一路CAN***总线,映射为数量能够动态配置的多路CAN子***总线。
可选地,所述CAN总线中断信号映射模块连接各个所述CAN总线控制器模块,所述CAN总线中断信号映射模块用于将各个所述CAN总线控制器模块的中断信号,按照规定的优先级映射到所述MCU内核的中断向量表中,以实现MCU内核对各个所述CAN总线控制器模块的优先级的控制。
可选地,所述MCU***总线映射模块通过所述FPGA内核的内部边界延伸到所述FPGA内核,与相应的所述CAN总线控制器模块连接,实现MCU内核与所述外部CAN设备的交互。
可选地,每路所述CAN子***总线用于连接相应的一个所述CAN总线控制器模块;每个所述CAN总线控制器模块均包括:
CAN总线功能控制模块,用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议;
CAN总线外部接口,连接所述CAN总线功能控制模块和相应的所述外部CAN设备,以实现所述CAN总线功能控制模块与所述外部CAN设备的CAN总线通信交互;
CAN总线内部接口,连接所述CAN总线功能控制模块和所述MCU内核总线映射模块、所述CAN总线中断信号映射模块,用于实现CAN总线功能控制模块和所述MCU内核总线映射模块、所述CAN总线中断信号映射模块的交互。
可选地,每个所述CAN总线控制器模块还均包括通用寄存器组,所述通用寄存器组包括控制寄存器、状态寄存器、读数据寄存器和写数据寄存器;所述通用寄存器组中的各个寄存器连接所述CAN总线功能控制模块的相应引脚。
可选地,所述MCU总线映射模块还用于译码所述MCU内核的外设地址空间,在所述MCU内核的外设地址空间中映射相应的所述CAN总线控制器模块的寄存器,以实现所述MCU内核与所述外部CAN设备的读、写与控制。
可选地,所述CAN总线功能控制模块包括:时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚和写数据引脚;其中,所述时钟引脚外接MCU内核的时钟信号,所述复位引脚外接所述MCU内核的复位信号,所述控制类引脚连接所述控制寄存器,所述状态类引脚连接所述状态寄存器,所述读数据引脚连接所述读数据寄存器,所述写数据引脚连接所述写数据寄存器。
基于同一发明构思,本发明还提供一种通信***,包括本发明所述的CAN总线通讯控制***,以及,与所述CAN总线通讯控制***连接的至少一个外部CAN设备,每个所述外部CAN设备与所述CAN总线通讯控制***中相应的一个CAN总线控制器模块连接。
可选地,所述外部CAN设备包括外部CAN收发器,所述外部CAN收发器与所述CAN总线通讯控制***集成在同一片上***中,或者,设置在所述CAN总线通讯控制***所在的片上***的片外。
基于同一发明构思,本发明一实施例还提供一种动态配置CAN总线各个设备节点的优先级的方法,包括以下步骤:
首先,利用一FPGA的逻辑资源,将一MCU的一路CAN***总线,映射为数量能够动态配置的多路CAN子***总线;
然后,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子***总线上;
接着,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部CAN设备所在节点的优先级分类控制。
与现有技术相比,本发明提供的技术方案,至少具有以下有益效果之一:
1、该设计以集成在同一片上***中的MCU内核和FPGA内核组成的SoC架构为基础,基于FPGA内核中的逻辑资源来实现MCU和片外的外部CAN设备之间的CAN总线,以使得在FPGA中实现的CAN子***总线能作为MCU的外部设备,提高了MCU的扩展性。
2、基于FPGA可编程的特点,通过FPGA内核中的逻辑资源来实现的CAN总线控制器模块的数量以及MCU总线映射模块映射出的CAN子***总线的数量可以动态调整,因此该设计具有良好的扩展性,用户可以动态配置MCU外部的CAN总线控制器模块的数量,并进一步通过CAN总线控制器模块动态配置所接入的外部CAN设备,以达到外部CAN设备的功能和数据动态可配的目的,提高了MCU的扩展性和易用性,降低了MCU挂载外部CAN设备的设计与应用复杂度,有助于用户快速应用CAN总线。
3、由于所述CAN总线中断信号映射模块将所述CAN总线控制器模块的中断信号,按照规定的优先级映射到所述MCU内核的中断向量表中,因此能实现MCU内核对所述CAN总线控制器模块的优先级的分类控制,降低了CAN总线优先级对CAN设备节点的依赖性,增强了MCU对CAN设备节点优先级的控制性,提高了MCU外部CAN设备的扩展性和易用性。
附图说明
图1是本发明具体实施例的CAN总线通讯控制***的结构框图。
图2是本发明具体实施例的CAN总线控制器模块的结构示意图。
图3是本发明具体实施例的MCU总线映射模块的映射流程示意图。
图4是本发明具体实施例的动态配置CAN总线各个设备节点的优先级的方法流程图。
具体实施方式
以下结合附图和具体实施例对本发明提出的技术方案作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
请参考图1,本发明一实施例提供一种CAN总线通讯控制***,其基于MCU和FPGASoC架构来实现,具体包括集成在同一片上***Soc中的MCU内核13和FPGA内核10。MCU内核13具有至少一路CAN***总线,每路CAN***总线具有低电平CAN***总线CAN_L和高电平CAN***总线CAN_H两根线。FPGA内核10内部的逻辑资源主要包括逻辑控制区块(LogicalControlBlock,LCB)资源、时钟网络资源、时钟处理资源、块随机存储器(Block RAM)、数字信号处理资源(DSP核)和接口资源。逻辑控制区块资源包括显示查找表、加法器、寄存器、多路选择器等等。本实施例中,所述FPGA内核10逻辑资源设置有一MCU总线映射模块11、一CAN总线中断信号映射模块12以及n个CAN总线控制器模块1~n,其中n≥2且为整数。
其中,每个所述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设备,处于空闲状态。
请参考图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的交互。
所述通用寄存器组包括控制寄存器101、状态寄存器102、读数据寄存器103和写数据寄存器104,控制寄存器101用于控制和确定操作模式以及当前执行任务的特性,状态寄存器102用于存放两类信息:一类是体现当前指令执行结果的各种状态信息,另一类是存放控制信息;读数据寄存器103用于暂存读取的数据;写数据寄存器104用于暂存需要写入的数据。
所述CAN总线功能控制模块100包括时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚、写数据引脚以及连接CAN总线外部接口的两个引脚CAN_H、CAN_L;其中,所述时钟引脚外接MCU内核13的时钟信号,所述复位引脚外接所述MCU内核13的复位信号,所述控制类引脚连接所述控制寄存器101,所述状态类引脚连接所述状态寄存器102,所述读数据引脚连接所述读数据寄存器103,所述写数据引脚连接所述写数据寄存器104。
请参考图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的优先级的控制。
请参考图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中相应的一个。
简单来说就是,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总线各个设备节点的优先级的问题。
可选地,所述MCU***总线映射模块11通过所述FPGA内核10的内部边界延伸到所述FPGA内核10中,以与相应的所述CAN总线控制器模块连接,实现MCU内核13与所述外部CAN设备21~2n的交互。
请参考图3,所述MCU总线映射模块11译码每路CAN子***总线所对应的MCU内核13外设地址空间,以根据译码结果在所述MCU内核的外设地址空间中映射相应的所述CAN总线控制器模块的寄存器,实现所述MCU内核13与所述外部CAN设备21~2n的读、写与控制。
作为一种示例,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的读、写与控制。
进一步地,MCU总线映射模块11用于从MCU内核13的CAN***总线接收MCU内核13发送的操作指令,并确定操作指令的类型;相应的CAN总线控制器模块用于根据操作指令的类型对其通用寄存器组中对应的寄存器进行相应的操作。
下面结合图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进行操作的具体流程包括:
首先,MCU内核13发送操作指令,MCU总线映射模块11对操作指令进行译码,以判断外部CAN设备2i所对应的第i路CAN子***总线是否被选中,若否,外部CAN设备2i所连接的CAN总线控制器模块i继续处于待机状态,若是,CAN总线控制器模块i使能,并从所述操作指令中解析出操作类型,判断是读操作还是写操作;
若是读操作,则CAN总线控制器模块i根据MCU总线映射模块11所提供的该外部CAN设备2i的寄存器组地址信号,从其通用寄存器组中选择所要操作的寄存器,包括状态寄存器、控制寄存器和读数据寄存器,并通过选中的寄存器和对外部CAN设备2i进行控制以及数据读取,读取的数据可以暂存于读数据寄存器中,控制和确定操作模式以及当前执行任务的特性等信息暂存于控制寄存器,体现当前指令执行结果的各种状态信息以及CAN总线控制器模块i产生的用于控制外部CAN设备2i的控制信息等暂存于状态寄存器中;CAN总线控制器模块i进一步通过MCU总线映射模块11和CAN总线中断信号映射模块12将其读数据寄存器中的数据发送给MCU内核13,以完成读数据操作。
若是写操作,则CAN总线控制器模块i根据MCU总线映射模块11所提供的该外部CAN设备2i的寄存器组地址信号,从其通用寄存器组中选择所要操作的寄存器,包括控制寄存器和写数据寄存器,并通过选中的寄存器和对外部CAN设备2i进行控制以及写入数据,待写入外部CAN设备2i的数据可以暂存于写数据寄存器中,控制和确定操作模式以及当前执行任务的特性等信息暂存于控制寄存器;CAN总线控制器模块i进一步通过将其写数据寄存器中的数据写入到外部CAN设备2i中,以完成写数据操作。
基于同一发明构思,请参考图1~图3,本实施例还提供一种通信***,包括本实施所述的CAN总线通讯控制***,以及,与所述CAN总线通讯控制***(即片上***SoC)连接的至少一个外部CAN设备21~2n,每个所述外部CAN设备与所述CAN总线通讯控制***中相应的一个CAN总线控制器模块连接。
可选地,所述外部CAN设备包括外部CAN收发器。本实施例中,所述外部CAN收发器设置在所述CAN总线通讯控制***所在的片上***SoC的片外。
在本发明的其他实施例中,所述外部CAN收发器也可以与所述CAN总线通讯控制***集成在同一片上***SoC中。
综上所述,本发明的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设备的扩展性和易用性。
基于同一发明构思,请参考图4,本发明一实施例还提供一种动态配置CAN总线各个设备节点的优先级的方法,包括以下步骤:
S1,利用一FPGA的逻辑资源,将一MCU的一路CAN***总线,映射为数量能够动态配置的多路CAN子***总线;
S2,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子***总线上;
S3,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部CAN设备所在节点的优先级分类控制。
优选地,请参考图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连接后的组合功能来实现。
综上所述,本发明的动态配置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设备的扩展性和易用性。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
而且还应该理解的是,本发明并不限于此处描述的特定的方法、材料、制造技术、用法和应用,它们可以变化。还应该理解的是,此处描述的术语仅仅用来描述特定实施例,而不是用来限制本发明的范围。必须注意的是,此处的以及所附权利要求中使用的单数形式“一个”、“一种”以及“该”包括复数基准,除非上下文明确表示相反意思。因此,例如,对“一个步骤”或“一个装置”的引述意味着对一个或多个步骤或装置的引述,并且可能包括次级步骤以及次级装置。应该以最广义的含义来理解使用的所有连词。因此,词语“或”应该被理解为具有逻辑“或”的定义,而不是逻辑“异或”的定义,除非上下文明确表示相反意思。此处描述的结构将被理解为还引述该结构的功能等效物。可被解释为近似的语言应该被那样理解,除非上下文明确表示相反意思。
Claims (10)
1.一种CAN总线通讯控制***,其特征在于,包括集成在同一片上***中的MCU内核和FPGA内核,所述FPGA内核逻辑资源设置有CAN总线中断信号映射模块、MCU总线映射模块和多个CAN总线控制器模块;其中,每个所述CAN总线控制器模块用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议,并连接位于所述片上***外部的外部CAN设备,所述MCU总线映射模块用于将所述MCU内核的一路CAN***总线,映射为数量能够动态配置的多路CAN子***总线。
2.如权利要求1所述的CAN总线通讯控制***,其特征在于,所述CAN总线中断信号映射模块连接各个所述CAN总线控制器模块,所述CAN总线中断信号映射模块用于将各个所述CAN总线控制器模块的中断信号,按照规定的优先级映射到所述MCU内核的中断向量表中,以实现MCU内核对各个所述CAN总线控制器模块的优先级的控制。
3.如权利要求1所述的CAN总线通讯控制***,其特征在于,所述MCU***总线映射模块通过所述FPGA内核的内部边界延伸到所述FPGA内核,与相应的所述CAN总线控制器模块连接,实现MCU内核与所述外部CAN设备的交互。
4.如权利要求1所述的CAN总线通讯控制***,其特征在于,每路所述CAN子***总线用于连接相应的一个所述CAN总线控制器模块;每个所述CAN总线控制器模块均包括:
CAN总线功能控制模块,用于基于所述FPGA内核的逻辑资源实现CAN总线标准协议;
CAN总线外部接口,连接所述CAN总线功能控制模块和相应的所述外部CAN设备,以实现所述CAN总线功能控制模块与所述外部CAN设备的CAN总线通信交互;
CAN总线内部接口,连接所述CAN总线功能控制模块、所述MCU内核总线映射模块和所述CAN总线中断信号映射模块,用于实现CAN总线功能控制模块和所述MCU内核总线映射模块、所述CAN总线中断信号映射模块之间的交互。
5.如权利要求1所述的CAN总线通讯控制***,其特征在于,每个所述CAN总线控制器模块均包括通用寄存器组,所述通用寄存器组包括控制寄存器、状态寄存器、读数据寄存器和写数据寄存器;所述通用寄存器组中的各个寄存器连接所述CAN总线功能控制模块的相应引脚。
6.如权利要求5所述的CAN总线通讯控制***,其特征在于,所述MCU总线映射模块还用于译码所述MCU内核的外设地址空间,在所述MCU内核的外设地址空间中映射相应的所述CAN总线控制器模块的寄存器,以实现所述MCU内核与所述外部CAN设备的读、写与控制。
7.如权利要求所述5的CAN总线通讯控制***,其特征在于,所述CAN总线功能控制模块包括:时钟引脚、复位引脚、控制类引脚、状态类引脚、读数据引脚和写数据引脚;其中,所述时钟引脚外接MCU内核的时钟信号,所述复位引脚外接所述MCU内核的复位信号,所述控制类引脚连接所述控制寄存器,所述状态类引脚连接所述状态寄存器,所述读数据引脚连接所述读数据寄存器,所述写数据引脚连接所述写数据寄存器。
8.一种通信***,其特征在于,包括权利要求1~7中任一项所述的CAN总线通讯控制***,以及,与所述CAN总线通讯控制***连接的至少一个外部CAN设备,每个所述外部CAN设备与所述CAN总线通讯控制***中相应的一个CAN总线控制器模块连接。
9.如权利要求8所述的通信***,其特征在于,所述外部CAN设备包括外部CAN收发器,所述外部CAN收发器与所述CAN总线通讯控制***集成在同一片上***中,或者,所述外部CAN收发器的至少部分设置在所述CAN总线通讯控制***所在的片上***的片外。
10.一种动态配置CAN总线各个设备节点的优先级的方法,其特征在于,包括以下步骤:
首先,利用FPGA的逻辑资源,将MCU的一路CAN***总线,映射为数量能够动态配置的多路CAN子***总线;
然后,将各个外部CAN设备的CAN总线控制器挂载到相应的所述CAN子***总线上;
接着,设置每个所述CAN总线控制器的中断信号,并将每个所述CAN总线控制器的中断信号,按照规定的优先级映射到所述MCU的中断向量表中,以实现MCU对各个所述外部CAN设备所在节点的优先级分类控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010991480.8A CN112039745B (zh) | 2020-09-17 | 2020-09-17 | Can总线通讯控制***及通信*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010991480.8A CN112039745B (zh) | 2020-09-17 | 2020-09-17 | Can总线通讯控制***及通信*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039745A true CN112039745A (zh) | 2020-12-04 |
CN112039745B CN112039745B (zh) | 2021-06-22 |
Family
ID=73574108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010991480.8A Active CN112039745B (zh) | 2020-09-17 | 2020-09-17 | Can总线通讯控制***及通信*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039745B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721987A (zh) * | 2022-02-21 | 2022-07-08 | 西安智多晶微电子有限公司 | 一种基于MCU和FPGA SoC架构的多路接口电路 |
CN115348128A (zh) * | 2022-06-27 | 2022-11-15 | 航天科工空间工程发展有限公司 | 一种基于fpga的双can总线处理管理方法 |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001156815A (ja) * | 1999-11-26 | 2001-06-08 | Nissan Motor Co Ltd | 通信ネットワークシステム |
US20070088859A1 (en) * | 2003-11-28 | 2007-04-19 | Olivier Bureller | Method for monitoring the state of a device in a network and device for carrying out said monitoring. |
CN101661276A (zh) * | 2009-09-18 | 2010-03-03 | 东北大学 | 一种通用数据采集装置及其数据采集方法 |
CN102243619A (zh) * | 2011-06-23 | 2011-11-16 | 天津光电通信技术有限公司 | 一种基于fpga实现多路i2c总线端口扩展的方法 |
CN202602678U (zh) * | 2012-05-15 | 2012-12-12 | 河南辉煌科技股份有限公司 | 多can通道接口扩展电路 |
CN103927276A (zh) * | 2014-03-14 | 2014-07-16 | 山东大学 | 基于Zynq-7000的PCM FMC扩展板及其工作方法 |
CN104679702A (zh) * | 2013-11-28 | 2015-06-03 | 中国航空工业集团公司第六三一研究所 | 多路高速串行接口控制器 |
CN105610876A (zh) * | 2016-04-01 | 2016-05-25 | 江苏科技大学 | 工业控制自动化网络通信协议转换器及通信协议转换方法 |
CN106789511A (zh) * | 2016-12-22 | 2017-05-31 | 中车青岛四方车辆研究所有限公司 | 基于fpga的列车用can通信转换控制方法及转换模块 |
CN106972999A (zh) * | 2017-05-11 | 2017-07-21 | 深圳市沃特玛电池有限公司 | 一种接口扩展电路和运行方法 |
CN206594657U (zh) * | 2017-03-22 | 2017-10-27 | 广州炫通电气科技有限公司 | 基于总线通信的多通道uart串行收发控制器 |
CN108134599A (zh) * | 2017-12-04 | 2018-06-08 | 山东高云半导体科技有限公司 | 一种i3c总线控制接口电路 |
CN108628779A (zh) * | 2017-03-24 | 2018-10-09 | 三星电子株式会社 | 存储器装置及其方法、存储器*** |
CN109525473A (zh) * | 2018-11-28 | 2019-03-26 | 深圳市元征科技股份有限公司 | 一种mcu扩展can方法、***、mcu及计算机介质 |
CN109766308A (zh) * | 2019-01-15 | 2019-05-17 | 湖南泽天智航电子技术有限公司 | 一种基于localbus总线的多路onewire通信*** |
US20190182074A1 (en) * | 2017-12-13 | 2019-06-13 | Nxp B.V. | Node and method for conducting measurements and signal analyses on a multi-master access bus |
CN110321319A (zh) * | 2019-09-02 | 2019-10-11 | 广东高云半导体科技股份有限公司 | 片上*** |
CN110765052A (zh) * | 2019-10-22 | 2020-02-07 | 广东高云半导体科技股份有限公司 | 一种ahb/apb扩展总线接口、片上*** |
CN110781130A (zh) * | 2019-10-16 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种片上*** |
CN110781119A (zh) * | 2019-10-22 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种i2c总线扩展接口及其控制方法、片上*** |
CN110781117A (zh) * | 2019-09-12 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种基于fpga的spi扩展总线接口以及片上*** |
CN110795382A (zh) * | 2019-10-09 | 2020-02-14 | 广东高云半导体科技股份有限公司 | 一种基于fpga的通用异步收发传输器以及片上*** |
CN110806997A (zh) * | 2019-10-16 | 2020-02-18 | 广东高云半导体科技股份有限公司 | 一种片上***以及存储器 |
US10634722B1 (en) * | 2009-05-05 | 2020-04-28 | Cypress Semiconductor Corporation | Combined analog architecture and functionality in a mixed-signal array |
CN111143273A (zh) * | 2019-11-12 | 2020-05-12 | 广东高云半导体科技股份有限公司 | 一种片上*** |
CN111177067A (zh) * | 2019-12-13 | 2020-05-19 | 广东高云半导体科技股份有限公司 | 一种片上*** |
-
2020
- 2020-09-17 CN CN202010991480.8A patent/CN112039745B/zh active Active
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001156815A (ja) * | 1999-11-26 | 2001-06-08 | Nissan Motor Co Ltd | 通信ネットワークシステム |
US20070088859A1 (en) * | 2003-11-28 | 2007-04-19 | Olivier Bureller | Method for monitoring the state of a device in a network and device for carrying out said monitoring. |
US10634722B1 (en) * | 2009-05-05 | 2020-04-28 | Cypress Semiconductor Corporation | Combined analog architecture and functionality in a mixed-signal array |
CN101661276A (zh) * | 2009-09-18 | 2010-03-03 | 东北大学 | 一种通用数据采集装置及其数据采集方法 |
CN102243619A (zh) * | 2011-06-23 | 2011-11-16 | 天津光电通信技术有限公司 | 一种基于fpga实现多路i2c总线端口扩展的方法 |
CN202602678U (zh) * | 2012-05-15 | 2012-12-12 | 河南辉煌科技股份有限公司 | 多can通道接口扩展电路 |
CN104679702A (zh) * | 2013-11-28 | 2015-06-03 | 中国航空工业集团公司第六三一研究所 | 多路高速串行接口控制器 |
CN103927276A (zh) * | 2014-03-14 | 2014-07-16 | 山东大学 | 基于Zynq-7000的PCM FMC扩展板及其工作方法 |
CN105610876A (zh) * | 2016-04-01 | 2016-05-25 | 江苏科技大学 | 工业控制自动化网络通信协议转换器及通信协议转换方法 |
CN106789511A (zh) * | 2016-12-22 | 2017-05-31 | 中车青岛四方车辆研究所有限公司 | 基于fpga的列车用can通信转换控制方法及转换模块 |
CN206594657U (zh) * | 2017-03-22 | 2017-10-27 | 广州炫通电气科技有限公司 | 基于总线通信的多通道uart串行收发控制器 |
CN108628779A (zh) * | 2017-03-24 | 2018-10-09 | 三星电子株式会社 | 存储器装置及其方法、存储器*** |
CN106972999A (zh) * | 2017-05-11 | 2017-07-21 | 深圳市沃特玛电池有限公司 | 一种接口扩展电路和运行方法 |
CN108134599A (zh) * | 2017-12-04 | 2018-06-08 | 山东高云半导体科技有限公司 | 一种i3c总线控制接口电路 |
US20190182074A1 (en) * | 2017-12-13 | 2019-06-13 | Nxp B.V. | Node and method for conducting measurements and signal analyses on a multi-master access bus |
CN109525473A (zh) * | 2018-11-28 | 2019-03-26 | 深圳市元征科技股份有限公司 | 一种mcu扩展can方法、***、mcu及计算机介质 |
CN109766308A (zh) * | 2019-01-15 | 2019-05-17 | 湖南泽天智航电子技术有限公司 | 一种基于localbus总线的多路onewire通信*** |
CN110321319A (zh) * | 2019-09-02 | 2019-10-11 | 广东高云半导体科技股份有限公司 | 片上*** |
CN110781117A (zh) * | 2019-09-12 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种基于fpga的spi扩展总线接口以及片上*** |
CN110795382A (zh) * | 2019-10-09 | 2020-02-14 | 广东高云半导体科技股份有限公司 | 一种基于fpga的通用异步收发传输器以及片上*** |
CN110781130A (zh) * | 2019-10-16 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种片上*** |
CN110806997A (zh) * | 2019-10-16 | 2020-02-18 | 广东高云半导体科技股份有限公司 | 一种片上***以及存储器 |
CN110781119A (zh) * | 2019-10-22 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种i2c总线扩展接口及其控制方法、片上*** |
CN110765052A (zh) * | 2019-10-22 | 2020-02-07 | 广东高云半导体科技股份有限公司 | 一种ahb/apb扩展总线接口、片上*** |
CN111143273A (zh) * | 2019-11-12 | 2020-05-12 | 广东高云半导体科技股份有限公司 | 一种片上*** |
CN111177067A (zh) * | 2019-12-13 | 2020-05-19 | 广东高云半导体科技股份有限公司 | 一种片上*** |
Non-Patent Citations (1)
Title |
---|
郭婷: ""如何将MCU与FPGA进行配对达到提高***效率的目的"", 《HTTP://WWW.ELECFANS.COM/D/851397.HTML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721987A (zh) * | 2022-02-21 | 2022-07-08 | 西安智多晶微电子有限公司 | 一种基于MCU和FPGA SoC架构的多路接口电路 |
CN115348128A (zh) * | 2022-06-27 | 2022-11-15 | 航天科工空间工程发展有限公司 | 一种基于fpga的双can总线处理管理方法 |
CN115348128B (zh) * | 2022-06-27 | 2023-12-05 | 航天科工空间工程发展有限公司 | 一种基于fpga的双can总线处理管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112039745B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781117B (zh) | 一种基于fpga的spi扩展总线接口以及片上*** | |
CN110781119B (zh) | 一种i2c总线扩展接口及其控制方法、片上*** | |
US7325221B1 (en) | Logic system with configurable interface | |
CN112039745B (zh) | Can总线通讯控制***及通信*** | |
US5862148A (en) | Microcontroller with improved debug capability for internal memory | |
KR102332375B1 (ko) | 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체 | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
CN110806997B (zh) | 一种片上***以及存储器 | |
US20060282586A1 (en) | Bus system design method and apparatus | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
US5168559A (en) | Emulation system capable of complying with microcomputers having different on-chip memory capacities | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
US11237994B2 (en) | Interrupt controller for controlling interrupts based on priorities of interrupts | |
US20150169494A1 (en) | Data path configuration component, signal processing device and method therefor | |
CN112100098B (zh) | Ddr控制***及ddr存储*** | |
CN110765066A (zh) | 一种片上*** | |
US11609878B2 (en) | Programmed input/output message control circuit | |
JP2002149591A (ja) | プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置 | |
EP1164490A2 (en) | Re-configurable memory map for a system on a chip | |
CN118132243B (zh) | 一种中断信号处理方法、装置、设备、介质、电路及*** | |
US20230064369A1 (en) | Configurable Interface Circuit | |
US20240078029A1 (en) | Memory Calibration and Margin Check | |
US9645830B2 (en) | On-chip circuitry for configuring peripherals of a system on a chip | |
CN111309655A (zh) | 具有兼容性的总线接口 | |
CN114297131A (zh) | 传感器控制***、片上***和计算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |