一种微控制单元mcu芯片的制作方法

文档序号:6547545阅读:247来源:国知局
一种微控制单元mcu芯片的制作方法
【专利摘要】本发明实施例提供了一种微控制单元MCU芯片,所述MCU芯片集成有现场可编程门阵列FPGA模块,所述MCU芯片还包括:CPU、系统总线、芯片IO控制模块以及时钟复位模块,所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA?IO配置子模块,所述FPGA器件的内部IO引脚与所述FPGA?IO配置子模块的内部IO引脚互连,所述FPGAIO配置子模块与所述芯片IO控制模块对应的IO引脚相连,所述芯片IO控制连接到预设的外接设备上;所述FPGA器件中的外接信号通过互连的内部IO引脚传输到所述FPGA?IO配置子模块中,再通过相连的对应的IO引脚传输到所述芯片IO控制中,之后传输到所述外接设备中。本发明可以减少生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵活性。
【专利说明】-种微控制单元MCU芯片

【技术领域】
[0001] 本发明涉及集成电路【技术领域】,特别是涉及一种微控制单元MCU芯片。

【背景技术】
[0002] 随着集成电路工艺的不断提高,MCU (Micro Control Unit,微控制单元)芯片的应 用越来越广泛,小到儿童玩具,大到工程机械,都需要用到MCU芯片,然而在不同的应用场 景中,MCU芯片所发挥的功能各不一样。
[0003] 为了应对不同应用场景中MCU芯片发挥不同功能的需求,可以有两种解决方案: 一种是在一颗MCU芯片上实现功能,另一种是针对不同的应用场景设计不同的MCU芯片。
[0004] 显然,如果在一颗MCU芯片上实现功能,MCU芯片的面积就会非常大,并且非常没 有必要,因为在特定的产品中,很可能只用到其中一小部分功能,而大部分功能从始至终都 未被使用,这样不仅造成功能上的浪费,还增加芯片制造的成本,因此,在一颗MCU芯片上 实现功能非常不划算。
[0005] 如果针对不同的应用场景设计不同的MCU芯片,需要用单一的专用集成电路设计 MCU芯片,由于一颗MCU芯片不能满足的功能需求,因此,生产MCU芯片的厂商需要采用海量 芯片的策略,即生产多个系列的产品以区分不同的应用场景,同时,一个系列的产品细分出 多种型号的MCU芯片,而这些同一个系列的多种型号的MCU芯片的功能差别非常小。这样 将的功能需求细化,特定的一颗MCU芯片针对特定的一些应用场景。虽然这种方案部分的 解决了不同应用场景对功能需求不同的矛盾,但是生产、销售如此多的芯片,以及管理如此 多的产品生产线等工作,都需要非常庞大的工作量,增加 MCU芯片生产的成本。
[0006] 另外,在MCU芯片中,实现的都是一些通用的、常用的功能、接口等,以满足大多数 用户的需求,而实际应用中经常还会需要一些特殊的功能,而在通用的MCU芯片设计和生 产过程中缺少对这方面的考虑,造成通用的MCU芯片不具备很高的灵活性,因而无法实现 这些特殊的功能。
[0007] 针对MCU芯片生产出来后,可能会有错误,需要修改,通常的做法是在设计时放一 些冗余单元,这样需要修改时,通过修改连线,将冗余单元组成新电路,这种做法只能做简 单的修改,因为冗余单元不可能放很多,而且冗余单元放的很分散,布线也很困难,所以对 一些比较复杂的修改无能为力。
[0008] 因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种微控制 单元MCU芯片,用以灵活满足不同的应用场景,实现不同需求的功能,完成对芯片的不同复 杂程度的修改,同时,减少生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵 活性。


【发明内容】

[0009] 本发明实施例所要解决的技术问题是提供一种微控制单元MCU芯片,用以灵活满 足不同的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少 生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵活性。
[0010] 为了解决上述问题,本发明公开了一种微控制单元MCU芯片,所述MCU芯片集成有 现场可编程门阵列FPGA模块,所述MCU芯片还包括:
[0011] CPU、系统总线、芯片10控制模块以及时钟复位模块,其中,
[0012] 所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位模块与所述 FPGA模块互连;
[0013] 所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA 10 配置子模块,所述FPGA器件和所述FPGA 10配置子模块各自包括内部10引脚,所述FPGA 器件的内部10引脚与所述FPGA 10配置子模块的内部10引脚互连,所述FPGA器件和所述 FPGA 10配置子模块之间通过互连的内部10引脚对进行内部相互通信;
[0014] 所述FPGA 10配置子模块与所述芯片10控制模块对应的10引脚相连,所述芯片 10控制连接到预设的外接设备上;
[0015] 所述FPGA器件中的外接信号通过互连的内部10引脚传输到所述FPGAI0配置子 模块中,再通过相连的对应的10引脚传输到所述芯片10控制中,之后传输到所述外接设备 中。
[0016] 优选地,所述现场可编程门阵列FPGA模块还包括现场可编程门阵列FPGA配置信 息下载子模块、配置寄存器,其中,
[0017] 所述FPGA配置信息下载子模块中10引脚的输出端与所述FPGA器件中10引脚的 输入端相连,所述FPGA器件中10引脚的输出端与所述FPGAI0配置子模块中10引脚的输 入端相连,所述配置寄存器中10引脚的输出端与所述FPGA 10配置子模块中10引脚的输入 端相连,所述配置寄存器中10引脚的输入端连接在所述系统总线上。
[0018] 优选地,所述芯片还包括直接存储器访问DMA,所述DMA连接在所述系统总线上。
[0019] 优选地,所述芯片还包括静态随机存储器SRAM,所述SRAM连接在所述系统总线 上;所述SRAM与所述闪存控制器互连。
[0020] 优选地,所述芯片还包括联合测试工作组JTAG,所述联合测试工作组JTAG与所述 FPGA互连。
[0021] 优选地,所述芯片还包括闪存控制器,所述闪存控制器与所述FPGA互连。
[0022] 优选地,所述芯片还包括闪存芯片,所述闪存芯片与所述闪存控制器互连。
[0023] 优选地,所述芯片还包括设备集,所述设备集连接在所述系统总线上。
[0024] 优选地,所述FPGA器件中包括预置的电路修改单元。
[0025] 优选地,所述SRAM与所述FPGA 10配置模块互连,所述FPGA模块与所述MCU芯片 共用所述SRAM。
[0026] 与现有技术相比,本发明实施例包括以下优点:
[0027] 本发明通过在MCU芯片中集成现场可编程门阵列FPGA模块,其中,现场可编程门 阵列FPGA模块包括FPGA器件和FPGA 10配置子模块,用户可以根据需求将具有不同功能的 电路烧录到FPGA器件中,以灵活满足不同的应用场景,实现不同需求的功能,同时,FPGA 10 配置子模块与MCU芯片中的元件及10连接,可以有效的共用MCU芯片的电路,减小了 FPGA 器件的面积,同时也使得FPGA器件中的电路和MCU芯片其他部分电路协同工作,减少生产 成本,提高芯片的灵活性,此外,FPGA器件可以划分一部分单元用于电路的修改,以实现非 常复杂电路的修改,同时修改工作非常的简单方便,减少工作量,降低芯片修改难度。
[0028] 本发明通过MCU芯片中与闪存控制器的闪存芯片,可以在MCU芯片上电后自动读 取闪存芯片存储的程序数据,并且,由于闪存芯片具有断电数据不丢失的特点,使得FPGA 器件中的数据在断电时不会丢失,提高了 MCU芯片的稳定性和灵活性,可以灵活满足不同 的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成 本,减少工作量,降低芯片修改难度。

【专利附图】

【附图说明】
[0029] 图1示出了本发明一种微控制单元MCU芯片实施例1的结构图;
[0030] 图2示出了本发明一种微控制单元MCU芯片在FPGA器件中实现I2C功能的结构 图;
[0031] 图3示出了本发明一种微控制单元MCU芯片实施例2的结构图;
[0032] 图4示出了本发明一种微控制单元MCU芯片中现场可编程门阵列FPGA模块的结 构图。

【具体实施方式】
[0033] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0034] 本发明实施例的核心构思之一在于,在MCU芯片中实现一块FPGA器件,同时,通过 FPGA 10配置模块将FPGA模块的10与MCU芯片的元件以及10连接,以将MCU芯片中的元 件复用到FPGA模块中,因此,可以减少MCU芯片的面积,同时,用户可以根据自己特定的应 用需求,将自身需要的特定电路烧录到FPGA中,这样既可以应用MCU芯片的便利,也可以通 过FPGA的灵活性实现自身一些特殊功能。
[0035] 参照图1,示出了本发明一种微控制单元MCU芯片实施例1的结构图,所述MCU芯 片集成有现场可编程门阵列FPGA模块,所述MCU芯片具体还可以包括 :
[0036] CPU、系统总线、芯片10控制模块以及时钟复位模块,其中,
[0037] 所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位与所述 FPGA模块互连;
[0038] 在实际应用中,CPU (Central Processing Unit,中央处理器),一般为IP核 (Intellectual Property Core,知识产权核),所谓IP核,一般为某一方提供的、在芯片设 计上的可重用模块。CPU是MCU芯片中运算与控制核心,可以执行软件编译完成的代码程序 等,达到控制芯片中各部分合理运行的目的。
[0039] 芯片10控制可以是用于控制MCU芯片10用途的模块,在本发明实施例中,芯片10 控制的主要作用可以是将MCU芯片10配置成FPGA的10或者普通的GPIO (General Purpose Input Output) 〇
[0040] 时钟复位可以是提供MCU芯片时钟与复位的模块,时钟部分包括PLL(Phase Locked Loop,锁相环),用于提供各种频率的时钟(比如10MHZ?100MHZ)。在本发明实施 例中,时钟复位部分还可以用于提供FPGA (Field - Programmable Gate Array,现场可编程 门阵列)所需要的时钟和复位。
[0041] 需要说明的是,在时钟复位中可以预留一些时钟,例如:高频时钟,低频时钟,与 系统同频时钟等,还可以预留一些可配置的复位信号等,连接到FPGA 10配置子模块中,为 FPGA器件中的逻辑提供时钟复位信号。
[0042] 此外,系统总线同样可以预设一些保留地址空间,这些地址空间与MCU其他部分 不冲突,这样CPU可以通过系统总线中的预设的保留地址空间访问FPGA器件中的逻辑。
[0043] 所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA 10 配置子模块,所述FPGA器件和所述FPGA 10配置子模块各自包括内部10引脚,所述FPGA 器件的内部10引脚与所述FPGA 10配置子模块的内部10引脚互连,所述FPGA器件和所述 FPGA 10配置子模块之间通过互连的内部10引脚对进行内部相互通信;
[0044] 在具体应用中,现场可编程门阵列FPGA器件一般包含大量的 LUT (Look-Up-Table,查找表),实现组合逻辑电路,触发器,实现时序逻辑电路,还包含一定 数量的Memory (内存),DCM(Digital Clock Manager,数字时钟管理器),用于产生时钟,乘 法器,以及10 buffer (输入输出缓冲器)。
[0045] 在本发明实施例中,由于FPGA器件实现在MCU芯片中,有些可以与MCU芯片中其 他部分共用,比如,Memory可以与MCU芯片中装置SRAM(Static Random Access Memory,静 态随机存储器)共用,又如,用MCU中时钟复位模块可以为FPGA器件提供时钟和复位,因 此,FPGA也可以不用实现DCM,由于MCU芯片应用对数据运算要求不高,因此,FPGA还可以 不用实现乘法器。所以,在本发明实施中,FPGA器件可以主要实现可编程逻辑单元(LUT和 触发器),可编程输入输出单元以及布线资源等。这样既简化了实现难度,又减小了芯片面 积,与MCU芯片共用部分也提高了实现效率。需要说明的是,在本发明实施例中,FPGA器件 也可用其他可编程器件替代。
[0046] 由于FPGA模块实现在MCU芯片内部,所以FPGA的10需要与MCU芯片连接,FPGA 10配置子模块可以将FPGA器件的每个10配置成与MCU芯片中其他部分的信号连接,或者, 配置成与MCU芯片的10连接。与MCU芯片中其他部分的信号连接主要用于共用MCU芯片 中其他部分电路,减少芯片面积。
[0047] FPGA模块将MCU芯片需要的功能模块实现在FPGA器件内,并且,在FPGA器件中除 了包括功能模块以外,还包括功能模块的10分配。而实现在FPGA器件装置内的功能模块 与FPGA模块外(即MCU芯片内部其他模块,以及MCU芯片预设的外部器件)的通信可以通 过FPGA 10配置子模块的10 (输入输出端口)交互完成的。
[0048] 需要说明的是,FPGA器件装置中,除了实现的功能模块的逻辑部分外,还包含了将 功能模块的输入输出与FPGA的10 buffer连接。
[0049] 10通路1 :为实现FPGA器件的10 buffer与FPGA 10配置子模块之间的通路连接, 在FPGA 10配置子模块中,将FPGA器件10预设多种选择,如:MCU芯片系统总线信号,时钟 复位模块,MCU芯片的10等,可以将FPGA器件中的每个10选择与预设多种选择中的一个 连接。
[0050] 10通路2 :为FPGA 10配置子模块与MCU芯片中其他模块的通路连接,例如:假设 在FPGA 10配置子模块中,将FPGA器件的某个10配置成系统总线信号,此系统总线信号与 MCU芯片中系统总线模块连接。
[0051] 10通路3 :为FPGA 10配置子模块与MCU芯片10控制模块之间的通路连接,例如: 假设在FPGA 10配置子模块中,将FPGA器件的某个10配置成与MCU芯片10连接,此10连 接到芯片10控制模块中,由于每个芯片10也有多个预设选择,其中一种选择为MCU芯片 10与FPGA 10配置子模块连接,所以在芯片10控制模块中,需要将对应的芯片10配置成与 FPGAI0配置子模块连接。
[0052] 10通路4 :为芯片10控制模块与MCU芯片外的预设外接器件的通路连接。
[0053] 所述FPGA器件中的外接信号通过互连的内部10引脚传输到所述FPGAI0配置子 模块中,再通过相连的对应的10引脚传输到所述芯片10控制中,之后传输到所述外接设备 中。
[0054] 在具体应用中,通过10通路1,10通路3,10通路4,实现了在FPGA器件内的功能 模块,与MCU芯片外的设备之间的数据通信。通过10通路1,10通路2实现了在FPGA器件 内的功能模块与MCU芯片中其他模块之间的数据通信。
[0055] 本发明通过在MCU芯片中集成现场可编程门阵列FPGA模块,其中,现场可编程门 阵列FPGA模块包括FPGA器件和FPGA 10配置子模块,用户可以根据需求将具有不同功能的 电路烧录到FPGA器件中,以灵活满足不同的应用场景,实现不同需求的功能,同时,FPGA 10 配置子模块与MCU芯片中的元件及10连接,可以有效的共用MCU芯片的电路,减小了 FPGA 器件的面积,同时也使得FPGA器件中的电路和MCU芯片其他部分电路协同工作,减少生产 成本,提高芯片的灵活性,此外,FPGA器件可以划分一部分单元用于电路的修改,以实现非 常复杂电路的修改,同时修改工作非常的简单方便,减少工作量,降低芯片修改难度。
[0056] 为使本领域技术人员更好地理解本申请,以下以微控制单元MCU芯片在FPGA器件 中实现I2C功能为例,进一步说明本发明实施例。
[0057] 如图2所示,示出了本发明一种微控制单元MCU芯片在FPGA器件中实现I2C功能 的结构图。
[0058] 在FPGA器件中实现I2C功能时,至少需要时钟复位模块(用Iclock表示),系统总 线传输的总线信号(用Iahbx表不),FPGA模块中的外接信号用于I2C传输(如i2c_sda, i2c_scl等,用i2cx表示),芯片10控制模块,以及MCU芯片外预设的I2C器件。
[0059] 其中,FPGA模块可以包括FPGA器件和FPGA 10配置子模块,FPGA器件中可以内置 I2C功能模块和FPGA 10 buffer,I2C功能模块可以包括Iclock接口、Iahbx接口、i2cx接 口,FPGA 10 buffer包括与Iclock接口对应的FPA接口、与Iahbx接口对应的FPBx接口、与 i2cx接口对应的FPCx接口,FPGA 10配置子模块至少可以包括对应的三组接口,在本发明实 施例中,分别是FPA选择、FPB选择、FPC选择,每组接口中至少包括clock子接口,ahbx子 接口,FPA选择中还包括PAx子接口,FPB选择中还包括PBx子接口,FPC选择中还包括PCx 子接口。
[0060] 芯片10控制模块至少可以包括PC选择接口和PCx接口,其中,PC选择接口中至 少可以包括功能1子接口,功能2子接口,FPCx子接口。
[0061] 系统总线可以连接CPU(图示中未画出)。
[0062] 在FPGA器件中实现I2C功能的步骤包括:
[0063] 第一步:在配置FPGA器件时,同时连接好I2C信号与FPGA 10。例如I2C功能模块 的Iclock接口连接FPGA 10 buffer的FPA接口;I2C功能模块的Iahbx接口连接FPGA 10 buffer 的 FPBx 接口;I2C 功能模块的 i2cx 接 口连接 FPGA 10 buffer 的 FPCx 接口。
[0064] 第二步:在配置FPGA 10配置子模块时,将FPGA 10 buffer的FPA接口选择FPGA 10配置子模块中FPA选择接口的clock子接口;该clock子接口与MCU芯片的时钟复位模 块连接;实际应用中,时钟复位模块提供时钟(clock),最终连接到FPGA器件中I2C功能模 块的Iclock接口上,这样I2C可以用Iclock当做时钟。
[0065] 将FPGA 10 buffer的FPBx接口选择FPGA 10配置子模块中FPB选择接口的ahbx 子接口;而且该ahbx子接口还与系统总线连接,实现系统总线与FPGA器件中I2C的Iahbx 接口连接。
[0066] 将FPGA 10 buffer的FPCx接口选择FPGA 10配置子模块中FPC选择接口的PCx子 接口;并且该PCX子接口与芯片10控制模块连接。
[0067] 第三步:在芯片10控制模块中,将MCU芯片PCx接口选择连接芯片10控制模块中 的FPCx接口,而FPCx接口与FPGA 10配置子模块中的FPC选择接口的PCx子接口连接在一 起。
[0068] 第四步:MCU芯片外预设的I2C器件,将I2C器件信号与MCU芯片PCx接口连接在 一起。
[0069] 这样实现I2C器件的信号与FPGA器件中I2C部分的信号i2cx连接在一起,可以 互相通讯。
[0070] 具体通讯步骤如下:
[0071] 1、MCU芯片首先将连接到Iclock的时钟(clock)打开,此时钟为时钟复位模块中 预留的一个时钟。
[0072] 2、CPU通过系统总线中预留给FPGA器件的地址空间,通过FPB选择接口中的ahbx 子接口连接到I2C功能模块的Iahbx接口,通过Iahbx接口设置I2C功能模块的状态,以及 需要与MCU芯片外预设的I2C器件传输的地址数据等。
[0073] 3、通过i2cx信号与MCU芯片外预设的I2C器件通讯。
[0074] 参照图3,示出了本发明一种微控制单元MCU芯片实施例2的结构图,所述MCU芯 片集成有现场可编程门阵列FPGA模块,所述MCU芯片还包括:
[0075] CPU、系统总线、芯片10控制模块以及时钟复位模块,其中,
[0076] 所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位与所述 FPGA模块互连;
[0077] 在本发明实施例的一种优选示例中,所述芯片还包括直接存储器访问DMA,所述 DMA连接在所述系统总线上。
[0078] DMA (Direct Memory Access,直接存储器访问),负责将数据从一个地址空间传输 到另外一个地址空间,如果用CPU完成此项操作,则增加 CPU大量的负载和中断资源,同时 传输的效率和延时会增加。而DMA传输的速度和效率均比CPU好,因此DMA为MCU芯片中 的重要组成部分。
[0079] 需要说明的是,DMA中预设了一些DMA通道,通过将信号连接到FPGAI0配置模块, 可以预留给FPGA模块使用。
[0080] 在本发明实施例的一种优选示例中,所述芯片还包括静态随机存储器SRAM,所述 SRAM连接在所述系统总线上;所述SRAM与所述闪存控制器互连。
[0081] SRAM (Static Random Access Memory,静态随机存储器),为标准IP。一般用于存储 数据,断电后数据丢失,读写速度快,可实时读写。在本发明实施例中可以当做内存使用,存 放CPU运行中临时数据,以及其他一些暂存数据,还可以复用成FPGA的SRAM使用。当FPGA 需要用到SRAM,将其中部分空间当做FPGA的SRAM使用,这样在实现FPGA器件时,可以不需 要实现SRAM,以减小面积,节约资源。
[0082] 需要说明的是,SRAM在通用的MCU中,通常当成内存使用,在本发明实施例中, SRAM可以复用成FPGA模块的SRAM使用。假设SRAM的总大小为T0P_SIZE ;用户在FPGA模 块中需要使用SRAM,则用户需要分配好FPGA模块中需要使用SRAM的大小,以及内存需要 使用的SRAM大小,总大小不能超过T0P_SIZE。假设用户配置FPGA中需要使用SRAM的大小 为 FPGA_SIZE (FPGA_SIZE 小于 T0P_SIZE),则内存可使用的 SRAM 大小为 T0P_SIZE 减 FPGA_ SIZE。在MCU芯片的SRAM设计实现时,需要设计两套访问SRAM的器件,一套用于MCU芯片 访问内存使用,在本发明实施例中,用于MCU芯片访问内存时访问的地址空间为0?Τ0Ρ_ SIZE减FPGA_SIZE减1 ;另外一套用于FPGA模块使用的SRAM,访问的地址空间为T0P_SIZE 减FPGA_SIZE?T0P_SIZE减1,此套访问SRAM的信号连接到FPGA 10配置模块。通过配置 SRAM与FPGA器件相连接,可以实现FPGA器件中的逻辑访问SRAM的功能。如果将FPGA_ SIZE设置成0,则的SRAM都用于内存。
[0083] 在本发明实施例的一种优选示例中,所述MCU芯片还包括联合测试工作组JTAG, 所述联合测试工作组JTAG与所述FPGA互连。
[0084] JTAG(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议 (IEEE1149. 1兼容),主要用于芯片内部测试。在本发明实施例中JTAG可以用于配置FPGA 器件。
[0085] 在本发明实施例的一种优选示例中,所述芯片还包括闪存控制器,所述闪存控制 器与所述FPGA互连。
[0086] 闪存控制器,为闪存芯片与MCU芯片的接口,可以将闪存芯片中的程序数据读取 到MCU芯片中,用于CPU执行程序,也可以将FPGA的配置信息读取到FPGA模块中,用于配 置FPGA器件。同时,闪存控制器还可以用于擦写闪存芯片中的数据。
[0087] 在本发明实施例的一种优选示例中,所述芯片还包括闪存芯片,所述闪存芯片与 所述闪存控制器互连。
[0088] 闪存芯片,具有可读,可擦写,断电数据不丢失的特点,但读写速度慢,并且大部分 时间是在读取数据,在MCU芯片中主要用于程序存储以及一些常量数据的存储,在本发明 实施例中,闪存芯片还可以用于存储FPGA器件的配置信息。因此,在MCU芯片上电后可以自 动读取闪存芯片中存储的配置信息,自动的将该配置信息烧录到FPGA器件中。为了让MCU 芯片更加小巧,可以采用MCP (Multiple Chip Package,多芯片封装)技术将MCU芯片与闪 存芯片制造在同一个封装内。
[0089] 本发明通过MCU芯片中与闪存控制器的闪存芯片,可以在MCU芯片上电后自动读 取闪存芯片存储的程序数据,并且,由于闪存芯片具有断电数据不丢失的特点,使得FPGA 器件中的数据在断电时不会丢失,提高了 MCU芯片的稳定性和灵活性,可以灵活满足不同 的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成 本,减少工作量,降低芯片修改难度。
[0090] 在本发明实施例的一种优选示例中,所述芯片还包括设备集,所述设备集连接在 所述系统总线上。
[0091] 设备集:在MCU芯片中,一般会包含多种外设,常用的比如SPI (Serial Peripheral Interface,串行夕卜设接口)、UART (Universal Asynchronous Receiver/Transmitter, 通用异步收发传输器)、I2C (Inter - Integrated Circuit),一种两线式串行总线, USB (Universal Serial Bus,通用串行总线)等等,有时一种外设可能会包含多个,比如3个 SPI。设备集即包含这些外设的集合。
[0092] 参照图4,示出了本发明一种微控制单元MCU芯片中现场可编程门阵列FPGA模块 的结构图。
[0093] 如图4所示,所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门 阵列FPGA 10配置子模块,所述FPGA器件和所述FPGA 10配置子模块各自包括内部10引脚, 所述FPGA器件的内部10引脚与所述FPGAI0配置子模块的内部10引脚互连,所述FPGA器 件和所述FPGA 10配置子模块之间通过互连的内部10引脚对进行内部相互通信;
[0094] 所述FPGA 10配置子模块与所述芯片10控制对应的10引脚相连,所述芯片10控 制连接到预设的外接设备上;
[0095] 所述FPGA器件中的外接信号通过互连的内部10引脚传输到所述FPGAI0配置子 模块中,再通过相连的对应的10引脚传输到所述芯片10控制中,之后传输到所述外接设备 中。
[0096] 所述现场可编程门阵列FPGA还包括现场可编程门阵列FPGA配置信息下载子模 块、配置寄存器,其中,
[0097] 所述FPGA配置信息下载子模块中10引脚的输出端与所述FPGA器件中10引脚的 输入端相连,所述FPGA器件中10引脚的输出端与所述FPGAI0配置子模块中10引脚的输 入端相连,所述配置寄存器中10引脚的输出端与所述FPGA 10配置子模块中10引脚的输入 端相连,所述配置寄存器中10引脚的输入端连接在所述系统总线上。
[0098] 在具体应用中,FPGA配置信息下载子模块可以用于配置FPGA器件,将MCU芯片提 供的配置信息,转化成用于FPGA器件配置下载的标准数据格式的配置信息,即符合JTAG协 议的数据格式的配置信息,通过FPGA配置信息下载子模块烧录FPAG器件的通路,从FPGA 器件固定的端口将配置信息配置下载到FPGA器件中,因此,将FPGA器件中的可编程逻辑转 化成专用逻辑,以达到实现该专用逻辑对应的专用功能的目的。
[0099] 配置寄存器:主要包括一系列寄存器,由系统总线配置,这些寄存器通过从配置寄 存器到FPGA 10配置子模块的数据通路,对FPGA的10进行配置,将FPGA模块的10与MCU 芯片连接。
[0100] FPGA 10配置模块与MCU芯片中其他元件的信号连接可以用于共用MCU芯片中的 部分电路,以减少MCU芯片的面积。在本发明实施例中,FPGA 10配置模块可以包括以下连 接:
[0101] 与系统总线连接:将预设好的部分FPGA模块的10,通过配置寄存器,配置成与系 统总线信号连接,这样可实现通过CPU控制FPGA模块中的电路。这部分10定义成FPGA模 块的总线10。在MCU芯片中,一般实现某个功能,均需要与CPU配合才能完成,而CPU通过 执行驱动程序,控制FPGA中硬件逻辑的运行。由于CPU本身面积比较大,在FPGA中实现 (PU将显著增大MCU芯片的面积,显然非常不合算,而通过将FPGA的部分10与系统总线连 接,这样就可以用MCU芯片中已有的CPU,而不需要再在FPGA中实现CPU。
[0102] 与DMA连接:将部分FPGA模块的10,通过配置寄存器,配置成与DMA的信号连接, 这样MCU芯片中已有的DMA,可以用于控制FPGA模块中的电路。
[0103] 与时钟复位模块连接:在通用的FPGA器件中,时钟一般有DCM实现,DCM本身电路 比较复杂,实现难度高。而在本发明实施例中,FPGA的时钟可以由MCU芯片中的时钟复位 模块提供,因此FPGA器件中可以不需要实现DCM。此外,FPGA器件实现在MCU芯片中,FPGA 器件中的电路经常要与MCU芯片中其他部分电路时钟一致,此时FPGA器件的时钟由MCU芯 片中的时钟复位模块提供,就很容易实现。
[0104] 与SRAM连接:将预设好的部分FPGA的10配置成与SRAM的信号连接,这样FPGA 模块中的电路可以用MCU芯片中的SRAM。
[0105] 另外,FPGA的部分10还可以配置成与MCU芯片中其他部分的一些重要信号连接。
[0106] 将FPGA的10配置成与MCU芯片10控制部分连接,这样FPGA的10可以连接到 MCU芯片中的芯片10控制部分,然后再通过芯片10控制部分,将芯片10配置成FPGA 10通 路。这样实现了 FPGA的10与MCU芯片外的器件连接。
[0107] 需要说明的是,MCU芯片中还预设有一些中断信号,将中断信号连接到FPGA 10配 置子模块,可以配置连接到FPGA器件中。
[0108] 此外,当芯片生产出来后,发现需要大量修改时,则非常方便,划分部分的FPGA器 件中的单元做成需要修改的电路即可完成修改,这样可以实现非常复杂电路的修改,同时 修改工作非常的简单方便。
[0109] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0110] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。
[0111] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框 图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提 供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理 终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处 理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的装置。
[0112] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。
[0113] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本发明实施例范围的变更和修改。
[0115] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0116] 以上对本发明所提供的一种微控制单元MCU芯片,进行了详细介绍,本文中应用 了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解 本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明 的限制。
【权利要求】
1. 一种微控制单元MCU芯片,其特征在于,所述MCU芯片集成有现场可编程门阵列 FPGA模块,所述MCU芯片还包括: CPU、系统总线、芯片10控制模块以及时钟复位模块,其中, 所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位模块与所述 FPGA模块互连; 所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA 10配置 子模块,所述FPGA器件和所述FPGA 10配置子模块各自包括内部10引脚,所述FPGA器件 的内部10引脚与所述FPGA 10配置子模块的内部10引脚互连,所述FPGA器件和所述FPGA 10配置子模块之间通过互连的内部10引脚对进行内部相互通信; 所述FPGA 10配置子模块与所述芯片10控制模块对应的10引脚相连,所述芯片10控 制连接到预设的外接设备上; 所述FPGA器件中的外接信号通过互连的内部10引脚传输到所述FPGAI0配置子模块 中,再通过相连的对应的10引脚传输到所述芯片10控制中,之后传输到所述外接设备中。
2. 根据权利要求1所述的芯片,其特征在于,所述现场可编程门阵列FPGA模块还包括 现场可编程门阵列FPGA配置信息下载子模块、配置寄存器,其中, 所述FPGA配置信息下载子模块中10引脚的输出端与所述FPGA器件中10引脚的输入 端相连,所述FPGA器件中10引脚的输出端与所述FPGAI0配置子模块中10引脚的输入端 相连,所述配置寄存器中10引脚的输出端与所述FPGA 10配置子模块中10引脚的输入端相 连,所述配置寄存器中10引脚的输入端连接在所述系统总线上。
3. 根据权利要求1或2所述的芯片,其特征在于,所述芯片还包括直接存储器访问 DMA,所述DMA连接在所述系统总线上。
4. 根据权利要求3所述的芯片,其特征在于,所述芯片还包括静态随机存储器SRAM,所 述SRAM连接在所述系统总线上;所述SRAM与所述闪存控制器互连。
5. 根据权利要求4所述的芯片,其特征在于,所述芯片还包括联合测试工作组JTAG,所 述联合测试工作组JTAG与所述FPGA互连。
6. 根据权利要求5所述的芯片,其特征在于,所述芯片还包括闪存控制器,所述闪存控 制器与所述FPGA互连。
7. 根据权利要求6所述的芯片,其特征在于,所述芯片还包括闪存芯片,所述闪存芯片 与所述闪存控制器互连。
8. 根据权利要求7所述的芯片,其特征在于,所述芯片还包括设备集,所述设备集连接 在所述系统总线上。
9. 根据权利要求8所述的芯片,其特征在于,所述FPGA器件中包括预置的电路修改单 J Li 〇
10. 根据权利要求4所述的芯片,其特征在于,所述SRAM与所述FPGAI0配置模块互连, 所述FPGA模块与所述MCU芯片共用所述SRAM。
【文档编号】G06F13/14GK104050146SQ201410223000
【公开日】2014年9月17日 申请日期:2014年5月23日 优先权日:2014年5月23日
【发明者】王南飞, 李宝魁, 朱一明 申请人:北京兆易创新科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1