JP6175788B2 - マイクロプログラムを更新可能な電子機器 - Google Patents

マイクロプログラムを更新可能な電子機器 Download PDF

Info

Publication number
JP6175788B2
JP6175788B2 JP2013023932A JP2013023932A JP6175788B2 JP 6175788 B2 JP6175788 B2 JP 6175788B2 JP 2013023932 A JP2013023932 A JP 2013023932A JP 2013023932 A JP2013023932 A JP 2013023932A JP 6175788 B2 JP6175788 B2 JP 6175788B2
Authority
JP
Japan
Prior art keywords
update
interface
cpu
microprogram
sub 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.)
Active
Application number
JP2013023932A
Other languages
English (en)
Other versions
JP2014153964A (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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2013023932A priority Critical patent/JP6175788B2/ja
Priority to US14/174,121 priority patent/US9495178B2/en
Publication of JP2014153964A publication Critical patent/JP2014153964A/ja
Application granted granted Critical
Publication of JP6175788B2 publication Critical patent/JP6175788B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明はマイクロプログラム制御方式のマイクロプロセッサを備える電子機器に関する。
家庭用機器、産業用機器等、情報処理および電子制御を行う電子機器において、マイクロプロセッサを具備してそれを制御するマイクロプログラムを書き換えることによって、より複雑で高度な機能を供する組込みシステムの技術が使用されている。それらのマイクロプロセッサを具備した電子機器は、製造者によって市場に提供された後に機能の追加や不具合の是正のために内部に格納されたマイクロプログラムの更新が必要になる場合がある。このような場合、適当な通信手段を介してホストからの命令に応じて正当に、かつ、確実にマイクロプログラムを書き換える(更新する)機能を有することが要求される。
下記特許文献1には、ホスト側から通信回線を介して主プログラム(マイクロプログラムと同義)を主メモリ(RAM)に取り込む機能と、該主メモリ上の主プログラムをフラッシュメモリ内のバックアップ用領域に書き込む機能と、該バックアップ用領域の主プログラムをフラッシュメモリ内の主プログラム用領域に書き込む機能とを設けた通信端末装置が記載されている。
下記特許文献2には、複数のCPU(マイクロプロセッサ)とサービスプロセッサが同一の保守専用バスに接続された構成にて該CPUのマイクロプログラムのローディング方式が記載されている。
特開平8−55068号公報 特開平5−274141号公報
特許文献1の発明においては、主プログラムの書き換えの過程にて主メモリに取り込まれた主プログラム(マイクロプログラムと同義)はフラッシュメモリのバックアップ用領域と主プログラム用領域の2つの記憶領域に書き込まれる。
しかしながら、フラッシュメモリ内に同じ主プログラムを二つ格納するためには主プログラムのサイズは該フラッシュメモリの記憶容量に対して1/2以下でなければならないという問題があった。
また、特許文献2の発明においては、同一の保守専用バスに接続された同一のマイクロプログラムによって制御される複数のCPUは、サービスプロセッサからの指示によって更新用のマイクロプログラムをローディングする。
しかしながら、同一のバスに接続されたCPUはいずれも同一の通信方法、すなわち同一のデータ通信速度および同一の通信プロトコルを用いて、同一のマイクロプログラムをローディングすることしかできず、少なくとも一つのCPUが他のCPUと異なる通信方法を必要とする構成では対応することができないという問題があった。
本発明は、上記課題に鑑みなされたものであり、マイクロプログラムのサイズについての制約を回避し、さらに、二つ以上のマイクロプロセッサについて、そのうち少なくとも一つのCPUが他のCPUとはデータ通信速度あるいは通信プロトコルの少なくともいずれか一方が異なる場合でもマイクロプログラムを書き換える手段を供することを目的とする。
本発明は、制御記憶を備えた主CPUと、更新用記憶領域を備えた副CPUと、電子回路装置(アナログスイッチ)とを有し、外部の情報処理装置(ホスト)と該主CPUとは第1の通信インターフェースを介して接続され、該主CPUと該副CPUとは第1の通信インターフェースとは独立の第2の通信インターフェースを介して接続され、前記副CPUと該電子回路装置とは汎用インターフェースを介して接続され、該電子回路装置と前記主CPUとは更新用インターフェースを介して接続され、前記副CPUと該電子回路装置とは制御インターフェースを介して接続され、前記主CPUはホストから前記第1の通信インターフェースを介して受信した更新用マイクロプログラムを前記第2の通信インターフェースを介して前記副CPUの前記更新用記憶領域に書き込み、前記副CPUは前記制御インターフェースによって前記電子回路装置を介して前記汎用インターフェースと前記更新用インターフェースとを導通させ、前記更新用記領域に格納された前記更新用マイクロプログラムを前記制御記憶に書き込む、ことを特徴とする電子機器である。
上記構成において、さらに個々に制御記憶を備えたN個(Nは自然数)の拡張CPUを有し、前記電子回路装置と該第i番目(i=1〜N)の拡張CPUとは第i番目の拡張更新用インターフェースを介して接続され、前記電子回路装置は、前記副CPUから前記制御インターフェースを介して入力されるデータ信号によって、前記更新用インターフェースおよび前記N個の拡張更新用インターフェースのうち一つを選択して前記汎用インターフェースと導通させることができる。
上記構成において、前記N個の拡張更新用インターフェースのうち少なくとも一つは、データ通信速度あるいは通信プロトコルの少なくともいずれか一方が前記更新用インターフェースのデータ通信速度あるいは通信プロトコルとは異なるものを使用することができる。
上記構成において、前記汎用インターフェースと前記更新用インターフェースと前記拡張更新用インターフェースは2線式インターフェースを使用することができる。
前記主CPUあるいは前記副CPUの少なくとも一方は、誤り検出手法による冗長データを使用して、前記更新用マイクロプログラムが前記更新用記憶領域あるいは前記制御記憶の少なくともいずれか一方に正常に書き込まれたことを検査する手段を有することができる。
本発明によれば、マイクロプログラムのサイズが制御記憶の記憶容量の1/2以下でなければならないという制約を回避することができ、前記更新用インターフェースと前記N個の拡張更新用インターフェースのうち少なくとも一つは他のN個の更新用インターフェースとはデータ通信速度あるいは通信プロトコルの少なくとも一方が異なっていても、主CPUおよび拡張CPUのマイクロプログラムを書き換えることができる。
本発明の実施例1に係る電子機器の構成を示すブロック図である。 本発明の実施例1に係るマイクロプログラムの書き換え手順を示すフローチャートである。 本発明の第2の実施例に係る電子機器の構成を示すブロック図である。 本発明の第2の実施例に係るマイクロプログラムの書き換え手順を示すフローチャートである。 本発明の第3の実施例に係る電子機器の構成を示すブロック図である。 本発明の第3の実施例に係るマイクロプログラムの書き換え手順を示すフローチャートである。 本発明の実施例1に係る電子回路装置の第1の構成例を示すブロック図である。 本発明の実施例1に係る電子回路装置の第2の構成例を示すブロック図である。 本発明の第2の実施例に係る電子回路装置の概略構成を示すブロック図である。 本発明の第4の実施例に係る電子機器の構成を示すブロック図である。
以下、図を参照しながら本発明の実施例について説明する。
(実施例1)
図1は本発明の実施例1の構成を示すブロック図であり、電子機器1は、主CPU10、副CPU20、電子回路装置(アナログスイッチ)50とを備え、主CPU10と外部の情報処理装置(ホスト)とは通信インターフェース30を介して接続される。主CPU10と副CPU20とは通信インターフェース40を介して接続される。副CPU20とアナログスイッチ50とは汎用インターフェース51を介して接続される。アナログスイッチ50と主CPU10とは更新用インターフェース52を介して接続され、副CPU20とアナログスイッチ50とはさらに制御インターフェース51を介して接続されている。アナログスイッチ50は、副CPU20から制御インターフェース53を介して入力される制御信号に応じて、汎用インターフェース51と更新用インターフェース52との間の導通と遮断とを切り替えることができる。なお、ここでいう「インターフェース」は、例えば、信号端子等の個々のCPUや電子回路装置に属する他の部品との接続部分(その信号レベル等の電気的規格や通信プロトコル、物理的な形状に関する規定等も含む)だけでなく、さらにそれらの接続部分同士を相互に接続する電気配線やその電気配線に接続されるプルアップ抵抗等の回路素子等も含んだ総称を意味する。
主CPU10にはフラッシュメモリ等のEEPROMを使用した制御記憶11が内蔵されており、主CPU10がそこに格納されたマイクロプログラムを実行することによってホストとの通信や電子機器の行うべき所定の情報処理および電子制御が行われる。マイクロプログラムの書き換え(更新)は、主CPU10がマイクロプログラムを実行している間に行うことはできず、主CPU10がマイクロプログラムの実行を一時的に停止して、その間に副CPU20が主CPU10の制御記憶11に書き込みを行うことで行われる。
汎用インターフェース51と更新用インターフェース52とを直接接続せずに電子回路装置50を介して接続する目的について説明する。副CPU20のマイクロプログラムを更新する場合に、例えば、外部の装置(図示していない)が、更新用マイクロプログラムを副CPU20の制御記憶に書き込むために、汎用インターフェース51を介して副CPU20に接続される場合がある。このような場合に更新用インターフェース52を電子回路装置50によって汎用インターフェース51から遮断しておくことによって、主CPU10のマイクロプログラムが意図せずに更新されてしまうのを回避することができる。また、汎用インターフェース51と更新用インターフェース52の各々の信号レベルが互換でない場合に、電子回路装置50の中にアナログスイッチに加えて、入力側と出力側とで双方向で信号レベルの変換が可能なレベル変換IC等を設けることによって、副CPU20と主CPU10との間の信号伝達を可能にすることができる。
図2は本発明の実施例1にて主CPU10のマイクロプログラムを書き換える手順を示すフローチャートである。まず、主CPU10は更新用マイクロプログラムを通信インターフェース30を介してホストより受信し、それを、副CPU20内に用意した更新用記憶領域21(フラッシュメモリ等)に通信インターフェース40を介して書き込む(ステップ:S1)。更新用マイクロプログラムがすべて書き込まれた後、主CPU10はホストからマイクロプログラムの書き換え命令を受ける(ステップ:S2)。主CPU10は副CPU20に書き換えを行うように命令を出し、自身のマイクロプログラムの実行を停止する(ステップ:S3)。次に、副CPU20は制御インターフェース53を介して制御信号を入力することによってアナログスイッチ50にて汎用インターフェース51と更新用インターフェースとを導通させ、汎用インターフェース51と更新用インターフェース52とを介して更新用記憶領域21に格納された更新用マイクロプログラムを主CPUの制御記憶11に書き込む(ステップ:S4)。その後、副CPU20は主CPU10を再起動させる(ステップ:S5)。再起動後に主CPU10は制御記憶11に格納された更新用マイクロプログラムを実行する(ステップ:S6)。本発明では、主CPU10の制御記憶11とは別の副CPU20の更新用記憶領域21に更新用マイクロプログラムを格納するためにマイクロプログラムのサイズは制御記憶11の記憶容量の1/2以下でならなければならないという制約を回避することができる。
通信インターフェース30、40は、例えば、光伝送用送受信器等に使用されるMDIO(Management Data Input/Output)、I2C(Inter−Integrated Cuircuit)やSPI(Serial Peripheral Interface)、RS232C等の公知の規格に準じたものが使用できる。すなわち、通信インターフェース30、40に使用する信号線の電気的規格や通信速度や通信プロトコルは、それら個々の規格に準じたものを選択することが可能である。なお、通信インターフェース30は、ホストと主CPUとの間に通信用専用LSI等を介在させて通信を行う構成も考え得る。
汎用インターフェース51と更新用インターフェース52とは、副CPU20が主CPU10の制御記憶11内のマイクロプログラムの書き換えを行うために、例えば、クロック信号とデータ信号とによって構成される2線式のインターフェースを採用することが可能である。図7は、その場合の電子回路装置50の第1の構成例を示すブロック図である。電子回路装置50は、2個の単極単投(Single−Pole Single−Throw)のアナログスイッチ50a、50bによって構成される。アナログスイッチ50と汎用インターフェース51および更新用インターフェース52との接続は、汎用インターフェース51のクロック信号線CKCと更新用インターフェース52のクロック信号線CK0とが接続され、汎用インターフェース51のデータ信号線DCと更新用インターフェース52のデータ信号線DOとが接続されるように配線され、各信号線間の導通および遮断は、開閉制御信号ENによって切り替えられる。なお、図8は電子回路装置50の第2の構成例を示しており、単極単投のアナログスイッチ2個が一つの半導体素子上に集積化された双極単投(Double−Pole Single−Throw)のアナログスイッチ50を採用している。なお、図8において、図7と同一部分については同符号を用いて、その説明は省略する。
図7および図8のクロック信号線CKC、CK0およびデータ信号線DC、D0は、各々の信号線間でデジタル信号による通信が行えるように信号レベル等の電気的規格が互換のものを採用する。あるいは、信号レベルが互換でない場合には、副CPU20とアナログスイッチ50との間、または、アナログスイッチ50と主CPU10との間に、例えば、入力側と出力側とで双方向で信号レベルの変換が可能なレベル変換ICを挿入して副CPU20と主CPU10との通信を可能とすることもできる。
なお、汎用インターフェース51と更新用インターフェース52との導通は、副CPU20が更新用記憶領域21に格納された更新用プログラムを主CPU10の制御記憶11に書き込む間に行われれば良く、それ以外の時は、ノイズ信号による誤動作等を避けるために、汎用インターフェース51と更新用インターフェース52とは遮断されていることが好ましい。
ところで、図2のステップS1あるいはS4の実行中に停電等により電子機器1の電源が遮断された場合には更新用マイクロプログラムの書き込みが中断されたり、誤ったデータが書き込まれる可能性があり、再起動(ステップS5)の後にステップS5にて主CPU10が正常に動作しないといった不具合を生じる虞がある。これを回避するために、更新用記憶領域21あるいは制御記憶11に格納された更新用マイクロプログラムに誤りがないかどうか検査する手順を設けることが好適となる。
例えば、ステップS1においては、主CPU10が更新用マイクロプログラムと一緒にホストより提供された一般的な誤り検出手法による冗長データも更新用記憶領域21に書き込み、書込み終了後に冗長データを用いて更新用マイクロプログラムが更新用記憶領域21に正常に書き込まれたことを検査することが可能である。また、ステップS4においては副CPU20が書き込み終了後に、同様に更新用マイクロプログラムが制御記憶11に正常に書き込まれたことを検査することが可能である。なお、もしも、更新用マイクロプログラムを構成するデータに誤りがあると判断された場合には、主CPU10あるいは副CPU20の特定の記憶領域にデータの誤りが生じたことや誤りの内容等を知らせる情報を書き込み、書き換え手順を中断して図2の手順を最初からやり直すように元の実行中のマイクロプログラムを作成しておくことが可能である。さらに、更新した以降も確実に書き換えを行うために更新用マイクロプログラムについても同様の処理を行うよう作成しておくことが好ましい。
(実施例2)
図3は本発明の第2の実施例の構成を示すブロック図であり、実施例1において、さらに、個々に制御記憶101、201、301を備えたN個(Nは自然数)の拡張CPU100、200、300とを有し、アナログスイッチ50と第i番目(i=1〜N)の拡張CPU200とは第i番目の拡張更新用インターフェース202を介して接続され、副CPU20が制御インターフェース53を介して予め定めたデータ信号をアナログスイッチ50に入力することによって、更新用インターフェース52およびN個の拡張更新用インターフェース102、202、302のうちの一つを選択して汎用インターフェース51と導通させることができる。なお、第1図と同一部分については同符号を用いて、その説明は省略する。
図9は、本発明の第2の実施例において、N=3の場合のアナログスイッチ50に係る構成例を示している。汎用インターフェース51、更新用インターフェース52、拡張更新用インターフェース102、202、302は、クロック信号線とデータ信号線から成る2線式インターフェースを採用している。電子回路装置50は、1:4アナログスイッチ50a、50bによって構成される。汎用インターフェース51のクロック信号線CKCと更新用インターフェース52、102、202、302の各々のクロック信号線CK0、CK1、CK2、CK3とが1:4アナログスイッチを介して接続され、汎用インターフェース52のデータ信号線DCと更新用インターフェース52、102、202、302の各々のデータ信号線D0、D1、D2、D3とが1;4アナログスイッチ50bを介して接続されるように配線され、制御インターフェース53の経路選択信号A0、A1によってクロック信号線CKCと4つのクロック信号線CK0、CK1、CK2、CK3のいずれか一つとが導通され、それに対応してデータ信号線DCとデータ信号線D0、D1、D2、D3のうちの一つが導通される。すなわち、例えば、CKCとCK1とが導通させる場合には、DCとD1とが導通され、このようにして汎用インターフェース51と更新用インターフェース102とが導通される。経路選択信号A0、A1によって選択されたアナログスイッチ50a、50b内のスイッチのオン(導通)とオフ(遮断)とは、制御インターフェース53の開閉制御信号線ENを介してアナログスイッチ50a、50bにデジタル値(”1”あるいは”0”)を入力することによって切替えられる。
なお、Nの値が3よりも大きい場合であっても、複数の1:2アナログスイッチや1:4アナログスイッチを直列接続や並列接続によって適宜組み合わせることで電子回路装置50を構成することが可能である。
図4は本発明の第2の実施例にて第i番目の拡張CPU200のマイクロプログラムを書き換える手順を示すフローチャートである。まず、主CPU10は更新用マイクロプログラムを通信インターフェース30を介して受信し、それと第i番目の拡張CPU200が対象であることを示すデータとを通信インターフェース40を介して副CPU20の更新用記憶領域21(フラッシュメモリ等)に書き込む(ステップT1)。更新に必要なデータがすべて書き込まれた後、主CPU10はホストから第i番目の拡張CPU200についてマイクロプログラムの書き換え命令を受ける(ステップT2)。主CPU10は副CPU20に第i番目の拡張CPU200のマイクロプログラムを書き換えるよう命令する(ステップT3)。次に、副CPU20は、第i番目のCPU200が書き換え対象であることを示すデータに応じて制御インターフェース53を介して適当な制御信号を入力することによって、アナログスイッチ50を介して汎用インターフェース51と第i番目の拡張更新用インターフェース202とを導通させ、汎用インターフェース51と第i番目の拡張更新用インターフェース202を介して更新用記憶領域21に格納された更新用マイクロプログラムを第i番目のCPU200の制御記憶201に書き込む(ステップT4)。その後、副CPU20は第i番目のCPU200を再起動させる(ステップT5)。再起動後に第i番目のCPU200は制御記憶201に格納された更新用マイクロプログラムを実行する(ステップT6)。本発明によれば、第i番目のCPU200の制御記憶201とは別の副CPU20の更新用記憶領域21に更新用マイクロプログラムを格納するために拡張CPU200のマイクロプログラムのサイズは制御記憶201の容量の1/2以下でならなければならないという制約を回避することができる。
上記の第i番目の拡張CPU200が書き換え対象であることを示すデータは、例えば、実際の電子機器にてアナログスイッチ50と主CPU10およびN個の拡張CPU100、200、300との接続に関する情報を予め主CPU10内の所定の記憶領域に蓄えておき、主CPU10がホストからの書き換え対象となる拡張CPUの指定に対して適当な拡張更新用インターフェース102、202、302が選択されるように制御インターフェース53を指示できるように作成しても良い。
アナログスイッチ50とN個の拡張CPU100、200、300とを1:1で接続するN個の拡張更新用インターフェース102、202、302について、例えば、制御インターフェース53によって選択された第i番目の更新用インターフェース202以外の拡張更新用インターフェース102、302は、汎用インターフェース51および第i番目の拡張更新用インターフェース202から遮断されているため、汎用インターフェース51と第i番目の拡張更新用インターフェース202とを介するマイクロプログラム更新のための信号伝送によるノイズの影響を受けない。従って、更新用インターフェース52とN個の拡張更新用インターフェース102、202、302のうち少なくとも一つは、そのデータ通信速度あるいは通信プロトコルの少なくとも一方が他の拡張更新用インターフェースの通信速度あるいは通信プロトコルと異なるものを採用することができる。特許文献2によれば、同一のバスに接続されたCPUは同一の通信方法、すなわち同一の通信速度、かつ、同一の通信プロトコルで通信を行わなければならないが、本発明によれば、副CPU20が拡張CPU100、200、300との通信に必要な通信速度および通信プロトコルにて汎用インターフェース51を制御することによって、各々のCPUの通信インターフェースについて自由に選択し、対応することできる。
主CPU10とN個の拡張CPU100、200、300とについて、汎用インターフェース51と拡張更新用インターフェース102、202、302とは、信号線の本数および信号レベル等の電気的規格等が互換であれば、そのうちの少なくとも1つのCPUは他のCPUと異種のものを採用することが可能である。また。主CPU10とN個の拡張CPU100、200、300とについて、そのうちの少なくとも1つのCPUのマイクロプログラムは他のCPUのマイクロプログラムと異なるものでも、本発明によれば更新することが可能となる。特許文献2においては、同一のバスに接続されたCPUは同一のものでなければならず、更新するマイクロプログラムも同一でなければならないが、本発明によれば個々のCPUおよびそのマイクロプログラムについて自由な選択を行うことが可能となる。
(実施例3)
図5は本発明の第3の実施例の構成を示すブロック図であり、第2の実施例において、主CPU10と副CPU20とに加えて、さらにN個の拡張CPU100、200、300が通信インターフェース40によって接続されている。なお、第3図と同一部分については同符号を用いて、その説明は省略する。
図6は本発明の第3の実施例にて第i番目の拡張CPU200のマイクロプログラムを書き換える手順を示すフローチャートである。第2の実施例に加えて、ステップU3にて、主CPU10は副CPU20に第i番目の拡張CPU202についてマイクロプログラムの書き換えを命令するとともに、通信インターフェース40を介して第i番目の拡張CPU202のマイクロプログラムの実行を停止させる。これは、副CPU20が第i番目の拡張CPU200の制御記憶201に更新用マイクロプログラムを書き込む場合に、第i番目の拡張CPU202がマイクロプログラムを実行していると拡張CPUが正常に動作しなくなる等の障害が起きるのを防ぐために行う。ただし、そういった虞がない場合には省略することも可能である。その場合には、第i番目の拡張CPU202は、主CPU10と副CPU20と通信インターフェース40によって接続しなくても良い。
(実施例4)
図10は本発明の第4の実施例の構成を示すブロック図であり、第3の実施例において、N=3とし、第2の拡張CPU200の代わりにFPGA(Field Programmable Logic Array)400が第2の拡張インターフェース202を介してアナログスイッチ50と接続され、第3の拡張CPU300の代わりにCPFD(Complex Programmable Logic Device)500が第3の拡張インターフェース302を介してアナログスイッチ50に接続されている。なお、第5図と同一部分については同符号を用いて、その説明は省略する。
FPGA400は、内部に多数の論理ブロックとRAMとを備えるICであり、RAM上のルックアップテーブルLUT(Look−Up Table)401に格納された情報によって論理ブロック間の接続を特定する(プログラムする)ことで複雑な情報処理機能を供することができる。FPGAは、数万から数百万の範囲の論理ゲートを有し、用途に応じてCPUの代わりに高度で複雑な情報処理や機器制御を高速に行うことができる。また、CPUのマイクロプログラムの更新と同様に、LUT401を書き換えることによってFPGA400の論理機能を変更することができる。LUT401の書き換えは、拡張CPUのマイクロプログラムの更新と同様に、拡張更新用インターフェース202に、例えば、2線式のインターフェースを採用することで行うことができる。
また、CPLD500は、多数の論理ブロック(マクロセルとも呼ばれる)とコンフィグレーションメモリ501とを備えるICであり、コンフィグレーションメモリ501に格納された論理ブロック間の接続情報によって複雑な情報処理回路を構成する(プログラムする)ことができる。CPLDは、数千から数万の論理ゲートに相当する論理機能を供することができ、用途に応じてCPUの代わりに高度で複雑な情報処理や機器制御を高速に行うことができる。また、CPUやFPGAと同様に、コンフィグレーションメモリ501を書き換えることによって論理機能を変更することができる。コンフィグレーションメモリ501の書き換えは、拡張CPUのマイクロプログラムの更新と同様に、拡張更新用インターフェース302に、例えば、2線式のインターフェースを採用することで行うことができる。
拡張更新用インターフェース102、202、302に2線式インターフェースを採用する場合、アナログスイッチ50は、例えば、図9に示す構成のものを使用することができる。拡張更新用インターフェース102、202、302のクロック信号線CK1、CK2、CK3およびデータ信号線D1、D2、D3は、信号レベル等の電気的規格等が相互に互換のものが使用される。FPGA400およびCPLD500のプログラムの更新にはそれぞれに固有の通信速度および通信プロトコルが使用されるが、本発明によれば、アナログスイッチ50によって更新を行うICのみ副CPUと接続され、他のICは遮断されているので、更新中の電気信号によるノイズによって他のICが誤動作するなどの影響を受けることなく、更新を行うことができる。従って、これまで述べた通り、本発明によれば、プログラムの更新によって論理機能の変更が可能なIC、例えば、FPGAやCPLD等も、CPUと同様に扱うことができ、本発明によってプログラムの更新を行うことができる。
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1、2、3、4 電子機器
10、20、100、200、300 CPU
11、101、201 301 制御記憶
21 更新用記憶領域
30、40 通信インターフェース
50、50a、50b 電子回路装置(アナログスイッチ)
51 汎用インターフェース
52、102、202、302 更新用インターフェース
53 制御インターフェース
400 FPGA
401 ルックアップテーブル(RAM)
500 CPLD
501 コンフィグレーションメモリ(フラッシュROM)

Claims (5)

  1. 制御記憶を備えた主CPUと、更新用記憶領域を備えた副CPUと、を有し、
    情報処理装置と該主CPUとは第1の通信インターフェースを介して接続され、該主CPUと該副CPUとは該第1の通信インターフェースとは独立の第2の通信インターフェースを介して接続される電子機器において、
    さらに、電子回路装置を有し、
    前記副CPUと該電子回路装置とは汎用インターフェースを介して接続され、
    該電子回路装置と前記主CPUとは更新用インターフェースを介して接続され、
    前記副CPUと該電子回路装置とは制御インターフェースを介して接続され、
    前記主CPUは、前記第1の通信インターフェースを介して前記情報処理装置から受信した更新用マイクロプログラムを前記第2の通信インターフェースを介して前記副CPUの前記更新用記憶領域に書き込み、
    前記副CPUは、前記制御インターフェースを介して前記電子回路装置にて前記汎用インターフェースと前記更新用インターフェースとを導通させ、前記更新用記領域に格納された前記更新用マイクロプログラムを前記汎用インターフェースと前記更新用インターフェースとを介して前記制御記憶に書き込む、
    ことを特徴とする電子機器。
  2. 前記電子機器は、さらに
    個々に制御記憶を備えたN個(Nは自然数)の拡張CPUを有し、
    前記電子回路装置と該第i番目(i=1〜N)の拡張CPUとは拡張更新用インターフェースを介して接続され、
    前記副CPUは前記制御インターフェースを介して前記電子回路装置にて前記更新用インターフェースと該N個の拡張更新用インターフェースのうちの一つを選択して前記汎用インターフェースと導通させる、
    ことを特徴とする請求項1に記載の電子機器。
  3. 前記N個の拡張更新用インターフェースのうち少なくともの一つの拡張更新用インターフェースのデータ通信速度あるいは通信プロトコルの少なくとも一方は、前記更新用インターフェースのデータ通信速度および通信プロトコルと異なる、
    ことを特徴とする請求項2に記載の電子機器。
  4. 前記汎用インターフェースと前記更新用インターフェースと前記拡張更新用インターフェースは2線式インターフェースである、
    ことを特徴とする請求項2または請求項3に記載の電子機器。
  5. 前記主CPUあるいは前記副CPUの少なくとも一方は、誤り検出手法による冗長データを使用して、前記更新用マイクロプログラムが前記更新用記憶領域あるいは前記制御記憶の少なくともいずれか一方に正常に書き込まれたことを検査する手段を有する、
    ことを特徴とする請求項1〜4のいずれか1項に記載の電子機器。
JP2013023932A 2013-02-11 2013-02-11 マイクロプログラムを更新可能な電子機器 Active JP6175788B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013023932A JP6175788B2 (ja) 2013-02-11 2013-02-11 マイクロプログラムを更新可能な電子機器
US14/174,121 US9495178B2 (en) 2013-02-11 2014-02-06 Electronics apparatus able to revise micro-program and algorithm to revise micro-program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013023932A JP6175788B2 (ja) 2013-02-11 2013-02-11 マイクロプログラムを更新可能な電子機器

Publications (2)

Publication Number Publication Date
JP2014153964A JP2014153964A (ja) 2014-08-25
JP6175788B2 true JP6175788B2 (ja) 2017-08-09

Family

ID=51298325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013023932A Active JP6175788B2 (ja) 2013-02-11 2013-02-11 マイクロプログラムを更新可能な電子機器

Country Status (2)

Country Link
US (1) US9495178B2 (ja)
JP (1) JP6175788B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484200B (zh) * 2014-12-09 2018-05-25 小米科技有限责任公司 对固件进行升级的方法及装置
US9886264B2 (en) 2014-12-09 2018-02-06 Xiaomi Inc. Method and device for upgrading firmware
US10437680B2 (en) 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
JP6717110B2 (ja) * 2016-08-12 2020-07-01 住友電気工業株式会社 光トランシーバ及びそのダウンロードデータの書き込み方法
CN107003914B (zh) 2016-10-31 2020-11-13 华为技术有限公司 启动物理设备的方法和使能装置
US20220385073A1 (en) * 2021-05-25 2022-12-01 Minesh Bhakta Power monitoring and control system which determines a performance parameter of an electrical load

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0414166A (ja) * 1990-05-08 1992-01-20 Matsushita Electric Ind Co Ltd マルチcpuシステムのプログラム制御装置
JPH05274141A (ja) 1992-03-30 1993-10-22 Toshiba Corp プログラムローディング方式
JPH0855068A (ja) 1994-08-15 1996-02-27 Toshiba Corp 通信端末装置
JP2002091935A (ja) * 2000-09-19 2002-03-29 Kenwood Corp 複数のcpuを作動させる回路
JP2008104036A (ja) * 2006-10-20 2008-05-01 Sumitomo Electric Ind Ltd 通信装置
JP5431111B2 (ja) * 2009-10-22 2014-03-05 株式会社日立製作所 情報処理装置及びシステム設定方法
US20130097348A1 (en) * 2011-09-09 2013-04-18 Assa Abloy Ab Method and system for communicating with and programming a secure element

Also Published As

Publication number Publication date
US9495178B2 (en) 2016-11-15
JP2014153964A (ja) 2014-08-25
US20140229707A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
JP6175788B2 (ja) マイクロプログラムを更新可能な電子機器
CN107493685B (zh) 经由端口控制器自身的外部端口对端口控制器进行再编程
EP3608775B1 (en) Electronic control system
CN102388366B (zh) 实现不同处理器兼容的方法及装置
CN105700970A (zh) 服务器***
JP2008192150A (ja) 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム
US20070101166A1 (en) Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer
CN103605542A (zh) Fpga配置文件的在线升级装置
JP2008052389A (ja) プログラマブル論理回路更新装置、更新方法、データ処理装置およびネットワーク装置
CN107704285A (zh) 现场可编程门阵列多版本配置芯片、***和方法
JP6005222B2 (ja) デバッグインターフェースを部分的にイネーブルするための装置
US20180357193A1 (en) Computing device and operation method
US20100070260A1 (en) Verification device, verifying apparatus and verification system
JP2023035930A (ja) コンピュータシステム及びコンピュータシステムのブート方法
CN103475514B (zh) 无bmc的节点、集群***及bios修复和升级方法
US8745279B2 (en) Self-healing and reconfiguration in an integrated circuit
TWI528287B (zh) 伺服器系統
US20140136875A1 (en) Apparatus and method of controlling clock signals
EP2750030A1 (en) Method, apparatus and processor for reading BIOS
TWI750215B (zh) Bios切換裝置
CN109684153B (zh) 具有双韧体储存空间的服务器及其韧体更新方法
US9703753B2 (en) Apparatus and method for updating a device
CN110704353A (zh) 一种cpci-arinc429热插拔***
JP2013164711A (ja) 演算装置及びその診断制御方法
JP5774941B2 (ja) コンフィグレーション装置及びコンフィグレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6175788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250