CN104050146B - 一种微控制单元mcu芯片 - Google Patents
一种微控制单元mcu芯片 Download PDFInfo
- Publication number
- CN104050146B CN104050146B CN201410223000.8A CN201410223000A CN104050146B CN 104050146 B CN104050146 B CN 104050146B CN 201410223000 A CN201410223000 A CN 201410223000A CN 104050146 B CN104050146 B CN 104050146B
- Authority
- CN
- China
- Prior art keywords
- fpga
- chip
- pin
- module
- submodule
- 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.)
- Active
Links
Landscapes
- Logic Circuits (AREA)
Abstract
本发明实施例提供了一种微控制单元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控制中,之后传输到所述外接设备中。本发明可以减少生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵活性。
Description
技术领域
本发明涉及集成电路技术领域,特别是涉及一种微控制单元MCU芯片。
背景技术
随着集成电路工艺的不断提高,MCU(Micro Control Unit,微控制单元)芯片的应用越来越广泛,小到儿童玩具,大到工程机械,都需要用到MCU芯片,然而在不同的应用场景中,MCU芯片所发挥的功能各不一样。
为了应对不同应用场景中MCU芯片发挥不同功能的需求,可以有两种解决方案:一种是在一颗MCU芯片上实现功能,另一种是针对不同的应用场景设计不同的MCU芯片。
显然,如果在一颗MCU芯片上实现功能,MCU芯片的面积就会非常大,并且非常没有必要,因为在特定的产品中,很可能只用到其中一小部分功能,而大部分功能从始至终都未被使用,这样不仅造成功能上的浪费,还增加芯片制造的成本,因此,在一颗MCU芯片上实现功能非常不划算。
如果针对不同的应用场景设计不同的MCU芯片,需要用单一的专用集成电路设计MCU芯片,由于一颗MCU芯片不能满足的功能需求,因此,生产MCU芯片的厂商需要采用海量芯片的策略,即生产多个系列的产品以区分不同的应用场景,同时,一个系列的产品细分出多种型号的MCU芯片,而这些同一个系列的多种型号的MCU芯片的功能差别非常小。这样将的功能需求细化,特定的一颗MCU芯片针对特定的一些应用场景。虽然这种方案部分的解决了不同应用场景对功能需求不同的矛盾,但是生产、销售如此多的芯片,以及管理如此多的产品生产线等工作,都需要非常庞大的工作量,增加MCU芯片生产的成本。
另外,在MCU芯片中,实现的都是一些通用的、常用的功能、接口等,以满足大多数用户的需求,而实际应用中经常还会需要一些特殊的功能,而在通用的MCU芯片设计和生产过程中缺少对这方面的考虑,造成通用的MCU芯片不具备很高的灵活性,因而无法实现这些特殊的功能。
针对MCU芯片生产出来后,可能会有错误,需要修改,通常的做法是在设计时放一些冗余单元,这样需要修改时,通过修改连线,将冗余单元组成新电路,这种做法只能做简单的修改,因为冗余单元不可能放很多,而且冗余单元放的很分散,布线也很困难,所以对一些比较复杂的修改无能为力。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种微控制单元MCU芯片,用以灵活满足不同的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵活性。
发明内容
本发明实施例所要解决的技术问题是提供一种微控制单元MCU芯片,用以灵活满足不同的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成本,减少工作量,降低芯片修改难度,以及,提高芯片的灵活性。
为了解决上述问题,本发明公开了一种微控制单元MCU芯片,所述MCU芯片集成有现场可编程门阵列FPGA模块,所述MCU芯片还包括:
CPU、系统总线、芯片IO控制模块以及时钟复位模块,其中,
所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位模块与所述FPGA模块互连;
所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA IO配置子模块,所述FPGA器件和所述FPGA IO配置子模块各自包括内部IO引脚,所述FPGA器件的内部IO引脚与所述FPGA IO配置子模块的内部IO引脚互连,所述FPGA器件和所述FPGA IO配置子模块之间通过互连的内部IO引脚对进行内部相互通信;
所述FPGA IO配置子模块与所述芯片IO控制模块对应的IO引脚相连,所述芯片IO控制连接到预设的外接设备上;
所述FPGA器件中的外接信号通过互连的内部IO引脚传输到所述FPGAIO配置子模块中,再通过相连的对应的IO引脚传输到所述芯片IO控制中,之后传输到所述外接设备中。
优选地,所述现场可编程门阵列FPGA模块还包括现场可编程门阵列FPGA配置信息下载子模块、配置寄存器,其中,
所述FPGA配置信息下载子模块中IO引脚的输出端与所述FPGA器件中IO引脚的输入端相连,所述FPGA器件中IO引脚的输出端与所述FPGAIO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输出端与所述FPGA IO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输入端连接在所述系统总线上。
优选地,所述芯片还包括直接存储器访问DMA,所述DMA连接在所述系统总线上。
优选地,所述芯片还包括静态随机存储器SRAM,所述SRAM连接在所述系统总线上;所述SRAM与所述闪存控制器互连。
优选地,所述芯片还包括联合测试工作组JTAG,所述联合测试工作组JTAG与所述FPGA互连。
优选地,所述芯片还包括闪存控制器,所述闪存控制器与所述FPGA互连。
优选地,所述芯片还包括闪存芯片,所述闪存芯片与所述闪存控制器互连。
优选地,所述芯片还包括设备集,所述设备集连接在所述系统总线上。
优选地,所述FPGA器件中包括预置的电路修改单元。
优选地,所述SRAM与所述FPGA IO配置模块互连,所述FPGA模块与所述MCU芯片共用所述SRAM。
与现有技术相比,本发明实施例包括以下优点:
本发明通过在MCU芯片中集成现场可编程门阵列FPGA模块,其中,现场可编程门阵列FPGA模块包括FPGA器件和FPGA IO配置子模块,用户可以根据需求将具有不同功能的电路烧录到FPGA器件中,以灵活满足不同的应用场景,实现不同需求的功能,同时,FPGA IO配置子模块与MCU芯片中的元件及IO连接,可以有效的共用MCU芯片的电路,减小了FPGA器件的面积,同时也使得FPGA器件中的电路和MCU芯片其他部分电路协同工作,减少生产成本,提高芯片的灵活性,此外,FPGA器件可以划分一部分单元用于电路的修改,以实现非常复杂电路的修改,同时修改工作非常的简单方便,减少工作量,降低芯片修改难度。
本发明通过MCU芯片中与闪存控制器的闪存芯片,可以在MCU芯片上电后自动读取闪存芯片存储的程序数据,并且,由于闪存芯片具有断电数据不丢失的特点,使得FPGA器件中的数据在断电时不会丢失,提高了MCU芯片的稳定性和灵活性,可以灵活满足不同的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成本,减少工作量,降低芯片修改难度。
附图说明
图1示出了本发明一种微控制单元MCU芯片实施例1的结构图;
图2示出了本发明一种微控制单元MCU芯片在FPGA器件中实现I2C功能的结构图;
图3示出了本发明一种微控制单元MCU芯片实施例2的结构图;
图4示出了本发明一种微控制单元MCU芯片中现场可编程门阵列FPGA模块的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,在MCU芯片中实现一块FPGA器件,同时,通过FPGA IO配置模块将FPGA模块的IO与MCU芯片的元件以及IO连接,以将MCU芯片中的元件复用到FPGA模块中,因此,可以减少MCU芯片的面积,同时,用户可以根据自己特定的应用需求,将自身需要的特定电路烧录到FPGA中,这样既可以应用MCU芯片的便利,也可以通过FPGA的灵活性实现自身一些特殊功能。
参照图1,示出了本发明一种微控制单元MCU芯片实施例1的结构图,所述MCU芯片集成有现场可编程门阵列FPGA模块,所述MCU芯片具体还可以包括:
CPU、系统总线、芯片IO控制模块以及时钟复位模块,其中,
所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位与所述FPGA模块互连;
在实际应用中,CPU(Central Processing Unit,中央处理器),一般为IP核(Intellectual Property Core,知识产权核),所谓IP核,一般为某一方提供的、在芯片设计上的可重用模块。CPU是MCU芯片中运算与控制核心,可以执行软件编译完成的代码程序等,达到控制芯片中各部分合理运行的目的。
芯片IO控制可以是用于控制MCU芯片IO用途的模块,在本发明实施例中,芯片IO控制的主要作用可以是将MCU芯片IO配置成FPGA的IO或者普通的GPIO(General PurposeInput Output)。
时钟复位可以是提供MCU芯片时钟与复位的模块,时钟部分包括PLL(PhaseLocked Loop,锁相环),用于提供各种频率的时钟(比如10MHZ~100MHZ)。在本发明实施例中,时钟复位部分还可以用于提供FPGA(Field-Programmable Gate Array,现场可编程门阵列)所需要的时钟和复位。
需要说明的是,在时钟复位中可以预留一些时钟,例如:高频时钟,低频时钟,与系统同频时钟等,还可以预留一些可配置的复位信号等,连接到FPGA IO配置子模块中,为FPGA器件中的逻辑提供时钟复位信号。
此外,系统总线同样可以预设一些保留地址空间,这些地址空间与MCU其他部分不冲突,这样CPU可以通过系统总线中的预设的保留地址空间访问FPGA器件中的逻辑。
所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA IO配置子模块,所述FPGA器件和所述FPGA IO配置子模块各自包括内部IO引脚,所述FPGA器件的内部IO引脚与所述FPGA IO配置子模块的内部IO引脚互连,所述FPGA器件和所述FPGA IO配置子模块之间通过互连的内部IO引脚对进行内部相互通信;
在具体应用中,现场可编程门阵列FPGA器件一般包含大量的LUT(Look-Up-Table,查找表),实现组合逻辑电路,触发器,实现时序逻辑电路,还包含一定数量的Memory(内存),DCM(Digital Clock Manager,数字时钟管理器),用于产生时钟,乘法器,以及IObuffer(输入输出缓冲器)。
在本发明实施例中,由于FPGA器件实现在MCU芯片中,有些可以与MCU芯片中其他部分共用,比如,Memory可以与MCU芯片中装置SRAM(Static Random Access Memory,静态随机存储器)共用,又如,用MCU中时钟复位模块可以为FPGA器件提供时钟和复位,因此,FPGA也可以不用实现DCM,由于MCU芯片应用对数据运算要求不高,因此,FPGA还可以不用实现乘法器。所以,在本发明实施中,FPGA器件可以主要实现可编程逻辑单元(LUT和触发器),可编程输入输出单元以及布线资源等。这样既简化了实现难度,又减小了芯片面积,与MCU芯片共用部分也提高了实现效率。需要说明的是,在本发明实施例中,FPGA器件也可用其他可编程器件替代。
由于FPGA模块实现在MCU芯片内部,所以FPGA的IO需要与MCU芯片连接,FPGA IO配置子模块可以将FPGA器件的每个IO配置成与MCU芯片中其他部分的信号连接,或者,配置成与MCU芯片的IO连接。与MCU芯片中其他部分的信号连接主要用于共用MCU芯片中其他部分电路,减少芯片面积。
FPGA模块将MCU芯片需要的功能模块实现在FPGA器件内,并且,在FPGA器件中除了包括功能模块以外,还包括功能模块的IO分配。而实现在FPGA器件装置内的功能模块与FPGA模块外(即MCU芯片内部其他模块,以及MCU芯片预设的外部器件)的通信可以通过FPGAIO配置子模块的IO(输入输出端口)交互完成的。
需要说明的是,FPGA器件装置中,除了实现的功能模块的逻辑部分外,还包含了将功能模块的输入输出与FPGA的IO buffer连接。
IO通路1:为实现FPGA器件的IO buffer与FPGA IO配置子模块之间的通路连接,在FPGA IO配置子模块中,将FPGA器件IO预设多种选择,如:MCU芯片系统总线信号,时钟复位模块,MCU芯片的IO等,可以将FPGA器件中的每个IO选择与预设多种选择中的一个连接。
IO通路2:为FPGA IO配置子模块与MCU芯片中其他模块的通路连接,例如:假设在FPGA IO配置子模块中,将FPGA器件的某个IO配置成系统总线信号,此系统总线信号与MCU芯片中系统总线模块连接。
IO通路3:为FPGA IO配置子模块与MCU芯片IO控制模块之间的通路连接,例如:假设在FPGA IO配置子模块中,将FPGA器件的某个IO配置成与MCU芯片IO连接,此IO连接到芯片IO控制模块中,由于每个芯片IO也有多个预设选择,其中一种选择为MCU芯片IO与FPGAIO配置子模块连接,所以在芯片IO控制模块中,需要将对应的芯片IO配置成与FPGAIO配置子模块连接。
IO通路4:为芯片IO控制模块与MCU芯片外的预设外接器件的通路连接。
所述FPGA器件中的外接信号通过互连的内部IO引脚传输到所述FPGAIO配置子模块中,再通过相连的对应的IO引脚传输到所述芯片IO控制中,之后传输到所述外接设备中。
在具体应用中,通过IO通路1,IO通路3,IO通路4,实现了在FPGA器件内的功能模块,与MCU芯片外的设备之间的数据通信。通过IO通路1,IO通路2实现了在FPGA器件内的功能模块与MCU芯片中其他模块之间的数据通信。
本发明通过在MCU芯片中集成现场可编程门阵列FPGA模块,其中,现场可编程门阵列FPGA模块包括FPGA器件和FPGA IO配置子模块,用户可以根据需求将具有不同功能的电路烧录到FPGA器件中,以灵活满足不同的应用场景,实现不同需求的功能,同时,FPGA IO配置子模块与MCU芯片中的元件及IO连接,可以有效的共用MCU芯片的电路,减小了FPGA器件的面积,同时也使得FPGA器件中的电路和MCU芯片其他部分电路协同工作,减少生产成本,提高芯片的灵活性,此外,FPGA器件可以划分一部分单元用于电路的修改,以实现非常复杂电路的修改,同时修改工作非常的简单方便,减少工作量,降低芯片修改难度。
为使本领域技术人员更好地理解本申请,以下以微控制单元MCU芯片在FPGA器件中实现I2C功能为例,进一步说明本发明实施例。
如图2所示,示出了本发明一种微控制单元MCU芯片在FPGA器件中实现I2C功能的结构图。
在FPGA器件中实现I2C功能时,至少需要时钟复位模块(用Iclock表示),系统总线传输的总线信号(用Iahbx表示),FPGA模块中的外接信号用于I2C传输(如i2c_sda,i2c_scl等,用i2cx表示),芯片IO控制模块,以及MCU芯片外预设的I2C器件。
其中,FPGA模块可以包括FPGA器件和FPGA IO配置子模块,FPGA器件中可以内置I2C功能模块和FPGA IO buffer,I2C功能模块可以包括Iclock接口、Iahbx接口、i2cx接口,FPGA IO buffer包括与Iclock接口对应的FPA接口、与Iahbx接口对应的FPBx接口、与i2cx接口对应的FPCx接口,FPGA IO配置子模块至少可以包括对应的三组接口,在本发明实施例中,分别是FPA选择、FPB选择、FPC选择,每组接口中至少包括clock子接口,ahbx子接口,FPA选择中还包括PAx子接口,FPB选择中还包括PBx子接口,FPC选择中还包括PCx子接口。
芯片IO控制模块至少可以包括PC选择接口和PCx接口,其中,PC选择接口中至少可以包括功能1子接口,功能2子接口,FPCx子接口。
系统总线可以连接CPU(图示中未画出)。
在FPGA器件中实现I2C功能的步骤包括:
第一步:在配置FPGA器件时,同时连接好I2C信号与FPGA IO。例如I2C功能模块的Iclock接口连接FPGA IO buffer的FPA接口;I2C功能模块的Iahbx接口连接FPGA IObuffer的FPBx接口;I2C功能模块的i2cx接口连接FPGA IO buffer的FPCx接口。
第二步:在配置FPGA IO配置子模块时,将FPGA IO buffer的FPA接口选择FPGA IO配置子模块中FPA选择接口的clock子接口;该clock子接口与MCU芯片的时钟复位模块连接;实际应用中,时钟复位模块提供时钟(clock),最终连接到FPGA器件中I2C功能模块的Iclock接口上,这样I2C可以用Iclock当做时钟。
将FPGA IO buffer的FPBx接口选择FPGA IO配置子模块中FPB选择接口的ahbx子接口;而且该ahbx子接口还与系统总线连接,实现系统总线与FPGA器件中I2C的Iahbx接口连接。
将FPGA IO buffer的FPCx接口选择FPGA IO配置子模块中FPC选择接口的PCx子接口;并且该PCx子接口与芯片IO控制模块连接。
第三步:在芯片IO控制模块中,将MCU芯片PCx接口选择连接芯片IO控制模块中的FPCx接口,而FPCx接口与FPGA IO配置子模块中的FPC选择接口的PCx子接口连接在一起。
第四步:MCU芯片外预设的I2C器件,将I2C器件信号与MCU芯片PCx接口连接在一起。
这样实现I2C器件的信号与FPGA器件中I2C部分的信号i2cx连接在一起,可以互相通讯。
具体通讯步骤如下:
1、MCU芯片首先将连接到Iclock的时钟(clock)打开,此时钟为时钟复位模块中预留的一个时钟。
2、CPU通过系统总线中预留给FPGA器件的地址空间,通过FPB选择接口中的ahbx子接口连接到I2C功能模块的Iahbx接口,通过Iahbx接口设置I2C功能模块的状态,以及需要与MCU芯片外预设的I2C器件传输的地址数据等。
3、通过i2cx信号与MCU芯片外预设的I2C器件通讯。
参照图3,示出了本发明一种微控制单元MCU芯片实施例2的结构图,所述MCU芯片集成有现场可编程门阵列FPGA模块,所述MCU芯片还包括:
CPU、系统总线、芯片IO控制模块以及时钟复位模块,其中,
所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位与所述FPGA模块互连;
在本发明实施例的一种优选示例中,所述芯片还包括直接存储器访问DMA,所述DMA连接在所述系统总线上。
DMA(Direct Memory Access,直接存储器访问),负责将数据从一个地址空间传输到另外一个地址空间,如果用CPU完成此项操作,则增加CPU大量的负载和中断资源,同时传输的效率和延时会增加。而DMA传输的速度和效率均比CPU好,因此DMA为MCU芯片中的重要组成部分。
需要说明的是,DMA中预设了一些DMA通道,通过将信号连接到FPGAIO配置模块,可以预留给FPGA模块使用。
在本发明实施例的一种优选示例中,所述芯片还包括静态随机存储器SRAM,所述SRAM连接在所述系统总线上;所述SRAM与所述闪存控制器互连。
SRAM(Static Random Access Memory,静态随机存储器),为标准IP。一般用于存储数据,断电后数据丢失,读写速度快,可实时读写。在本发明实施例中可以当做内存使用,存放CPU运行中临时数据,以及其他一些暂存数据,还可以复用成FPGA的SRAM使用。当FPGA需要用到SRAM,将其中部分空间当做FPGA的SRAM使用,这样在实现FPGA器件时,可以不需要实现SRAM,以减小面积,节约资源。
需要说明的是,SRAM在通用的MCU中,通常当成内存使用,在本发明实施例中,SRAM可以复用成FPGA模块的SRAM使用。假设SRAM的总大小为TOP_SIZE;用户在FPGA模块中需要使用SRAM,则用户需要分配好FPGA模块中需要使用SRAM的大小,以及内存需要使用的SRAM大小,总大小不能超过TOP_SIZE。假设用户配置FPGA中需要使用SRAM的大小为FPGA_SIZE(FPGA_SIZE小于TOP_SIZE),则内存可使用的SRAM大小为TOP_SIZE减FPGA_SIZE。在MCU芯片的SRAM设计实现时,需要设计两套访问SRAM的器件,一套用于MCU芯片访问内存使用,在本发明实施例中,用于MCU芯片访问内存时访问的地址空间为0~TOP_SIZE减FPGA_SIZE减1;另外一套用于FPGA模块使用的SRAM,访问的地址空间为TOP_SIZE减FPGA_SIZE~TOP_SIZE减1,此套访问SRAM的信号连接到FPGA IO配置模块。通过配置SRAM与FPGA器件相连接,可以实现FPGA器件中的逻辑访问SRAM的功能。如果将FPGA_SIZE设置成0,则的SRAM都用于内存。
在本发明实施例的一种优选示例中,所述MCU芯片还包括联合测试工作组JTAG,所述联合测试工作组JTAG与所述FPGA互连。
JTAG(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。在本发明实施例中JTAG可以用于配置FPGA器件。
在本发明实施例的一种优选示例中,所述芯片还包括闪存控制器,所述闪存控制器与所述FPGA互连。
闪存控制器,为闪存芯片与MCU芯片的接口,可以将闪存芯片中的程序数据读取到MCU芯片中,用于CPU执行程序,也可以将FPGA的配置信息读取到FPGA模块中,用于配置FPGA器件。同时,闪存控制器还可以用于擦写闪存芯片中的数据。
在本发明实施例的一种优选示例中,所述芯片还包括闪存芯片,所述闪存芯片与所述闪存控制器互连。
闪存芯片,具有可读,可擦写,断电数据不丢失的特点,但读写速度慢,并且大部分时间是在读取数据,在MCU芯片中主要用于程序存储以及一些常量数据的存储,在本发明实施例中,闪存芯片还可以用于存储FPGA器件的配置信息。因此,在MCU芯片上电后可以自动读取闪存芯片中存储的配置信息,自动的将该配置信息烧录到FPGA器件中。为了让MCU芯片更加小巧,可以采用MCP(Multiple Chip Package,多芯片封装)技术将MCU芯片与闪存芯片制造在同一个封装内。
本发明通过MCU芯片中与闪存控制器的闪存芯片,可以在MCU芯片上电后自动读取闪存芯片存储的程序数据,并且,由于闪存芯片具有断电数据不丢失的特点,使得FPGA器件中的数据在断电时不会丢失,提高了MCU芯片的稳定性和灵活性,可以灵活满足不同的应用场景,实现不同需求的功能,完成对芯片的不同复杂程度的修改,同时,减少生产成本,减少工作量,降低芯片修改难度。
在本发明实施例的一种优选示例中,所述芯片还包括设备集,所述设备集连接在所述系统总线上。
设备集:在MCU芯片中,一般会包含多种外设,常用的比如SPI(Serial PeripheralInterface,串行外设接口)、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)、I2C(Inter-Integrated Circuit),一种两线式串行总线,USB(Universal Serial Bus,通用串行总线)等等,有时一种外设可能会包含多个,比如3个SPI。设备集即包含这些外设的集合。
参照图4,示出了本发明一种微控制单元MCU芯片中现场可编程门阵列FPGA模块的结构图。
如图4所示,所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA IO配置子模块,所述FPGA器件和所述FPGA IO配置子模块各自包括内部IO引脚,所述FPGA器件的内部IO引脚与所述FPGAIO配置子模块的内部IO引脚互连,所述FPGA器件和所述FPGA IO配置子模块之间通过互连的内部IO引脚对进行内部相互通信;
所述FPGA IO配置子模块与所述芯片IO控制对应的IO引脚相连,所述芯片IO控制连接到预设的外接设备上;
所述FPGA器件中的外接信号通过互连的内部IO引脚传输到所述FPGAIO配置子模块中,再通过相连的对应的IO引脚传输到所述芯片IO控制中,之后传输到所述外接设备中。
所述现场可编程门阵列FPGA还包括现场可编程门阵列FPGA配置信息下载子模块、配置寄存器,其中,
所述FPGA配置信息下载子模块中IO引脚的输出端与所述FPGA器件中IO引脚的输入端相连,所述FPGA器件中IO引脚的输出端与所述FPGAIO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输出端与所述FPGA IO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输入端连接在所述系统总线上。
在具体应用中,FPGA配置信息下载子模块可以用于配置FPGA器件,将MCU芯片提供的配置信息,转化成用于FPGA器件配置下载的标准数据格式的配置信息,即符合JTAG协议的数据格式的配置信息,通过FPGA配置信息下载子模块烧录FPAG器件的通路,从FPGA器件固定的端口将配置信息配置下载到FPGA器件中,因此,将FPGA器件中的可编程逻辑转化成专用逻辑,以达到实现该专用逻辑对应的专用功能的目的。
配置寄存器:主要包括一系列寄存器,由系统总线配置,这些寄存器通过从配置寄存器到FPGA IO配置子模块的数据通路,对FPGA的IO进行配置,将FPGA模块的IO与MCU芯片连接。
FPGA IO配置模块与MCU芯片中其他元件的信号连接可以用于共用MCU芯片中的部分电路,以减少MCU芯片的面积。在本发明实施例中,FPGA IO配置模块可以包括以下连接:
与系统总线连接:将预设好的部分FPGA模块的IO,通过配置寄存器,配置成与系统总线信号连接,这样可实现通过CPU控制FPGA模块中的电路。这部分IO定义成FPGA模块的总线IO。在MCU芯片中,一般实现某个功能,均需要与CPU配合才能完成,而CPU通过执行驱动程序,控制FPGA中硬件逻辑的运行。由于CPU本身面积比较大,在FPGA中实现CPU将显著增大MCU芯片的面积,显然非常不合算,而通过将FPGA的部分IO与系统总线连接,这样就可以用MCU芯片中已有的CPU,而不需要再在FPGA中实现CPU。
与DMA连接:将部分FPGA模块的IO,通过配置寄存器,配置成与DMA的信号连接,这样MCU芯片中已有的DMA,可以用于控制FPGA模块中的电路。
与时钟复位模块连接:在通用的FPGA器件中,时钟一般有DCM实现,DCM本身电路比较复杂,实现难度高。而在本发明实施例中,FPGA的时钟可以由MCU芯片中的时钟复位模块提供,因此FPGA器件中可以不需要实现DCM。此外,FPGA器件实现在MCU芯片中,FPGA器件中的电路经常要与MCU芯片中其他部分电路时钟一致,此时FPGA器件的时钟由MCU芯片中的时钟复位模块提供,就很容易实现。
与SRAM连接:将预设好的部分FPGA的IO配置成与SRAM的信号连接,这样FPGA模块中的电路可以用MCU芯片中的SRAM。
另外,FPGA的部分IO还可以配置成与MCU芯片中其他部分的一些重要信号连接。
将FPGA的IO配置成与MCU芯片IO控制部分连接,这样FPGA的IO可以连接到MCU芯片中的芯片IO控制部分,然后再通过芯片IO控制部分,将芯片IO配置成FPGA IO通路。这样实现了FPGA的IO与MCU芯片外的器件连接。
需要说明的是,MCU芯片中还预设有一些中断信号,将中断信号连接到FPGA IO配置子模块,可以配置连接到FPGA器件中。
此外,当芯片生产出来后,发现需要大量修改时,则非常方便,划分部分的FPGA器件中的单元做成需要修改的电路即可完成修改,这样可以实现非常复杂电路的修改,同时修改工作非常的简单方便。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种微控制单元MCU芯片,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种微控制单元MCU芯片,其特征在于,所述MCU芯片集成有现场可编程门阵列FPGA模块,所述MCU芯片还包括:
CPU、系统总线、芯片IO控制模块以及时钟复位模块,其中,
所述CPU和所述FPGA模块分别连接在所述系统总线上;所述时钟复位模块与所述FPGA模块互连;
所述FPGA模块设置有现场可编程门阵列FPGA器件和现场可编程门阵列FPGA IO配置子模块,所述FPGA器件和所述FPGA IO配置子模块各自包括内部IO引脚,所述FPGA器件的内部IO引脚与所述FPGA IO配置子模块的内部IO引脚互连,所述FPGA器件和所述FPGA IO配置子模块之间通过互连的内部IO引脚对进行内部相互通信;
所述FPGA IO配置子模块与所述芯片IO控制模块对应的IO引脚相连,所述芯片IO控制连接到预设的外接设备上;
所述FPGA器件中的外接信号通过互连的内部IO引脚传输到所述FPGA IO配置子模块中,再通过相连的对应的IO引脚传输到所述芯片IO控制中,之后传输到所述外接设备中。
2.根据权利要求1所述的芯片,其特征在于,所述现场可编程门阵列FPGA模块还包括现场可编程门阵列FPGA配置信息下载子模块、配置寄存器,其中,
所述FPGA配置信息下载子模块中IO引脚的输出端与所述FPGA器件中IO引脚的输入端相连,所述FPGA器件中IO引脚的输出端与所述FPGA IO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输出端与所述FPGA IO配置子模块中IO引脚的输入端相连,所述配置寄存器中IO引脚的输入端连接在所述系统总线上。
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器件中包括预置的电路修改单元。
10.根据权利要求4所述的芯片,其特征在于,所述SRAM与所述FPGA IO配置模块互连,所述FPGA模块与所述MCU芯片共用所述SRAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410223000.8A CN104050146B (zh) | 2014-05-23 | 2014-05-23 | 一种微控制单元mcu芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410223000.8A CN104050146B (zh) | 2014-05-23 | 2014-05-23 | 一种微控制单元mcu芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050146A CN104050146A (zh) | 2014-09-17 |
CN104050146B true CN104050146B (zh) | 2017-04-26 |
Family
ID=51503003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410223000.8A Active CN104050146B (zh) | 2014-05-23 | 2014-05-23 | 一种微控制单元mcu芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050146B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168720B (zh) * | 2017-06-06 | 2020-09-08 | 武汉虹信通信技术有限责任公司 | 一种基于fpga的spi接口配置方法 |
CN107665179B (zh) * | 2017-09-25 | 2023-06-13 | 深圳市紫光同创电子有限公司 | 一种包括现场可编程门阵列的系统 |
CN107885694B (zh) * | 2017-10-18 | 2018-10-23 | 广东高云半导体科技股份有限公司 | 一种支持系统级集成电路芯片 |
CN109783436B (zh) * | 2019-01-16 | 2021-06-22 | 广东高云半导体科技股份有限公司 | 一种片上系统 |
CN110008172A (zh) * | 2019-04-02 | 2019-07-12 | 广东高云半导体科技股份有限公司 | 一种片上系统 |
CN110321725A (zh) * | 2019-07-12 | 2019-10-11 | 中孚信息股份有限公司 | 一种防止篡改系统数据与时钟的方法及装置 |
CN110674077B (zh) * | 2019-09-26 | 2023-01-24 | 北京智芯微电子科技有限公司 | 基于fpga的数字引脚转换装置及方法 |
CN110674069B (zh) * | 2019-09-26 | 2021-02-19 | 北京智芯微电子科技有限公司 | 芯片的数字引脚转换电路及方法、芯片 |
CN112256615B (zh) * | 2020-10-22 | 2023-05-16 | 广东高云半导体科技股份有限公司 | Usb转换接口装置 |
CN116756082B (zh) * | 2023-08-16 | 2023-10-27 | 沐曦集成电路(上海)有限公司 | 一种可配置的功能模块文件的生成方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582688A (zh) * | 2008-05-15 | 2009-11-18 | 中兴通讯股份有限公司 | 一种fpga加载模式的动态配置电路 |
US8148728B2 (en) * | 2009-10-12 | 2012-04-03 | Monolithic 3D, Inc. | Method for fabrication of a semiconductor device and structure |
CN103257612B (zh) * | 2012-02-21 | 2016-03-16 | 京微雅格(北京)科技有限公司 | 一种灵活配置的fpga芯片及其配置方法 |
-
2014
- 2014-05-23 CN CN201410223000.8A patent/CN104050146B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104050146A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050146B (zh) | 一种微控制单元mcu芯片 | |
US6603330B1 (en) | Configuring digital functions in a digital configurable macro architecture | |
US6765407B1 (en) | Digital configurable macro architecture | |
CN104050068B (zh) | 在mcu芯片中调试fpga的方法和装置 | |
WO2018040016A1 (zh) | 一种协议转换器及协议转换方法 | |
CN103338217B (zh) | 基于低等待时间接口的连网及用于该连网的处理装置 | |
CN104598418A (zh) | 一种基于fpga的控制i2c通信的系统及方法 | |
CN110781119B (zh) | 一种i2c总线扩展接口及其控制方法、片上系统 | |
CN104424154A (zh) | 通用串行外围接口 | |
CN106293843A (zh) | 一种数据加载系统 | |
CN107918545A (zh) | 一种基于zynq的远程升级系统及其实现方法 | |
CN104881105B (zh) | 电子装置 | |
CN104049995B (zh) | 在mcu芯片中配置fpga的方法和装置 | |
CN104050067A (zh) | Fpga在mcu芯片中工作的方法和装置 | |
US20140119463A1 (en) | Scalable Multifunction Serial Link Interface | |
CN104699654A (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN103399771A (zh) | 基于串行高速接口总线的多dsp自举加载系统及其方法 | |
CN109344115A (zh) | 一种通用化的fpga配置系统及方法与重配置系统及方法 | |
CN107168744B (zh) | 用于数字信号处理器芯片文件加载的系统及方法 | |
CN109491959B (zh) | 一种可编程逻辑器件配置器 | |
CN109241641B (zh) | 一种双核ARM型SoC应用验证实现方法及应用验证板 | |
CN206100049U (zh) | 一种协议转换器 | |
US11650950B2 (en) | Control system, switch, and method for controlling execution device | |
CN207586900U (zh) | 基于zynq的远程升级系统 | |
CN109857024A (zh) | 人工智能模块的单元性能测试方法和系统芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |