JP2018512662A - 複数の独立マイクロコントローラを伴うマイクロコントローラデバイス - Google Patents

複数の独立マイクロコントローラを伴うマイクロコントローラデバイス 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
English (en)
Other versions
JP2018512662A5 (ja
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/ja
Publication of JP2018512662A5 publication Critical patent/JP2018512662A5/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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のマイクロコントローラは、専用インターフェースを介してのみ通信する。

Description

(関連出願への相互参照)
本出願は、同一出願人の、2015年3月13日に出願された米国仮特許出願第62/133,186号に対して優先権を主張する。上記文献は、全体としてここで参照することによって本明細書において援用される。
(技術分野)
本開示は、マイクロコントローラに関し、特に、複数の独立プロセッサコアを伴うマイクロコントローラデバイスに関する。
(背景)
公知のマイクロコントローラデバイスは、単一の中央処理ユニット(マイクロコントローラコア)と、タイマ、アナログ/デジタルコンバータ、デジタル/アナログコンバータ、パルス幅変調ユニット、メモリ、入力/出力(I/O)ポート等の複数の関連付けられた周辺機器デバイスとを備える。通常、内部システムバスおよび制御論理は、マイクロコントローラコアが、個々に、周辺機器にアクセスすることができるように、全てのコンポーネントを連結する。外部には、マイクロコントローラは、複数の外部ピンを備え、これらのピンの大部分は、通常、I/Oポートに関連付けられ、各ポートピンはまた、ピンを他の周辺機器デバイスと共有することによって、多機能を提供し得る。構成の間、ユーザは、どのピンがどの機能を行うように割り当てられるかを選択する。そのような割当はまた、プログラムの実行の間に変更されることもできる。
あるマイクロコントローラは、主要CPUから別個の命令を実行可能であり得る、付加的アクセレータを備えることが公知である。他のマイクロコントローラは、2つの別個のCPUと、複数の共有周辺機器とを含むことが公知である。したがって、両コアは、全ての周辺機器を共有し、これは、待ち時間を追加するクロスバースイッチを要求し、クロスバースイッチは、故障を被りやすい。既存のマルチコアデバイスは、スイッチマトリクスを使用して、複数のプロセッサが、メモリおよび周辺機器等の共有システムリソースにアクセスすることを可能にする。複数のコアは、同一リソースにアクセスすることを要求し得る。競合解消回路は、待ち時間を追加し、性能を低下させ、コストを増やす。スイッチマトリクスは、システムに関する単一障害点である。いくつかの製造業者は、複数のスイッチマトリクスを実装し得る。これは、スイッチマトリクス間の障害解消をハンドリングするために、さらに多くの論理を要求する。他の製造業者は、異なるソフトウェアアーキテクチャを伴う複数のコアを使用する。これらの異なるコアは、いくつかの専用リソースを有し得るが、他のリソースは、共有される。
(要約)
しかしながら、デュアルまたはマルチコアマイクロコントローラデバイスのより優れた実装の必要性が、存在する。
ある実施形態によると、マイクロコントローラデバイスは、複数の外部ピンと、第1の中央処理ユニット(CPU)、第1のCPUと結合される第1のシステムバス、第1のシステムバスと結合される第1のメモリ、および第1のシステムバスと結合される第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、第2のCPUと結合される第2のシステムバス、第2のシステムバスと結合される第2のメモリ、および第2のシステムバスと結合される第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備えてもよく、第1および第2のマイクロコントローラは、専用インターフェースを介してのみ通信する。
さらなる実施形態によると、専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備えてもよい。さらなる実施形態によると、各一方向性インターフェースは、FIFOメモリを備えてもよい。さらなる実施形態によると、第1のマイクロコントローラは、マスタであることができ、第2のマイクロコントローラは、スレーブであることができる。さらなる実施形態によると、第2のマイクロコントローラのプログラムメモリは、第1のマイクロコントローラによって書込可能な揮発性メモリを備えてもよい。さらなる実施形態によると、第2のマイクロコントローラは、第1のマイクロコントローラより高速でクロックされることができる。さらなる実施形態によると、第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、第1のマイクロコントローラは、第2のマイクロコントローラの電力モードを制御するように構成されることができる。さらなる実施形態によると、電力制御モードユニットは、第2のマイクロコントローラがいかなる電力も消費しないように、第2のマイクロコントローラをディスエーブルにするように動作可能であることができる。さらなる実施形態によると、各マイクロコントローラは、16ビットのデータバス幅を有してもよい。さらなる実施形態によると、各マイクロコントローラはさらに、マイクロコントローラと関連付けられた周辺機器デバイスのための複数の外部ピンの少なくともいくつかを選択するようにプログラム可能なピン選択ユニットを備えてもよい。さらなる実施形態によると、各マイクロコントローラはさらに、入力/出力ピンの制御を第1のマイクロコントローラまたは第2のマイクロコントローラのいずれかに割り当てるように制御可能なパッド所有権マルチプレクサユニットを備えてもよい。さらなる実施形態によると、各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、第1または第2のマイクロコントローラに割り当てられたピンのみが、それぞれのマイクロコントローラによって書き込まれることができる。さらなる実施形態によると、各マイクロコントローラの周辺機器の各々の少なくともいくつかは、複数の外部ピンの所定の外部ピンに割り当てられることができる。
別の実施形態によると、複数の外部ピンと、第1の中央処理ユニット(CPU)、第1のCPUと結合される第1のシステムバス、第1のシステムバスと結合される第1のメモリ、および第1のシステムバスと結合される第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、第2のCPUと結合される第2のシステムバス、第2のシステムバスと結合される第2のメモリ、および第2のシステムバスと結合される第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備える、マイクロコントローラデバイスを動作させる方法は、専用インターフェースを介してのみ、第1および第2のマイクロコントローラ間で通信するステップを含んでもよい。
本方法のさらなる実施形態によると、専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備えてもよい。本方法のさらなる実施形態によると、各一方向性インターフェースは、FIFOメモリを備えてもよい。本方法のさらなる実施形態によると、第1のマイクロコントローラは、マスタであることができ、第2のマイクロコントローラは、スレーブであることができる。本方法のさらなる実施形態によると、第2のマイクロコントローラのプログラムメモリは、揮発性メモリを備えてもよく、本方法は、第1のマイクロコントローラによって第2のマイクロコントローラのプログラムメモリに書き込むステップを含んでもよい。本方法のさらなる実施形態によると、本方法はさらに、第2のマイクロコントローラを第1のマイクロコントローラより高速でクロックすることを含んでもよい。本方法のさらなる実施形態によると、第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備えてもよく、本方法はさらに、第1のマイクロコントローラによって、第2のマイクロコントローラの電力モードを制御するステップを含んでもよい。本方法のさらなる実施形態によると、本方法は、電力制御モードユニットによって、第2のマイクロコントローラがいかなる電力も消費しないように、第2のマイクロコントローラをディスエーブルにするステップを含んでもよい。本方法のさらなる実施形態によると、本方法はさらに、各マイクロコントローラに対してピン所有権を制御するステップを含んでもよく、入力/出力ピンは、第1のマイクロコントローラまたは第2のマイクロコントローラのいずれかに割り当てられる。本方法のさらなる実施形態によると、各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、第1または第2のマイクロコントローラに割り当てられたピンのみが、それぞれのマイクロコントローラによって書き込まれることができる。本方法のさらなる実施形態によると、本方法はさらに、第1のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、第2のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、専用インターフェースを用いて、複数の外部ピンのうちの1つから読み取られた値を比較するステップとを含んでもよい。
図1は、ある実施形態による、マイクロコントローラのブロック図を示す。 図2は、別の実施形態による、マイクロコントローラのブロック図を示す。 図3は、種々の実施形態による、マイクロコントローラのための筐体の上面図を示す。 図4は、パッド所有権制御機構の実施形態を示す。 図5は、ある実施形態による、マイクロコントローラの電力制御を示す。
(詳細な説明)
マイクロコントローラは、概して、任意の外部コンポーネントを要求しないため、単一チップ上のシステムと見なされる。そのようなデバイスは、したがって、中央処理ユニットと、メモリと、複数のI/O周辺機器とを備える。加えて、I/Oポートが、直接デジタル制御のために使用されてもよい。これらのI/Oポートは、通常、周辺機器機能と共有され、汎用I/Oポート機能または具体的周辺機器機能を有するようにプログラムされることができる。
少ピン数パッケージ、例えば、28ピンパッケージでは、従来のシングルコアマイクロコントローラの対応力は、それぞれ16ビットのデータバス幅を有する2つのプロセッサコアを提供することによって、増加されることができる。さらに、種々の実施形態によると、複数の独立マイクロコントローラへのハードウェア、ソフトウェア、および周辺機器リソースの分離によって、リアルタイム制御システムのためのカスタマソフトウェア開発が、促進されることができ、安全性が増した監視(ClassB)が、提供されることができ、誤差軽減が、改良されることができる。
いくつかの実施形態によると、マイクロコントローラデバイスは、少ピン数パッケージ(28ピン〜64ピン)内の単一ダイ上に、独立MCUの複数のインスタンスを具備することができる。したがって、集積回路パッケージは、例えば、2つの独立マイクロコントローラを含み、それらのそれぞれは、その独自のメモリと、複数の関連付けられた周辺機器デバイスとを伴うであろう。いくつかの実施形態によると、一方のマイクロコントローラは、マスタマイクロコントローラとなるように構成されることができ、他方は、スレーブマイクロコントローラとなることができる。両マイクロコントローラは、同一または類似周辺機器デバイスを有してもよいが、周辺機器デバイスは、異なることができ、特に、それぞれのマイクロコントローラが意図される、具体的タスクに適合されてもよい。さらに、データおよびプログラムメモリのためのサイズも、異なってもよく、マスタは、概して、より大きいプログラムおよびデータメモリを備えてもよい。
したがって、種々の実施形態によると、その独自の専用プロセッサ、メモリ、および周辺機器リソースを単一シリコンダイ上に伴う、2つの(またはそれを上回る)マイクロコントローラのアセンブリが、提供される。複数のマイクロコントローラは、デバイスピンを共有し、少ピン数パッケージの中へのデバイスの含有を可能かつ実用的にする。外部ピンは、したがって、プログラム制御(または構成レジスタ制御)下、マスタMCUまたはスレーブMCUのいずれかに割り当てられることができる。いくつかの実施形態に対する本開示のルールによると、外部ピンの数は、全ての集積MCUのデータバス幅の合計未満である。例えば、2つのコアのMCUは、それぞれ16ビットのデータバス幅を有する、2つの16ビットMCUを備えてもよい。全ての集積MCUのデータバス幅の合計は、したがって、32となるであろう。そのようなデバイスを28ピン筐体内に実装するとき、そのようなデバイスは、前述のルールに従うであろう。
種々の実施形態によると、マルチコアMCU(マルチプロセッサ)デバイスでは、外部ピンの数は、コアの数×各プロセッサのビット幅である。特に、いくつかの実施形態によると、外部ピンの数は、マスタプロセッサのデータバス幅より少ない。例えば、種々の実施形態によるデュアルコアマイクロコントローラは、以下により詳細に説明されるように、28ピン筐体内に嵌合されることができる。前述のように、種々の実施形態は、複数のマイクロコントローラユニット(MCU)を伴うマイクロコントローラデバイスから成り、それぞれ、その独自のプロセッサ、メモリ、および周辺機器を伴う。
複数のMCUは、外部デバイスピンを共有するように設計される。全MCUは、その専用特殊機能レジスタを通して、ピンを読み取る(または観察する)ことが可能であるように構成されることができるが、しかしながら、専用レジスタを通したピンへの書込(駆動)は、不揮発性メモリを介して制御される。不揮発性メモリは、したがって、デバイスピンの「所有権」を定義し、それによって、競合を防止するために使用される。所有権は、構成相の間、例えば、いったんデバイスが動作モードになると改変されることができない、構成レジスタを使用したデバイスのプログラミングの間に定義されてもよい。代替として、特殊機能レジスタおよびプロシージャは、特殊機能レジスタの使用を通して動的割当を可能にするように実装されてもよい。そのようなレジスタの不注意による上書は、従来のEEPROM書込ルーチンにおいて使用されるものに類似する、特殊書込ルーチンを通して防止されてもよい。コアのうちの1つへの外部ピンのうちの1本の割当は、ソフトウェアおよびハードウェア障害を防止する。デバイスピンの制御可能共有は、マルチコアデバイスを少ピン数パッケージ内で実践的となることを可能にする。
種々の実施形態によると、2つの(またはそれを上回る)マイクロコントローラが、その独自の専用プロセッサ、メモリ、および周辺機器リソースとともに、単一シリコンダイ上に組み立てられ、コア間の具体的通信インターフェースが、提供される。マイクロコントローラは、一実施形態によると、一式のレジスタ(メールボックス)ならびに関連付けられたステータスビットおよびインタラプト(セマフォ)のセットであり得る、マスタスレーブインターフェース(MSI)を介して、相互に通信する。
古典的コンピュータアーキテクチャアプローチは、複数のプロセッサに、スイッチマトリクスを介して、メモリおよび周辺機器等のデバイスリソースと通信させることである。これらの従来の実施形態では、2つの(またはそれを上回る)プロセッサは、システムリソースの全てを共有する。スイッチマトリクスは、リソース毎に、各プロセッサからの各要求に優先順位を割り当てなければならず、競合が、解消されなければならない。本リソース競合管理は、待ち時間(時間)を各要求に大幅に追加する。スイッチマトリクスは、大型であり、一点障害を被りやすい。スイッチマトリクスの脆弱性を解決するための古典的解決策は、スイッチマトリクスを複製することである。これは、障害を検出し、どのスイッチマトリクスが依然として実行可能であるかを解明するために、さらに多くの回路を要求する。種々の実施形態は、代わりに、リソースを単に複製することによって、スイッチマトリクスを使用してリソースを共有する試みの複雑性を回避する。
第2の典型的アーキテクチャは、いくつかの周辺機器を共有するが、メモリおよびいくつかの周辺機器等のその独自の限定されたセットのリソースへのアクセスを有する、プロセッサ+コプロセッサの概念である。本アーキテクチャは、典型的には、複製が高価であり、したがって、プロセッサとコプロセッサとの間で共有される、いくつかの周辺機器を有する。典型的には、プロセッサおよびコプロセッサは、異なるソフトウェアアーキテクチャを有し、したがって、ソフトウェア生成のための異なる開発ツールを要求し得る。
これらの従来のアプローチの代わりに、例えば、種々の実施形態による図1に示されるように、それぞれ専用メモリおよび周辺機器を伴うMCU(マイクロコントローラユニット)全体が、は、単一チップの中に複製される。別個のMCUは、セキュアな不揮発性レジスタを介して、デバイスピンを共有し、デバイスピンを駆動するとき、競合を防止するが、全MCUは、随時、それらに割り当てられていない場合でさえ、デバイスピンを読み取ることができる。図1における実施例は、多ピン数デバイスをもたらす。
図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はさらに、周辺機器の一部または全部が、それぞれのセットの外部ピンのいずれかに割り当てられることを可能にしてもよい。
外部ピンは、電力をダイに提供するために使用される、第1のセットのピンを備える。これは、例えば、図2に示されるように、デジタルおよびアナログ電力供給ピンならびにそのようなピンの複数のインスタンスを含むことができる。さらに、マスタクリアピンは、他の機能を有していなくてもよく、デバイスをリセットおよび/またはプログラムするために使用されてもよい。残りの第2のセットのピンは、概して、入力/出力ピン(I/Oピン)である。しかしながら、マイクロコントローラのうちの1つによって制御されない、いくつかの他のピンが、存在してもよい。本開示によるI/Oピンは、入力ピンもしくは出力ピンまたは専用入力もしくは出力機能を有するピンのいずれかであるようにプログラム可能である、任意のピンとして定義される。入力ピンは、それぞれの周辺機器の設定に従って、デジタルまたはアナログ入力のために使用されることができる。同様に、出力ピンは、それぞれの周辺機器の設定に従って、デジタルまたはアナログ出力のために使用されることができる。前述のように、本願は、概して、入力/出力ピンについて言及しており、いくつかのピンは、入力または出力ピンとして使用されることのみ可能であってもよい。全入力/出力ピンは、出力信号およびこれらのピンにフィードされる信号が、マイクロコントローラのうちの1つによって受信される信号であるとき、マイクロコントローラのうちの1つによって制御されるピンである。電力供給ピンは、概して、本機能を有すると見なされない。いくつかの他のピンもまた、そのような機能性を有していなくてもよく、例えば、デバイスは、発振器のための専用ピンを有してもよい。しかしながら、そのようなピンはまた、図3に示されるように、マイクロコントローラI/O機能で多重化されてもよい。図3は、I/Oピンと見なされないであろうピンが、ピン5−8、19、20、およびピン27であることを示す。
特殊機能レジスタが、パッド所有権マルチプレクサを制御するために使用されてもよい。本実施形態では、各マイクロコントローラコアは、その特殊機能レジスタのみへのアクセスを有してもよい。しかしながら、さらに別の実施形態によると、マスタMCUのみが、2つのパッド所有権マルチプレクサ180、280を制御する特殊機能レジスタへのアクセスを有してもよい。加えて、マスタCPU110はまた、直接または具体的インターフェースを通してのいずれかにおいて、スレーブMCUのプログラムRAM250へのアクセスを有してもよい。本特徴は、マスタMCUを通して、スレーブMCUのプログラムRAM250のプログラミング/書込を可能にする。
第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間のピンの共有は、存在しない。
図1はさらに、両方向における2つのコア間の通信を可能にする、双方向性メールボックスシステム310ならびに2つの一方向性FIFO320および330を介した、2つのMCU間の通信インターフェースを示す。メールボックスは、コマンドまたはショートデータを個別の他のマイクロコントローラに転送するために使用されることができる。図1および2に示されるような複数のメールボックス310が、実装されてもよい。いったんデータまたはコマンドがメールボックスの中に書き込まれると、個別のインタラプトが、受信側マイクロコントローラ内で生成され、新しいメッセージ(コマンドまたはデータ)が利用可能であることを示すであろう。これは、任意の付加的遅延を伴わずに、情報の高速転送を可能にする。
加えて、2つのFIFO320および330は、2つのマイクロコントローラ間のより大きいデータ転送を可能にするように実装されることができる。FIFO320および330は、メールボックス310のサイズ限界を有していないため、より大きいデータ転送を可能にする。FIFO320、330が、空にならない(またはエラー条件に遭遇しない)ことを前提として、マスタおよびスレーブは、並行して、それにアクセスしてもよい。FIFO320、330は、したがって、他方によって読み取られる前に、一方のプロセッサによってロードされなければならない、メールボックス310ベースのデータパイプより優れたスループットをもたらし得る。しかしながら、FIFO320、330コンテンツは、順番にロードおよびアンロードされ、メールボックスデータパイプ内のデータのようにランダムにアクセス可能ではない。FIFOはまた、(定義上)一方向性である。これは、FIFOをプロセッサ間のデータのブロックを転送するための高速手段を必要とする用途により好適なものにする。
多数のマイクロコントローラが、共通ソフトウェアアーキテクチャを共有してもよい。したがって、一実施形態によると、同じマイクロコントローラコアが、種々の集積マイクロコントローラのために使用される。マスタおよび1つまたは複数のスレーブマイクロコントローラを提供する概念はさらに、電力消費を低減することを可能にする。スレーブマイクロコントローラは、ディスエーブルにされ、それによって、多くのエネルギーを要求しない、スリープモードに置かれるように構成されてもよい。他の実装によると、デバイス内のマイクロコントローラは、完全にオフにされ、エネルギーを節約してもよい。
図5は、そのようなシステムの例示的制御構造を示す。各マイクロコントローラ100a、100bは、それぞれ、専用電力制御ユニット510および520を有してもよい。各電力制御ユニット510、520は、具体的電力消費モードおよび関連付けられた処理電力を設定することを可能にしてもよい。例えば、各マイクロコントローラ100a、100bは、スリープまたは低電力モードに設定されてもよい。電力消費の種々のレベルが、提供されてもよい。加えて、一実施形態によると、マスタマイクロコントローラ100aは、スレーブマイクロコントローラ100bを完全にオフにすることが可能であってもよい。本モードでは、マイクロコントローラ100bは、電力を全く消費しないであろう。
コアはさらに、異なる速度で稼働してもよい。本特徴は、特に、揮発性メモリを第2のマイクロコントローラのためのプログラムメモリとして使用するときに実装されることができる。RAM等の揮発性メモリは、本質的により高速であり、したがって、より高速なアクセス時間、したがって、より高いクロックレートを可能にする。マスタコアは、頻繁なインタラプトを用いて、システムレベル機能をハンドリングするように構成されてもよい。さらに、安全性コンプライアンス特徴、通信、インタラプトハンドリング、ソフトウェア更新、ユーザインターフェース等をハンドリングすることができる。全てのマイクロコントローラが外部ピンのいずれも読み取ることが可能にされるという特徴に起因して、安全性は、複数のMCUが、例えば、同一デバイスピンを監視することによって、改良されることができる。例えば、ある実施形態によると、2つのマイクロコントローラは、安全性向上特徴を提供するためのソフトウェアを備えてもよく、複数の外部ピンのうちの1つが、第1および第2のマイクロコントローラによって独立して読み取られる。次いで、読み出された値は、通信インターフェースを用いて比較されることができる。例えば、単一ピンの場合、メールボックスのうちの1つが、読取値を他方のコアに転送するために使用されてもよい。代替として、FIFO320、330のうちの一方が、1つ以上の値を転送するために使用されてもよい。システムは、値が合致しない場合、アラートを出力することができる、または具体的ソフトウェアルーチン、インタラプト、もしくはリセットが、エラーを補正するために実行されてもよい。
種々の実施形態によると、時間制約コードが、パーティション化され、コード開発およびサポートを容易にすることができる。スレーブコアは、クリティカルな待ち時間、モータ制御、デジタル電力制御を伴う制御ループ等の専用かつより確定的対応力のために使用されることができる。したがって、スレーブマイクロコントローラとして、マスタマイクロコントローラのための付加的プログラム可能周辺機器と見なされ得る。そのようなアーキテクチャの利点は、階段関数的性能増加である。2つのコアは、基本的に、実行レートを2倍にする。前述のように、時間クリティカルな機能およびシステム機能は、分離され、異なるコアに割り当てられることができる。制御ループ応答性は、最適化されることができ、インタラプトは、最小限にされることができ、モータアルゴリズム実装は、簡略化されることができる。マスタコアの実行速度は、一実施形態によると、例えば、100MIPSであることができる一方、スレーブコア標的は、より高速のプログラムメモリ、例えば、揮発性ランダムアクセスメモリを提供することによって、>100MIPSの処理パワーを有し得る。したがって、スレーブマイクロコントローラは、概して、マスタマイクロコントローラより高速であることができる。
要求される外部ピンの数はさらに、いくつかの実施形態によると、図2に示されるように、2つのMCU間の周辺機器のために使用されるピンを共有することによって減少されることができる。図2は、図1に示される実施形態とは対照的に、減少数のピン420を伴うパッケージ内のマルチコアデバイスのブロック図を示す。図2は、特に、2つの別個のMCUを伴う28ピンバージョンのデュアルコアマイクロコントローラを示す。ここでは、単一パッド所有権マルチプレクサ410のみが、例えば、特殊機能レジスタを通して、マスタMCUによってのみ制御され得るように提供されてもよい。しかしながら、いくつかの実施形態によると、両MCUが、アクセスを有してもよく、一実施形態では、マスタMCUは、スレーブMCUよりも優先されてもよい。
利用可能な減少数のI/Oピンは、依然として、同一またはさらに多くのピンを各MCUに提供する。特に、少ピンデバイス等の本解決策から利益を享受するある周辺機器のみを要求する、低コスト用途は、とりわけ、印刷回路基板のためのコストを削減する。パッド所有権マルチプレクサ410は、各MCUの汎用ポート機能性を外部ピンと共有すること、ならびにマスタMCUまたはスレーブMCUのいずれかの周辺機器のうちの1つへの割当を可能にする。
図2はさらに、4本のデジタル電力供給ピンVddおよびVssと、リセットおよびプログラムするために使用される非多重化マスタクリア機能ピンと、2本のアナログ電力供給ピン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ポートAを指し、RBxは、16ビットポートRBを指す。前述のように、図3は、より見やすくするために、単一セットのI/OポートAおよびBのみを示す。しかしながら、マスタおよびスレーブMCUによって独立して制御される、2つの別個のセットが、実装され、独立して割り当てられてもよい。一実施形態によると、各ポートピンは、図3に示されるように、一般的ピン関連付けを用いて、マスタまたはスレーブのいずれかに割り当てられることができる。一実施形態によると、マスタMCUへの割当は、スレーブMCUへの割当より優先されてもよい。他の実施形態によると、マスタMCUおよびスレーブMCUのためのポートは、異なるピンに割り当てられてもよい。
ANxは、マスタMCUのためのアナログ入力を指し、S1ANxは、スレーブMCUのためのアナログ入力を指す。ポートピンと同様に、外部ピンへの他の関連付けが、マスタおよびスレーブMCUのために選定されてもよい。容量分圧器周辺機器が実装される場合、各アナログピンはまた、容量分圧器機能に割り当てられてもよく、マスタMCUおよびスレーブMCUのための別個のユニットが、提供されてもよい。RPxは、周辺機器ピン選択ユニットによって割り当てられる16本のピンを指す。I/Oポートと同様に、マスタおよびスレーブMCUはそれぞれ、例えば、利用可能な16本のピンを有してもよい一方、図3は、単一セットのみを示す(再び、より見やすくするために)。他の実施形態によると、異なる数の周辺機器ピン選択ピンが、使用されてもよく、例えば、これらのピンのうちの8本は、マスタに割り当てられ、8本のピンは、スレーブMCUに割り当てられてもよい。再び、他の数のピンおよび/またはそのような周辺機器ピン選択ユニットの割当が、選定されてもよい。パルス幅変調器ピン等の他のピン機能は、PWM等のそれぞれの頭字語を使用し、頭字語の先頭のS1は、概して、ユニットがスレーブMCUに属することを示す。
前述のように、各ピンは、デフォルトによって、具体的機能に割り当てられてもよい。例えば、ピン1−3は、デフォルトによって、マスタMCUのアナログ入力として割り当てられることができる。ピン4および11は、デフォルトによって、スレーブMCUのアナログ入力として割り当てられることができる。ピン9および10は、デフォルトによって、発振器入力ピンであることができるが、また、内部発振器が使用されるとき、他の機能に割り当てられてもよい。ピン12−13は、デフォルトによって、同期シリアルプログラミングインターフェースPGED2に割り当てられることができ、PGEC2は、マスタMCUとのみ相互作用する。ピン14−18および21−26は、デフォルトによって、PORTBビット5−15に割り当てられ、ピン28は、PORTAのビット0に割り当てられる。前述の割当は、単に、実施例であり、他の割当も、可能性として考えられる。

Claims (24)

  1. マイクロコントローラデバイスであって、
    複数の外部ピンと、
    第1の中央処理ユニット(CPU)と、前記第1のCPUと結合された第1のシステムバスと、前記第1のシステムバスと結合された第1のメモリと、前記第1のシステムバスと結合された第1の複数の周辺機器デバイスとを備える、第1のマイクロコントローラと、
    第2の中央処理ユニット(CPU)と、前記第2のCPUと結合された第2のシステムバスと、前記第2のシステムバスと結合された第2のメモリと、前記第2のシステムバスと結合された第2の複数の周辺機器デバイスとを備える、第2のマイクロコントローラと
    を備え、
    第1および第2のマイクロコントローラは、専用インターフェースを介してのみ通信する、マイクロコントローラデバイス。
  2. 前記専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備える、請求項1に記載のマイクロコントローラデバイス。
  3. 各一方向性インターフェースは、FIFOメモリを備える、請求項2に記載のマイクロコントローラデバイス。
  4. 前記第1のマイクロコントローラは、マスタであり、前記第2のマイクロコントローラは、スレーブである、請求項1または請求項2に記載のマイクロコントローラデバイス。
  5. 前記第2のマイクロコントローラのプログラムメモリは、前記第1のマイクロコントローラによって書込可能な揮発性メモリを備える、請求項1−4のうちの1項に記載のマイクロコントローラデバイス。
  6. 前記第2のマイクロコントローラは、前記第1のマイクロコントローラより高速でクロックされる、請求項1−5のうちの1項に記載のマイクロコントローラデバイス。
  7. 前記第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、前記第1のマイクロコントローラは、前記第2のマイクロコントローラの電力モードを制御するように構成されている、請求項1−6のうちの1項に記載のマイクロコントローラデバイス。
  8. 前記電力制御モードユニットは、前記第2のマイクロコントローラがいかなる電力も消費しないように、前記第2のマイクロコントローラをディスエーブルにするように動作可能である、請求項7に記載のマイクロコントローラデバイス。
  9. 各マイクロコントローラは、16ビットのデータバス幅を有する、請求項1−8のうちの1項に記載のマイクロコントローラデバイス。
  10. 各マイクロコントローラはさらに、前記マイクロコントローラと関連付けられた前記周辺機器デバイスのための前記複数の外部ピンのうちの少なくともいくつかを選択するようにプログラム可能なピン選択ユニットを備える、請求項1−9のうちの1項に記載のマイクロコントローラデバイス。
  11. 各マイクロコントローラはさらに、入力/出力ピンの制御を前記第1のマイクロコントローラまたは前記第2のマイクロコントローラのいずれかに割り当てるように制御可能なパッド所有権マルチプレクサユニットを備える、請求項1−10のうちの1項に記載のマイクロコントローラデバイス。
  12. 各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、前記第1または第2のマイクロコントローラに割り当てられたピンのみが、前記それぞれのマイクロコントローラによって書き込まれることができる、請求項1−11のうちの1項に記載のマイクロコントローラデバイス。
  13. 各マイクロコントローラの周辺機器の各々の少なくともいくつかは、複数の外部ピンの所定の外部ピンに割り当てられる、請求項1−12のうちの1項に記載のマイクロコントローラデバイス。
  14. 複数の外部ピンと、第1の中央処理ユニット(CPU)、前記第1のCPUと結合された第1のシステムバス、前記第1のシステムバスと結合された第1のメモリ、および前記第1のシステムバスと結合された第1の複数の周辺機器デバイスを備える、第1のマイクロコントローラと、第2の中央処理ユニット(CPU)、前記第2のCPUと結合された第2のシステムバス、前記第2のシステムバスと結合された第2のメモリ、および前記第2のシステムバスと結合された第2の複数の周辺機器デバイスを備える、第2のマイクロコントローラとを備える、マイクロコントローラデバイスを動作させる方法であって、前記方法は、
    専用インターフェースを介してのみ、前記第1および第2のマイクロコントローラ間で通信することを含む、方法。
  15. 前記専用インターフェースは、双方向性メールボックスインターフェース、一方向性マスタ−スレーブインターフェース、および一方向性スレーブ−マスタインターフェースを備える、請求項14に記載の方法。
  16. 各一方向性インターフェースは、FIFOメモリを備える、請求項15に記載の方法。
  17. 前記第1のマイクロコントローラは、マスタであり、前記第2のマイクロコントローラは、スレーブである、請求項14−16のうちの1項に記載の方法。
  18. 前記第2のマイクロコントローラのプログラムメモリは、揮発性メモリを備え、前記方法は、前記第1のマイクロコントローラによって前記第2のマイクロコントローラのプログラムメモリに書き込むステップを含む、請求項14−17のうちの1項に記載の方法。
  19. 前記第2のマイクロコントローラを前記第1のマイクロコントローラより高速でクロックすることをさらに含む、請求項14−18のうちの1項に記載の方法。
  20. 前記第2のマイクロコントローラは、低電力モードを備える電力モード制御ユニットを備え、前記方法はさらに、第1のマイクロコントローラによって、前記第2のマイクロコントローラの電力モードを制御するステップを含む、請求項14−19のうちの1項に記載の方法。
  21. 電力制御モードユニットによって、前記第2のマイクロコントローラがいかなる電力も消費しないように、前記第2のマイクロコントローラをディスエーブルにするステップを含む、請求項14−20のうちの1項に記載の方法。
  22. 各マイクロコントローラに対してピン所有権を制御するステップをさらに含み、入力/出力ピンは、前記第1のマイクロコントローラまたは前記第2のマイクロコントローラのいずれかに割り当てられる、請求項14−21のうちの1項に記載の方法。
  23. 各マイクロコントローラは、任意の可読外部ピンを読み取ることができるが、前記第1または第2のマイクロコントローラに割り当てられたピンのみが、前記それぞれのマイクロコントローラによって書き込まれることができる、請求項14−22のうちの1項に記載の方法。
  24. 前記第1のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、
    前記第2のマイクロコントローラによって、複数の外部ピンのうちの1つを読み取るステップと、
    前記専用インターフェースを用いて、前記複数の外部ピンのうちの1つから読み取られた値を比較するステップと
    をさらに含む、請求項14−23のうちの1項に記載の方法。
JP2017546995A 2015-03-13 2016-03-11 複数の独立マイクロコントローラを伴うマイクロコントローラデバイス Pending JP2018512662A (ja)

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 US10002103B2 (en) 2015-03-13 2016-03-09 Low-pin microcontroller device with multiple independent microcontrollers
US15/065,027 2016-03-09
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 (ja) 2018-05-17
JP2018512662A5 JP2018512662A5 (ja) 2019-03-28

Family

ID=56888472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546995A Pending JP2018512662A (ja) 2015-03-13 2016-03-11 複数の独立マイクロコントローラを伴うマイクロコントローラデバイス

Country Status (7)

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

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 新唐科技股份有限公司 資料傳輸裝置和方法

Family Cites Families (8)

* 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
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
CN102024170A (zh) * 2009-09-17 2011-04-20 阿丹电子企业股份有限公司 单向主动式电子标签及其参数设定方法
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

Also Published As

Publication number Publication date
CN107430564B (zh) 2020-09-15
KR20170127420A (ko) 2017-11-21
WO2016149086A2 (en) 2016-09-22
US10002103B2 (en) 2018-06-19
EP3268869A2 (en) 2018-01-17
WO2016149086A3 (en) 2016-11-03
US20160267047A1 (en) 2016-09-15
TW201638771A (zh) 2016-11-01
CN107430564A (zh) 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
US10997100B2 (en) Communications interface between host system and state machine
US7406550B2 (en) Deterministic microcontroller with configurable input/output interface
US7526579B2 (en) Configurable input/output interface for an application specific product
US20170185550A1 (en) Configuration arbiter for multiple controllers sharing a link interface
US11416442B2 (en) Circuit architecture mapping signals to functions for state machine execution
JP2007219816A (ja) マルチプロセッサシステム
KR20230164152A (ko) 심리스하게 집적된 마이크로컨트롤러 칩
EP2457169A1 (en) Data space arbiter
US8751703B2 (en) Interrupt event management
CN112306652A (zh) 带有上下文提示的功能的唤醒和调度
US7680967B2 (en) Configurable application specific standard product with configurable I/O
US7516311B2 (en) Deterministic microcontroller context arrangement
US7562207B2 (en) Deterministic microcontroller with context manager
Pereira et al. Co-designed FreeRTOS deployed on FPGA
WO2006081093A2 (en) Configurable application specific standard product with configurable i/o
JP2005100448A (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
US20060168420A1 (en) Microcontroller cache memory
WO2020119931A1 (en) Communication interfaces suited for use with flexible logic units
US20060168421A1 (en) Method of providing microcontroller cache memory

Legal Events

Date Code Title Description
A521 Written amendment

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