(57)【要約】【課題】記憶部に正しくデータが記憶されているか否かの判定に要する時間を抑制する。【解決手段】データを記憶する第１ＲＡＭ１１５〜第３ＲＡＭ１３１と、第１ＲＡＭ１１５〜第３ＲＡＭ１３１のうち１以上のメモリを選択するセレクト信号を生成し、当該１以上のメモリに出力するセレクト信号生成部１１４と、セレクト信号で選択された１以上のメモリから並列してデータを読み出し、当該読み出しにより１以上のメモリから出力される電圧に基づいて、セレクト信号で選択された１以上のメモリに記憶されているデータが一致するか否かを判定する第１ＣＰＵ１１０と、を備える。【選択図】図１
2013225301.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数の記憶部と、
前記複数の記憶部のうち１以上の記憶部を選択するセレクト信号を生成し、当該１以上の記憶部に出力するセレクト信号生成部と、
前記セレクト信号で選択された前記１以上の記憶部から並列して前記データを読み出し、当該読み出しにより前記１以上の記憶部から出力される電圧に基づいて、前記セレクト信号で選択された前記１以上の記憶部に記憶されている前記データが一致するか否かを判定する処理部と、
を備える制御装置。
【請求項２】
データを記憶する複数の記憶部と、
前記複数の記憶部のうち１以上の記憶部を選択するセレクト信号を生成し、当該１以上の記憶部に出力するセレクト信号生成部と、
前記セレクト信号で選択された前記１以上の記憶部から並列して前記データを読み出す処理部と、
前記処理部による読み出しにより前記１以上の記憶部から出力される電圧に基づいて、前記セレクト信号で選択された前記１以上の記憶部に記憶されている前記データが一致するか否かを判定する判定部と、
を備える制御装置。
【請求項３】
前記処理部は、前記１以上の記憶部をリード信号でアサートし、データ確定後に前記リード信号をネゲートし、前記リード信号をネゲートするタイミングで前記１以上の記憶部から前記データを読み出す請求項１又は２に記載の制御装置。
【請求項４】
前記処理部は、前記１以上の記憶部に記憶されている前記データが一致しない場合、前記１以上の記憶部に記憶されている前記データを、前記データの元データで上書きする請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記複数の記憶部は、不揮発性の記憶部を含み、
前記１以上の記憶部に記憶されている前記データは、前記処理部により前記不揮発性の記憶部から読み出されて前記１以上の記憶部に書き込まれたデータである請求項１〜４のいずれか１つに記載の制御装置。
【請求項６】
前記複数の記憶部は、揮発性の記憶部を含み、
前記１以上の記憶部は、前記揮発性の記憶部である請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記データは、プログラムである請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
請求項１〜７のいずれか１つに記載の制御装置を備える画像形成装置。
【請求項９】
セレクト信号生成部が、データを記憶する複数の記憶部のうち１以上の記憶部を選択するセレクト信号を生成し、当該１以上の記憶部に出力するステップと、
処理部が、前記セレクト信号で選択された前記１以上の記憶部から並列して前記データを読み出し、当該読み出しにより前記１以上の記憶部から出力される電圧に基づいて、前記セレクト信号で選択された前記１以上の記憶部に記憶されている前記データが一致するか否かを判定するステップと、
を含む判定方法。
【請求項１０】
セレクト信号生成部が、データを記憶する複数の記憶部のうち１以上の記憶部を選択するセレクト信号を生成し、当該１以上の記憶部に出力するステップと、
処理部が、前記セレクト信号で選択された前記１以上の記憶部から並列して前記データを読み出すステップと、
判定部が、前記処理部による読み出しにより前記１以上の記憶部から出力される電圧に基づいて、前記セレクト信号で選択された前記１以上の記憶部に記憶されている前記データが一致するか否かを判定するステップと、
を含む判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、画像形成装置及び判定方法に関する。
【背景技術】
【０００２】
従来から、複数のプロセッサ、及び複数のプロセッサそれぞれと対になるＲＡＭ（Random  Access  Memory）を搭載する制御装置において、所定のプロセッサが複数のＲＡＭにデータを書き込み、複数のプロセッサそれぞれが対となるＲＡＭに書き込まれたデータを用いて演算を行う技術が知られている（例えば、特許文献１参照）。
【０００３】
ここで、複数のＲＡＭにデータが正しく書き込まれたか否かを判定する方法として、所定のプロセッサが、書き込んだデータをＲＡＭから読み出し、元のデータと比較する方法が考えられる。このような方法に類する技術として、例えば、特許文献２が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来技術では、データが書き込まれたＲＡＭ毎に当該ＲＡＭからデータを読み出して比較を行う必要があるので、データが書き込まれたＲＡＭの数が多くなるほど判定に時間を要してしまうことになる。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、記憶部に正しくデータが記憶されているか否かの判定に要する時間を抑制することができる制御装置、画像形成装置及び判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる制御装置は、データを記憶する複数の記憶部と、前記複数の記憶部のうち１以上の記憶部を選択するセレクト信号を生成し、当該１以上の記憶部に出力するセレクト信号生成部と、前記セレクト信号で選択された前記１以上の記憶部から並列して前記データを読み出し、当該読み出しにより前記１以上の記憶部から出力される電圧に基づいて、前記セレクト信号で選択された前記１以上の記憶部に記憶されている前記データが一致するか否かを判定する処理部と、を備える。
【発明の効果】
【０００７】
本発明によれば、記憶部に正しくデータが記憶されているか否かの判定に要する時間を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１実施形態の制御装置の構成の一例を示すブロック図である。
【図２】図２は、第１実施形態のアドレス空間の割り当てテーブルの一例を示す図である。
【図３】図３は、第１実施形態のセレクト信号生成部の論理構成の一例を示す図である。
【図４】図４は、第１実施形態のセレクト信号生成部のＩＮＰＵＴとＯＵＴＰＵＴとの関係の一例を示す図である。
【図５】図５は、第１実施形態の第１ＣＰＵの判定方法の一例の説明図である。
【図６】図６は、第１実施形態の第１ＣＰＵの判定方法の一例の説明図である。
【図７】図７は、第１実施形態のデータ読み出し時のタイミングチャートの一例を示す図である。
【図８】図８は、第１実施形態のデータ書き込み時のタイミングチャートの一例を示す図である。
【図９】図９は、第１実施形態の制御装置で行われる判定処理の一例を示すフローチャートである。
【図１０】図１０は、第２実施形態の制御装置の構成の一例を示すブロック図である。
【図１１】図１１は、第２実施形態の判定部の構成の一例を示す回路図である。
【図１２】図１２は、第２実施形態の判定部の判定方法の一例の説明図である。
【図１３】図１３は、第３実施形態の制御装置の構成の一例を示すブロック図である。
【図１４】図１４は、第３実施形態の第１ＲＡＭ〜第３ＲＡＭの出力端子の一例を示す回路模式図である。
【図１５】図１５は、第３実施形態の第１ＣＰＵ３１０に入力される電圧の電圧レベルの一例を示す図である。
【図１６】図１６は、第３実施形態の電圧判定テーブルの一例を示す図である。
【図１７】図１７は、変形例８の制御装置の構成の一例を示すブロック図である。
【図１８】図１８は、変形例９の制御装置の構成の一例を示すブロック図である。
【図１９】図１９は、各実施形態及び各変形例の制御装置を備えるシステムの全体構成の一例を示す模式図である。
【図２０】図２０は、各実施形態及び各変形例の複合機の作像及び転写にかかる構成の一例を示す模式図である。
【図２１】図２１は、各実施形態及び各変形例の複合機のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明にかかる制御装置、画像形成装置及び判定方法の実施形態を詳細に説明する。
【００１０】
（第１実施形態）
図１は、第１実施形態の制御装置１００の構成の一例を示すブロック図である。制御装置１００は、図１に示すように、ＲＯＭ（Read  Only  Memory）１０２と、第１ＣＰＵ（Central  Processing  Unit）１１０と、セレクト信号生成部１１４と、第１ＲＡＭ（Random  Access  Memory）１１５と、第２ＣＰＵ１２０と、第２ＲＡＭ１２１と、第３ＣＰＵ１３０と、第３ＲＡＭ１３１とを、備える。
【００１１】
ＲＯＭ１０２（記憶部の一例）は、不揮発性の記憶装置であり、制御プログラムを記憶している。第１ＲＡＭ１１５（記憶部の一例）、第２ＲＡＭ１２１（記憶部の一例）、及び第３ＲＡＭ１３１（記憶部の一例）は、揮発性の記憶装置であり、ＲＯＭ１０２に記憶されている制御プログラムがダウンロードされる。
【００１２】
第１ＣＰＵ１１０（処理部の一例）、第２ＣＰＵ１２０、第３ＣＰＵ１３０は、それぞれ、対となる第１ＲＡＭ１１５、第２ＲＡＭ１２１、第３ＲＡＭ１３１にダウンロードされた制御プログラムを実行することにより、動作する。つまり、図１に示す例では、第１ＣＰＵ１１０、第２ＣＰＵ１２０、第３ＣＰＵ１３０は、それぞれ、破線で囲まれた範囲で独立して動作可能に構成されている。
【００１３】
各ＣＰＵ及びＲＡＭのペアは同等の性能を有し、いずれのペアにおいても同等の処理が実行されるが、本実施形態では、第１ＣＰＵ１１０がマスタであり、第２ＣＰＵ１２０及び第３ＣＰＵ１３０がスレーブである場合を例に取り説明する。
【００１４】
このため、本実施形態では、図１に示すように、ＲＯＭ１０２及びセレクト信号生成部１１４が第１ＣＰＵ１１０を含む破線内に配置されている。また、各ＣＰＵは、伝送路（データバスＤＢやアドレスバスＡＢなど）によって、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１とパラレル接続（バス接続）されている。なお、接続は、パラレル接続ではなくシリアル接続であってもよい。そして各ＣＰＵは、伝送路を介してこれらのメモリにアクセスし、データ（プログラムを含む）の読み出しや書き込みを行う。
【００１５】
以下では、第１ＣＰＵ１１０が、ＲＯＭ１０２から制御プログラムを読み出し、読み出した制御プログラムを第１ＲＡＭ１１５〜第３ＲＡＭ１３１に並列して書き込み（ダウンロードし）、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から制御プログラムを並列して読み出す場合を主に想定して説明を行う。
【００１６】
第１ＣＰＵ１１０は、コア１１１と、デコーダ１１２とを、含む。
【００１７】
コア１１１は、第１ＣＰＵ１１０の中核部分であり、演算処理などを実行するものである。コア１１１は、アクセス対象のメモリ（図１に示す例では、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１の少なくともいずれか）にアクセスするために、アドレス空間においてアクセス対象のメモリが割り当てられたアドレスをデコーダ１１２に指定する。なお、本実施形態では、アドレスは、３２ビットであるものとするが、これに限定されるものではない。
【００１８】
図２は、本実施形態のアドレス空間の割り当てテーブルの一例を示す図である。図２に示す割り当てテーブルでは、チップセレクト（以下、ＣＳと称する場合がある）名と、アドレスと、Ｂｌｏｃｋ＿Ｓｉｚｅと、セレクトデバイスとが対応付けられている。本実施形態では、第１ＣＰＵ１１０は、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうち２以上のＲＡＭに並列してアクセスする。このため、図２に示す割り当てテーブルでは、セレクトデバイスにＲＡＭの組合せ（第１ＲＡＭ〜第３ＲＡＭ、第２ＲＡＭ〜第３ＲＡＭ）も割り当てられている。なお本実施形態では、図２に示す割り当てテーブルは、第１ＣＰＵ１１０が保持しているものとする。また、図２に示す例では、第１ＲＡＭ及び第３ＲＡＭの組合せについては、割り当てがされていないが、第１ＲＡＭ及び第３ＲＡＭの組合せについても空きアドレス（例えば、アドレス０ｘ２２３０＿００００〜０ｘ２２３Ｆ＿ＦＦＦＦ）を割り当ててもよい。
【００１９】
例えば、コア１１１は、アクセス対象のメモリ（セレクトデバイス）がＲＯＭ１０２の場合、図２に示す割り当てテーブルを参照して、アドレス０ｘ２２００＿００００〜０ｘ２２０Ｆ＿ＦＦＦＦをデコーダ１１２に指定する。また例えば、コア１１１は、アクセス対象のメモリ（セレクトデバイス）が第１ＲＡＭ１１５〜第３ＲＡＭ１３１の場合、図２に示す割り当てテーブルを参照して、アドレス０ｘ２２２０＿００００〜０ｘ２２２Ｆ＿ＦＦＦＦをデコーダ１１２に指定する。
【００２０】
デコーダ１１２は、コア１１１から指定されたアドレスに応じた信号と指定されたアドレスの所定ビット値とをセレクト信号生成部１１４に出力する。本実施形態では、デコーダ１１２は、コア１１１から指定されたアドレスに応じた信号として、ＣＳ１信号、ＣＳ２信号、及びＣＳ３信号を、ポートを介してセレクト信号生成部１１４に出力する。
【００２１】
ここで本実施形態では、図２に示すように、ＣＳ１信号は、アドレス０ｘ２２００＿００００〜０ｘ２３ＦＦ＿ＦＦＦＦに対応付けられたＣＳ信号であり、ＣＳ２信号は、アドレス０ｘ２４００＿００００〜０ｘ２５ＦＦ＿ＦＦＦＦに対応付けられたＣＳ信号であり、ＣＳ３信号は、アドレス０ｘ２６００＿００００〜０ｘ２７ＦＦ＿ＦＦＦＦに対応付けられたＣＳ信号である。
【００２２】
またデコーダ１１２は、コア１１１から指定されたアドレスの所定ビット値として、アドレスの２０ビット目及び２１ビット目の値、即ち、アドレスの２０ビット目のアドレス信号（以下、Ａ（２０）信号と称する）及び２１ビット目のアドレス信号（以下、Ａ（２１）信号と称する）を、アドレスバスＡＢを介してセレクト信号生成部１１４に出力する。
【００２３】
例えば、デコーダ１１２は、コア１１１からアドレス０ｘ２２００＿００００〜０ｘ２２０Ｆ＿ＦＦＦＦが指定された場合、図２に示す割り当てテーブルを参照して、ＣＳ１信号をアサートし、ＣＳ２信号及びＣＳ３信号をネゲートする。またデコーダ１１２は、アドレス０ｘ２２２０＿００００〜０ｘ２２２Ｆ＿ＦＦＦＦの２０ビット目の値“０”及び２１ビット目の値“０”をセレクト信号生成部１１４に出力する。
【００２４】
また例えば、デコーダ１１２は、コア１１１からアドレス０ｘ２２２０＿００００〜０ｘ２２２Ｆ＿ＦＦＦＦが指定された場合、図２に示す割り当てテーブルを参照して、ＣＳ１信号をアサートし、ＣＳ２信号及びＣＳ３信号をネゲートする。またデコーダ１１２は、アドレス０ｘ２２２０＿００００〜０ｘ２２２Ｆ＿ＦＦＦＦの２０ビット目の値“０”及び２１ビット目の値“１”をセレクト信号生成部１１４に出力する。
【００２５】
ここで本実施形態では、ＣＳ信号をアサートすると、当該ＣＳ信号の出力はＬｏｗ（以下、Ｌと称する）となり、ＣＳ信号をネゲートすると、当該ＣＳ信号の出力はＨｉｇｈ（以下、Ｈと称する）となるものとする。また、ビットの値が“０”の場合、当該ビットのアドレス信号の出力はＬとなり、ビットの値が“１”の場合、当該ビットのアドレス信号の出力はＨとなるものとする。
【００２６】
セレクト信号生成部１１４は、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうち、１以上のメモリを選択するセレクト信号を生成し、当該１以上のメモリに出力する。具体的には、セレクト信号生成部１１４は、デコーダ１１２から出力された信号と所定ビット値とに応じて、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうちの１以上のメモリを選択するセレクト信号を生成し、当該１以上のメモリに出力する。
【００２７】
本実施形態では、セレクト信号生成部１１４には、デコーダ１１２から、ＣＳ１信号〜ＣＳ３信号、並びにＡ（２０）信号及びＡ（２１）信号が入力される。そしてセレクト信号生成部１１４は、セレクト信号として、ＲＯＭ１０２を選択するＣＳ４信号、第１ＲＡＭ１１５を選択するＣＳ５信号、第２ＲＡＭ１２１を選択するＣＳ６信号、及び第３ＲＡＭ１３１を選択するＣＳ７信号の少なくともいずれかを生成し、ポートを介して該当するメモリに出力する。
【００２８】
このように、セレクト信号生成部１１４は、ＣＳ信号数を拡大するために用いられる。例えば、セレクト信号生成部１１４を用いずに、デコーダ１１２により生成されるＣＳ信号を用いてアクセス対象のメモリを選択するとする。この場合、デコーダ１１２から出力されるＣＳ信号は、ＣＳ１〜ＣＳ３の３つであるため、アクセス対象のメモリを３つまでしか選択できない。
【００２９】
これに対し、セレクト信号生成部１１４は、ＣＳ１信号〜ＣＳ３信号を入力にしてＣＳ信号を出力する。ここで、ＣＳ信号は（Ｌｏｗ，Ｈｉｇｈ）の２パターンとなるため、セレクト信号生成部１１４は、ＣＳ１信号〜ＣＳ３信号を入力とすることにより、４つのＣＳ信号（ＣＳ４信号〜ＣＳ７信号）を出力することができる。
【００３０】
また本実施形態では、第１ＣＰＵ１１０は、前述したように、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうち２以上のＲＡＭに並列してアクセスするので、セレクト信号生成部１１４は、ＣＳ４信号〜ＣＳ７信号のうち２以上のＣＳ信号をアサートする必要がある。
【００３１】
このため、セレクト信号生成部１１４は、更に、Ａ（２０）信号及びＡ（２１）信号を入力にしてＣＳ信号を出力する。ここで、アドレス信号は（Ｌｏｗ，Ｈｉｇｈ）の２パターンとなるため、セレクト信号生成部１１４は、ＣＳ１信号〜ＣＳ３信号、並びにＡ（２０）信号及びＡ（２１）信号を入力とすることにより、ＣＳ４信号〜ＣＳ７信号のうち２以上のＣＳ信号をアサートすることができる。
【００３２】
例えば、セレクト信号生成部１１４は、デコーダ１１２から、ＣＳ１信号“Ｌ”、ＣＳ２信号“Ｈ”、ＣＳ３信号“Ｈ”、Ａ（２０）信号“Ｌ”、及びＡ（２１）信号“Ｌ”が入力されると、ＣＳ４信号をアサートし、ＣＳ５〜ＣＳ７信号をネゲートする。つまり、セレクト信号生成部１１４は、ＣＳ４信号“Ｌ”をＲＯＭ１０２に出力し、ＣＳ５信号“Ｈ”を第１ＲＡＭ１１５に出力し、ＣＳ６信号“Ｈ”を第２ＲＡＭ１２１に出力し、ＣＳ７信号“Ｈ”を第３ＲＡＭ１３１に出力する。
【００３３】
これにより、第１ＣＰＵ１１０は、ＲＯＭ１０２にアクセスでき、ＲＯＭ１０２から制御プログラムを読み出すことができる。
【００３４】
また例えば、セレクト信号生成部１１４は、デコーダ１１２から、ＣＳ１信号“Ｌ”、ＣＳ２信号“Ｈ”、ＣＳ３信号“Ｈ”、Ａ（２０）信号“Ｌ”、及びＡ（２１）信号“Ｈ”が入力されると、ＣＳ４信号をネゲートし、ＣＳ５〜ＣＳ７信号をアサートする。つまり、セレクト信号生成部１１４は、ＣＳ４信号“Ｈ”をＲＯＭ１０２に出力し、ＣＳ５信号“Ｌ”を第１ＲＡＭ１１５に出力し、ＣＳ６信号“Ｌ”を第２ＲＡＭ１２１に出力し、ＣＳ７信号“Ｌ”を第３ＲＡＭ１３１に出力する。
【００３５】
これにより、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に並列してアクセスでき、ＲＯＭ１０２から読み出した制御プログラムを第１ＲＡＭ１１５〜第３ＲＡＭ１３１に並列して書き込むことができる。この結果、第１ＣＰＵ１１０、第２ＣＰＵ１２０、第３ＣＰＵ１３０は、それぞれ、対となる第１ＲＡＭ１１５、第２ＲＡＭ１２１、第３ＲＡＭ１３１にダウンロードされた制御プログラムを読み出して実行することにより、当該制御プログラムに従った動作を独立して実行する。また、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に制御プログラムが書き込まれた後であれば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して制御プログラムを読み出すこともできる。これにより、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に正しく制御プログラムが書き込まれたか否かを判定することができる。
【００３６】
図３は、本実施形態のセレクト信号生成部１１４の論理構成の一例を示す図であり、図４は、本実施形態のセレクト信号生成部１１４のＩＮＰＵＴとＯＵＴＰＵＴとの関係の一例を示す図である。
【００３７】
セレクト信号生成部１１４は、本実施形態では、図３に示すような、ＮＯＴゲート、ＮＡＮＤゲート、及びＮＯＲゲートなどの組合せで実現されているが、セレクト信号生成部１１４の回路構成（論理構成）はこれに限定されるものではない。セレクト信号生成部１１４は、図４に示すＩＮＰＵＴとＯＵＴＰＵＴとの関係が成立すれば、どのような回路構成であってもよい。
【００３８】
なお、図３に示す回路構成では、領域１４２の回路構成が４つのＣＳ信号（ＣＳ４信号〜ＣＳ７信号）を出力するためのものであり、領域１４１の回路構成がＣＳ４信号〜ＣＳ７信号のうち２以上のＣＳ信号をアサートするためのものである。
【００３９】
また、第１ＣＰＵ１１０は、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうち、１以上のメモリから並列してデータを読み出すと、当該読み出しにより当該１以上のメモリから出力される電圧に基づいて、当該１以上のメモリに記憶されているデータが一致するか否かを判定する。例えば、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して制御プログラムを読み出すと、当該読み出しにより第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力される電圧に基づいて、当該第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致するか否かを判定する。
【００４０】
本実施形態では、第１ＣＰＵ１１０（詳細には、第１ＣＰＵ１１０の図示せぬアナログデジタル変換端子）は、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１と、抵抗（例えば、５０ｋΩ）を介してデータバスＤＢ（０ビット目〜７ビット目）で接続されている。
【００４１】
つまり、本実施形態では、第１ＣＰＵ１１０が、例えば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から制御プログラムを読み出すと、第１ＲＡＭ１１５〜第３ＲＡＭ１３１からアナログの電圧信号が抵抗及びデータバスＤＢを介して第１ＣＰＵ１１０へ出力される。そして第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力されたアナログの電圧信号をアナログデジタル変換端子でデジタルの電圧信号に変換し、電圧レベルを確認することで、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致するか否かを確認する。
【００４２】
第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致する場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムのビット値は、全て“０”又は“１”で一致する。つまり、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力されるアナログの電圧信号の電圧レベルはいずれも０Ｖ又は５Ｖで一致し、同一の電圧レベルがぶつかるだけなので、第１ＣＰＵ１１０に入力されるアナログの電圧信号の電圧レベルもその付近の値（０Ｖ付近又は５Ｖ付近）となる。
【００４３】
一方、書き込みエラーなどにより、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致しない場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムのビット値は、一致しないことがある。例えば、第１ＲＡＭ１１５では書き込みが失敗したため所定ビット値が“０”となっているが、第２ＲＡＭ１２１〜第３ＲＡＭ１３１では書き込みが成功したため所定ビット値が“１”となっているとする。この場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムの所定ビット値は、不一致となる。つまり、第１ＲＡＭ１１５から出力されるアナログの電圧信号の電圧レベルは０Ｖ、第２ＲＡＭ１２１〜第３ＲＡＭ１３１から出力されるアナログの電圧信号の電圧レベルは５Ｖとなり、異なる電圧レベルがぶつかるので、第１ＣＰＵ１１０に入力されるアナログの電圧信号の電圧レベルはその付近の値（０Ｖ付近又は５Ｖ付近）から大きく異なることになる。なお、この例では、３．７Ｖ付近となる。
【００４４】
このため本実施形態では、第１ＣＰＵ１１０は、図５に示すように、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から第１ＣＰＵ１１０に入力された電圧信号の電圧レベルが、０Ｖ〜１Ｖ又は４Ｖ〜５Ｖであれば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致する、即ち、第１ＲＡＭ１１５〜第３ＲＡＭ１３１への制御プログラムの書き込みが成功したと判定する。
【００４５】
一方、第１ＣＰＵ１１０は、図６に示すように、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から第１ＣＰＵ１１０に入力された電圧信号の電圧レベルが、１Ｖ〜４Ｖであれば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致しない、即ち、第１ＲＡＭ１１５〜第３ＲＡＭ１３１への制御プログラムの書き込みが失敗したと判定する。なお、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１への制御プログラムの書き込みが失敗した場合、再度、ＲＯＭ１０２から制御プログラムを読み出し、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に書き込んでもよい。つまり、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されているデータが一致しない場合、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されているデータを、当該データの元データ、即ち、ＲＯＭ１０２に記憶されているデータで上書きするようにしてもよい。
【００４６】
図７は、本実施形態のデータ読み出し時のタイミングチャートの一例を示す図である。第１ＣＰＵ１１０は、ＲＯＭ１０２、及び第１ＲＡＭ１１５〜第３ＲＡＭ１３１などの読み出し対象のメモリに、ＣＳ（チップセレクト）信号、ＡＢ信号、及びＲＤ信号（リード信号の一例）を送信し、データを読み出す。ＣＳ信号は、読み出し対象のメモリを選択する信号であり、ＡＢ信号は、アドレスを指定する信号であり、ＲＤ信号は、読み出し対象のＤＡＴＡを確定する信号である。
【００４７】
第１ＣＰＵ１１０が各信号を読み出し対象のメモリに出力するタイミングは、当該読み出し対象のメモリの仕様に応じて調整する。具体的には、第１ＣＰＵ１１０は、まず、IのタイミングでＡＢ信号をアサートしてアドレスを設定し、IIのタイミングでＣＳ信号をアサートして読み出し対象のメモリを設定し、IIIのタイミングでＲＤ信号をアサートしてＤＡＴＡを確定する。ＤＡＴＡが確定されると、一定時間経過後（Ａのタイミング）に読み出し対象のメモリからＤＡＴＡが出力されるので、第１ＣＰＵ１１０は、ＲＤ信号をネゲートするタイミング（IVのタイミングで）で出力されたＤＡＴＡで読み出す。第１ＣＰＵ１１０がＲＤ信号をネゲートするタイミングは、第１ＣＰＵ１１０で調整できるので、ＤＡＴＡが確定しているタイミングでネゲートするように設定しておけばよい。これにより、第１ＣＰＵ１１０は、複数の読み出し対象のメモリから比較対象のデータ（ビット値）を、タイミングを合わせて読み出すことができ、読み出し時にメモリから出力される電圧信号の電圧レベルが上述したようになる。
【００４８】
図８は、本実施形態のデータ書き込み時のタイミングチャートの一例を示す図である。第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１などの書き込み対象のメモリに、ＣＳ信号、ＡＢ信号、及びＷＳ（ライト）信号を送信し、データを書き込む。ＷＳ信号は、書き込み対象のＤＡＴＡを確定する信号である。
【００４９】
第１ＣＰＵ１１０が各信号を読み出し対象のメモリに出力するタイミングは、当該読み出し対象のメモリの仕様に応じて調整する。具体的には、第１ＣＰＵ１１０は、まず、VのタイミングでＡＢ信号をアサートしてアドレスを設定し、VIのタイミングでＣＳ信号をアサートして読み出し対象のメモリを設定し、VIIのタイミングでＷＳ信号をアサートし、ＤＡＴＡを出力する。そして第１ＣＰＵ１１０は、ＷＳ信号をネゲートするタイミング（VIIIのタイミングで）で出力したＤＡＴＡを書き込み対象のメモリに書き込む。第１ＣＰＵ１１０がＷＳ信号をネゲートするタイミングは、第１ＣＰＵ１１０で調整できるので、ＤＡＴＡを書き込み可能となるタイミングでネゲートするように設定しておけばよい。
【００５０】
図９は、本実施形態の制御装置１００で行われる判定処理の一例を示すフローチャートである。ここでは、第１ＣＰＵ１１０が、ＲＯＭ１０２からデータを読み出し、読み出したデータを第１ＲＡＭ１１５〜第３ＲＡＭ１３１に書き込んでおり、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に正しくデータが書き込まれたか否かを判定するものとする。
【００５１】
まず、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列してデータを読み出す（ステップＳ１００）。
【００５２】
続いて、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から第１ＣＰＵ１１０に入力された電圧信号の電圧レベルを確認する（ステップＳ１０２）。
【００５３】
第１ＣＰＵ１１０は、入力された電圧信号の電圧レベルが、０Ｖ〜１Ｖ又は４Ｖ〜５Ｖであれば、即ち第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されているデータが一致しているので（ステップＳ１０４でＹｅｓ）、データ書き込み成功と判定する（ステップＳ１０６）。
【００５４】
一方、第１ＣＰＵ１１０は、入力された電圧信号の電圧レベルが、１Ｖ〜４Ｖであれば、即ち第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されているデータが一致していないので（ステップＳ１０４でＮｏ）、データ書き込み失敗と判定する（ステップＳ１０８）。
【００５５】
以上のように、本実施形態では、第１ＣＰＵ１１０は、複数のメモリから並列して（１度に）データを読み出し、当該読み出しにより当該１以上のメモリから出力される電圧に基づいて、当該１以上のメモリに記憶されているデータが一致するか否かを判定する。このため、本実施形態によれば、確認対象のデータを記憶するメモリが複数であっても、メモリに正しくデータが記憶されているか否かの判定に要する時間を抑制することができる。
【００５６】
また、本実施形態では、セレクト信号生成部は、ＣＰＵに指定されたアドレスと当該アドレスの所定ビット値とに応じて１以上のメモリを選択するＣＳ信号を生成し、当該１以上のメモリに出力する。特に本実施形態では、アドレスに加え当該アドレスの所定ビット値を用いてＣＳ信号を生成しているため、ＣＰＵはアドレスを指定するだけで１以上のメモリを選択することができ、簡易な処理で複数のメモリへ並列してアクセス可能とすることができる。この結果、本実施形態によれば、例えば選択した１以上のメモリに制御プログラムを並列して書き込む（ダウンロードする）ことができ、制御プログラムの書き込み時間を短縮できる。
【００５７】
また本実施形態では、アドレスの所定ビット値は、アドレスバスを介して出力されるため、別途ポートを確保する必要がない。このため、本実施形態によれば、ポートの枯渇や使用可能なポートの数を増やすることによる制御装置の巨大化やコスト高を防止できる。なお、ＣＳ信号用のポートは、制御装置１００の処理に必須のポートであり、使用可能なポートの数を制限してしまうものではない。
【００５８】
（第２実施形態）
第２実施形態では、判定部を用いてメモリに正しくデータが記憶されているか否かを判定する例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００５９】
図１０は、第２実施形態の制御装置２００の構成の一例を示すブロック図である。制御装置２００は、図１０に示すように、判定部１１６を更に備える点で、第１実施形態の制御装置１００と相違する。
【００６０】
判定部１１６は、第１ＣＰＵ１１０が、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１のうち、１以上のメモリから並列してデータを読み出すと、当該読み出しにより当該１以上のメモリから出力される電圧に基づいて、当該１以上のメモリに記憶されているデータが一致するか否かを判定する。例えば、判定部１１６は、第１ＣＰＵ１１０が、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して制御プログラムを読み出すと、当該読み出しにより第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力される電圧に基づいて、当該第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致するか否かを判定する。
【００６１】
本実施形態では、判定部１１６は、ＲＯＭ１０２、第１ＲＡＭ１１５、第２ＲＡＭ１２１、及び第３ＲＡＭ１３１と、抵抗（例えば、５０ｋΩ）を介してデータバスＤＢ（０ビット目〜７ビット目）で接続されている。
【００６２】
つまり、本実施形態では、第１ＣＰＵ１１０が、例えば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から制御プログラムを読み出すと、第１ＲＡＭ１１５〜第３ＲＡＭ１３１からアナログの電圧信号が抵抗及びデータバスＤＢを介して判定部１１６へ出力される。そして判定部１１６は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力されたアナログの電圧信号の電圧レベルを確認することで、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致するか否かを確認する。
【００６３】
図１１は、本実施形態の判定部１１６の構成の一例を示す回路図である。判定部１１６は、図１１に示すように、第１コンパレータ１１７、第２コンパレータ１１８、及びＥＸ−ＯＲゲート１１９などを備える。本実施形態では、第１コンパレータ１１７の基準電圧が４Ｖであり、第２コンパレータ１１８の基準電圧が１Ｖであるものとする。
【００６４】
第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致する場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムのビット値は、全て“０”又は“１”で一致する。つまり、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から出力されるアナログの電圧信号の電圧レベルはいずれも０Ｖ又は５Ｖで一致し、同一の電圧レベルがぶつかるだけなので、判定部１１６に入力されるアナログの電圧信号の電圧レベルもその付近の値（０Ｖ付近又は５Ｖ付近）となる。
【００６５】
ここで、電圧レベルが５Ｖ付近のアナログの電圧信号が判定部１１６に入力されると、図１２に示すように、第１コンパレータ１１７及び第２コンパレータ１１８の出力は共に“Ｈ”となるため、ＥＸ−ＯＲゲート１１９の出力は、“Ｈ”となる。また、電圧レベルが０Ｖ付近のアナログの電圧信号が判定部１１６に入力されると、図１２に示すように、第１コンパレータ１１７及び第２コンパレータ１１８の出力は共に“Ｌ”となるため、ＥＸ−ＯＲゲート１１９の出力は、“Ｈ”となる。
【００６６】
一方、書き込みエラーなどにより、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致しない場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムのビット値は、一致しないことがある。例えば、第１ＲＡＭ１１５では書き込みが失敗したため所定ビット値が“０”となっているが、第２ＲＡＭ１２１〜第３ＲＡＭ１３１では書き込みが成功したため所定ビット値が“１”となっているとする。この場合、第１ＣＰＵ１１０によって第１ＲＡＭ１１５〜第３ＲＡＭ１３１から並列して読み出される制御プログラムの所定ビット値は、不一致となる。つまり、第１ＲＡＭ１１５から出力されるアナログの電圧信号の電圧レベルは０Ｖ、第２ＲＡＭ１２１〜第３ＲＡＭ１３１から出力されるアナログの電圧信号の電圧レベルは５Ｖとなり、異なる電圧レベルがぶつかるので、判定部１１６に入力されるアナログの電圧信号の電圧レベルはその付近の値（０Ｖ付近又は５Ｖ付近）から大きく異なることになる。なお、この例では、３．７Ｖ付近となる。
【００６７】
ここで、電圧レベルが３．７Ｖ付近のアナログの電圧信号が判定部１１６に入力されると、図１２に示すように、第１コンパレータ１１７の出力は“Ｌ”、第２コンパレータ１１８の出力は“Ｈ”となるため、ＥＸ−ＯＲゲート１１９の出力は、“Ｈ”となる。
【００６８】
このため本実施形態では、判定部１１６は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から第１ＣＰＵ１１０に入力された電圧信号の電圧レベルが、０Ｖ〜１Ｖ又は４Ｖ〜５Ｖであれば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致するため、出力が“Ｈ”となる入力信号を第１ＣＰＵ１１０に出力する。これにより、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１への制御プログラムの書き込みが成功したことを確認する。
【００６９】
一方、判定部１１６は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１から第１ＣＰＵ１１０に入力された電圧信号の電圧レベルが、１Ｖ〜４Ｖであれば、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に記憶されている制御プログラムが一致しないため、出力が“Ｌ”となる入力信号を第１ＣＰＵ１１０に出力する。これにより、第１ＣＰＵ１１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１への制御プログラムの書き込みが失敗したことを確認する。
【００７０】
以上のように、本実施形態では、第１ＣＰＵ１１０は、複数のメモリから並列して（１度に）データを読み出し、判定部１１６は、当該読み出しにより当該１以上のメモリから出力される電圧に基づいて、当該１以上のメモリに記憶されているデータが一致するか否かを判定する。このため、本実施形態によれば、確認対象のデータを記憶するメモリが複数であっても、メモリに正しくデータが記憶されているか否かの判定に要する時間を抑制することができる。
【００７１】
（第３実施形態）
第３実施形態では、いずれのメモリへのデータの書き込みが失敗したかを判定する例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００７２】
図１３は、第３実施形態の制御装置３００の構成の一例を示すブロック図である。制御装置３００は、図１３に示すように、第１ＣＰＵ３１０が第１実施形態と相違し、第１ＣＰＵ３１０と第１ＲＡＭ１１５〜第３ＲＡＭ１３１それぞれとを結ぶバスライン上の抵抗３１７、３２２、３３２の定数が第１実施形態と相違する。
【００７３】
第３実施形態では、抵抗３１７の定数が１０ｋΩ、抵抗３２２の定数が３．３ｋΩ、抵抗３２２の定数が６．８ｋΩである場合を例に取り説明するが、各抵抗の定数は、互いにことなっていれば、どのような値であってもよい。
【００７４】
第３実施形態では、このように各抵抗の定数が異なるため、第１ＲＡＭ１１５〜第３ＲＡＭ１３１のいずれのＲＡＭでデータの書き込みが失敗したかに応じて、第１ＣＰＵ３１０に入力される電圧信号の電圧レベルが異なることになる。
【００７５】
図１４は、第３実施形態の第１ＲＡＭ１１５〜第３ＲＡＭ１３１の出力端子の一例を示す回路模式図である。図１４に示すように、第１ＲＡＭ１１５は、トランジスタ１１５Ａとトランジスタ１１５Ｂとを備えており、第２ＲＡＭ１２１は、トランジスタ１２１Ａとトランジスタ１２１Ｂとを備えており、第３ＲＡＭ１３１は、トランジスタ１３１Ａとトランジスタ１３１Ｂとを備えている。
【００７６】
第１ＲＡＭ１１５において、書き込みが成功したため所定ビット値が“１”となっており、第１ＲＡＭ１１５上で“Ｈ”レベルを示す場合、トランジスタ１１５Ａがオンし、トランジスタ１１５Ｂがオフした状態となる。この結果、第１ＲＡＭ１１５は、電源（５Ｖ）側への接続状態となり、第１ＲＡＭ１１５上で“Ｈ”レベルを示し、電圧レベルは５Ｖとなる。
【００７７】
一方、第１ＲＡＭ１１５において、書き込みが失敗したため所定ビット値が“０”となっており、第１ＲＡＭ１１５上で“Ｌ”レベルを示す場合、トランジスタ１１５Ａがオフし、トランジスタ１１５Ｂがオンした状態となる。この結果、第１ＲＡＭ１１５は、ＧＮＤ（０Ｖ）側への接続状態となり、第１ＲＡＭ１１５上で“Ｌ”レベルを示し、電圧レベルは０Ｖとなる。
【００７８】
なお説明は省略するが、第２ＲＡＭ１２１〜第３ＲＡＭ１３１についても、第１ＲＡＭ１１５と同様である。
【００７９】
例えば、第３ＲＡＭ１３１では書き込みが失敗したため所定ビット値が“０”となっているが、第１ＲＡＭ１１５〜第２ＲＡＭ１２１では書き込みが成功したため所定ビット値が“１”となっているとする。
【００８０】
この場合、第１ＲＡＭ１１５〜第２ＲＡＭ１２１は“Ｈ”レベルであり、第３ＲＡＭ１３１は“Ｌ”レベルであるため、トランジスタ１１５Ａがオン、トランジスタ１１５Ｂがオフ、トランジスタ１２１Ａがオン、トランジスタ１２１Ｂがオフ、トランジスタ１３１Ａがオフ、トランジスタ１３１Ｂがオンとなる。
【００８１】
そして、第３ＣＰＵ３１０が第１ＲＡＭ１１５〜第３ＲＡＭ１３１から所定ビット値の読み出しを行うと、第３ＲＡＭ１３１から出力されるアナログの電圧信号の電圧レベルは０Ｖ、第１ＲＡＭ１１５〜第２ＲＡＭ１２１から出力されるアナログの電圧信号の電圧レベルは５Ｖとなる。
【００８２】
これは、第３ＲＡＭ１３１については、６．８ｋΩの抵抗３２２でプルダウンされている状態と同じ状態となり、第１ＲＡＭ１１５〜第２ＲＡＭ１２１については、それぞれ、１０ｋΩの抵抗３１７、３．３ｋΩの抵抗３２２を５Ｖで並列にプルアップされている状態と同じ状態となり、図１５に示すように、この状態の電圧レベル（３．６６Ｖ程度）が第１ＣＰＵ３１０に入力されることになる。
【００８３】
そして第１ＣＰＵ３１０は、入力された電圧レベルから第１ＲＡＭ１１５〜第３ＲＡＭ１３１のいずれのＲＡＭでデータの書き込みに失敗しているかを判定する。具体的には、第１ＣＰＵ３１０は、図１６に示すような、第１ＣＰＵ３１０に入力される電圧レベルの電圧範囲と、第１ＲＡＭ１１５〜第３ＲＡＭ１３１の電圧レベルとを対応付けた電圧判定テーブルを参照することで、入力された電圧レベルに対応する第１ＲＡＭ１１５〜第３ＲＡＭ１３１の電圧レベルを特定し、いずれのＲＡＭでデータの書き込みに失敗しているかを判定する。なお第３実施形態では、図１６に示す電圧判定テーブルは、第１ＣＰＵ３１０が保持しているものとする。
【００８４】
例えば、第１ＣＰＵ３１０に入力された電圧レベルが３．６６Ｖの場合、電圧判定テーブルの電圧範囲は、３．５６Ｖ〜３．７６Ｖ（第２電圧範囲）となるため、第１ＲＡＭ１１５の電圧レベルが“Ｈ”、第２ＲＡＭ１２１の電圧レベルが“Ｈ”、第３ＲＡＭ１３１の電圧レベルが“Ｌ”となるので、第３ＲＡＭ１３１でデータの書き込みに失敗していると判定する。
【００８５】
なお、図１５及び図１６に示す例では、電圧範囲は、抵抗定数の公差（５％）分を考慮した範囲としている。
【００８６】
以上のように第３実施形態によれば、データの書き込みに失敗したメモリを特定できるので、誤ったデータが書き込まれているアドレスに対しリライトすることで可能となり、誤ったデータがダウンロードされた部分に対しても正しいデータを格納することができる。
【００８７】
（変形例）
なお、本発明は、上記各実施形態に限定されるものではなく、種々の変形が可能である。
【００８８】
（変形例１）
上記実施形態では、第１ＣＰＵ１１０用に用意されたＲＯＭ１０２は単数であったが、複数のＲＯＭを用意し、各ＣＰＵの対とし、セレクト信号生成部１１４は、これらのＲＯＭを選択するセレクト信号を更に生成し、ポートを介して該当するメモリに出力するようにしてもよい。
【００８９】
このようにすれば、第１ＣＰＵ１１０は、ＲＯＭ１０２に格納されている制御プログラムを第１ＲＡＭ１１５〜第３ＲＡＭ１３１だけでなく、他のＲＯＭにも並列して書き込む（ダウンロードする）ことができる。この結果、制御装置が再起動等されても、他のＲＯＭに制御プログラムを残しておくことができ、バックアップやミラーリング等の用途に使用することもできる。
【００９０】
（変形例２）
また上記実施形態では、第１ＣＰＵ１１０が、ＲＯＭ１０２から制御プログラムを読み出して、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に並列して書き込む（ダウンロードする）例について説明したが、書き込み対象の制御プログラムは、制御装置１００の外部から第１ＣＰＵ１１０に与えられてもよい。
【００９１】
（変形例３）
また上記実施形態では、ＣＰＵ及びＲＡＭのペアが３つの場合を例にとり説明したが、ペアの数は、いくつであってもよい。この場合、スレーブとなるＣＰＵの数が増加することになる。
【００９２】
（変形例４）
また上記実施形態では、第１ＣＰＵ１１０〜第３ＣＰＵ１３０が、別々のＣＰＵである例について説明したが、単一のＣＰＵに含まれる複数のコアであってもよい。
【００９３】
（変形例５）
また上記実施形態では、セレクト信号生成部１１４は、デコーダ１１２から出力された信号と所定ビット値とに応じた１以上のメモリを選択するセレクト信号を生成したが、所定ビット値に代えて専用の信号（ポート信号）を用いてもよい。変形例５の態様は、ポート数に余裕がある場合、有用である。
【００９４】
（変形例６）
また上記実施形態では、第１ＣＰＵ１１０が、制御プログラムを第１ＲＡＭ１１５〜第３ＲＡＭ１３１に並列して書き込み（ダウンロードし）場合について説明したが、第１ＣＰＵ１１０は、制御プログラムを第１ＲＡＭ１１５〜第３ＲＡＭ１３１に個別に書き込んでもよい。
【００９５】
（変形例７）
また上記実施形態では、セレクト信号生成部１１４を用いた例について説明したが、セレクト信号生成部１１４を用いずに、デコーダ１１２がセレクト信号を生成し、対象のメモリに出力してもよい。
【００９６】
（変形例８）
第３実施形態において、図１７に示す制御装置４００ように、第１ＣＰＵ４１０とＲＯＭ１０２とを結ぶバスライン上に０ｋΩの抵抗４１８を設けるようにしてもよい。但し、第１ＣＰＵ４１０は、第１ＲＡＭ１１５〜第３ＲＡＭ１３１を読み出す際に、ＲＯＭ１０２を読み出すことはできない。ＲＯＭ１０２が読み出されない場合には、ＲＯＭ１０２からの出力がないため、ハイインピーダンス状態であるためである。
【００９７】
（変形例９）
第３実施形態において、図１８に示す制御装置５００ように、第１ＣＰＵ５１０とＲＯＭ１０２とを結ぶバスライン上に１００ｋΩの抵抗５１８を設けるようにしてもよい。なお、抵抗５１８の定数１００ｋΩは、一例であり、他の抵抗と定数が異なれば、どのような値であってもよい。
【００９８】
セレクト信号生成部１１４が第１ＲＡＭ１１５〜第３ＲＡＭ１３１に加え、ＲＯＭ１０２をセレクトし、第１ＲＡＭ１１５〜第３ＲＡＭ１３１に加え、ＲＯＭ１０２を同時に読み出し可能とすれば、いずれのメモリへのデータの書き込みが失敗したかを判定する場合に、データのダウンロード元（ＲＯＭ１０２）も比較対象に含めることができる。この結果、精度の良いダウンロード確認か可能となる。なお、具体的な処理内容については、ＲＯＭ１０２が新たに含まれる点を除き、第３実施形態と同様であるため、説明を省略する。
【００９９】
（画像形成装置）
上記各実施形態及び上記各変形例の制御装置を備える画像形成装置の一例として、上記実施形態及び上記各変形例の制御装置を備える複合機（ＭＦＰ：Multifunction  Peripheral）について説明する。複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する装置である。但し、画像形成装置は、これに限定されるものではなく、印刷装置、複写装置、スキャナ装置、又はファクシミリ装置などであってもよい。
【０１００】
図１９は、上記各実施形態及び上記各変形例の制御装置を備えるシステム１の全体構成の一例を示す模式図である。図１９に示すように、システム１は、複合機２と、ＡＤＦ（Auto  Document  Feeder）３と、フィニッシャ４と、両面反転ユニット５と、拡張給紙トレイ６と、大容量給紙トレイ７と、インサートフィーダ８と、１ビン排紙トレイ９とを、備える。なお、複合機２が上記各実施形態及び上記各変形例の制御装置を備えるものとする。
【０１０１】
複合機２は、システム１の本体部に該当し、原稿を電子的に読み取って画像データを生成するスキャナ部、スキャナ部によって生成された画像データに基づく画像を作像する作像部、用紙を給紙する給紙部、作像された画像を用紙に転写する転写部など（スキャナ部及び給紙部については図示省略、作像部及び転写部については図１９では図示省略）を、備える。以下では、画像が転写された用紙を複写物と称する場合がある。
【０１０２】
ＡＤＦ３は、原稿を自動的に複合機２（詳細には複合機２のスキャナ部）に送るものである。
【０１０３】
フィニッシャ４は、ステープラ及びシフトトレイなどを有するいわゆる後処理装置であり、複合機２によって複写された複写物にステープル処理などの後処理を施す。なお、フィニッシャ４は、これに限定されるものではなく、ステープル処理、パンチ（穿孔）処理、及び折り処理などの後処理を施すものであればよい。
【０１０４】
両面反転ユニット５は、用紙の両面に複写を行う場合に、片面に画像が転写された用紙を反転して複合機２（詳細には複合機２の転写部）に戻すものである。
【０１０５】
拡張給紙トレイ６は、拡張用の給紙トレイであり、用紙を複合機２の転写部に送る。
【０１０６】
大容量給紙トレイ７は、複合機２の給紙部や拡張給紙トレイ６よりも多くの用紙を収納可能な給紙トレイであり、用紙を複合機２の転写部に送る。
【０１０７】
インサートフィーダ８は、表紙や合紙などの用紙を複合機２の転写部に送る。
【０１０８】
１ビン排紙トレイ９は、１つのビンを排紙先とする排紙トレイであり、複合機２によって複写された複写物が排紙される。
【０１０９】
図２０は、上記各実施形態及び上記各変形例の複合機２の作像及び転写にかかる構成の一例を示す模式図である。図２０に示すように、複合機２は、作像部２０と、駆動用ローラ２１、２２と、中間転写ベルト２３と、斥力ローラ２４と、二次転写ローラ２５とを、備える。
【０１１０】
作像部２０は、感光体ドラム２０ａ、帯電装置、現像装置、一次転写ローラ２０ｂ、及びクリーニング装置など（帯電装置、現像装置、及びクリーニング装置については図示省略）を、備える。
【０１１１】
作像部２０及び図示せぬ照射装置は、感光体ドラム２０ａ上で作像プロセス（帯電工程、照射工程、現像工程、転写工程、及びクリーニング工程）を行うことにより、感光体ドラム２０ａ上に静電トナーパターンを形成し、中間転写ベルト２３に転写する。
【０１１２】
まず、帯電工程では、図示せぬ帯電装置は、回転駆動されている感光体ドラム２０ａの表面を帯電する。
【０１１３】
続いて、照射工程では、図示せぬ照射装置は、感光体ドラム２０ａの帯電面に光変調されたレーザ光を照射し、感光体ドラム２０ａの表面に静電潜像を形成する。
【０１１４】
続いて、現像工程では、図示せぬ現像装置は、感光体ドラム２０ａ上に形成された静電潜像をトナー（現像剤の一例）で現像する。これにより、静電潜像をトナーで現像したトナー像である静電トナーパターンが感光体ドラム２０ａ上に形成される。
【０１１５】
続いて、転写工程では、一次転写ローラ２０ｂは、感光体ドラム２０ａ上に形成された静電トナーパターンを中間転写ベルト２３に転写（一次転写）する。なお、感光体ドラム２０ａ上には、静電トナーパターンの転写後においても未転写トナーが僅かながら残存する。
【０１１６】
続いて、クリーニング工程では、図示せぬクリーニング装置は、感光体ドラム２０ａ上に残存している未転写トナーを払拭する。
【０１１７】
なお、ここでは、複合機２がモノクロで複写を行う複合機であるため、作像部は単数となっているが、複合機２がカラーで複写可能であれば、作像部は複数となり、使用するトナーの色彩の数に応じた数の作像部を備えることになる。この場合、各作像部は、使用するトナーの色彩は異なるが、構成及び動作は、共通となる。
【０１１８】
中間転写ベルト２３は、駆動用ローラ２１、２２や斥力ローラ２４などの複数のローラに掛け回されたエンドレスのベルトであり、駆動用ローラ２１、２２の一方が回転駆動させられることにより無端移動する。
【０１１９】
中間転写ベルト２３は、作像部２０（一次転写ローラ２０ｂ）により静電トナーパターンが転写され、転写された静電トナーパターンを斥力ローラ２４と二次転写ローラ２５との間に搬送する。この際、図示せぬ給紙部などにより、用紙Ｐが、静電トナーパターンの搬送タイミングに合わせて、斥力ローラ２４と二次転写ローラ２５との間に搬送される。このため、静電トナーパターンと用紙Ｐとの転写位置が一致する。
【０１２０】
斥力ローラ２４（転写部の一例）は、二次転写ローラ２５との間の二次転写ニップ（図示省略）で、中間転写ベルト２３により搬送された静電トナーパターンを用紙Ｐに転写（二次転写）する。
【０１２１】
静電トナーパターンが用紙Ｐに転写されると、図示せぬ定着装置より用紙Ｐの加熱及び加圧が行われ、静電トナーパターンが用紙Ｐに定着される。そして、静電トナーパターンが定着された用紙Ｐは、複合機２から１ビン排紙トレイ９（図１９参照）に排紙される。
【０１２２】
（ハードウェア構成）
図２１は、上記各実施形態及び上記各変形例の複合機のハードウェア構成の一例を示すブロック図である。図２１に示すように、上記各実施形態及び上記各変形例の複合機は、コントローラ９１０とエンジン部（Engine）９６０とをＰＣＩ（Peripheral  Component  Interconnect）バスで接続した構成となる。コントローラ９１０は、複合機全体の制御、描画、通信、及び操作表示部９２０からの入力を制御するコントローラである。エンジン部９６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部９６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【０１２３】
コントローラ９１０は、ＣＰＵ９１１と、ノースブリッジ（ＮＢ）９１３と、システムメモリ（ＭＥＭ−Ｐ）９１２と、サウスブリッジ（ＳＢ）９１４と、ローカルメモリ（ＭＥＭ−Ｃ）９１７と、ＡＳＩＣ（Application  Specific  Integrated  Circuit）９１６と、ハードディスクドライブ（ＨＤＤ）９１８とを有し、ノースブリッジ（ＮＢ）９１３とＡＳＩＣ９１６との間をＡＧＰ（Accelerated  Graphics  Port）バス９１５で接続した構成となる。また、ＭＥＭ−Ｐ９１２は、ＲＯＭ９１２ａと、ＲＡＭ９１２ｂとをさらに有する。
【０１２４】
ＣＰＵ９１１は、複合機の全体制御をおこなうものであり、ＮＢ９１３、ＭＥＭ−Ｐ９１２およびＳＢ９１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【０１２５】
ＮＢ９１３は、ＣＰＵ９１１とＭＥＭ−Ｐ９１２、ＳＢ９１４、ＡＧＰバス９１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ９１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【０１２６】
ＭＥＭ−Ｐ９１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ９１２ａとＲＡＭ９１２ｂとからなる。ＲＯＭ９１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ９１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【０１２７】
ＳＢ９１４は、ＮＢ９１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ９１４は、ＰＣＩバスを介してＮＢ９１３と接続されており、このＰＣＩバスには、ネットワークインタフェース（Ｉ／Ｆ）部なども接続される。
【０１２８】
ＡＳＩＣ９１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰバス９１５、ＰＣＩバス、ＨＤＤ９１８およびＭＥＭ−Ｃ９１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ９１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ９１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ９１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct  Memory  Access  Controller）と、エンジン部９６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ９１６には、ＰＣＩバスを介してＦＣＵ（Fax  Control  Unit）９３０、ＵＳＢ（Universal  Serial  Bus）９４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  Engineers  1394）インタフェース９５０が接続される。操作表示部９２０はＡＳＩＣ９１６に直接接続されている。
【０１２９】
ＭＥＭ−Ｃ９１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ９１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【０１３０】
ＡＧＰバス９１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ９１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【符号の説明】
【０１３１】
１  システム
２  複合機
３  ＡＤＦ
４  フィニッシャ
５  両面反転ユニット
６  拡張給紙トレイ
７  大容量給紙トレイ
８  インサートフィーダ
９  １ビン排紙トレイ
２０  作像部
２０ａ  感光体ドラム
２０ｂ  一次転写ローラ
２１、２２  駆動用ローラ
２３  中間転写ベルト
２４  斥力ローラ
２５  二次転写ローラ
１００、２００、３００、４００、５００  制御装置
１０２  ＲＯＭ
１１０、３１０、４１０、５１０  第１ＣＰＵ
１１１  コア
１１２  デコーダ
１１４  セレクト信号生成部
１１５  第１ＲＡＭ
１１５Ａ、１１５Ｂ  トランジスタ
１１６  判定部
１２０  第２ＣＰＵ
１２１  第２ＲＡＭ
１２１Ａ、１２１Ｂ  トランジスタ
１３０  第３ＣＰＵ
１３１  第３ＲＡＭ
１３１Ａ、１３１Ｂ  トランジスタ
３１７、３２２、３３２、４１８、５１８  抵抗
９１０  コントローラ
９１１  ＣＰＵ
９１２  システムメモリ
９１２ａ  ＲＯＭ
９１２ｂ  ＲＡＭ
９１３  ノースブリッジ
９１４  サウスブリッジ
９１５  ＡＧＰバス
９１６  ＡＳＩＣ
９１７  ローカルメモリ
９１８  ハードディスクドライブ
９２０  操作表示部
９３０  ＦＣＵ
９４０  ＵＳＢ
９５０  ＩＥＥＥ１３９４インタフェース
９６０  エンジン部
【先行技術文献】
【特許文献】
【０１３２】
【特許文献１】特開平５−３４２１７０号公報
【特許文献２】特開２０００−９０６７８号公報
【図１】
2013225301.tif 000003
【図２】
2013225301.tif 000004
【図３】
2013225301.tif 000005
【図４】
2013225301.tif 000006
【図５】
2013225301.tif 000007
【図６】
2013225301.tif 000008
【図７】
2013225301.tif 000009
【図８】
2013225301.tif 000010
【図９】
2013225301.tif 000011
【図１０】
2013225301.tif 000012
【図１１】
2013225301.tif 000013
【図１２】
2013225301.tif 000014
【図１３】
2013225301.tif 000015
【図１４】
2013225301.tif 000016
【図１５】
2013225301.tif 000017
【図１６】
2013225301.tif 000018
【図１７】
2013225301.tif 000019
【図１８】
2013225301.tif 000020
【図１９】
2013225301.tif 000021
【図２０】
2013225301.tif 000022
【図２１】
2013225301.tif 000023