CN107430564B - 具有多个独立微控制器的微控制器装置 - Google Patents

具有多个独立微控制器的微控制器装置 Download PDF

Info

Publication number
CN107430564B
CN107430564B CN201680013744.4A CN201680013744A CN107430564B CN 107430564 B CN107430564 B CN 107430564B CN 201680013744 A CN201680013744 A CN 201680013744A CN 107430564 B CN107430564 B CN 107430564B
Authority
CN
China
Prior art keywords
microcontroller
pins
system bus
slave
interface
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
Application number
CN201680013744.4A
Other languages
English (en)
Other versions
CN107430564A (zh
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN107430564A publication Critical patent/CN107430564A/zh
Application granted granted Critical
Publication of CN107430564B publication Critical patent/CN107430564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/22Means for limiting or controlling the pin/gate ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

本发明揭示一种微控制器装置,其具有:外壳,其具有多个外部引脚;第一微控制器,其具有第一中央处理单元CPU、与所述第一CPU耦合的第一系统总线、与所述第一系统总线耦合的第一存储器及与所述第一系统总线耦合的第一多个外围装置;及第二微控制器,其具有第二中央处理单元CPU、与所述第二CPU耦合的第二系统总线、与所述第二系统总线耦合的第二存储器及与所述第二系统总线耦合的第二多个外围装置,其中第一微控制器及第二微控制器仅经由专用接口而通信。

Description

具有多个独立微控制器的微控制器装置
相关申请案的交叉参考
本申请案主张2015年3月13日申请的共同拥有的第62/133,186号美国临时专利申请案的优先权,所述专利申请案特此出于全部目的以引用的方式并入本文中。
技术领域
本发明涉及微控制器,特定地说,涉及具有多个独立处理器核心的微控制器装置。
背景技术
已知微控制器装置包括单个中央处理单元(微控制器核心)及多个相关联的外围装置(例如计时器、模/数转换器、数/模转换器、脉宽调制单元)、存储器、输入/输出(I/O)端口等。通常内部系统总线及控制逻辑连结全部组件使得微控制器核心可个别地存取外围装置。在外部,微控制器包括多个外部引脚,其中大多数这些引脚通常与I/O端口相关联且每一端口引脚还可通过与其它外围装置共享引脚而提供多功能。在配置期间,用户选择将哪一引脚指派给哪一功能。在程序的执行期间也可改变此类指派。
已知包括可能够与主CPU分开执行指令的额外加速器单元的某些微控制器。已知包含两个单独CPU及多个共同外围装置的其它微控制器。因此,两个核心共享全部外围装置,这需要增加延时的交叉开关且其中交叉开关容易发生故障。现有多核心装置使用开关矩阵以允许多个处理器存取共享系统资源(例如存储器及外围装置)。多个核心可请求存取相同资源。冲突解决电路增加延时,损害性能且增加成本。开关矩阵是系统的单个故障点。一些制造商可实施多个开关矩阵。此需要更多逻辑以处置开关矩阵当中的故障解决。其它制造商使用具有不同软件架构的多个核心。这些不同核心可具有一些专用资源但共享其它资源。
发明内容
然而,需要双或多核心微控制器装置的更好的实施方案。
根据实施例,一种微控制器装置可包括:多个外部引脚;第一微控制器,其包括第一中央处理单元(CPU)、与所述第一CPU耦合的第一系统总线、与所述第一系统总线耦合的第一存储器及与所述第一系统总线耦合的第一多个外围装置;及第二微控制器,其包括第二中央处理单元(CPU)、与所述第二CPU耦合的第二系统总线、与所述第二系统总线耦合的第二存储器及与所述第二系统总线耦合的第二多个外围装置,其中第一微控制器及第二微控制器仅经由专用接口而通信。
根据进一步实施例,所述专用接口可包括双向邮箱接口、单向主从接口及单向从主接口。根据进一步实施例,每一单向接口可包括FIFO存储器。根据进一步实施例,所述第一微控制器可为主装置且所述第二微控制器可为从装置。根据进一步实施例,所述第二微控制器的程序存储器可包括可由所述第一微控制器写入的易失性存储器。根据进一步实施例,所述第二微控制器可比所述第一微控制器更快地计时。根据进一步实施例,所述第二微控制器包括功率模式控制单元,所述功率模式控制单元包括低功率模式,其中所述第一微控制器可经配置以控制所述第二微控制器的功率模式。根据进一步实施例,所述功率模式控制单元可操作以停用所述第二微控制器使得所述第二微控制器不消耗任何功率。根据进一步实施例,每一微控制器可具有16个位的数据总线宽度。根据进一步实施例,每一微控制器可进一步包括可编程以选择用于与微控制器相关联的外围装置的多个外部引脚中的至少一些外部引脚的引脚选择单元。根据进一步实施例,每一微控制器可进一步包括可控制以将输入/输出引脚的控制指派给所述第一微控制器或所述第二微控制器的垫所有权多路复用器单元。根据进一步实施例,每一微控制器可读取任何可读取外部引脚,但仅指派给所述第一微控制器或所述第二微控制器的引脚可由相应微控制器写入。根据进一步实施例,每一微控制器的外围装置中的每一者中的至少一些可指派给多个外部引脚的预定外部引脚。
根据另一实施例,一种操作微控制器装置的方法,所述微控制器装置包括:多个外部引脚;第一微控制器,其包括第一中央处理单元(CPU)、与所述第一CPU耦合的第一系统总线、与所述第一系统总线耦合的第一存储器及与所述第一系统总线耦合的第一多个外围装置;第二微控制器,其包括第二中央处理单元(CPU)、与所述第二CPU耦合的第二系统总线、与所述第二系统总线耦合的第二存储器及与所述第二系统总线耦合的第二多个外围装置,所述方法可包括以下步骤:仅经由专用接口而在所述第一微控制器与所述第二微控制器之间通信。
根据所述方法的进一步实施例,所述专用接口可包括双向邮箱接口、单向主从接口及单向从主接口。根据所述方法的进一步实施例,每一单向接口可包括FIFO存储器。根据所述方法的进一步实施例,所述第一微控制器可为主装置且所述第二微控制器可为从装置。根据所述方法的进一步实施例,所述第二微控制器的程序存储器可包括易失性存储器且其中所述方法可包括通过所述第一微控制器写入到所述第二微控制器的程序存储器的步骤。根据所述方法的进一步实施例,所述方法可进一步包括对所述第二微控制器计时使其比所述第一微控制器更快。根据所述方法的进一步实施例,所述第二微控制器可包括功率模式控制单元,所述功率模式控制单元包括低功率模式,所述方法进一步包括通过所述第一微控制器控制所述第二微控制器的功率模式的步骤。根据所述方法的进一步实施例,所述方法可包括通过所述功率模式控制单元停用所述第二微控制器使得所述第二微控制器不消耗任何功率的步骤。根据所述方法的进一步实施例,所述方法可进一步包括控制相对于每一微控制器的引脚所有权的步骤,其中将输入/输出引脚指派给所述第一微控制器或所述第二微控制器。根据所述方法的进一步实施例,每一微控制器可读取任何可读取外部引脚,但仅指派给所述第一微控制器或所述第二微控制器的引脚可由相应微控制器写入。根据所述方法的进一步实施例,所述方法可进一步包括以下步骤:通过所述第一微控制器读取多个外部引脚中的一者;通过所述第二微控制器读取多个外部引脚中的所述一者;且通过专用接口比较从所述多个外部引脚中的所述一者读取的值。
附图说明
图1展示根据实施例的微控制器的框图;
图2展示根据另一实施例的微控制器的框图;
图3展示根据多个实施例的微控制器的外壳的俯视图。
图4展示垫所有权控制机构的实施例。
图5展示根据实施例的微控制器的功率控制。
具体实施方式
由于微控制器不需要任何外部组件,所以通常将微控制器视为单个芯片上的系统。因此,此装置包括中央处理单元、存储器及多个I/O外围装置。另外,I/O端口可用于直接数字控制。这些I/O端口通常与外围功能共享且可经编程以具有通用I/O端口功能或特定外围功能。
在低引脚计数封装(例如,28引脚封装)中,可通过提供各自具有16位的数据总线宽度的两个处理器核心而增加常规单核心微控制器的应用性能。此外,根据多个实施例,通过将硬件、软件及外围资源分离成多个独立微控制器,可促进用于实时控制系统的客户软件开发,可提供增加的安全监测(B级)且可改善错误缓解。
根据一些实施例,微控制器装置可具备低引脚计数封装(28个引脚到64个引脚)中的单个裸片上的独立MCU的多个实例。因此,集成电路封装将包含(例如)两个独立微控制器,所述两个独立微控制器中的每一者具有其自身的存储器及多个相关联的外围装置。根据一些实施例,一个微控制器可经配置为主微控制器且另一微控制器可为从微控制器。虽然两个微控制器可具有相同或类似外围装置,但外围装置可不同且特定地说可适于相应微控制器旨在用于的特定任务。此外,数据及程序存储器的大小可不同,其中主装置通常可包括较大程序及数据存储器。
因此,根据多个实施例,提供具有其自身的专用处理器、存储器及外围资源的两个(或两个以上)微控制器到单个硅裸片上的组合件。多个微控制器共享装置引脚,这使装置包含于低引脚计数封装中变得可能且可行。外部引脚因此可在程序控制(或配置寄存器控制)下经指派给主MCU或从MCU。根据本发明相对于一些实施例的规则,外部引脚的数目小于全部集成MCU的数据总线宽度的总和。举例来说,两核心MCU可包括两个16位MCU,其各自具有16位的数据总线宽度。全部集成MCU的数据总线宽度的总和因此将为32。当在28引脚外壳中实施此装置时,此装置将遵循上文提及的规则。
根据多个实施例,在多核心MCU(多处理器)装置中,外部引脚的数目<=核心的数目乘以每一处理器的位宽度。特定地说,根据一些实施例,外部引脚的数目低于主处理器的数据总线宽度。举例来说,根据多个实施例的双核心微控制器可配装于28引脚外壳内,如下文中将更详细解释。如上文中提及,多个实施例由具有大量微控制器单元(MCU)的微控制器装置组成,所述大量微控制器单元各自具有其自身的处理器、存储器及外围装置。
多个MCU经设计以共享外部装置引脚。全部MCU可经配置以允许通过其专用特定功能寄存器读取(或观察)引脚,然而,经由非易失性存储器控制通过专用寄存器写入(驱动)到引脚。因此,使用非易失性存储器以定义装置引脚的“所有权”,由此防止冲突。可在配置阶段期间(例如,在使用一旦装置处于操作模式中便无法更改的配置寄存器编程装置期间)定义所有权。替代地,可实施特定功能寄存器及程序,其通过使用特定功能寄存器而允许动态指派。可通过与常规EEPROM写入例程中使用的特殊写入例程类似的特殊写入例程防止此类寄存器的无意覆写。将外部引脚中的一者指派给核心中的一者防止软件及硬件故障。装置引脚的可控制共享使得多核心装置在低引脚计数封装中切实可用。
根据多个实施例,将具有其自身的专用处理器、存储器及外围资源的两个(两个以上)微控制器组装到单个硅裸片上,其中提供核心之间的特定通信接口。微控制器经由主从接口(MSI)而彼此通信,根据一个实施例,主从接口可为寄存器(邮箱)及相关联的状态位及中断信号(semiphore)的集合。
经典计算机架构方法是使多个处理器经由开关矩阵而与装置资源(例如存储器及外围装置)通信。在这些常规实施例中,两个(或两个以上)处理器共享全部系统资源。开关矩阵必须将优先权指派给每一处理器对于每一资源的每一请求,且必须解决冲突。此资源冲突管理极大地增加每一请求的延时(时间)。开关矩阵较大且容易出现单点故障。解决开关矩阵的易损性的经典解决方案是复制开关矩阵。此需要更多电路以检测故障且分辨哪一开关矩阵仍可行。多个实施例通过代替性地仅复制资源而避免试图使用开关矩阵以共享资源的复杂性。
第二典型架构是共享一些外围装置但存取其自身的有限资源集合(例如存储器及一些外围装置)的处理器外加协同处理器的概念。此架构通常具有复制起来昂贵且因此在处理器与协同处理器之间共享的若干外围装置。通常,处理器及协同处理器可具有不同软件架构且因此需要用于软件产生的不同开发工具。
代替这些常规方法,如根据多个实施例在(例如)图1中所展示,将各自具有专用存储器及外围装置的整个MCU(微控制器单元)复制到单个芯片中。单独MCU经由安全非易失性寄存器而共享装置引脚以防止当驱动装置引脚时的冲突,但全部MCU可在任何时间读取装置引脚(甚至未指派给其的装置引脚)。图1中的实例导致高引脚计数装置。
图1展示在单个集成电路外壳内具有两个微控制器的双核心微控制器100。第一微控制器包括CPU 110、系统总线120及多个外围装置130a..n以及数据存储器140(例如,16千字节RAM)、程序存储器150(例如,128千字节快闪存储器)及DMA控制器160。系统总线可分成两个总线:外围装置总线及存储器总线,如图1中所指示,或可实施连接全部装置的单个系统总线。一些外围装置(例如DMA控制器160)可不具有任何外部连接且其它外围装置(例如PWM、ADC、比较器及一些串行接口)可指派给预定外部多功能引脚。其它外围装置(例如其它串行接口、触摸传感器、计时器、比较器输出)可经由外围引脚选择器单元170而指派给多个外部引脚中的一者。一些引脚可指派给第一MCU的一个以上外围装置且通常与MCU的通用I/O端口共享其功能。因此,此实施例提供两个垫所有权多路复用器180及280。在默认指派中,与主MCU或从MCU相关联的每一引脚可指派给相应MCU的通用I/O端口但可在垫所有权多路复用器180的程序控制下指派给外围装置中的一者。一些引脚190可通过默认方式而指派给外围装置(例如串行编程接口、ADC或如图1中展示的任何其它外围装置)。如上文中提及,外围引脚选择单元170可进一步允许指派一些或全部外围装置以指派给相应外部引脚集合中的任一者。
外部引脚包括用于将电力提供到裸片的第一引脚集合。这可包含数字及模拟电力供应引脚及此类引脚的多个实例,如(例如)图2中展示。此外,主清除引脚可不具有其它功能且可用于复位及/或编程装置。剩余第二引脚集合通常是输入/输入引脚(I/O引脚)。然而,可存在未由微控制器中的一者控制的一些其它引脚。根据本发明的I/O引脚经定义为可编程为输入引脚或输出引脚的任何引脚或具有专用输入或输出功能的引脚。输入引脚可用于根据相应装置的设置的数字或模拟输入。类似地,输出引脚可用于根据相应外围装置的设置的数字或模拟输出。如上文中提及,本申请案通常是指输入/输出引脚,一些引脚仅可允许用作输入引脚或输出引脚。全部输入/输出引脚是当输出信号及馈送到这些引脚的信号是由微控制器中的一者接收的信号时由微控制器中的一者控制的引脚。电力供应引脚通常不被视为具有此功能。一些其它引脚也可不具有此功能性,例如,装置可具有用于振荡器的专用引脚。然而,还可使用微控制器I/O功能多路复用此类引脚,如图3中所展示。图3展示不会被视为I/O引脚的引脚是引脚5到8、19、20及引脚27。
特殊功能寄存器可用于控制垫所有权多路复用器。在此实施例中,每一微控制器核心仅可存取其特殊功能寄存器。然而,根据又一实施例,仅主MCU可存取控制两个垫所有权多路复用器180、280的特殊功能寄存器。另外,主CPU 110还可直接存取或通过特定接口存取从MCU的程序RAM 250。此特征允许通过主MCU编程/写入从MCU的程序RAM 250。
此实施例中的第二MCU包括引脚290、CPU 210、系统总线220及多个外围装置230a..n以及数据存储器240(例如,4千字节RAM)、程序存储器250(例如,24千字节RAM)及DMA控制器260。如上文中提及,程序存储器250可为易失性以允许通过主MCU编程。然而,根据其它实施例的其它实施方案是可行的。全部其它单元可类似于主MCU。提供第二外围引脚选择单元270以类似于第一MCU而允许一些外部引脚290到某些外围装置的灵活指派。然而,在此实施例中,两个MCU之间不存在引脚共享。
图1进一步展示两个MCU之间经由允许两个核心之间在任一方向上的通信的双向邮箱系统310及两个单向FIFO 320及330的通信接口。邮箱可用于将命令或短数据传送到相应其它微控制器。可实施如图1及图2中指示的多个邮箱310。一旦数据或命令已经写入到邮箱中,在接收微控制器内将产生相应中断以指示新消息(命令或数据)可用。这允许信息的快速传送而无任何额外延迟。
另外,可实施允许两个微控制器之间的较大数据传送的两个FIFO 320及330。由于FIFO 320及330无邮箱310的大小限制,因此其允许较大数据传送。如果FIFO 320、330不变空(或遇到错误条件),那么主装置及从装置可同时存取FIFO 320、330。因此,与在由一个处理器读取之前必须由另一处理器加载的基于邮箱310的数据管道相比,FIFO320、330可提供更好的吞吐量。然而,FIFO 320、330内容是依序加载及卸载,且不可如邮箱数据管道内的数据那样随机存取。FIFO也为(依据定义)单向。这使FIFO更适合于需要在处理器之间传送数据块的最快手段的应用。
大量微控制器可共享共同软件架构。因此,根据一个实施例,相同微控制器核心用于多种集成微控制器。提供主微控制器及一个或多个从微控制器的概念进一步允许减小功率消耗。从微控制器可经配置以停用,由此被置于不需要许多能量的睡眠模式中。根据其它实施方案,可完全关闭装置内的微控制器以节约能量。
图5展示此系统的示范性控制结构。每一微控制器100a、100b可分别具有专用功率控制单元510及520。每一功率控制单元510、520可允许设置特定功率消耗模式及相关联的处理功率。举例来说,每一微控制器100a、100b可设置成睡眠或低功率模式。可提供多种水平的功率消耗。另外,根据一个实施例,主微控制器100a可能够完全关闭从微控制器100b。在此模式中,微控制器100b将不具有功率消耗。
核心可进一步以不同速度运行。尤其当使用易失性存储器作为用于第二微控制器的程序存储器时可实施此特征。例如RAM的易失性存储器固有地较快且因此允许较快存取时间及因此较高计时速率。主核心可经配置以处置具有频繁中断的系统级功能。其可进一步处置安全顺应性特征、通信、中断处置、软件更新、用户接口等。归因于允许每一微控制器读取任何外部引脚的特征,可通过多个MCU监测(例如,相同装置引脚)而改善安全性。例如根据一实施例,两个微控制器可包括用以提供增强的安全特征的软件,其中多个外部引脚中的一者通过第一微控制器及第二微控制器独立读取。接着,可通过通信接口比较所检索值。举例来说,在单个引脚的情况下,可使用邮箱中的一者以将所读取值转发到另一核心。替代地,可使用FIFO 320、330中的一者以转发一或多个值。在值不匹配的情况下,系统可输出警报或可执行特定软件例程、中断或复位以校正错误。
根据多个实施例,可分割具时效性码,这使码易于开发及支持。从核心可用于专用及更确定的应用性能,例如具有关键延时的控制回路、电机控制、数字功率控制。因此,作为从微控制器,其可视为主微控制器的额外可编程外围装置。此架构的益处是步进功能性能增加。两个核心基本上使执行速率加倍。如上文提及,可分离时间临界功能及系统功能且将其指派给不同核心。可优化控制回路响应性,可最小化中断且可简化电机算法实施方案。根据一个实施例,主核心的执行速度可为(例如)100MIPS而通过提供较快程序存储器(例如,易失性随机存取存储器),从核心目标可具有>100MIPS的处理功率。因此,从微控制器通常可比主微控制器快。
根据一些实施例,可通过在两个MCU之间共享用于外围装置的引脚而进一步减小所需外部引脚的数目,如图2中所展示。图2展示相对于图1中展示的实施例具有减小数目个引脚420的封装中的多核心装置的框图。特定地说,图2展示28引脚版本的具有两个单独MCU的双核心微控制器。此处,仅可提供单垫所有权多路复用器410,所述单垫所有权多路复用器410仅可由主MCU(例如)通过特定功能寄存器而控制。然而,根据一些实施例,两个MCU可进行存取,其中在一个实施例中,主MCU可具有优于从MCU的优先权。
减小数目个可用I/O引脚仍将相同或更多引脚提供到每一MCU。特定地说,仅需要特定外围装置的低成本应用受益于此解决方案,这是因为此低引脚装置尤其减小印刷电路板的成本。垫所有权多路复用器410允许与外部引脚共享每一MCU的通用端口功能性以及指派给主MCU或从MCU的外围装置中的一者。
图2进一步展示四个数字电力供应引脚Vdd及Vss:用于复位且编程的非多路复用主清除功能引脚及两个模拟电力供应引脚AVdd及AVss。剩余21个引脚是可指派给主MCU或从MCU的外部I/O引脚。因此,在某些配置中,全部21个I/O引脚可指派给主MCU,这将从MCU的功能性减小到协同处理器的功能性。类似地,另一配置可将全部21个I/O引脚指派给从MCU。具有主MCU与从MCU指派之间的任何比例的任何其它指派是可能的。
图4展示图1的垫所有权多路复用器180、280或图2的垫所有权多路复用器410的可能控制。可经由配置寄存器430完成控制。根据设置使用外部程序设计师或仿真器装置自动编程此类寄存器。因此,一旦经编程,所述设置在装置100的操作期间无法更改。替代地,可使用特殊功能寄存器以控制垫所有权多路复用器180、280/410。在此实施例中,动态控制是可能的。为了避免意外覆写,可使用与EEPROM中使用的写入机制类似的写入机制(例如,在时间帧内写入的特殊码序列)。
图3展示28引脚封装中的装置的实际引脚输出。从外围装置由前缀“S1”指示。特定地说,图3展示每一引脚的多功能指派。为了更好的易读性,图3不必展示可指派给外部引脚的全部功能,如下文中将更详细解释。此处,RAx通常是指用于具有5个位的通用I/O端口的引脚且RBx是指16位端口RB。如上文提及,为了更好的易读性,图3仅展示I/O端口A及B的单个集合。然而,实施由主MCU及从MCU独立控制的两个单独集合且可独立指派所述两个单独集合。根据一个实施例,可用一般引脚关联将每一端口引脚指派给主装置或从装置,如图3中所展示。根据一个实施例,对主MCU的指派可具有优于对从MCU的指派的优先权。根据其它实施例,用于主MCU及从MCU的端口可指派给不同引脚。
ANx是指用于主MCU的模拟输入且S1ANx是指用于从MCU的模拟输入。类似于端口引脚,可针对主MCU及从MCU选取与外部引脚的其它关联。如果实施电容式分压器外围装置,那么每一模拟引脚还可被指派给电容式分压器功能,其中可提供用于主MCU及从MCU的单独单元。RPx是指由外围引脚选择单元指派的16个引脚。类似于I/O端口,主MCU及从MCU可各自具有(例如)16个可用引脚,而图3仅展示单个集合(再次,为了更好的易读性)。根据其它实施例,可使用不同数目个外围引脚选择单元,例如,可将8个此类引脚指派给主装置且将8个引脚指派给从MCU。此外,可选取其它数目个引脚及/或此类外围引脚选择单元的指派。其它引脚功能(例如脉宽调制器引脚)使用相应缩写字(例如PWM),其中在缩写字开头处的S1通常指示单元属于从MCU。
如上文提及,每一引脚可通过默认方式而指派给特定功能。举例来说,引脚1到3可通过默认方式而指派为主MCU的模拟输入。引脚4及11可通过默认方式而指派为从MCU的模拟输入。引脚9及10可通过默认方式而为振荡器输入引脚,但当使用内部振荡器时还可指派给其它功能。引脚12到13可通过默认方式而指派给仅与主MCU介接的同步串行编程接口PGED2、PGEC2。引脚14到18及引脚21到26通过默认而指派给PORTB位5到15且引脚28指派给PORTA的位0。上文中的指派仅为实例,其它指派也是可能的。

Claims (24)

1.一种微控制器装置,其包括:
多个外部引脚;
第一微控制器,其包括第一中央处理单元、与所述第一中央处理单元耦合的第一系统总线、与所述第一系统总线耦合的第一存储器及与所述第一系统总线耦合的第一多个外围装置;
第二微控制器,其包括第二中央处理单元、与所述第二中央处理单元耦合的第二系统总线、与所述第二系统总线耦合的第二存储器及与所述第二系统总线耦合的第二多个外围装置,
其中第一微控制器及第二微控制器彼此相互分离且不共享它们的外围装置的任一者且仅经由专用接口而通信,其中所述专用接口包括单向主从接口及单向从主接口,其中每一单向主从接口及每一单向从主接口分别包括FIFO存储器。
2.根据权利要求1所述的微控制器装置,其中所述专用接口进一步包括双向邮箱接口。
3.根据权利要求1所述的微控制器装置,其中所述第一微控制器是主装置且所述第二微控制器是从装置。
4.根据权利要求1所述的微控制器装置,其中所述第二微控制器的程序存储器包括可由所述第一微控制器写入的易失性存储器。
5.根据权利要求1所述的微控制器装置,其中所述第二微控制器经计时比所述第一微控制器快。
6.根据权利要求1所述的微控制器装置,其中所述第二微控制器包括功率模式控制单元,所述功率模式控制单元经配置以在低功率模式下运行所述第二微控制器,其中所述第一微控制器与所述功率模式控制单元耦合且经配置以控制所述第二微控制器的功率模式。
7.根据权利要求6所述的微控制器装置,其中所述功率模式控制单元可操作以停用所述第二微控制器使得所述第二微控制器不消耗任何功率。
8.根据权利要求1所述的微控制器装置,其中每一系统总线具有16个位的数据总线宽度。
9.根据权利要求1所述的微控制器装置,其中每一微控制器进一步包括引脚选择单元,所述引脚选择单元可编程以选择用于与所述微控制器相关联的所述外围装置的所述多个外部引脚中的至少一些外部引脚。
10.根据权利要求1所述的微控制器装置,其中每一微控制器进一步包括焊盘所有权多路复用器单元,所述焊盘所有权多路复用器单元能够被控制以将输入/输出引脚的预定义组合的控制分别指派给所述第一微控制器或所述第二微控制器的所选择的外围装置。
11.根据权利要求1所述的微控制器装置,其进一步包括共同焊盘所有权多路复用器单元,所述共同焊盘所有权多路复用器单元能够被控制以将输入/输出引脚的控制指派给所述第一微控制器或所述第二微控制器。
12.根据权利要求1所述的微控制器装置,其中每一微控制器可读取任何可读取外部引脚,但仅指派给所述第一微控制器或所述第二微控制器的引脚可由相应微控制器写入。
13.根据权利要求1所述的微控制器装置,其中每一微控制器的所述外围装置中的每一者中的至少一些指派给多个外部引脚的预定外部引脚。
14.一种操作微控制器装置的方法,所述微控制器装置包括:多个外部引脚;第一微控制器,其包括第一中央处理单元、与所述第一中央处理单元耦合的第一系统总线、与所述第一系统总线耦合的第一存储器及与所述第一系统总线耦合的第一多个外围装置;第二微控制器,其包括第二中央处理单元、与所述第二中央处理单元耦合的第二系统总线、与所述第二系统总线耦合的第二存储器及与所述第二系统总线耦合的第二多个外围装置,其中第一微控制器及第二微控制器彼此相互分离且不共享它们的外围装置的任一者,所述方法包括
仅经由专用接口而在所述第一微控制器与所述第二微控制器之间通信,其中所述专用接口包括单向主从接口及单向从主接口,其中单向主从接口与单向从主接口中的每一者包括FIFO存储器。
15.根据权利要求14所述的方法,其中所述专用接口进一步包括双向邮箱接口。
16.根据权利要求14所述的方法,其中所述第一微控制器是主装置且所述第二微控制器是从装置。
17.根据权利要求14所述的方法,其中所述第二微控制器的程序存储器包括易失性存储器,且其中所述方法包括通过所述第一微控制器写入到所述第二微控制器的所述程序存储器的步骤。
18.根据权利要求14所述的方法,其进一步包括对所述第二微控制器计时使其快于所述第一微控制器。
19.根据权利要求14所述的方法,其中所述第二微控制器包括功率模式控制单元,所述功率模式控制单元经配置以在低功率模式下运行所述第二微控制器,所述方法进一步包括通过所述功率模式控制单元通过所述第一微控制器控制所述第二微控制器的功率模式的步骤。
20.根据权利要求14所述的方法,其包括通过功率模式控制单元停用所述第二微控制器,使得所述第二微控制器不消耗任何功率的步骤。
21.根据权利要求14所述的方法,其进一步包括控制相对于每一微控制器的引脚所有权的步骤,其中将输入/输出引脚的预定义组合分别指派给所述第一微控制器或所述第二微控制器的所选择的外围装置。
22.根据权利要求14所述的方法,其进一步包括共同焊盘所有权多路复用器单元,所述共同焊盘所有权多路复用器单元能够被控制以将输入/输出引脚的控制指派给所述第一微控制器或所述第二微控制器。
23.根据权利要求14所述的方法,其中每一微控制器可读取任何可读取外部引脚,但仅指派给所述第一微控制器或所述第二微控制器的引脚可由相应微控制器写入。
24.根据权利要求14到23中任一权利要求所述的方法,其进一步包括以下步骤
通过所述第一微控制器读取多个外部引脚中的一者,
通过所述第二微控制器读取多个外部引脚中的所述一者,
通过所述专用接口比较从所述多个外部引脚中的所述一者读取的值。
CN201680013744.4A 2015-03-13 2016-03-11 具有多个独立微控制器的微控制器装置 Active CN107430564B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562133186P 2015-03-13 2015-03-13
US62/133,186 2015-03-13
US15/065,027 2016-03-09
US15/065,027 US10002103B2 (en) 2015-03-13 2016-03-09 Low-pin microcontroller device with multiple independent microcontrollers
PCT/US2016/021977 WO2016149086A2 (en) 2015-03-13 2016-03-11 Microcontroller device with multiple independent microcontrollers

Publications (2)

Publication Number Publication Date
CN107430564A CN107430564A (zh) 2017-12-01
CN107430564B true CN107430564B (zh) 2020-09-15

Family

ID=56888472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680013744.4A Active CN107430564B (zh) 2015-03-13 2016-03-11 具有多个独立微控制器的微控制器装置

Country Status (7)

Country Link
US (1) US10002103B2 (zh)
EP (1) EP3268869A2 (zh)
JP (1) JP2018512662A (zh)
KR (1) KR20170127420A (zh)
CN (1) CN107430564B (zh)
TW (1) TW201638771A (zh)
WO (1) WO2016149086A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9921982B2 (en) * 2014-06-05 2018-03-20 Microchip Technology Incorporated Device and method to assign device pin ownership for multi-processor core devices
US9921988B2 (en) * 2014-06-05 2018-03-20 Microchip Technology Incorporated Device and method to assign device pin functionality for multi-processor core devices
US10002102B2 (en) * 2015-03-13 2018-06-19 Microchip Technology Incorporated Low-pin microcontroller device with multiple independent microcontrollers
US10352998B2 (en) * 2017-10-17 2019-07-16 Microchip Technology Incorporated Multi-processor core device with MBIST
GB201909270D0 (en) * 2019-06-27 2019-08-14 Nordic Semiconductor Asa Microcontroller system with GPIOS
US11397809B2 (en) * 2019-09-23 2022-07-26 Stmicroelectronics International N.V. Protection scheme for sensor segmentation in virtualization application
CN111930676B (zh) * 2020-09-17 2020-12-29 湖北芯擎科技有限公司 多处理器间的通信方法、装置、系统及存储介质
TWI823680B (zh) * 2022-11-18 2023-11-21 新唐科技股份有限公司 資料傳輸裝置和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US6496880B1 (en) * 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
CN102024170A (zh) * 2009-09-17 2011-04-20 阿丹电子企业股份有限公司 单向主动式电子标签及其参数设定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615890B1 (en) 2000-06-09 2003-09-09 Venture Tape Corp. Tape applicator for glazing applications
US8356130B2 (en) * 2009-08-14 2013-01-15 Advanced Micro Devices, Inc. Mechanism for recording undeliverable user-level interrupts
US9405575B2 (en) * 2013-09-09 2016-08-02 Apple Inc. Use of multi-thread hardware for efficient sampling
US10002102B2 (en) * 2015-03-13 2018-06-19 Microchip Technology Incorporated Low-pin microcontroller device with multiple independent microcontrollers
US10120815B2 (en) * 2015-06-18 2018-11-06 Microchip Technology Incorporated Configurable mailbox data buffer apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US6496880B1 (en) * 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
CN102024170A (zh) * 2009-09-17 2011-04-20 阿丹电子企业股份有限公司 单向主动式电子标签及其参数设定方法

Also Published As

Publication number Publication date
WO2016149086A2 (en) 2016-09-22
JP2018512662A (ja) 2018-05-17
US20160267047A1 (en) 2016-09-15
KR20170127420A (ko) 2017-11-21
WO2016149086A3 (en) 2016-11-03
CN107430564A (zh) 2017-12-01
TW201638771A (zh) 2016-11-01
US10002103B2 (en) 2018-06-19
EP3268869A2 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
CN107430564B (zh) 具有多个独立微控制器的微控制器装置
CN107430565B (zh) 具有多个独立微控制器的低接脚微控制器装置
US11429546B2 (en) Addressing read and write registers in an event slot of a communications interface with a single address by a host system and individually addressable by a state machine
US10176132B2 (en) Configuration arbiter for multiple controllers sharing a link interface
JP2008192150A (ja) 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム
CN106415524B (zh) 用于为多处理器核心装置指派装置引脚功能的装置及方法
US7526579B2 (en) Configurable input/output interface for an application specific product
US7089339B2 (en) Sharing of functions between an embedded controller and a host processor
TWI668574B (zh) 服務品質序數修正之計算裝置、系統單晶片及方法
EP0355462B1 (en) Dedicated service processor with inter-channel communication features
CN112306652A (zh) 带有上下文提示的功能的唤醒和调度
US11416442B2 (en) Circuit architecture mapping signals to functions for state machine execution
US20060168373A1 (en) Configurable application specific standard product with configurable I/O
CN115220864A (zh) 虚拟模式执行管理器
JP2004199187A (ja) Cpu内蔵lsi
Bradley Migrating from TMS320DM6446 to TMS320DM6437
JPH0651979A (ja) 周辺装置制御用マイクロプロセッサ

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