[go: up one dir, main page]

JP2018512662A - Microcontroller device with multiple independent microcontrollers - Google Patents

Microcontroller device with multiple independent microcontrollers Download PDF

Info

Publication number
JP2018512662A
JP2018512662A JP2017546995A JP2017546995A JP2018512662A JP 2018512662 A JP2018512662 A JP 2018512662A JP 2017546995 A JP2017546995 A JP 2017546995A JP 2017546995 A JP2017546995 A JP 2017546995A JP 2018512662 A JP2018512662 A JP 2018512662A
Authority
JP
Japan
Prior art keywords
microcontroller
pins
system bus
coupled
cpu
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
JP2017546995A
Other languages
Japanese (ja)
Other versions
JP2018512662A5 (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.)
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 JP2018512662A publication Critical patent/JP2018512662A/en
Publication of JP2018512662A5 publication Critical patent/JP2018512662A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

マイクロコントローラデバイスは、複数の外部ピンを伴う筐体と、第1の中央処理ユニット(CPU)、第1のCPUと結合された第1のシステムバス、第1のシステムバスと結合された第1のメモリ、および第1のシステムバスと結合された第1の複数の周辺機器デバイスを伴う、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、第2のCPUと結合された第2のシステムバス、第2のシステムバスと結合された第2のメモリ、および第2のシステムバスと結合された第2の複数の周辺機器デバイスを伴う、第2のマイクロコントローラとを有し、第1および第2のマイクロコントローラは、専用インターフェースを介してのみ通信する。The microcontroller device includes a housing with a plurality of external pins, a first central processing unit (CPU), a first system bus coupled to the first CPU, and a first system bus coupled to the first system bus. And a first microcontroller with a first plurality of peripheral devices coupled to a first system bus, a second central processing unit (CPU), a second CPU coupled to the second CPU. A second microcontroller with a second system bus, a second memory coupled to the second system bus, and a second plurality of peripheral devices coupled to the second system bus; The first and second microcontrollers communicate only via a dedicated interface.

Description

(関連出願への相互参照)
本出願は、同一出願人の、2015年3月13日に出願された米国仮特許出願第62/133,186号に対して優先権を主張する。上記文献は、全体としてここで参照することによって本明細書において援用される。
(Cross-reference to related applications)
This application claims priority to commonly assigned US Provisional Patent Application No. 62 / 133,186, filed March 13, 2015. The above references are hereby incorporated by reference herein in their entirety.

(技術分野)
本開示は、マイクロコントローラに関し、特に、複数の独立プロセッサコアを伴うマイクロコントローラデバイスに関する。
(Technical field)
The present disclosure relates to microcontrollers, and more particularly to microcontroller devices with multiple independent processor cores.

(背景)
公知のマイクロコントローラデバイスは、単一の中央処理ユニット(マイクロコントローラコア)と、タイマ、アナログ/デジタルコンバータ、デジタル/アナログコンバータ、パルス幅変調ユニット、メモリ、入力/出力(I/O)ポート等の複数の関連付けられた周辺機器デバイスとを備える。通常、内部システムバスおよび制御論理は、マイクロコントローラコアが、個々に、周辺機器にアクセスすることができるように、全てのコンポーネントを連結する。外部には、マイクロコントローラは、複数の外部ピンを備え、これらのピンの大部分は、通常、I/Oポートに関連付けられ、各ポートピンはまた、ピンを他の周辺機器デバイスと共有することによって、多機能を提供し得る。構成の間、ユーザは、どのピンがどの機能を行うように割り当てられるかを選択する。そのような割当はまた、プログラムの実行の間に変更されることもできる。
(background)
Known microcontroller devices include a single central processing unit (microcontroller core), timer, analog / digital converter, digital / analog converter, pulse width modulation unit, memory, input / output (I / O) port, etc. A plurality of associated peripheral devices. Usually, the internal system bus and control logic link all the components so that the microcontroller core can individually access the peripherals. Externally, the microcontroller has multiple external pins, most of which are typically associated with I / O ports, and each port pin can also be shared with other peripheral devices. Can provide multiple functions. During configuration, the user selects which pins are assigned to perform which function. Such allocation can also be changed during the execution of the program.

あるマイクロコントローラは、主要CPUから別個の命令を実行可能であり得る、付加的アクセレータを備えることが公知である。他のマイクロコントローラは、2つの別個のCPUと、複数の共有周辺機器とを含むことが公知である。したがって、両コアは、全ての周辺機器を共有し、これは、待ち時間を追加するクロスバースイッチを要求し、クロスバースイッチは、故障を被りやすい。既存のマルチコアデバイスは、スイッチマトリクスを使用して、複数のプロセッサが、メモリおよび周辺機器等の共有システムリソースにアクセスすることを可能にする。複数のコアは、同一リソースにアクセスすることを要求し得る。競合解消回路は、待ち時間を追加し、性能を低下させ、コストを増やす。スイッチマトリクスは、システムに関する単一障害点である。いくつかの製造業者は、複数のスイッチマトリクスを実装し得る。これは、スイッチマトリクス間の障害解消をハンドリングするために、さらに多くの論理を要求する。他の製造業者は、異なるソフトウェアアーキテクチャを伴う複数のコアを使用する。これらの異なるコアは、いくつかの専用リソースを有し得るが、他のリソースは、共有される。   Some microcontrollers are known to include additional accelerators that may be capable of executing separate instructions from the main CPU. Other microcontrollers are known to include two separate CPUs and a plurality of shared peripherals. Thus, both cores share all peripherals, which requires a crossbar switch that adds latency, and the crossbar switch is prone to failure. Existing multi-core devices use a switch matrix to allow multiple processors to access shared system resources such as memory and peripherals. Multiple cores may require access to the same resource. Contention resolution circuitry adds latency, reduces performance, and increases cost. The switch matrix is a single point of failure for the system. Some manufacturers may implement multiple switch matrices. This requires more logic to handle fault resolution between switch matrices. Other manufacturers use multiple cores with different software architectures. These different cores may have some dedicated resources, but other resources are shared.

(要約)
しかしながら、デュアルまたはマルチコアマイクロコントローラデバイスのより優れた実装の必要性が、存在する。
(wrap up)
However, there is a need for better implementation of dual or multi-core microcontroller devices.

ある実施形態によると、マイクロコントローラデバイスは、複数の外部ピンと、第1の中央処理ユニット(CPU)、第1のCPUと結合される第1のシステムバス、第1のシステムバスと結合される第1のメモリ、および第1のシステムバスと結合される第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、第2のCPUと結合される第2のシステムバス、第2のシステムバスと結合される第2のメモリ、および第2のシステムバスと結合される第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備えてもよく、第1および第2のマイクロコントローラは、専用インターフェースを介してのみ通信する。   According to an embodiment, the microcontroller device includes a plurality of external pins, a first central processing unit (CPU), a first system bus coupled to the first CPU, a first system bus coupled to the first system bus. A first microcontroller comprising a first memory and a first plurality of peripheral devices coupled to a first system bus; a second central processing unit (CPU); and a second CPU. A second microcontroller comprising a second system bus, a second memory coupled to the second system bus, and a second plurality of peripheral devices coupled to the second system bus. Alternatively, the first and second microcontrollers communicate only via a dedicated interface.

さらなる実施形態によると、専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備えてもよい。さらなる実施形態によると、各一方向性インターフェースは、FIFOメモリを備えてもよい。さらなる実施形態によると、第1のマイクロコントローラは、マスタであることができ、第2のマイクロコントローラは、スレーブであることができる。さらなる実施形態によると、第2のマイクロコントローラのプログラムメモリは、第1のマイクロコントローラによって書込可能な揮発性メモリを備えてもよい。さらなる実施形態によると、第2のマイクロコントローラは、第1のマイクロコントローラより高速でクロックされることができる。さらなる実施形態によると、第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、第1のマイクロコントローラは、第2のマイクロコントローラの電力モードを制御するように構成されることができる。さらなる実施形態によると、電力制御モードユニットは、第2のマイクロコントローラがいかなる電力も消費しないように、第2のマイクロコントローラをディスエーブルにするように動作可能であることができる。さらなる実施形態によると、各マイクロコントローラは、16ビットのデータバス幅を有してもよい。さらなる実施形態によると、各マイクロコントローラはさらに、マイクロコントローラと関連付けられた周辺機器デバイスのための複数の外部ピンの少なくともいくつかを選択するようにプログラム可能なピン選択ユニットを備えてもよい。さらなる実施形態によると、各マイクロコントローラはさらに、入力/出力ピンの制御を第1のマイクロコントローラまたは第2のマイクロコントローラのいずれかに割り当てるように制御可能なパッド所有権マルチプレクサユニットを備えてもよい。さらなる実施形態によると、各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、第1または第2のマイクロコントローラに割り当てられたピンのみが、それぞれのマイクロコントローラによって書き込まれることができる。さらなる実施形態によると、各マイクロコントローラの周辺機器の各々の少なくともいくつかは、複数の外部ピンの所定の外部ピンに割り当てられることができる。   According to a further embodiment, the dedicated interface may comprise a bidirectional mailbox interface, a unidirectional master-slave interface, and a unidirectional slave-master interface. According to a further embodiment, each unidirectional interface may comprise a FIFO memory. According to a further embodiment, the first microcontroller can be a master and the second microcontroller can be a slave. According to a further embodiment, the program memory of the second microcontroller may comprise volatile memory writable by the first microcontroller. According to a further embodiment, the second microcontroller can be clocked faster than the first microcontroller. According to a further embodiment, the second microcontroller comprises a power mode control unit comprising a low power mode, and the first microcontroller is configured to control the power mode of the second microcontroller. it can. According to a further embodiment, the power control mode unit can be operable to disable the second microcontroller such that the second microcontroller does not consume any power. According to a further embodiment, each microcontroller may have a data bus width of 16 bits. According to further embodiments, each microcontroller may further comprise a pin selection unit programmable to select at least some of the plurality of external pins for the peripheral device associated with the microcontroller. According to further embodiments, each microcontroller may further comprise a pad ownership multiplexer unit that is controllable to assign control of the input / output pins to either the first microcontroller or the second microcontroller. . According to a further embodiment, each microcontroller can read any readable external pin, but only the pins assigned to the first or second microcontroller can be written by the respective microcontroller. According to a further embodiment, at least some of each of the peripherals of each microcontroller can be assigned to a predetermined external pin of the plurality of external pins.

別の実施形態によると、複数の外部ピンと、第1の中央処理ユニット(CPU)、第1のCPUと結合される第1のシステムバス、第1のシステムバスと結合される第1のメモリ、および第1のシステムバスと結合される第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、第2のCPUと結合される第2のシステムバス、第2のシステムバスと結合される第2のメモリ、および第2のシステムバスと結合される第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備える、マイクロコントローラデバイスを動作させる方法は、専用インターフェースを介してのみ、第1および第2のマイクロコントローラ間で通信するステップを含んでもよい。   According to another embodiment, a plurality of external pins, a first central processing unit (CPU), a first system bus coupled to the first CPU, a first memory coupled to the first system bus, A first microcontroller comprising a first plurality of peripheral devices coupled to the first system bus, a second central processing unit (CPU), a second system coupled to the second CPU A microcontroller device comprising: a bus; a second memory coupled to the second system bus; and a second microcontroller comprising a second plurality of peripheral devices coupled to the second system bus. The method of operating may include communicating between the first and second microcontrollers only via a dedicated interface.

本方法のさらなる実施形態によると、専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備えてもよい。本方法のさらなる実施形態によると、各一方向性インターフェースは、FIFOメモリを備えてもよい。本方法のさらなる実施形態によると、第1のマイクロコントローラは、マスタであることができ、第2のマイクロコントローラは、スレーブであることができる。本方法のさらなる実施形態によると、第2のマイクロコントローラのプログラムメモリは、揮発性メモリを備えてもよく、本方法は、第1のマイクロコントローラによって第2のマイクロコントローラのプログラムメモリに書き込むステップを含んでもよい。本方法のさらなる実施形態によると、本方法はさらに、第2のマイクロコントローラを第1のマイクロコントローラより高速でクロックすることを含んでもよい。本方法のさらなる実施形態によると、第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備えてもよく、本方法はさらに、第1のマイクロコントローラによって、第2のマイクロコントローラの電力モードを制御するステップを含んでもよい。本方法のさらなる実施形態によると、本方法は、電力制御モードユニットによって、第2のマイクロコントローラがいかなる電力も消費しないように、第2のマイクロコントローラをディスエーブルにするステップを含んでもよい。本方法のさらなる実施形態によると、本方法はさらに、各マイクロコントローラに対してピン所有権を制御するステップを含んでもよく、入力/出力ピンは、第1のマイクロコントローラまたは第2のマイクロコントローラのいずれかに割り当てられる。本方法のさらなる実施形態によると、各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、第1または第2のマイクロコントローラに割り当てられたピンのみが、それぞれのマイクロコントローラによって書き込まれることができる。本方法のさらなる実施形態によると、本方法はさらに、第1のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、第2のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、専用インターフェースを用いて、複数の外部ピンのうちの1つから読み取られた値を比較するステップとを含んでもよい。   According to a further embodiment of the method, the dedicated interface may comprise a bidirectional mailbox interface, a unidirectional master-slave interface, and a unidirectional slave-master interface. According to a further embodiment of the method, each unidirectional interface may comprise a FIFO memory. According to a further embodiment of the method, the first microcontroller can be a master and the second microcontroller can be a slave. According to a further embodiment of the method, the program memory of the second microcontroller may comprise volatile memory, the method comprising writing to the program memory of the second microcontroller by the first microcontroller. May be included. According to a further embodiment of the method, the method may further comprise clocking the second microcontroller faster than the first microcontroller. According to a further embodiment of the method, the second microcontroller may comprise a power mode control unit comprising a low power mode, the method further comprising a power of the second microcontroller by the first microcontroller. A step of controlling the mode may be included. According to a further embodiment of the method, the method may comprise the step of disabling the second microcontroller by the power control mode unit so that the second microcontroller does not consume any power. According to a further embodiment of the method, the method may further comprise the step of controlling pin ownership for each microcontroller, wherein the input / output pins are of the first microcontroller or the second microcontroller. Assigned to either. According to a further embodiment of the method, each microcontroller can read any readable external pin, but only the pins assigned to the first or second microcontroller are written by the respective microcontroller. Can do. According to a further embodiment of the method, the method further comprises reading one of the plurality of external pins by the first microcontroller and one of the plurality of external pins by the second microcontroller. And reading a value read from one of the plurality of external pins using a dedicated interface.

図1は、ある実施形態による、マイクロコントローラのブロック図を示す。FIG. 1 shows a block diagram of a microcontroller, according to an embodiment. 図2は、別の実施形態による、マイクロコントローラのブロック図を示す。FIG. 2 shows a block diagram of a microcontroller according to another embodiment. 図3は、種々の実施形態による、マイクロコントローラのための筐体の上面図を示す。FIG. 3 shows a top view of a housing for a microcontroller, according to various embodiments. 図4は、パッド所有権制御機構の実施形態を示す。FIG. 4 illustrates an embodiment of a pad ownership control mechanism. 図5は、ある実施形態による、マイクロコントローラの電力制御を示す。FIG. 5 illustrates power control of a microcontroller according to an embodiment.

(詳細な説明)
マイクロコントローラは、概して、任意の外部コンポーネントを要求しないため、単一チップ上のシステムと見なされる。そのようなデバイスは、したがって、中央処理ユニットと、メモリと、複数のI/O周辺機器とを備える。加えて、I/Oポートが、直接デジタル制御のために使用されてもよい。これらのI/Oポートは、通常、周辺機器機能と共有され、汎用I/Oポート機能または具体的周辺機器機能を有するようにプログラムされることができる。
(Detailed explanation)
A microcontroller is generally considered a system on a single chip because it does not require any external components. Such a device thus comprises a central processing unit, a memory and a plurality of I / O peripherals. In addition, I / O ports may be used for direct digital control. These I / O ports are typically shared with peripheral functions and can be programmed to have general purpose I / O port functions or specific peripheral functions.

少ピン数パッケージ、例えば、28ピンパッケージでは、従来のシングルコアマイクロコントローラの対応力は、それぞれ16ビットのデータバス幅を有する2つのプロセッサコアを提供することによって、増加されることができる。さらに、種々の実施形態によると、複数の独立マイクロコントローラへのハードウェア、ソフトウェア、および周辺機器リソースの分離によって、リアルタイム制御システムのためのカスタマソフトウェア開発が、促進されることができ、安全性が増した監視(ClassB)が、提供されることができ、誤差軽減が、改良されることができる。   In a low pin count package, eg, a 28 pin package, the capability of a conventional single core microcontroller can be increased by providing two processor cores each having a data bus width of 16 bits. Further, according to various embodiments, the separation of hardware, software, and peripheral resources into multiple independent microcontrollers can facilitate customer software development for real-time control systems, providing safety. Increased monitoring (Class B) can be provided and error mitigation can be improved.

いくつかの実施形態によると、マイクロコントローラデバイスは、少ピン数パッケージ(28ピン〜64ピン)内の単一ダイ上に、独立MCUの複数のインスタンスを具備することができる。したがって、集積回路パッケージは、例えば、2つの独立マイクロコントローラを含み、それらのそれぞれは、その独自のメモリと、複数の関連付けられた周辺機器デバイスとを伴うであろう。いくつかの実施形態によると、一方のマイクロコントローラは、マスタマイクロコントローラとなるように構成されることができ、他方は、スレーブマイクロコントローラとなることができる。両マイクロコントローラは、同一または類似周辺機器デバイスを有してもよいが、周辺機器デバイスは、異なることができ、特に、それぞれのマイクロコントローラが意図される、具体的タスクに適合されてもよい。さらに、データおよびプログラムメモリのためのサイズも、異なってもよく、マスタは、概して、より大きいプログラムおよびデータメモリを備えてもよい。   According to some embodiments, the microcontroller device can comprise multiple instances of independent MCUs on a single die in a low pin count package (28-pin to 64-pin). Thus, an integrated circuit package includes, for example, two independent microcontrollers, each of which will involve its own memory and a plurality of associated peripheral devices. According to some embodiments, one microcontroller can be configured to be a master microcontroller and the other can be a slave microcontroller. Both microcontrollers may have the same or similar peripheral devices, but the peripheral devices can be different and in particular adapted to the specific task for which the respective microcontroller is intended. In addition, the size for data and program memory may be different and the master may generally comprise larger program and data memory.

したがって、種々の実施形態によると、その独自の専用プロセッサ、メモリ、および周辺機器リソースを単一シリコンダイ上に伴う、2つの(またはそれを上回る)マイクロコントローラのアセンブリが、提供される。複数のマイクロコントローラは、デバイスピンを共有し、少ピン数パッケージの中へのデバイスの含有を可能かつ実用的にする。外部ピンは、したがって、プログラム制御(または構成レジスタ制御)下、マスタMCUまたはスレーブMCUのいずれかに割り当てられることができる。いくつかの実施形態に対する本開示のルールによると、外部ピンの数は、全ての集積MCUのデータバス幅の合計未満である。例えば、2つのコアのMCUは、それぞれ16ビットのデータバス幅を有する、2つの16ビットMCUを備えてもよい。全ての集積MCUのデータバス幅の合計は、したがって、32となるであろう。そのようなデバイスを28ピン筐体内に実装するとき、そのようなデバイスは、前述のルールに従うであろう。   Thus, according to various embodiments, an assembly of two (or more) microcontrollers with its own dedicated processor, memory, and peripheral resources on a single silicon die is provided. Multiple microcontrollers share device pins, making it possible and practical to include the device in a low pin count package. External pins can therefore be assigned to either a master MCU or a slave MCU under program control (or configuration register control). According to the rules of the present disclosure for some embodiments, the number of external pins is less than the sum of the data bus widths of all integrated MCUs. For example, a two-core MCU may comprise two 16-bit MCUs each having a 16-bit data bus width. The sum of the data bus widths of all integrated MCUs will therefore be 32. When such a device is mounted in a 28-pin housing, such a device will follow the rules described above.

種々の実施形態によると、マルチコアMCU(マルチプロセッサ)デバイスでは、外部ピンの数は、コアの数×各プロセッサのビット幅である。特に、いくつかの実施形態によると、外部ピンの数は、マスタプロセッサのデータバス幅より少ない。例えば、種々の実施形態によるデュアルコアマイクロコントローラは、以下により詳細に説明されるように、28ピン筐体内に嵌合されることができる。前述のように、種々の実施形態は、複数のマイクロコントローラユニット(MCU)を伴うマイクロコントローラデバイスから成り、それぞれ、その独自のプロセッサ、メモリ、および周辺機器を伴う。   According to various embodiments, in a multi-core MCU (multiprocessor) device, the number of external pins is the number of cores times the bit width of each processor. In particular, according to some embodiments, the number of external pins is less than the data bus width of the master processor. For example, a dual core microcontroller according to various embodiments can be fitted into a 28-pin housing, as will be described in more detail below. As described above, various embodiments consist of a microcontroller device with multiple microcontroller units (MCUs), each with its own processor, memory, and peripherals.

複数のMCUは、外部デバイスピンを共有するように設計される。全MCUは、その専用特殊機能レジスタを通して、ピンを読み取る(または観察する)ことが可能であるように構成されることができるが、しかしながら、専用レジスタを通したピンへの書込(駆動)は、不揮発性メモリを介して制御される。不揮発性メモリは、したがって、デバイスピンの「所有権」を定義し、それによって、競合を防止するために使用される。所有権は、構成相の間、例えば、いったんデバイスが動作モードになると改変されることができない、構成レジスタを使用したデバイスのプログラミングの間に定義されてもよい。代替として、特殊機能レジスタおよびプロシージャは、特殊機能レジスタの使用を通して動的割当を可能にするように実装されてもよい。そのようなレジスタの不注意による上書は、従来のEEPROM書込ルーチンにおいて使用されるものに類似する、特殊書込ルーチンを通して防止されてもよい。コアのうちの1つへの外部ピンのうちの1本の割当は、ソフトウェアおよびハードウェア障害を防止する。デバイスピンの制御可能共有は、マルチコアデバイスを少ピン数パッケージ内で実践的となることを可能にする。   Multiple MCUs are designed to share external device pins. All MCUs can be configured to be able to read (or observe) pins through their dedicated special function registers, however, writing (driving) to pins through dedicated registers is not Controlled through a non-volatile memory. Non-volatile memory is therefore used to define “ownership” of device pins, thereby preventing conflicts. Ownership may be defined during the configuration phase, for example, during device programming using configuration registers that cannot be modified once the device is in an operating mode. Alternatively, special function registers and procedures may be implemented to allow dynamic allocation through the use of special function registers. Such inadvertent overwriting of registers may be prevented through special write routines similar to those used in conventional EEPROM write routines. Assignment of one of the external pins to one of the cores prevents software and hardware failures. Controllable sharing of device pins allows multicore devices to be practical within a low pin count package.

種々の実施形態によると、2つの(またはそれを上回る)マイクロコントローラが、その独自の専用プロセッサ、メモリ、および周辺機器リソースとともに、単一シリコンダイ上に組み立てられ、コア間の具体的通信インターフェースが、提供される。マイクロコントローラは、一実施形態によると、一式のレジスタ(メールボックス)ならびに関連付けられたステータスビットおよびインタラプト(セマフォ)のセットであり得る、マスタスレーブインターフェース(MSI)を介して、相互に通信する。   According to various embodiments, two (or more) microcontrollers, along with their own dedicated processor, memory, and peripheral resources, are assembled on a single silicon die, and a specific communication interface between the cores. Provided. The microcontrollers communicate with each other via a master-slave interface (MSI), which may be a set of registers (mailboxes) and associated status bits and interrupts (semaphores), according to one embodiment.

古典的コンピュータアーキテクチャアプローチは、複数のプロセッサに、スイッチマトリクスを介して、メモリおよび周辺機器等のデバイスリソースと通信させることである。これらの従来の実施形態では、2つの(またはそれを上回る)プロセッサは、システムリソースの全てを共有する。スイッチマトリクスは、リソース毎に、各プロセッサからの各要求に優先順位を割り当てなければならず、競合が、解消されなければならない。本リソース競合管理は、待ち時間(時間)を各要求に大幅に追加する。スイッチマトリクスは、大型であり、一点障害を被りやすい。スイッチマトリクスの脆弱性を解決するための古典的解決策は、スイッチマトリクスを複製することである。これは、障害を検出し、どのスイッチマトリクスが依然として実行可能であるかを解明するために、さらに多くの回路を要求する。種々の実施形態は、代わりに、リソースを単に複製することによって、スイッチマトリクスを使用してリソースを共有する試みの複雑性を回避する。   The classical computer architecture approach is to have multiple processors communicate with device resources such as memory and peripherals via a switch matrix. In these conventional embodiments, two (or more) processors share all of the system resources. The switch matrix must assign a priority to each request from each processor for each resource, and contention must be resolved. This resource contention management significantly adds latency (time) to each request. The switch matrix is large and subject to a single point of failure. The classic solution to solve the switch matrix vulnerability is to duplicate the switch matrix. This requires more circuitry to detect faults and figure out which switch matrix is still feasible. Various embodiments instead avoid the complexity of attempting to share resources using a switch matrix by simply duplicating the resources.

第2の典型的アーキテクチャは、いくつかの周辺機器を共有するが、メモリおよびいくつかの周辺機器等のその独自の限定されたセットのリソースへのアクセスを有する、プロセッサ+コプロセッサの概念である。本アーキテクチャは、典型的には、複製が高価であり、したがって、プロセッサとコプロセッサとの間で共有される、いくつかの周辺機器を有する。典型的には、プロセッサおよびコプロセッサは、異なるソフトウェアアーキテクチャを有し、したがって、ソフトウェア生成のための異なる開発ツールを要求し得る。   The second exemplary architecture is a processor + coprocessor concept that shares some peripherals but has access to its own limited set of resources such as memory and several peripherals. . The architecture typically has several peripherals that are expensive to replicate and are therefore shared between the processor and the coprocessor. Typically, processors and coprocessors have different software architectures and may therefore require different development tools for software generation.

これらの従来のアプローチの代わりに、例えば、種々の実施形態による図1に示されるように、それぞれ専用メモリおよび周辺機器を伴うMCU(マイクロコントローラユニット)全体が、は、単一チップの中に複製される。別個のMCUは、セキュアな不揮発性レジスタを介して、デバイスピンを共有し、デバイスピンを駆動するとき、競合を防止するが、全MCUは、随時、それらに割り当てられていない場合でさえ、デバイスピンを読み取ることができる。図1における実施例は、多ピン数デバイスをもたらす。   Instead of these conventional approaches, for example as shown in FIG. 1 according to various embodiments, the entire MCU (microcontroller unit), each with its own memory and peripherals, is replicated in a single chip. Is done. Separate MCUs share device pins via secure non-volatile registers and prevent contention when driving device pins, but all MCUs may be device-assigned at any time, even if they are not assigned to them The pin can be read. The embodiment in FIG. 1 results in a high pin count device.

図1は、2つのマイクロコントローラを単一集積回路筐体内に伴う、デュアルコアマイクロコントローラ100を示す。第1のマイクロコントローラは、CPU110、システムバス120、および複数の周辺機器130a..n、ならびにデータメモリ140、例えば、16キロバイトRAM、プログラムメモリ150、例えば、128キロバイトフラッシュメモリ、およびDMAコントローラ160を備える。システムバスは、図1に示されるように、2つのバス、すなわち、周辺機器バスおよびメモリバスに分割されることができる、または全デバイスを接続する単一システムバスが、実装されてもよい。DMAコントローラ160等の周辺機器のうちのいくつかは、任意の外部接続を有していなくてもよく、PWM、ADC、コンパレータ、およびいくつかのシリアルインターフェース等の他の周辺機器が、所定の外部マルチ機能ピンに割り当てられてもよい。他のシリアルインターフェース、タッチセンサ、タイマ、コンパレータ出力等の他の周辺機器が、周辺機器ピン選択ユニット170を介して、複数の外部ピンのうちの1つに割り当てられてもよい。いくつかのピンは、第1のMCUの1つを上回る周辺機器に割当可能であり、一般に、その機能をMCUの汎用I/Oポートと共有してもよい。したがって、本実施形態は、2つのパッド所有権マルチプレクサ180および280を提供する。デフォルト割当では、マスタまたはスレーブMCUと関連付けられた各ピンは、それぞれのMCUの汎用I/Oポートに割り当てられてもよいが、パッド所有権マルチプレクサ180のプログラム制御下、周辺機器のうちの1つに割り当てられることができる。いくつかのピン190は、デフォルトによって、図1に示されるように、シリアルプログラミングインターフェース、ADC、または任意の他の周辺機器等の周辺機器に割り当てられてもよい。前述のように、周辺機器ピン選択ユニット180はさらに、周辺機器の一部または全部が、それぞれのセットの外部ピンのいずれかに割り当てられることを可能にしてもよい。   FIG. 1 shows a dual core microcontroller 100 with two microcontrollers in a single integrated circuit enclosure. The first microcontroller includes a CPU 110, a system bus 120, and a plurality of peripheral devices 130a. . n, and a data memory 140, eg, 16 kilobyte RAM, a program memory 150, eg, 128 kilobyte flash memory, and a DMA controller 160. The system bus can be divided into two buses, a peripheral bus and a memory bus, as shown in FIG. 1, or a single system bus connecting all devices may be implemented. Some peripherals such as DMA controller 160 may not have any external connections, and other peripherals such as PWMs, ADCs, comparators, and some serial interfaces may It may be assigned to a multi-function pin. Other peripheral devices such as other serial interfaces, touch sensors, timers, comparator outputs, etc. may be assigned to one of the plurality of external pins via the peripheral device pin selection unit 170. Some pins can be assigned to more than one peripheral on the first MCU and may generally share its function with the MCU's general purpose I / O port. Accordingly, this embodiment provides two pad ownership multiplexers 180 and 280. In the default assignment, each pin associated with a master or slave MCU may be assigned to a general purpose I / O port of the respective MCU, but under program control of the pad ownership multiplexer 180, one of the peripherals Can be assigned to. Some pins 190 may be assigned by default to a peripheral device such as a serial programming interface, ADC, or any other peripheral device, as shown in FIG. As described above, the peripheral device pin selection unit 180 may further allow some or all of the peripheral devices to be assigned to any of the respective sets of external pins.

外部ピンは、電力をダイに提供するために使用される、第1のセットのピンを備える。これは、例えば、図2に示されるように、デジタルおよびアナログ電力供給ピンならびにそのようなピンの複数のインスタンスを含むことができる。さらに、マスタクリアピンは、他の機能を有していなくてもよく、デバイスをリセットおよび/またはプログラムするために使用されてもよい。残りの第2のセットのピンは、概して、入力/出力ピン(I/Oピン)である。しかしながら、マイクロコントローラのうちの1つによって制御されない、いくつかの他のピンが、存在してもよい。本開示によるI/Oピンは、入力ピンもしくは出力ピンまたは専用入力もしくは出力機能を有するピンのいずれかであるようにプログラム可能である、任意のピンとして定義される。入力ピンは、それぞれの周辺機器の設定に従って、デジタルまたはアナログ入力のために使用されることができる。同様に、出力ピンは、それぞれの周辺機器の設定に従って、デジタルまたはアナログ出力のために使用されることができる。前述のように、本願は、概して、入力/出力ピンについて言及しており、いくつかのピンは、入力または出力ピンとして使用されることのみ可能であってもよい。全入力/出力ピンは、出力信号およびこれらのピンにフィードされる信号が、マイクロコントローラのうちの1つによって受信される信号であるとき、マイクロコントローラのうちの1つによって制御されるピンである。電力供給ピンは、概して、本機能を有すると見なされない。いくつかの他のピンもまた、そのような機能性を有していなくてもよく、例えば、デバイスは、発振器のための専用ピンを有してもよい。しかしながら、そのようなピンはまた、図3に示されるように、マイクロコントローラI/O機能で多重化されてもよい。図3は、I/Oピンと見なされないであろうピンが、ピン5−8、19、20、およびピン27であることを示す。   The external pins comprise a first set of pins that are used to provide power to the die. This can include, for example, digital and analog power supply pins and multiple instances of such pins, as shown in FIG. Further, the master clear pin may not have other functions and may be used to reset and / or program the device. The remaining second set of pins are generally input / output pins (I / O pins). However, there may be several other pins that are not controlled by one of the microcontrollers. An I / O pin according to the present disclosure is defined as any pin that can be programmed to be either an input pin or an output pin or a pin with a dedicated input or output function. The input pins can be used for digital or analog input, depending on the respective peripheral settings. Similarly, the output pins can be used for digital or analog output, depending on the respective peripheral settings. As mentioned above, this application generally refers to input / output pins, and some pins may only be used as input or output pins. All input / output pins are pins that are controlled by one of the microcontrollers when the output signal and the signal fed to these pins are signals received by one of the microcontrollers . The power supply pins are generally not considered to have this function. Some other pins may also not have such functionality, for example, the device may have a dedicated pin for the oscillator. However, such pins may also be multiplexed with microcontroller I / O functions, as shown in FIG. FIG. 3 shows that the pins that would not be considered I / O pins are pins 5-8, 19, 20, and pin 27. FIG.

特殊機能レジスタが、パッド所有権マルチプレクサを制御するために使用されてもよい。本実施形態では、各マイクロコントローラコアは、その特殊機能レジスタのみへのアクセスを有してもよい。しかしながら、さらに別の実施形態によると、マスタMCUのみが、2つのパッド所有権マルチプレクサ180、280を制御する特殊機能レジスタへのアクセスを有してもよい。加えて、マスタCPU110はまた、直接または具体的インターフェースを通してのいずれかにおいて、スレーブMCUのプログラムRAM250へのアクセスを有してもよい。本特徴は、マスタMCUを通して、スレーブMCUのプログラムRAM250のプログラミング/書込を可能にする。   Special function registers may be used to control the pad ownership multiplexer. In this embodiment, each microcontroller core may have access only to its special function registers. However, according to yet another embodiment, only the master MCU may have access to special function registers that control the two pad ownership multiplexers 180,280. In addition, the master CPU 110 may also have access to the program RAM 250 of the slave MCU, either directly or through a specific interface. This feature allows programming / writing of the program RAM 250 of the slave MCU through the master MCU.

第2のMCUは、本実施形態では、ピン290、CPU210、システムバス220、および複数の周辺機器230a..n、ならびにデータメモリ240、例えば、4キロバイトRAM、プログラムメモリ250、例えば、24キロバイトRAM、およびDMAコントローラ260を備える。前述のように、プログラムメモリ250は、揮発性であり、マスタMCUを通して、プログラミングを可能にしてもよい。しかしながら、他の実装も、他の実施形態によると、可能性として考えられる。全ての他のユニットは、マスタMCUに類似してもよい。第2の周辺機器ピン選択ユニット270が、第1のMCUに類似するある周辺機器への外部ピン290のうちのいくつかの柔軟な割当を可能にするために提供される。しかしながら、本実施形態では、2つのMCU間のピンの共有は、存在しない。   In this embodiment, the second MCU includes a pin 290, a CPU 210, a system bus 220, and a plurality of peripheral devices 230a. . n, and a data memory 240, eg, 4 kilobyte RAM, a program memory 250, eg, 24 kilobyte RAM, and a DMA controller 260. As described above, the program memory 250 may be volatile and allow programming through the master MCU. However, other implementations are also possible according to other embodiments. All other units may be similar to the master MCU. A second peripheral device pin selection unit 270 is provided to allow flexible allocation of some of the external pins 290 to certain peripheral devices similar to the first MCU. However, in this embodiment, there is no pin sharing between the two MCUs.

図1はさらに、両方向における2つのコア間の通信を可能にする、双方向性メールボックスシステム310ならびに2つの一方向性FIFO320および330を介した、2つのMCU間の通信インターフェースを示す。メールボックスは、コマンドまたはショートデータを個別の他のマイクロコントローラに転送するために使用されることができる。図1および2に示されるような複数のメールボックス310が、実装されてもよい。いったんデータまたはコマンドがメールボックスの中に書き込まれると、個別のインタラプトが、受信側マイクロコントローラ内で生成され、新しいメッセージ(コマンドまたはデータ)が利用可能であることを示すであろう。これは、任意の付加的遅延を伴わずに、情報の高速転送を可能にする。   FIG. 1 further shows a communication interface between two MCUs via a bidirectional mailbox system 310 and two unidirectional FIFOs 320 and 330 that allow communication between the two cores in both directions. The mailbox can be used to transfer commands or short data to individual other microcontrollers. Multiple mailboxes 310 as shown in FIGS. 1 and 2 may be implemented. Once data or commands are written into the mailbox, a separate interrupt will be generated in the receiving microcontroller to indicate that a new message (command or data) is available. This allows for fast transfer of information without any additional delay.

加えて、2つのFIFO320および330は、2つのマイクロコントローラ間のより大きいデータ転送を可能にするように実装されることができる。FIFO320および330は、メールボックス310のサイズ限界を有していないため、より大きいデータ転送を可能にする。FIFO320、330が、空にならない(またはエラー条件に遭遇しない)ことを前提として、マスタおよびスレーブは、並行して、それにアクセスしてもよい。FIFO320、330は、したがって、他方によって読み取られる前に、一方のプロセッサによってロードされなければならない、メールボックス310ベースのデータパイプより優れたスループットをもたらし得る。しかしながら、FIFO320、330コンテンツは、順番にロードおよびアンロードされ、メールボックスデータパイプ内のデータのようにランダムにアクセス可能ではない。FIFOはまた、(定義上)一方向性である。これは、FIFOをプロセッサ間のデータのブロックを転送するための高速手段を必要とする用途により好適なものにする。   In addition, the two FIFOs 320 and 330 can be implemented to allow greater data transfer between the two microcontrollers. FIFOs 320 and 330 do not have the size limit of mailbox 310 and thus allow for greater data transfer. Given that the FIFO 320, 330 does not become empty (or does not encounter an error condition), the master and slave may access it in parallel. FIFOs 320, 330 may thus provide better throughput than mailbox 310 based data pipes that must be loaded by one processor before being read by the other. However, the FIFO 320, 330 content is loaded and unloaded sequentially and is not randomly accessible like the data in the mailbox data pipe. A FIFO is also unidirectional (by definition). This makes the FIFO more suitable for applications that require high-speed means to transfer blocks of data between processors.

多数のマイクロコントローラが、共通ソフトウェアアーキテクチャを共有してもよい。したがって、一実施形態によると、同じマイクロコントローラコアが、種々の集積マイクロコントローラのために使用される。マスタおよび1つまたは複数のスレーブマイクロコントローラを提供する概念はさらに、電力消費を低減することを可能にする。スレーブマイクロコントローラは、ディスエーブルにされ、それによって、多くのエネルギーを要求しない、スリープモードに置かれるように構成されてもよい。他の実装によると、デバイス内のマイクロコントローラは、完全にオフにされ、エネルギーを節約してもよい。   Multiple microcontrollers may share a common software architecture. Thus, according to one embodiment, the same microcontroller core is used for various integrated microcontrollers. The concept of providing a master and one or more slave microcontrollers further allows reducing power consumption. The slave microcontroller may be configured to be placed in a sleep mode that is disabled, thereby not requiring much energy. According to other implementations, the microcontroller in the device may be completely turned off to save energy.

図5は、そのようなシステムの例示的制御構造を示す。各マイクロコントローラ100a、100bは、それぞれ、専用電力制御ユニット510および520を有してもよい。各電力制御ユニット510、520は、具体的電力消費モードおよび関連付けられた処理電力を設定することを可能にしてもよい。例えば、各マイクロコントローラ100a、100bは、スリープまたは低電力モードに設定されてもよい。電力消費の種々のレベルが、提供されてもよい。加えて、一実施形態によると、マスタマイクロコントローラ100aは、スレーブマイクロコントローラ100bを完全にオフにすることが可能であってもよい。本モードでは、マイクロコントローラ100bは、電力を全く消費しないであろう。   FIG. 5 shows an exemplary control structure for such a system. Each microcontroller 100a, 100b may have dedicated power control units 510 and 520, respectively. Each power control unit 510, 520 may be able to set a specific power consumption mode and associated processing power. For example, each microcontroller 100a, 100b may be set to sleep or low power mode. Various levels of power consumption may be provided. In addition, according to one embodiment, the master microcontroller 100a may be able to completely turn off the slave microcontroller 100b. In this mode, the microcontroller 100b will not consume any power.

コアはさらに、異なる速度で稼働してもよい。本特徴は、特に、揮発性メモリを第2のマイクロコントローラのためのプログラムメモリとして使用するときに実装されることができる。RAM等の揮発性メモリは、本質的により高速であり、したがって、より高速なアクセス時間、したがって、より高いクロックレートを可能にする。マスタコアは、頻繁なインタラプトを用いて、システムレベル機能をハンドリングするように構成されてもよい。さらに、安全性コンプライアンス特徴、通信、インタラプトハンドリング、ソフトウェア更新、ユーザインターフェース等をハンドリングすることができる。全てのマイクロコントローラが外部ピンのいずれも読み取ることが可能にされるという特徴に起因して、安全性は、複数のMCUが、例えば、同一デバイスピンを監視することによって、改良されることができる。例えば、ある実施形態によると、2つのマイクロコントローラは、安全性向上特徴を提供するためのソフトウェアを備えてもよく、複数の外部ピンのうちの1つが、第1および第2のマイクロコントローラによって独立して読み取られる。次いで、読み出された値は、通信インターフェースを用いて比較されることができる。例えば、単一ピンの場合、メールボックスのうちの1つが、読取値を他方のコアに転送するために使用されてもよい。代替として、FIFO320、330のうちの一方が、1つ以上の値を転送するために使用されてもよい。システムは、値が合致しない場合、アラートを出力することができる、または具体的ソフトウェアルーチン、インタラプト、もしくはリセットが、エラーを補正するために実行されてもよい。   The core may further operate at different speeds. This feature can be implemented especially when using volatile memory as program memory for the second microcontroller. Volatile memory, such as RAM, is inherently faster, thus allowing faster access times and thus higher clock rates. The master core may be configured to handle system level functions using frequent interrupts. In addition, safety compliance features, communications, interrupt handling, software updates, user interfaces, etc. can be handled. Due to the feature that all microcontrollers can read any of the external pins, safety can be improved by multiple MCUs monitoring, for example, the same device pin. . For example, according to an embodiment, the two microcontrollers may comprise software for providing a safety enhancement feature, wherein one of the plurality of external pins is independent by the first and second microcontrollers. And read. The read value can then be compared using the communication interface. For example, in the case of a single pin, one of the mailboxes may be used to transfer readings to the other core. Alternatively, one of the FIFOs 320, 330 may be used to transfer one or more values. The system can output an alert if the values do not match, or a specific software routine, interrupt, or reset may be performed to correct the error.

種々の実施形態によると、時間制約コードが、パーティション化され、コード開発およびサポートを容易にすることができる。スレーブコアは、クリティカルな待ち時間、モータ制御、デジタル電力制御を伴う制御ループ等の専用かつより確定的対応力のために使用されることができる。したがって、スレーブマイクロコントローラとして、マスタマイクロコントローラのための付加的プログラム可能周辺機器と見なされ得る。そのようなアーキテクチャの利点は、階段関数的性能増加である。2つのコアは、基本的に、実行レートを2倍にする。前述のように、時間クリティカルな機能およびシステム機能は、分離され、異なるコアに割り当てられることができる。制御ループ応答性は、最適化されることができ、インタラプトは、最小限にされることができ、モータアルゴリズム実装は、簡略化されることができる。マスタコアの実行速度は、一実施形態によると、例えば、100MIPSであることができる一方、スレーブコア標的は、より高速のプログラムメモリ、例えば、揮発性ランダムアクセスメモリを提供することによって、>100MIPSの処理パワーを有し得る。したがって、スレーブマイクロコントローラは、概して、マスタマイクロコントローラより高速であることができる。   According to various embodiments, time constraint code can be partitioned to facilitate code development and support. Slave cores can be used for dedicated and more deterministic responses such as critical latency, motor control, control loops with digital power control, etc. Thus, as a slave microcontroller, it can be viewed as an additional programmable peripheral for the master microcontroller. The advantage of such an architecture is a step-wise performance increase. Two cores basically double the execution rate. As mentioned above, time critical functions and system functions can be separated and assigned to different cores. Control loop responsiveness can be optimized, interrupts can be minimized, and motor algorithm implementation can be simplified. The execution speed of the master core can be, for example, 100 MIPS, according to one embodiment, while the slave core target can process> 100 MIPS by providing faster program memory, eg, volatile random access memory. Can have power. Thus, the slave microcontroller can generally be faster than the master microcontroller.

要求される外部ピンの数はさらに、いくつかの実施形態によると、図2に示されるように、2つのMCU間の周辺機器のために使用されるピンを共有することによって減少されることができる。図2は、図1に示される実施形態とは対照的に、減少数のピン420を伴うパッケージ内のマルチコアデバイスのブロック図を示す。図2は、特に、2つの別個のMCUを伴う28ピンバージョンのデュアルコアマイクロコントローラを示す。ここでは、単一パッド所有権マルチプレクサ410のみが、例えば、特殊機能レジスタを通して、マスタMCUによってのみ制御され得るように提供されてもよい。しかしながら、いくつかの実施形態によると、両MCUが、アクセスを有してもよく、一実施形態では、マスタMCUは、スレーブMCUよりも優先されてもよい。   The number of required external pins may further be reduced according to some embodiments by sharing the pins used for the peripherals between the two MCUs, as shown in FIG. it can. FIG. 2 shows a block diagram of a multi-core device in a package with a reduced number of pins 420 as opposed to the embodiment shown in FIG. FIG. 2 specifically shows a 28-pin version of a dual core microcontroller with two separate MCUs. Here, only a single pad ownership multiplexer 410 may be provided that can only be controlled by the master MCU, for example through a special function register. However, according to some embodiments, both MCUs may have access, and in one embodiment, the master MCU may be prioritized over the slave MCUs.

利用可能な減少数のI/Oピンは、依然として、同一またはさらに多くのピンを各MCUに提供する。特に、少ピンデバイス等の本解決策から利益を享受するある周辺機器のみを要求する、低コスト用途は、とりわけ、印刷回路基板のためのコストを削減する。パッド所有権マルチプレクサ410は、各MCUの汎用ポート機能性を外部ピンと共有すること、ならびにマスタMCUまたはスレーブMCUのいずれかの周辺機器のうちの1つへの割当を可能にする。   The reduced number of available I / O pins still provides the same or more pins to each MCU. In particular, low cost applications that require only certain peripheral devices that benefit from this solution, such as low pin count devices, among others, reduce costs for printed circuit boards. The pad ownership multiplexer 410 allows each MCU's universal port functionality to be shared with external pins and assigned to one of the peripherals of either the master MCU or the slave MCU.

図2はさらに、4本のデジタル電力供給ピンVddおよびVssと、リセットおよびプログラムするために使用される非多重化マスタクリア機能ピンと、2本のアナログ電力供給ピンAVddおよびAVssとを示す。残りの21本のピンは、マスタMCUまたはスレーブMCUのいずれかに割り当てられることができる、外部I/Oピンである。したがって、ある構成では、全21本のI/Oピンが、マスタMCUに割り当てられてもよく、これは、スレーブMCUの機能性をコプロセッサのものまで低減させる。同様に、別の構成は、全21本のI/OピンをスレーブMCUに割り当ててもよい。マスタMCUとスレーブMCU割当間の任意の定量を有する任意の他の割当も、可能性として考えられる。   FIG. 2 further shows four digital power supply pins Vdd and Vss, a non-multiplexed master clear function pin used for resetting and programming, and two analog power supply pins AVdd and AVss. The remaining 21 pins are external I / O pins that can be assigned to either the master MCU or the slave MCU. Thus, in some configurations, all 21 I / O pins may be assigned to the master MCU, which reduces the functionality of the slave MCU to that of the coprocessor. Similarly, another configuration may assign all 21 I / O pins to the slave MCU. Any other assignment with any quantification between the master MCU and slave MCU assignments is also possible.

図4は、図1のパッド所有権マルチプレクサ180、280または図2のパッド所有権マルチプレクサ410の可能性として考えられる制御を示す。制御は、構成レジスタ430を介して遂行されることができる。そのようなレジスタは、外部プログラマまたはエミュレータデバイスを用いて、設定に従って自動的にプログラムされることができる。したがって、いったんプログラムされると、設定は、デバイス100の動作の間、改変されることができない。代替として、特殊機能レジスタが、所有権パッドマルチプレクサ180、280/410を制御するために使用されてもよい。そのような実施形態では、動的制御が、可能性として考えられる。偶発的上書を回避するために、EEPROMにおいて使用されるものに類似する書込機構、例えば、時間フレーム内で書き込まれる特殊コードのシーケンスが、使用されてもよい。   FIG. 4 illustrates possible controls for the pad ownership multiplexer 180, 280 of FIG. 1 or the pad ownership multiplexer 410 of FIG. Control can be accomplished via configuration register 430. Such registers can be automatically programmed according to settings using an external programmer or emulator device. Thus, once programmed, the settings cannot be modified during operation of the device 100. Alternatively, special function registers may be used to control ownership pad multiplexers 180, 280/410. In such an embodiment, dynamic control is considered as a possibility. To avoid accidental overwriting, a writing mechanism similar to that used in EEPROM may be used, for example a sequence of special codes written in a time frame.

図3は、28ピンパッケージ内のデバイスからの実際のピンを示す。スレーブ周辺機器は、接頭語「S1」によって示される。図3は、特に、各ピンの多機能割当を示す。図3は、以下により詳細に説明されるように、より見やすくするために、必ずしも、外部ピンに割り当てられることができる、全機能を示すわけではない。ここでは、典型的には、RAxは、5ビットを有する、汎用I/OポートAを指し、RBxは、16ビットポートRBを指す。前述のように、図3は、より見やすくするために、単一セットのI/OポートAおよびBのみを示す。しかしながら、マスタおよびスレーブMCUによって独立して制御される、2つの別個のセットが、実装され、独立して割り当てられてもよい。一実施形態によると、各ポートピンは、図3に示されるように、一般的ピン関連付けを用いて、マスタまたはスレーブのいずれかに割り当てられることができる。一実施形態によると、マスタMCUへの割当は、スレーブMCUへの割当より優先されてもよい。他の実施形態によると、マスタMCUおよびスレーブMCUのためのポートは、異なるピンに割り当てられてもよい。   FIG. 3 shows the actual pins from the device in a 28-pin package. Slave peripherals are indicated by the prefix “S1”. FIG. 3 specifically shows the multifunctional assignment of each pin. FIG. 3 does not necessarily show all the functions that can be assigned to external pins for better visibility, as will be described in more detail below. Here, typically, RAx refers to a general purpose I / O port A having 5 bits, and RBx refers to a 16-bit port RB. As mentioned above, FIG. 3 shows only a single set of I / O ports A and B for better visibility. However, two separate sets, controlled independently by the master and slave MCUs, may be implemented and assigned independently. According to one embodiment, each port pin can be assigned to either a master or slave using generic pin association, as shown in FIG. According to one embodiment, the assignment to the master MCU may take precedence over the assignment to the slave MCU. According to other embodiments, the ports for the master MCU and slave MCU may be assigned to different pins.

ANxは、マスタMCUのためのアナログ入力を指し、S1ANxは、スレーブMCUのためのアナログ入力を指す。ポートピンと同様に、外部ピンへの他の関連付けが、マスタおよびスレーブMCUのために選定されてもよい。容量分圧器周辺機器が実装される場合、各アナログピンはまた、容量分圧器機能に割り当てられてもよく、マスタMCUおよびスレーブMCUのための別個のユニットが、提供されてもよい。RPxは、周辺機器ピン選択ユニットによって割り当てられる16本のピンを指す。I/Oポートと同様に、マスタおよびスレーブMCUはそれぞれ、例えば、利用可能な16本のピンを有してもよい一方、図3は、単一セットのみを示す(再び、より見やすくするために)。他の実施形態によると、異なる数の周辺機器ピン選択ピンが、使用されてもよく、例えば、これらのピンのうちの8本は、マスタに割り当てられ、8本のピンは、スレーブMCUに割り当てられてもよい。再び、他の数のピンおよび/またはそのような周辺機器ピン選択ユニットの割当が、選定されてもよい。パルス幅変調器ピン等の他のピン機能は、PWM等のそれぞれの頭字語を使用し、頭字語の先頭のS1は、概して、ユニットがスレーブMCUに属することを示す。   ANx refers to the analog input for the master MCU, and S1ANx refers to the analog input for the slave MCU. Similar to port pins, other associations to external pins may be selected for master and slave MCUs. If capacitive divider peripherals are implemented, each analog pin may also be assigned to capacitive divider function and separate units for the master MCU and slave MCU may be provided. RPx refers to the 16 pins assigned by the peripheral device pin selection unit. Similar to the I / O port, the master and slave MCUs may each have, for example, 16 pins available, while FIG. 3 shows only a single set (again, for better visibility) ). According to other embodiments, a different number of peripheral pin selection pins may be used, for example, eight of these pins are assigned to the master and eight pins are assigned to the slave MCU. May be. Again, other numbers of pins and / or assignments of such peripheral device pin selection units may be selected. Other pin functions, such as pulse width modulator pins, use respective acronyms such as PWM, and the leading S1 of the acronym generally indicates that the unit belongs to a slave MCU.

前述のように、各ピンは、デフォルトによって、具体的機能に割り当てられてもよい。例えば、ピン1−3は、デフォルトによって、マスタMCUのアナログ入力として割り当てられることができる。ピン4および11は、デフォルトによって、スレーブMCUのアナログ入力として割り当てられることができる。ピン9および10は、デフォルトによって、発振器入力ピンであることができるが、また、内部発振器が使用されるとき、他の機能に割り当てられてもよい。ピン12−13は、デフォルトによって、同期シリアルプログラミングインターフェースPGED2に割り当てられることができ、PGEC2は、マスタMCUとのみ相互作用する。ピン14−18および21−26は、デフォルトによって、PORTBビット5−15に割り当てられ、ピン28は、PORTAのビット0に割り当てられる。前述の割当は、単に、実施例であり、他の割当も、可能性として考えられる。   As described above, each pin may be assigned to a specific function by default. For example, pins 1-3 can be assigned as analog inputs of the master MCU by default. Pins 4 and 11 can be assigned as analog inputs of the slave MCU by default. Pins 9 and 10 can by default be oscillator input pins, but may also be assigned to other functions when an internal oscillator is used. Pins 12-13 can be assigned to the synchronous serial programming interface PGED2 by default, and PGEC2 only interacts with the master MCU. Pins 14-18 and 21-26 are assigned to PORTB bits 5-15 by default, and pin 28 is assigned to bit 0 of PORTA. The above assignments are merely examples, and other assignments are also possible.

Claims (24)

マイクロコントローラデバイスであって、
複数の外部ピンと、
第1の中央処理ユニット(CPU)と、前記第1のCPUと結合された第1のシステムバスと、前記第1のシステムバスと結合された第1のメモリと、前記第1のシステムバスと結合された第1の複数の周辺機器デバイスとを備える、第1のマイクロコントローラと、
第2の中央処理ユニット(CPU)と、前記第2のCPUと結合された第2のシステムバスと、前記第2のシステムバスと結合された第2のメモリと、前記第2のシステムバスと結合された第2の複数の周辺機器デバイスとを備える、第2のマイクロコントローラと
を備え、
第1および第2のマイクロコントローラは、専用インターフェースを介してのみ通信する、マイクロコントローラデバイス。
A microcontroller device,
Multiple external pins,
A first central processing unit (CPU), a first system bus coupled to the first CPU, a first memory coupled to the first system bus, and the first system bus; A first microcontroller comprising a coupled first plurality of peripheral devices;
A second central processing unit (CPU), a second system bus coupled to the second CPU, a second memory coupled to the second system bus, and the second system bus A second microcontroller comprising a coupled second plurality of peripheral devices;
A microcontroller device in which the first and second microcontrollers communicate only through a dedicated interface.
前記専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備える、請求項1に記載のマイクロコントローラデバイス。   The microcontroller device of claim 1, wherein the dedicated interface comprises a bidirectional mailbox interface, a unidirectional master-slave interface, and a unidirectional slave-master interface. 各一方向性インターフェースは、FIFOメモリを備える、請求項2に記載のマイクロコントローラデバイス。   The microcontroller device of claim 2, wherein each unidirectional interface comprises a FIFO memory. 前記第1のマイクロコントローラは、マスタであり、前記第2のマイクロコントローラは、スレーブである、請求項1または請求項2に記載のマイクロコントローラデバイス。   The microcontroller device according to claim 1 or 2, wherein the first microcontroller is a master and the second microcontroller is a slave. 前記第2のマイクロコントローラのプログラムメモリは、前記第1のマイクロコントローラによって書込可能な揮発性メモリを備える、請求項1−4のうちの1項に記載のマイクロコントローラデバイス。   The microcontroller device according to claim 1, wherein the program memory of the second microcontroller comprises a volatile memory writable by the first microcontroller. 前記第2のマイクロコントローラは、前記第1のマイクロコントローラより高速でクロックされる、請求項1−5のうちの1項に記載のマイクロコントローラデバイス。   The microcontroller device according to claim 1, wherein the second microcontroller is clocked at a higher speed than the first microcontroller. 前記第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、前記第1のマイクロコントローラは、前記第2のマイクロコントローラの電力モードを制御するように構成されている、請求項1−6のうちの1項に記載のマイクロコントローラデバイス。   The second microcontroller comprises a power mode control unit with a low power mode, the first microcontroller configured to control a power mode of the second microcontroller. The microcontroller device according to one of -6. 前記電力制御モードユニットは、前記第2のマイクロコントローラがいかなる電力も消費しないように、前記第2のマイクロコントローラをディスエーブルにするように動作可能である、請求項7に記載のマイクロコントローラデバイス。   8. The microcontroller device of claim 7, wherein the power control mode unit is operable to disable the second microcontroller so that the second microcontroller does not consume any power. 各マイクロコントローラは、16ビットのデータバス幅を有する、請求項1−8のうちの1項に記載のマイクロコントローラデバイス。   The microcontroller device according to claim 1, wherein each microcontroller has a data bus width of 16 bits. 各マイクロコントローラはさらに、前記マイクロコントローラと関連付けられた前記周辺機器デバイスのための前記複数の外部ピンのうちの少なくともいくつかを選択するようにプログラム可能なピン選択ユニットを備える、請求項1−9のうちの1項に記載のマイクロコントローラデバイス。   Each microcontroller further comprises a pin selection unit programmable to select at least some of the plurality of external pins for the peripheral device associated with the microcontroller. A microcontroller device according to claim 1. 各マイクロコントローラはさらに、入力/出力ピンの制御を前記第1のマイクロコントローラまたは前記第2のマイクロコントローラのいずれかに割り当てるように制御可能なパッド所有権マルチプレクサユニットを備える、請求項1−10のうちの1項に記載のマイクロコントローラデバイス。   Each of the microcontrollers further comprises a pad ownership multiplexer unit that is controllable to assign control of input / output pins to either the first microcontroller or the second microcontroller. The microcontroller device according to one of them. 各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、前記第1または第2のマイクロコントローラに割り当てられたピンのみが、前記それぞれのマイクロコントローラによって書き込まれることができる、請求項1−11のうちの1項に記載のマイクロコントローラデバイス。   Each microcontroller can read any readable external pin, but only pins assigned to the first or second microcontroller can be written by the respective microcontroller. 12. The microcontroller device according to claim 1. 各マイクロコントローラの周辺機器の各々の少なくともいくつかは、複数の外部ピンの所定の外部ピンに割り当てられる、請求項1−12のうちの1項に記載のマイクロコントローラデバイス。   The microcontroller device according to claim 1, wherein at least some of each of the peripherals of each microcontroller is assigned to a predetermined external pin of the plurality of external pins. 複数の外部ピンと、第1の中央処理ユニット(CPU)、前記第1のCPUと結合された第1のシステムバス、前記第1のシステムバスと結合された第1のメモリ、および前記第1のシステムバスと結合された第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、前記第2のCPUと結合された第2のシステムバス、前記第2のシステムバスと結合された第2のメモリ、および前記第2のシステムバスと結合された第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備える、マイクロコントローラデバイスを動作させる方法であって、前記方法は、
専用インターフェースを介してのみ、前記第1および第2のマイクロコントローラ間で通信することを含む、方法。
A plurality of external pins, a first central processing unit (CPU), a first system bus coupled to the first CPU, a first memory coupled to the first system bus, and the first A first microcontroller comprising a first plurality of peripheral devices coupled to a system bus; a second central processing unit (CPU); a second system bus coupled to the second CPU; Operating a microcontroller device comprising: a second memory coupled to a second system bus; and a second microcontroller comprising a second plurality of peripheral devices coupled to the second system bus. And the method comprises:
Communicating between the first and second microcontrollers only via a dedicated interface.
前記専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備える、請求項14に記載の方法。   The method of claim 14, wherein the dedicated interface comprises a bidirectional mailbox interface, a unidirectional master-slave interface, and a unidirectional slave-master interface. 各一方向性インターフェースは、FIFOメモリを備える、請求項15に記載の方法。   The method of claim 15, wherein each unidirectional interface comprises a FIFO memory. 前記第1のマイクロコントローラは、マスタであり、前記第2のマイクロコントローラは、スレーブである、請求項14−16のうちの1項に記載の方法。   17. A method according to one of claims 14-16, wherein the first microcontroller is a master and the second microcontroller is a slave. 前記第2のマイクロコントローラのプログラムメモリは、揮発性メモリを備え、前記方法は、前記第1のマイクロコントローラによって前記第2のマイクロコントローラのプログラムメモリに書き込むステップを含む、請求項14−17のうちの1項に記載の方法。   18. The program memory of the second microcontroller comprises a volatile memory, and the method comprises writing to the program memory of the second microcontroller by the first microcontroller. 2. The method according to item 1. 前記第2のマイクロコントローラを前記第1のマイクロコントローラより高速でクロックすることをさらに含む、請求項14−18のうちの1項に記載の方法。   19. The method of one of claims 14-18, further comprising clocking the second microcontroller faster than the first microcontroller. 前記第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、前記方法はさらに、第1のマイクロコントローラによって、前記第2のマイクロコントローラの電力モードを制御するステップを含む、請求項14−19のうちの1項に記載の方法。   The second microcontroller comprises a power mode control unit comprising a low power mode, and the method further comprises controlling a power mode of the second microcontroller by the first microcontroller. 20. The method according to one of 14-19. 電力制御モードユニットによって、前記第2のマイクロコントローラがいかなる電力も消費しないように、前記第2のマイクロコントローラをディスエーブルにするステップを含む、請求項14−20のうちの1項に記載の方法。   21. A method according to any one of claims 14 to 20, comprising the step of disabling the second microcontroller so that the second microcontroller does not consume any power by means of a power control mode unit. . 各マイクロコントローラに対してピン所有権を制御するステップをさらに含み、入力/出力ピンは、前記第1のマイクロコントローラまたは前記第2のマイクロコントローラのいずれかに割り当てられる、請求項14−21のうちの1項に記載の方法。   The method of any of claims 14-21, further comprising controlling pin ownership for each microcontroller, wherein input / output pins are assigned to either the first microcontroller or the second microcontroller. 2. The method according to item 1. 各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、前記第1または第2のマイクロコントローラに割り当てられたピンのみが、前記それぞれのマイクロコントローラによって書き込まれることができる、請求項14−22のうちの1項に記載の方法。   Each microcontroller can read any readable external pin, but only pins assigned to the first or second microcontroller can be written by the respective microcontroller. 23. A method according to one of the twenty-two. 前記第1のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、
前記第2のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、
前記専用インターフェースを用いて、前記複数の外部ピンのうちの1つから読み取られた値を比較するステップと
をさらに含む、請求項14−23のうちの1項に記載の方法。
Reading one of a plurality of external pins by the first microcontroller;
Reading one of a plurality of external pins by the second microcontroller;
24. The method of any one of claims 14-23, further comprising comparing a value read from one of the plurality of external pins using the dedicated interface.
JP2017546995A 2015-03-13 2016-03-11 Microcontroller device with multiple independent microcontrollers Pending JP2018512662A (en)

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
JP2018512662A true JP2018512662A (en) 2018-05-17
JP2018512662A5 JP2018512662A5 (en) 2019-03-28

Family

ID=56888472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546995A Pending JP2018512662A (en) 2015-03-13 2016-03-11 Microcontroller device with multiple independent microcontrollers

Country Status (7)

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

Families Citing this family (11)

* 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
DE102020205978A1 (en) * 2020-05-12 2021-11-18 Robert Bosch Gesellschaft mit beschränkter Haftung System of galvanically separated, data-coupled microcontrollers
CN111930676B (en) * 2020-09-17 2020-12-29 湖北芯擎科技有限公司 Method, device, system and storage medium for communication among multiple processors
TWI769094B (en) * 2021-10-07 2022-06-21 瑞昱半導體股份有限公司 Multi-die package
CN115422100B (en) * 2022-08-30 2026-02-10 深圳鲲云信息科技有限公司 Direct memory access control device, data transmission method and data transmission system
TWI823680B (en) 2022-11-18 2023-11-21 新唐科技股份有限公司 Data transmission device and method

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58158759A (en) * 1982-03-16 1983-09-21 Nec Corp Information processing device
JPS62221062A (en) * 1986-03-20 1987-09-29 Nec Corp Single chip microcomputer
JPS63101957A (en) * 1986-10-20 1988-05-06 Hitachi Ltd Processor
JPH06175989A (en) * 1992-12-02 1994-06-24 Hitachi Ltd Multiprocessor
JPH0744502A (en) * 1993-07-29 1995-02-14 Nec Corp Dualmicroprocessor
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
JP2002032355A (en) * 2000-07-17 2002-01-31 Fujitsu Ltd Microcomputer
JP2002132745A (en) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd Digital signal processor
US6496880B1 (en) * 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
JP2003345775A (en) * 2002-05-30 2003-12-05 Nec Electronics Corp System lsi, method for designing the same, and recording medium
JP2004503855A (en) * 2000-06-09 2004-02-05 モトローラ・インコーポレイテッド Integrated processor platform supporting wireless portable multimedia devices
CN101105786A (en) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 A Dual-CPU Communication Method Based on Shared Memory
JP2008165780A (en) * 1995-10-09 2008-07-17 Renesas Technology Corp Microprocessor
JP2010152926A (en) * 2001-07-11 2010-07-08 Seiko Epson Corp Data processing device, data input/output device, and data input/output method
JP2014056396A (en) * 2012-09-12 2014-03-27 Denso Corp Electronic controller
US20150074668A1 (en) * 2013-09-09 2015-03-12 Apple Inc. Use of Multi-Thread Hardware For Efficient Sampling

Family Cites Families (7)

* 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
TWI358635B (en) * 2008-02-26 2012-02-21 Mstar Semiconductor Inc Power managing method for a multi-microprocessor s
US8356130B2 (en) * 2009-08-14 2013-01-15 Advanced Micro Devices, Inc. Mechanism for recording undeliverable user-level interrupts
CN102024170A (en) * 2009-09-17 2011-04-20 阿丹电子企业股份有限公司 One-way active electronic tag and its parameter setting method
US9021284B2 (en) * 2011-09-08 2015-04-28 Infineon Technologies Ag Standby operation with additional micro-controller
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 (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58158759A (en) * 1982-03-16 1983-09-21 Nec Corp Information processing device
JPS62221062A (en) * 1986-03-20 1987-09-29 Nec Corp Single chip microcomputer
JPS63101957A (en) * 1986-10-20 1988-05-06 Hitachi Ltd Processor
JPH06175989A (en) * 1992-12-02 1994-06-24 Hitachi Ltd Multiprocessor
JPH0744502A (en) * 1993-07-29 1995-02-14 Nec Corp Dualmicroprocessor
JP2008165780A (en) * 1995-10-09 2008-07-17 Renesas Technology Corp Microprocessor
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
JP2004503855A (en) * 2000-06-09 2004-02-05 モトローラ・インコーポレイテッド Integrated processor platform supporting wireless portable multimedia devices
JP2002032355A (en) * 2000-07-17 2002-01-31 Fujitsu Ltd Microcomputer
JP2002132745A (en) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd Digital signal processor
JP2010152926A (en) * 2001-07-11 2010-07-08 Seiko Epson Corp Data processing device, data input/output device, and data input/output method
JP2003345775A (en) * 2002-05-30 2003-12-05 Nec Electronics Corp System lsi, method for designing the same, and recording medium
CN101105786A (en) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 A Dual-CPU Communication Method Based on Shared Memory
JP2014056396A (en) * 2012-09-12 2014-03-27 Denso Corp Electronic controller
US20150074668A1 (en) * 2013-09-09 2015-03-12 Apple Inc. Use of Multi-Thread Hardware For Efficient Sampling

Also Published As

Publication number Publication date
EP3268869A2 (en) 2018-01-17
WO2016149086A2 (en) 2016-09-22
US10002103B2 (en) 2018-06-19
EP3268869B1 (en) 2024-12-25
TW201638771A (en) 2016-11-01
KR20170127420A (en) 2017-11-21
CN107430564B (en) 2020-09-15
WO2016149086A3 (en) 2016-11-03
US20160267047A1 (en) 2016-09-15
CN107430564A (en) 2017-12-01

Similar Documents

Publication Publication Date Title
US10002103B2 (en) Low-pin microcontroller device with multiple independent microcontrollers
US10002102B2 (en) Low-pin microcontroller device with multiple independent microcontrollers
US11868290B2 (en) Communication interface between host system and state machine using event slot registers
CN102449612B (en) data space arbiter
US12072833B2 (en) Executing functions in response to reading event indices on an event queue by a state machine
CN105765541A (en) Controllers for Motor Vehicles
US20170185550A1 (en) Configuration arbiter for multiple controllers sharing a link interface
CN106415524A (en) ICE pin functionality for multi-processor core devices
US7406550B2 (en) Deterministic microcontroller with configurable input/output interface
US7526579B2 (en) Configurable input/output interface for an application specific product
Pereira et al. Co-designed FreeRTOS deployed on FPGA
US7680967B2 (en) Configurable application specific standard product with configurable I/O
US7516311B2 (en) Deterministic microcontroller context arrangement
US7562207B2 (en) Deterministic microcontroller with context manager
JP2005100448A (en) Data processing system, array type processor, data processing apparatus, computer program, and information storage medium therefor
WO2006081093A2 (en) Configurable application specific standard product with configurable i/o
US20060168420A1 (en) Microcontroller cache memory
US20060168421A1 (en) Method of providing microcontroller cache memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200828