CN116361233A - 一种微控制器 - Google Patents

一种微控制器 Download PDF

Info

Publication number
CN116361233A
CN116361233A CN202310406295.1A CN202310406295A CN116361233A CN 116361233 A CN116361233 A CN 116361233A CN 202310406295 A CN202310406295 A CN 202310406295A CN 116361233 A CN116361233 A CN 116361233A
Authority
CN
China
Prior art keywords
memory
sram
read
processing unit
central processing
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.)
Pending
Application number
CN202310406295.1A
Other languages
English (en)
Inventor
张野
朱家鑫
田冀楠
何滇
宋子奇
李晴
翟世奇
王文强
查梦凡
甘纯钊
王天晨
陶文
翟先旭
马云超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhu Research Institute of Xidian University
Original Assignee
Wuhu Research Institute of Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhu Research Institute of Xidian University filed Critical Wuhu Research Institute of Xidian University
Priority to CN202310406295.1A priority Critical patent/CN116361233A/zh
Publication of CN116361233A publication Critical patent/CN116361233A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种微控制器,包括:中央处理单元;第一系统总线,与中央处理单元相耦合;第一外围装置组、第二系统总线和存储器组,均与第一系统总线相耦合;存储器组包括:Cache存储器和Flash存储器,Cache存储器内包括第一SRAM存储器,且Cache存储器耦合于第一系统总线和Flash存储器之间,以在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址以外的地址时,自Flash存储器中读取指令,或者在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址其中之一地址时,自Cache存储器内的第一SRAM存储器中读取指令;Flash控制器,耦合于Cache存储器和Flash存储器之间,以在自Flash存储器内读取指令时,对Flash存储器进行ECC校验。本发明中的微控制器,取指速度较快,且安全性较高。

Description

一种微控制器
技术领域
本发明涉及集成电路技术领域,尤其涉及到一种微控制器。
背景技术
微控制器是一种应用范围极其广泛的设备,工业控制、汽车电子以及消费电子等领域的产品中存在各式各样的微控制器设备,可用于控制、计算、通信、电路保护等方面。微控制器芯片由中央处理单元(Central Process Unit,CPU)、存储器、片上外设等组件构成。CPU是微控制器芯片的核心,它决定了芯片性能的上限,所以CPU的选型十分重要,合适的CPU不仅能增强芯片的总体性能,而且能降低研发成本和制造成本。存储器用于存储嵌入式软件程序,CPU需要在存储器中进行取指,所以存储器的读取速度会影响CPU的取指速度,从而影响芯片的性能。在一些工艺制程较大的情况下(如180nm),存储器的读取速度通常要远小于CPU的取指速度,这就会造成CPU出现等待状态,导致芯片性能下降的问题。另外在某些应用场景下,由于α射线或宇宙射线的干扰,存储器的存储单元可能会发生错误的位翻转,这将会导致程序错误,造成不可预料的后果。
发明内容
因此,为了解决现有技术中出现的上述问题,本申请提供了一种具有多种存储方式,读取速度较快,且能够对存储器进行错误校验的微控制器。
本发明提供了一种微控制器,包括:
中央处理单元;
第一系统总线,与中央处理单元相耦合;
第一外围装置组、第二系统总线和存储器组,均与第一系统总线相耦合;
第二外围装置组,与第二系统总线相耦合;
存储器组包括:
Cache存储器和Flash存储器,Cache存储器内包括第一SRAM存储器,且Cache存储器耦合于第一系统总线和Flash存储器之间,以在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址以外的地址时,自Flash存储器中读取指令,或者在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址其中之一地址时,自Cache存储器内的第一SRAM存储器中读取指令;
Flash控制器,耦合于Cache存储器和Flash存储器之间,以在自Flash存储器内读取指令时,对Flash存储器进行ECC校验。
在一种可能的实现方式中,Flash控制器用以对Flash存储器进行ECC校验,以确定Flash存储器是否发生错误翻转,并在Flash存储器发生1Bit错误翻转时进行纠错翻转。
在一种可能的实现方式中,Flash控制器还用以在Flash存储器发生2Bit错误翻转时,向中央处理单元报错。
在一种可能的实现方式中,存储器组还包括:
第二SRAM存储器,与第一系统总线相耦合,以存储中央处理单元执行程序过程产生的中间变量;且中央处理单元在接收到中断信号时,将中央处理单元中的通用寄存器存入第二SRAM存储器,并在退出中断处理程序后,自第二SRAM存储器内读取通用寄存器。
在一种可能的实现方式中,存储器组还包括:
SRAM控制器,耦合于第一系统总线和第二SRAM存储器之间,以在自第二SRAM存储器内读取数据时对第二SRAM存储器进行ECC校验。
在一种可能的实现方式中,SRAM控制器用以对第二SRAM存储器进行ECC校验,以确定第二SRAM存储器是否发生错误翻转,并在第二SRAM存储器发生1Bit错误翻转时进行纠错翻转。
在一种可能的实现方式中,SRAM控制器还用以在第二SRAM存储器发生2Bit错误翻转时,向中央处理单元报错。
在一种可能的实现方式中,Cacheline为Cache存储器自Flash存储器内读取读请求对应地址的指令以及读请求对应地址附近指令组成,且Cacheline存储于第一SRAM存储器内。
在一种可能的实现方式中,第一系统总线为AHB总线,第二系统总线包括第一APB总线和第二APB总线。
在一种可能的实现方式中,第一外围装置组包括GPIO装置、SystemCtrl装置和Cordic Hardware装置;第二外围装置组包括与第一APB总线相耦合的ECC装置、IO Ctrl装置、MTP装置和Cache装置,以及与二APB总线相耦合的AD0装置、AD1装置、AD2装置、SPI0装置、SPI1装置、UART0装置、UART1装置、Timer装置、Dual Timer装置、WDG装置、PWM装置、CANFD装置和LIN装置。
本发明提供的技术方案,具有如下优点:
1、本发明提供的微控制器,通过设置与第一系统总线相耦合(也即与中央处理单元相耦合)的存储器组包括Cache存储器(Cache存储器内包括第一SRAM存储器)和Flash存储器,并将Cache存储器每次自Flash存储器中读取的Cacheline存储于Cache存储器内的第一SRAM存储器内,从而使中央处理单元需要再次读取Cacheline对应地址的指令时,自读写速度更快的第一SRAM存储器而非Flash存储器内读取,提高了中央处理单元的取指速度;同时,通过设置耦合于Cache存储器和Flash存储器之间的Flash控制器,在每次自Flash存储器内取指之前均对存储器进行错误校验,防止存储器的错误导致整个程序错误,安全性较高。
2、本发明提供的微控制器,通过设置Flash控制器,使其在对Flash存储器进行ECC校验发现Flash存储器发生1Bit错误翻转时,直接进行纠错翻转,而非直接报错结束程序,能够提高该微控制器的实用性。
3、本发明提供的微控制器,通过设置作为堆栈空间和中间交互数据存储介质的第二SRAM存储器,并设置耦合于第一系统总线和第二SRAM存储器之间的SRAM控制器,进而在每次自第二SRAM存储器内读取数据之前均对其进行错误校验,防止第二SRAM存储器的错误导致整个程序错误,进一步提高了该微控制器的实用性和安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的微控制器的原理框图;
图2为本发明实施例提供的微控制器的一种具体结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,为了提供示例性实施方案的简练描述,可以不描述实际实施方案的所有特征(即,与当前考虑的执行本发明的最佳模式不相关的那些特征,或于实现本发明不相关的那些特征)。且下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1示出了本实施例中的微控制器的原理框图,该微控制器可应用于电机控制等领域。如图1所示,微控制器包括中央处理单元、第一系统总线、第一外围装置组、第二系统总线、存储器组和第二外围装置组,其中,第一系统总线与中央处理单元相耦合,第一外围装置组、第二系统总线和存储器组均与第一系统总线相耦合,第二外围装置组与第二系统总线相耦合。
存储器组包括:Cache存储器、Flash存储器和Flash控制器,其中,Cache存储器内包括第一SRAM存储器,且Cache存储器耦合于第一系统总线和Flash存储器之间,以在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址以外的地址时,自Flash存储器中读取指令,或者在中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址其中之一地址时,自Cache存储器内的第一SRAM存储器中读取指令;Flash控制器耦合于Cache存储器和Flash存储器之间,以在自Flash存储器内读取指令时,对Flash存储器进行ECC校验。
具体地,如图2所示,中央处理单元可以为ARM Cortex-M3处理器,第一系统总线可以为AHB总线,第二系统总线可以包括第一APB总线和第二APB总线。
具体地,如图2所示,AHB总线可以包括2个与ARM Cortex-M3处理器相耦合的主机接口,以及8个从机接口。2个主机接口包括通过多路复用器(CODE_MUX)之后与ARM Cortex-M3处理器IBUS或者DBUS通信的总线接口S0,以及与ARM Cortex-M3处理器通过SBUS协议通信的数据总线接口S1。8个从机接口包括与Cache存储器连接的M0,与第一外围装置组连接的M2~M5(具体地,M2与Cordic Hardware装置连接,M3与SystemCtrl装置连接,M4与GPIO装置连接,M5与Default Slave装置连接),以及与第二系统总线连接的M6和M7。此处,从机接口M1与下述第二SRAM存储器(实际上直接连接的为SRAM控制器)连接。
具体地,如图2所示,第二系统总线中的第一APB总线的时钟周期为50M,第二APB总线的时钟周期为25M,二者分别与第一系统总线的M7接口和M6接口相连接。
具体地,如图2所示,第二外围装置组包括与第一APB总线相耦合的ECC装置、IOCtrl装置、MTP装置和Cache装置,以及与二APB总线相耦合的AD0装置、AD1装置、AD2装置、SPI0装置、SPI1装置、UART0装置、UART1装置、Timer装置、Dual Timer装置、WDG装置、PWM装置、CANFD装置和LIN装置。
本实施例中,微控制器通过UART、SPI和GPIO装置可以与绝大多数的外围设备进行通信;同时,为了进一步扩展该微控制器的应用场景,还集成了CANFD和LIN装置。考虑到微控制器工作时,可能会出现程序跑飞的问题,因而还集成了watchdog(也即WDG装置),用于程序跑飞时的检测和芯片复位。为了防止中央处理单元出现非法地址访问的问题,因而还集成了Default Slave装置以进行保护。
本实施例中,微控制器上电后,该微控制器的上位机通过SWD接口将软件程序下载至Flash存储器中;之后中央处理单元会通过第一系统总线向Cache存储器发起读取操作请求,而Cache存储器由于初始化的原因(虽然初始化后软件程序才写入Flash存储器,但是此写入过程中Cache存储器仅相当于一传输通道,其本身不会写入任何指令)并未存储任何代码指令,或者并未存储读请求对应地址的指令时,Cache存储器会依据该读请求向Flash存储器发起读取操作请求,Flash控制器会将该次读请求对应地址的低位进行处理,从而将该地址的指令从Flash存储器内取出,并组成一个Cacheline,Cache存储器接收到Cacheline后,会将Cacheline中的相应数据发送至第一系统总线上,同时将本次Cacheline和相应地址tag写入Cache内的第一SRAM存储器中,当中央处理单元需要再次读取该地址的指令时,会直接从Cache内的第一SRAM存储器中读取。
具体实施时,还可以设置Flash存储器包括4个Flash Block,其低位偏移地址分别为0x0、0x4、0x8、0xc,则软件程序会根据相应写地址依次写入这4个FlashBlock内;相应地,之后中央处理单元通过第一系统总线向Cache存储器发起读取操作请求时,Cache存储器会依据该读请求向Flash存储器发起读取操作请求,Flash控制器会将该次读请求对应地址的低位进行处理,从而将该地址和地址附近的指令从4个Flash Block内取出,组成一个Cacheline;Cache存储器接收到Cacheline后,会将Cacheline中与读请求对应地址相应的数据发送至第一系统总线上,同时将本次Cacheline和相应地址tag写入Cache内的第一SRAM存储器中,当中央处理单元需要再次读取该地址或地址附近的指令(也即Cacheline中的指令)时,均会直接从Cache内的第一SRAM存储器中读取。
本实施例中,Flash控制器中的ECC校验模块主要用以检测Flash存储器是否发生位翻转,并在Flash存储器发生1bit错误翻转时,将发生了错误翻转的对应位进行纠错翻转;而当Flash存储器发生2bit错误翻转时,Flash控制器向中央处理单元报错,防止该错误翻转导致整个程序错误。
综上,本实施例中的微控制器,通过设置与第一系统总线相耦合(也即与中央处理单元相耦合)的存储器组包括Cache存储器(Cache存储器内包括第一SRAM存储器)和Flash存储器,并将Cache存储器每次自Flash存储器中读取的Cacheline存储于Cache存储器内的第一SRAM存储器内,从而使中央处理单元需要再次读取Cacheline对应地址的指令时,自读写速度更快的第一SRAM存储器而非Flash存储器内读取,提高了中央处理单元的取指速度;同时,通过设置耦合于Cache存储器和Flash存储器之间的Flash控制器,在每次自Flash存储器内取指之前均对存储器进行错误校验,防止存储器的错误导致整个程序错误,安全性较高。
在本实施例的一种可能的具体实施方式中,如图1和图2所示,在具有上述结构的基础上,存储器组还可以包括第二SRAM存储器,该第二SRAM存储器与第一系统总线相耦合,以存储中央处理单元执行程序过程产生的中间变量;且中央处理单元在接收到中断信号时,将中央处理单元中的通用寄存器存入第二SRAM存储器,并在退出中断处理程序后,自第二SRAM存储器内读取通用寄存器。
此时,为了进一步提高该微控制器的安全性,如图1和图2所示,还可以在第一系统总线和第二SRAM存储器之间设置一SRAM控制器,以在自第二SRAM存储器内读取数据时对第二SRAM存储器进行ECC校验。
本实施例中,SRAM控制器中的ECC校验模块主要用以检测第二SRAM存储器是否发生位翻转,并在第二SRAM存储器发生1bit错误翻转时,将发生了错误翻转的对应位进行纠错翻转;而当第二SRAM存储器发生2bit错误翻转时,SRAM控制器向中央处理单元报错,防止该错误翻转导致整个程序错误。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。

Claims (10)

1.一种微控制器,其特征在于,包括:
中央处理单元;
第一系统总线,与所述中央处理单元相耦合;
第一外围装置组、第二系统总线和存储器组,均与所述第一系统总线相耦合;
第二外围装置组,与所述第二系统总线相耦合;
所述存储器组包括:
Cache存储器和Flash存储器,所述Cache存储器内包括第一SRAM存储器,且所述Cache存储器耦合于所述第一系统总线和所述Flash存储器之间,以在所述中央处理单元发起读请求,且所述读请求对应读地址为Cacheline对应地址以外的地址时,自所述Flash存储器中读取指令,或者在所述中央处理单元发起读请求,且读请求对应读地址为Cacheline对应地址其中之一地址时,自所述Cache存储器内的所述第一SRAM存储器中读取指令;
Flash控制器,耦合于所述Cache存储器和所述Flash存储器之间,以在自所述Flash存储器内读取指令时,对所述Flash存储器进行ECC校验。
2.根据权利要求1所述的微控制器,其特征在于,所述Flash控制器用以对所述Flash存储器进行ECC校验,以确定所述Flash存储器是否发生错误翻转,并在所述Flash存储器发生1Bit错误翻转时进行纠错翻转。
3.根据权利要求2所述的微控制器,其特征在于,所述Flash控制器还用以在所述Flash存储器发生2Bit错误翻转时,向所述中央处理单元报错。
4.根据权利要求1~3所述的微控制器,其特征在于,所述存储器组还包括:
第二SRAM存储器,与第一系统总线相耦合,以存储所述中央处理单元执行程序过程产生的中间变量;且所述中央处理单元在接收到中断信号时,将所述中央处理单元中的通用寄存器存入所述第二SRAM存储器,并在退出中断处理程序后,自所述第二SRAM存储器内读取所述通用寄存器。
5.根据权利要求4所述的微控制器,其特征在于,所述存储器组还包括:
SRAM控制器,耦合于所述第一系统总线和所述第二SRAM存储器之间,以在自所述第二SRAM存储器内读取数据时对所述第二SRAM存储器进行ECC校验。
6.根据权利要求5所述的微控制器,其特征在于,所述SRAM控制器用以对所述第二SRAM存储器进行ECC校验,以确定所述第二SRAM存储器是否发生错误翻转,并在所述第二SRAM存储器发生1Bit错误翻转时进行纠错翻转。
7.根据权利要求6所述的微控制器,其特征在于,所述SRAM控制器还用以在所述第二SRAM存储器发生2Bit错误翻转时,向所述中央处理单元报错。
8.根据权利要求1~7任一项所述的微控制器,其特征在于,所述Cacheline为所述Cache存储器自所述Flash存储器内读取所述读请求对应地址的指令以及所述读请求对应地址附近指令组成,且所述Cacheline存储于所述第一SRAM存储器内。
9.根据权利要求1所述的微控制器,其特征在于,所述第一系统总线为AHB总线,所述第二系统总线包括第一APB总线和第二APB总线。
10.根据权利要求8所述的微控制器,其特征在于,所述第一外围装置组包括GPIO装置、SystemCtrl装置和Cordic Hardware装置;所述第二外围装置组包括与所述第一APB总线相耦合的ECC装置、IO Ctrl装置、MTP装置和Cache装置,以及与所述二APB总线相耦合的AD0装置、AD1装置、AD2装置、SPI0装置、SPI1装置、UART0装置、UART1装置、Timer装置、Dual Timer装置、WDG装置、PWM装置、CANFD装置和LIN装置。
CN202310406295.1A 2023-04-11 2023-04-11 一种微控制器 Pending CN116361233A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310406295.1A CN116361233A (zh) 2023-04-11 2023-04-11 一种微控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310406295.1A CN116361233A (zh) 2023-04-11 2023-04-11 一种微控制器

Publications (1)

Publication Number Publication Date
CN116361233A true CN116361233A (zh) 2023-06-30

Family

ID=86933378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310406295.1A Pending CN116361233A (zh) 2023-04-11 2023-04-11 一种微控制器

Country Status (1)

Country Link
CN (1) CN116361233A (zh)

Similar Documents

Publication Publication Date Title
US9037812B2 (en) Method, apparatus and system for memory validation
US10824499B2 (en) Memory system architectures using a separate system control path or channel for processing error information
US8327040B2 (en) Host controller
CN106970864B (zh) 片上系统、移动终端和用于操作片上系统的方法
JP2011054263A (ja) メモリエラーと冗長
US20070067520A1 (en) Hardware-assisted device configuration detection
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
JP6005392B2 (ja) ルーティングのための方法及び装置
US8650437B2 (en) Computer system and method of protection for the system's marking store
CN105373345B (zh) 存储器设备和模块
US10990293B2 (en) Extensible storage system and method
CN108369519B (zh) 在使用块-原子执行模型的基于处理器的系统中重放部分执行的指令块
US20150046759A1 (en) Semiconductor integrated circuit device
US20100146224A1 (en) Request processing device, request processing system, and access testing method
CN116361233A (zh) 一种微控制器
CN115269199A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN112086119B (zh) 存储器设备
CN108874578B (zh) 用于监管和初始化端口的设备
JP2003309564A (ja) マイクロコンピュータシステムおよびそれに使用されるトランシーバ
US7707378B2 (en) DDR flash implementation with hybrid row buffers and direct access interface to legacy flash functions
US11822793B2 (en) Complete and fast protection against CID conflict
US20240004757A1 (en) Electronic device managing corrected error and operating method of electronic device
CN116820860A (zh) 处理器及其测试方法
JPH01258054A (ja) 記憶装置のアクセス制御方式
KR20040047399A (ko) 메모리 영역 억세스 제어 방법

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