(57)【要約】【課題】モジュールの回路基板上のデバイスのグランド端子に発生する接触不良に適切に対応すること。【解決手段】各トナーボトル搭載基板１３１には、ＥＥＰＲＯＭ２３０が実装され、そのクロック端子（ＳＣＬ）とグランド端子（ＧＮＤ）間、及びデータ端子（ＳＤＡ）とグランド端子間には、グランド端子をアノード側とするダイオードＤ１、及びＤ２が接続されている。ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２を制御して、通信を開始する前に、ＣＰＵ１１１のクロック端子から出力されるクロック信号、或いはデータ端子から出力されるデータ信号を操作して、その電位をローレベルに遷移させる。それにより、グランド端子の電位は、ダイオードＤ１、或いはＤ２により、そのローレベルに遷移する。【選択図】図２
2017151263.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路基板を搭載した電子機器であって、
前記複数の回路基板は、着脱可能な着脱可能装置に搭載された第１の回路基板、及び前記電子機器に固定的に搭載された第２の回路基板を含み、
前記第１の回路基板は、
電源端子、グランド端子、データ端子、クロック端子を有するデバイスと、
一端が前記電源端子と接続され、他端が前記グランド端子と接続されたコンデンサと、
前記データ端子、及び前記クロック端子のうちの少なくとも一方に入力される信号を用いて、前記グランド端子の電位を前記信号のローレベルにさせる電位変更部と、を備え、
前記第２の回路基板は、
前記デバイスと通信を行う通信装置と、
前記通信装置が前記デバイスと通信を行っていない非通信時に、前記デバイスの前記データ端子、及び前記クロック端子のうちの少なくとも一方に前記通信装置が送信する信号を操作して、前記電位変更部により前記グランド端子の電位を前記信号のローレベルにさせる制御を行う制御部と、を備える、
ことを特徴とする電子機器。
【請求項２】
前記電位変更部は、前記データ端子、及び前記クロック端子のうちの少なくとも一方と前記グランド端子を接続する１つ以上のダイオードであることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記第２の回路基板は、前記デバイスの前記グランド端子がグランドと接続されているか否かを判定する判定部、を更に備え、
前記制御部は、前記デバイスの前記グランド端子が前記グランドと接続されていないと前記判定部が判定した場合に、前記制御を行うことを特徴とする請求項１、または２に記載の電子機器。
【請求項４】
前記デバイスがメモリであった場合、前記判定部は、前記メモリへのデータの書き込み、及び該データの前記メモリからの読み出しを前記通信装置に行わせ、該読み出しにより得られたデータを前記メモリに書き込ませたデータと比較することにより、前記グランド端子が前記グランドと接続されているか否かを判定することを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御部は、前記通信装置が前記デバイスと通信を行う場合、該通信が開始する前の非通信時に、前記制御として、前記データ端子、及び前記クロック端子のうちの一方に前記通信装置が出力する信号の操作を行うことを特徴とする請求項１〜４の何れか１項に記載の電子機器。
【請求項６】
前記デバイスの前記電源端子は、前記データ端子、及び前記クロック端子のうちの一方と接続されていることを特徴とする請求項１〜４の何れか１項に記載の電子機器。
【請求項７】
前記デバイスの最小動作電圧をＶ３とした場合、
Ｖ１−Ｖ２−Ｔ×Ｉ／Ｃ  ≧  Ｖ３
ただし、Ｃは前記コンデンサの容量、
Ｖ１は前記通信装置が前記データ端子、及び前記クロック端子に出力する信号のハイレベル時の電圧、
Ｖ２は前記通信装置が前記データ端子、及び前記クロック端子に出力する信号のローレベル時の電圧、
Ｔは前記通信装置が前記データ端子、及び前記クロック端子ともにハイレベルの信号を出力する最大時間、
Ｉは前記デバイスが単位時間当たりに消費する電流
を満たすことを特徴とする請求項５に記載の電子機器。
【請求項８】
前記制御部は、前記通信装置が前記デバイスと通信を行う場合、該通信が終了した後の非通信時に、前記制御として、前記通信装置が前記デバイスに送信したコマンドの種類を基に、前記データ端子、及び前記クロック端子のうちの一方に前記通信装置が出力する信号の操作を行うことを特徴とする請求項６、または７に記載の電子機器。
【請求項９】
電子機器に搭載されたデータ処理装置に、
電源端子、グランド端子、データ端子、クロック端子を有するデバイスが実装されている回路基板を搭載の着脱可能装置が前記電子機器に装着されている場合に、前記デバイスと通信が可能な通信装置が前記デバイスと通信を行っていない非通信時を特定させ、
前記非通信時に前記通信装置を制御して、前記デバイスの前記データ端子、及び前記クロック端子のうちの少なくとも一方に前記通信装置が送信する信号を操作させる、
ことを特徴とする電子機器の制御方法。
【請求項１０】
電子機器に搭載されたデータ処理装置に、
電源端子、グランド端子、データ端子、クロック端子を有するデバイスが実装されている回路基板を搭載の着脱可能装置が前記電子機器に装着されている場合に、前記デバイスと通信が可能な通信装置が前記デバイスと通信を行っていない非通信時を特定させ、
前記非通信時に前記通信装置を制御して、前記デバイスの前記データ端子、及び前記クロック端子のうちの少なくとも一方に前記通信装置が送信する信号を操作させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、電子機器の制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
現在、電子機器の多くは、モジュール化が採用されている。そのモジュール化では、機能別に、その機能を実現する複合部品をモジュールとして設計・開発し、そのモジュールを搭載させた電子機器を製造するようになっている。それにより、モジュール化が採用された電子機器では、モジュール単位でモジュールの修理、或いは交換、等を行えるようになっている。
【０００３】
モジュールのなかには、回路基板を備えることで、データ処理が可能なものがある。その回路基板は、普通、電子機器側に設けられた回路基板との通信を想定して作製されている。
【０００４】
回路基板間の通信は、予め定められた通信方式を用いて行われる。その通信方式の一つに、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）がある。このＩ２Ｃによる通信が可能なデバイスには、電源端子、グランド端子、データ端子、及びクロック端子が少なくとも設けられている。それらの端子のなかで実際に通信に用いられるのはデータ端子、及びクロック端子である。
【０００５】
モジュールのなかには、着脱自在となっているもの（着脱可能装置）がある。そのようなモジュールが着脱される電子機器には、そのモジュールに搭載された回路基板上のデバイスの少なくとも４つの端子と電気的に接続させるための仕組みが用意されている。その仕組みとは、例えばコネクタ、電子機器側の電極をモジュール側の電極と圧接させる機構、である。
【０００６】
そのような仕組みでは、接触不良が比較的に発生し易い。その接触不良は、特に着脱を繰り返すほど、発生し易くなる。このことから、従来の電子機器のなかには、モジュール側の接続が必要な端子数を減らすことにより、接触不良が発生する可能性を低減させ、その低減により信頼性を向上させているものがある（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の電子機器では、デバイスのクロック端子と電源端子を接続すると共に、その電源端子とグランド端子間にコンデンサを接続している。それにより、そのクロック信号上のクロック信号はコンデンサの充電に利用され、そのクロック信号がローレベルとなっている期間、コンデンサが電源として機能するようになっている。
【０００８】
接触不良は電源端子以外の端子でも発生する恐れがある。データ端子、及びクロック端子は、その何れに接触不良が発生しても、通信が適切に行えないことから、接触不良は検知し易い。それにより、接触不良にも対応し易い。しかし、グランド端子に接触不良が発生した場合、通信自体は適切に行われる可能性があることから、その接触不良は検知し難い。このため、グランド端子に発生した接触不良に適切に対応するのが困難という問題がある。
【０００９】
グランドレベルの不安定性は、デバイスの電源電圧とグランドレベル間の電位差が比較的に大きく変動する可能性があることを意味する。それにより、正常な動作に必要な電圧がデバイスに印加されず、デバイスが誤動作する恐れがある。例えば、そのデバイスとして採用可能なＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）では、データの読み出しは適切に行えても、データの書き込みは適切に行えないという事象（以降「誤書き込み」と表記）が発生する可能性がある。
【００１０】
例えば電子機器の一つである画像形成装置のなかには、電子写真方式を採用しているものがある。その電子写真方式を採用している画像形成装置では、トナーを充填させた容器（トナーボトル）はユーザによって着脱される。最近では、このトナーボトルをモジュール化し、トナー残量などの情報を保持させるＥＥＰＲＯＭを搭載させたものがある。
【００１１】
このようなトナーボトルでは、ユーザがより容易に着脱できるようにする利便性が優先され、上記仕組みとして、接触不良が発生し易いものが採用される場合が多い。そのため、トナーボトルの不完全な装着、振動、電極等の劣化、或いはトナーの飛散、等により、接触不良が比較的に発生し易くなっている。
【００１２】
本発明は、このような課題を解決するためになされたものであり、モジュールの回路基板上のデバイスのグランド端子に発生する接触不良に適切に対応することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の一態様は、複数の回路基板を搭載した電子機器であって、前記複数の回路基板は、着脱可能な着脱可能装置に搭載された第１の回路基板、及び前記電子機器に固定的に搭載された第２の回路基板を含み、前記第１の回路基板は、
電源端子、グランド端子、データ端子、クロック端子を有するデバイスと、一端が前記電源端子と接続され、他端が前記グランド端子と接続されたコンデンサと、前記データ端子、及び前記クロック端子のうちの少なくとも一方に入力される信号を用いて、前記グランド端子の電位を前記信号のローレベルにさせる電位変更部と、を備え、前記第２の回路基板は、前記デバイスと通信を行う通信装置と、前記通信装置が前記デバイスと通信を行っていない非通信時に、前記デバイスの前記データ端子、及び前記クロック端子のうちの少なくとも一方に前記通信装置が送信する信号を操作して、前記電位変更部により前記グランド端子の電位を前記信号のローレベルにさせる制御を行う制御部と、を備える、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、モジュールの回路基板上のデバイスのグランド端子に発生する接触不良に適切に対応することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態による電子機器のハードウェア構成を説明する図である。
【図２】Ｉ２Ｃバス、及びトナーボトル搭載基板を説明する図である。
【図３】トナーボトル搭載基板上のグランド端子とエンジン制御基板上のグランド端子間に接触不良が発生した場合のトナーボトル搭載基板上の各端子の電位変動例を示すタイミングチャートである。
【図４】スタートコンディションの送信前に動作保証電圧を印加可能する手法を説明する図である。
【図５】正常なライト動作をＥＥＰＲＯＭに行わせる手法を説明する図である。
【図６】コンデンサをＥＥＰＲＯＭの電源として用いる場合の条件を説明するための図である。
【図７】Ｉ２Ｃ通信制御処理を示すフローチャートである。
【図８】接続状態確認処理を示すフローチャートである。
【図９】Ｉ２Ｃ通信制御処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施形態を詳細に説明する。図１は、本実施形態による電子機器のハードウェア構成を説明する図である。始めに図１を参照し、本実施形態による電子機器のハードウェア構成について具体的に説明する。
【００１７】
本実施形態による電子機器は、電子写真方式により記録媒体上に画像形成を行う画像形成装置である。この電子機器は、図１に示すように、コントローラ制御基板１、操作部制御基板２、ハードディスク装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３、ＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４、エンジン制御基板５、ＡＲＤＦ（Ａｕｔｏｍａｔｉｃ  Ｒｅｖｅｒｓｉｎｇ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）６、読取制御基板７、書込制御基板８、定着部９、各種電装品１０、トナーボトル搭載基板群１１、ＰＳＵ（Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｕｎｉｔ）１２、外部バス１３、Ｉ２Ｃバス１４、及び電源スイッチ１５を備えている。
【００１８】
コントローラ制御基板１、操作部制御基板２、エンジン制御基板５、読取制御基板７、書込制御基板８、及びトナーボトル搭載基板群１１を構成する各トナーボトル搭載基板１３１（１３１ａ〜１３１ｄ）は、電子部品が実装された回路基板である。トナーボトル搭載基板１３１以外は、電子機器に固定的に設けられ、それぞれデータ処理装置（コンピュータ）として機能する。各トナーボトル搭載基板１３１は、電子機器に着脱自在に装着されるトナーボトルに搭載された回路基板であり、本実施形態における第１の回路基板に相当する。本実施形態では、４つのトナーボトルを装着できるようになっている。
【００１９】
操作部制御基板２は、各種スイッチ等への操作を認識し、表示装置の表示内容を更新するための回路基板である。操作の認識結果はコントローラ制御基板１に通知され、表示装置の表示内容は、コントローラ制御基板１から送信される画像データによって更新される。
【００２０】
ハードディスク装置３は、１つ以上のハードディスクが搭載された記憶装置である。そのハードディスクには、各種データの他に、コントローラ制御基板１で実行されるプログラムが格納される。そのプログラムとは、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、及び各種アプリケーション・プログラム等である。
【００２１】
ＦＣＵ４は、ファクシミリ機能を実現させるための装置であり、電話回線を介した通信を行う。
【００２２】
コントローラ制御基板１は、操作部制御基板２、ハードディスク装置３、ＦＣＵ４、及びエンジン制御基板５を直接、制御することで、ユーザが各種スイッチ等への操作内容に応じて電子機器を動作させる。そのコントローラ制御基板１には、図１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３、画像メモリ１０４、ＶＰＵ（Ｖｉｓｕａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０５、内部バス１０６、及びＩ／Ｆ（ＩｎｔｅｒＦａｃｅ）カード１０７が実装されている。
【００２３】
このＩ／Ｆカード１０７は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介した通信を可能にする通信装置であり、内部バス１０６に接続されている。操作部制御基板２、ハードディスク装置３、及びＦＣＵ４も内部バス１０６と接続されている。エンジン制御基板５とは、外部バス１３を介して接続されている。
【００２４】
電源スイッチ１５をオンさせることにより、ＰＳＵ１２は、ＡＣ（Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）電源部によるＡＣ電流の供給、及びＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）電源部によるＤＣ電流の供給を開始する。それにより、ＣＰＵ１０１は、ＲＯＭ１０３に格納されているファームウェアをＲＡＭ１０２に読み出して実行する。
【００２５】
ＣＰＵ１０１が実行するプログラム、及びＶＰＵ１０５が実行するプログラムの大部分は、ハードディスク装置３に保存されている。ＣＰＵ１０１は、ファームウェアの実行を開始した後、そのファームウェアの制御により、ハードディスク装置３から実行すべきプログラムをＲＡＭ１０２に読み出して実行する。そのようにして、予め設定されたプログラムの実行を開始した後のＣＰＵ１０１は、操作部制御基板２から入力する、ユーザが行った操作内容を表すデータを処理し、必要なプログラムをハードディスク装置３から随時、読み出して実行する。その結果、コントローラ制御基板１は、電子機器全体を制御する。
【００２６】
ＶＰＵ１０５は、画像データの処理を専用に行う処理装置である。画像メモリ１０４は、画像データの処理のためにＶＰＵ１０５によって利用される。操作部制御基板２が表示装置上に表示させる画像データ、及び記録媒体上に画像形成を行わせるための画像データは、ＶＰＵ１０５によって生成される。
【００２７】
画像形成用の画像データは、外部バス１３を介してエンジン制御基板５に送信される。このエンジン制御基板５は、受信した画像データによる画像形成を記録媒体上に行うための回路基板であり、本実施形態における第２の回路基板に相当する。そのエンジン制御基板５は、読取制御基板７、各種電装品１０、書込制御基板８、及び定着部９を直接、制御する。
【００２８】
ＡＲＤＦ６は、原稿画像の読み取りのために原稿を自動的に搬送する装置である。読取制御基板７は、エンジン制御基板５からの指示に従い、ＡＲＤＦ６を制御することにより、ＡＲＤＦ６を用いた原稿画像の読み取りを実現させる。
【００２９】
各種電装品１０としては、複数のソレノイド１２１、複数のモータ１２２、及び複数のセンサ１２３が含まれる。１つ以上のソレノイド１２１は、例えば記録媒体の搬送先の切り替え等に用いられる。モータ１２２としては、記憶媒体の搬送に用いられるもの、トナーボトルを回転させて、その内部のトナーをサブタンクに補給するためのもの、等がある。センサ１２３としては、記録媒体を確認するためのもの、電子機器に設けられた扉の開閉を検知するためのもの、現像部内のトナー濃度を検知するためのもの、サブタンク内のトナー量を確認するためのもの、等がある。
【００３０】
書込制御基板８は、感光体表面を露光して、その感光体表面に潜像を形成させるための回路基板である。
【００３１】
定着部９は、定着ローラを加熱体により加熱し、その定着ローラを介して熱量、及び圧力を記録媒体上のトナーに作用させて、そのトナーを記録媒体上に定着させる装置である。
【００３２】
エンジン制御基板５には、図１に示すように、ＣＰＵ１１１、ＲＡＭ１１２、フラッシュメモリ１１３、電装制御部１１４、定着制御部１１５、及び内部バス１１６が実装されている。Ｉ２Ｃバス１４の一部は、このエンジン制御基板５上に実装され、ＣＰＵ１１１と接続されている。
【００３３】
電装制御部１１４は、ＣＰＵ１１１の指示に従い、ソレノイド１２１、及びモータ１２２を駆動し、センサ１２３による検知結果をＣＰＵ１１１に通知する装置である。定着制御部１１５は、例えば温度センサにより、定着部９に設けられた加熱体が発生させる熱量が伝達される定着ローラの温度を監視して、加熱体を駆動する装置である。
【００３４】
ＣＰＵ１１１は、ＰＳＵ１２からのＤＣ電流の供給開始により、フラッシュメモリ１１３に保存されているファームウェアをＲＡＭ１１２に読み出して実行する。その後は、コントローラ制御基板１からの指示に従って、電装制御部１１４、及び定着制御部１１５を制御する。
【００３５】
図２は、Ｉ２Ｃバス、及びトナーボトル搭載基板を説明する図である。次に、図２を参照して、Ｉ２Ｃバス１４、及びトナーボトル搭載基板１３１について詳細に説明する。
【００３６】
Ｉ２Ｃバス１４は、エンジン制御基板５と各トナーボトル搭載基板１３１とを接続する双方向の通信路である。図１に示すように、ＣＰＵ１１１と各トナーボトル搭載基板１３１とを接続するＩ２Ｃバス１４は、ハーネス２００（２００ａ、２００ｂ）、及び中継基板２１０（２１０ａ、２１０ｂ）を含む構成となっている。ここでは、便宜的に、ハーネス２００、中継基板２１０、及びトナーボトル搭載基板１３１は２つのみ示している。
【００３７】
エンジン制御基板５には、電源電圧Ｖｃｃが印加される電源端子、シリアル・クロックライン（ＳＣＬ）用のクロック端子、シリアル・データライン（ＳＤＡ）用のデータ端子、及びグランド（ＧＮＤ）と接続されたグランド端子が設けられている。データ端子、及びクロック端子には、それぞれプルアップ抵抗Ｒ１、及びＲ２を介して電源電圧Ｖｃｃが印加される。
【００３８】
ＣＰＵ１１１は、１つ以上のＣＰＵコア（図２中「コア」と表記）１１１１、及びＩ２Ｃコントローラ（図２中「ＣＮＴＬ」と表記）１１１２を搭載している。それにより、ＣＰＵ１１１は、Ｉ２Ｃバス１４を介した通信を直接、行う通信装置として機能する。
【００３９】
ＣＰＵ１１１には、Ｉ２Ｃバス１４を介した通信用として、クロック端子、及びデータ端子のみが設けられている。ＣＰＵ１１１のＩ２Ｃコントローラ１１１２は、ＣＰＵコア１１１１の指示に従い、クロック端子、及びデータ端子からそれぞれ出力させるクロック信号、及びデータ信号を生成する。クロック端子、データ端子にそれぞれ接続された信号線は以降、「クロックライン」「データライン」と表記する。
【００４０】
電源端子、クロック端子、データ端子、及びグランド端子は、各中継基板２１０、及び各トナーボトル搭載基板１３１にもそれぞれ設けられている。各ハーネス２００は、エンジン制御基板５と中継基板２１０間の接続に用いられる。
【００４１】
トナーボトル搭載基板１３１を搭載したトナーボトルは、電子機器に着脱自在に装着されるモジュールである。各中継基板２１０は、トナーボトルを装着した際、トナーボトル搭載基板１３１上の各端子をエンジン制御基板５上の各端子と電気的に接続させるために用意された回路基板である。各中継基板２１０上の各端子は、トナーボトルを装着した際、例えばトナーボトル搭載基板１３１上の各端子に向けて圧力を作用させるようになっている。
【００４２】
各トナーボトル搭載基板１３１上には、Ｉ２Ｃバス１４を介した通信が可能なデバイスとして、電源端子、クロック端子、データ端子、及びグランド端子を備えたＥＥＰＲＯＭ２３０が実装されている。このＥＥＰＲＯＭ２３０には、対応するトナーボトルのトナー残量等の管理用データが保存される。
【００４３】
図２に示すように、ＥＥＰＲＯＭ２３０の電源端子とグランド端子間には、コンデンサ（キャパシタ）Ｃ１が接続されている。また、データ端子とグランド端子間にはダイオードＤ１、クロック端子とグランド端子間にはダイオードＤ２がそれぞれ接続されている。
【００４４】
この２つのダイオードＤ１、及びＤ２は共に、カソード側がグランド端子に接続されている。それにより、ダイオードＤ１は、データ端子の電位＜グランド端子の電位、の関係が満たされる状況では、グランド端子の電位をデータ端子の電位と同じか、或いはほほ等しい電位にさせるように機能する。同様に、ダイオードＤ２は、クロック端子の電位＜グランド端子の電位、の関係が満たされる状況では、グランド端子の電位をクロック端子の電位と同じか、或いはほほ等しい電位にさせるように機能する。
【００４５】
データ端子、及びクロック端子の電位は共に、エンジン制御基板５のグランドレベルから電源電圧Ｖｃｃの範囲内で変動する。データ端子、及びクロック端子の電位のローレベルは、エンジン制御基板５のグランドレベルであり、その電位のハイレベルは、電源電圧Ｖｃｃである。そのため、ダイオードＤ１、或いはＤ２を用いることにより、トナーボトル搭載基板１３１のグランド端子の電位は、エンジン制御基板５のグランドレベルに強制的に抑えることができる。
【００４６】
ＥＥＰＲＯＭ２３０に限らず、電子部品であるデバイスを安定的に動作させるためには、正常に動作するのに必要な電圧以上の電圧を印加させる必要がある。ＥＥＰＲＯＭ２３０では、電源端子とグランド端子間の電位差である電圧は、動作保証されている最低電圧（以降「動作保証電圧」と表記）以上とする必要がある。
【００４７】
電源端子に印加される電圧は電源電圧Ｖｃｃ以上とはならない。しかし、グランド端子の電位は、そのグランド端子がエンジン制御基板５のグランド端子と接続されていない場合、不安定となり、エンジン制御基板５のグランドレベルよりも比較的に大きくなることがあり得る。トナーボトル搭載基板１３１上のグランド端子の電位がグランドレベルよりも比較的に大きくなると、動作保証電圧を確保できなくなる。
【００４８】
動作保証電圧が確保できない場合、ＥＥＰＲＯＭ２３０は、動作しないか、或いは動作するとしても誤動作する可能性が高い。動作しなければ、異常の発生の検知は容易に行うことができる。しかし、誤動作の発生の有無は、基本的に、実際に動作させなければ確認することはできない。
【００４９】
ＥＥＰＲＯＭ２３０では、データを読み出させるリード動作、或いはデータを書き込ませるライト動作を行わせる。ライト動作時に誤動作が発生した場合、ＥＥＰＲＯＭ２３０に無意味なデータを保存させてしまう可能性がある。つまり、何らかのデータを喪失してしまう可能性がある。それにより、ライト動作時の誤動作は特に回避させる必要がある。このようなことから、本実施形態では、２つのダイオードＤ１、及びＤ２を用いて、トナーボトル搭載基板１３１上のグランド端子とエンジン制御基板５上のグランド端子間の接触不良に対応するようにしている。
【００５０】
図３は、トナーボトル搭載基板上のグランド端子とエンジン制御基板上のグランド端子間に接触不良が発生した場合のトナーボトル搭載基板上の各端子の電位変動例を示すタイミングチャートである。この図３において、縦軸は電位を示している。Ｐ１〜Ｐ４は、図２に示すように、トナーボトル搭載基板１３１上の電源端子、クロック端子（ＳＣＬ）、データ端子（ＳＤＡ）、グランド端子（ＧＮＤ）にそれぞれ接続されたノードを表している。電源電圧Ｖｃｃは＋３．３Ｖである。
【００５１】
図３では、電源電圧Ｖｃｃの立ち上がりから通常の通信を行う際の各ノードＰ１〜Ｐ４の電位の時間変化を示している。ノードＰ１の電位は、電源電圧Ｖｃｃ自体の電位を表している。
【００５２】
期間Ｔ１は、電源電圧Ｖｃｃの立ち上がり期間であり、その期間Ｔ１では、電源電圧Ｖｃｃの立ち上がりに合わせて、各ノードＰ１〜Ｐ４の電位が上昇している。続く期間Ｔ２は、期間Ｔ１から通信を開始するまでの期間である。この期間Ｔ２では、通信を行っていない非通信時であることから、データライン、及びクロックラインは共にハイレベルを維持し、各ノードＰ１〜Ｐ４は期間Ｔ１終了時の電位を維持するか、或いはほぼ維持する。
【００５３】
Ｉ２Ｃ規格では、通信はスタートコンディション（スタートビット）の送信により開始する。そのスタートコンディションは、クロックラインの電位がハイレベルになっている状態でデータラインをハイレベルからローレベルに遷移させる信号である。そのスタートコンディションが送信される期間Ｔ３では、データラインの電位がハイレベルからローレベルに遷移することにより、ノードＰ４（グランド端子）からノードＰ３に電流が流れ、ノードＰ４の電位はデータ信号のローレベル（エンジン制御基板５のグランドレベル）に遷移する。
【００５４】
スタートコンディションの送信後の期間Ｔ４は、データライン、及びクロックラインのうちの何れかの電位がローレベルとなっている期間である。この期間Ｔ４では、ダイオードＤ１、或いはＤ２により、ノードＰ４の電位はエンジン制御基板５のグランドレベルに維持される。
【００５５】
期間Ｔ４に続く期間Ｔ５は、データライン、及びクロックラインの電位が共にハイレベルとなっている期間である。この期間Ｔ５では、コンデンサＣ１からの電流の供給が行われる。そのため、ノードＰ４の電位は、コンデンサＣ１に蓄積された電荷の減少（脱ドープ）により僅かに上昇する。
【００５６】
期間Ｔ５の後の期間Ｔ６では、データライン、及びクロックラインのうちの何れかの電位がローレベルとなる。図３の例では、クロックラインの電位がローレベルに遷移している。それにより、ノードＰ４の電位はそのローレベルに低下する。
【００５７】
このように、ダイオードＤ１、或いはＤ２は、例えエンジン制御基板５上のグランド端子とトナーボトル搭載基板１３１上のグランド端子が接続されていなくとも、ノードＰ４の電位をエンジン制御基板５のグランドレベルに維持するように機能する。そのため、ＥＥＰＲＯＭ２３０に対して動作保証電圧以上の電圧が確実に印加される。従って、誤動作によりデータを喪失するようなことも確実に回避される。
【００５８】
図３に示すようにノードＰ４の電位が変動する場合、実際には、スタートコンディションを送信する期間Ｔ３の前に、動作保証電圧以上の電圧をＥＥＰＲＯＭ２３０に印加させる必要がある。なぜなら、期間Ｔ３が到来した時点でＥＥＰＲＯＭ２３０が正常に動作していない可能性があるからである。正常に動作していない場合、ＥＥＰＲＯＭ２３０がスタートコンディションを認識できない可能性が高い。このことから、通信を行う通信時には、スタートコンディションを送信する前に、つまり非通信時に、ＥＥＰＲＯＭ２３０が正常に動作するようにすることが望ましい。
【００５９】
図４は、スタートコンディションの送信前に動作保証電圧を印加可能する手法を説明する図である。ここでは、ノードＰ２、及びＰ３の電位の時間変化を示すタイミングチャートにより、その手法を示している。
【００６０】
その手法は、クロックラインの信号（クロック信号）を操作する手法と、データラインの信号（データ信号）を操作する手法と、の２種類に大別される。前者は図４（ｂ）に、後者は図４（ｃ）にそれぞれ示している。比較のために、クロック信号、及びデータ信号を共に操作しない場合のもの（通常）を図４（ａ）に示している。
【００６１】
通常時は、図４（ａ）に示すように、スタートコンディションを送信するまで、データライン、及びクロックラインの信号はハイレベルとなっている。その状態から期間Ｔ１２でのスタートコンディションの送信が行われる。
【００６２】
これに対し、クロック信号を操作する手法では、図４（ｂ）に示すように、期間Ｔ１２の直前に期間Ｔ１１を設け、その期間Ｔ１１内でクロック信号を一時的にローレベルに遷移させる。その遷移により、期間Ｔ１２が到来する前に、ノードＰ４の電位はそのローレベルに低下し、ＥＥＰＲＯＭ２３０には動作保証電圧以上の電圧が印加されることになる。
【００６３】
一方、データ信号を操作する手法でも、図４（ｃ）に示すように、期間Ｔ１１内でデータ信号を一時的にローレベルに遷移させる。その遷移により、期間Ｔ１２が到来する前に、スタートコンディションが発行される。しかし、そのローレベルからハイレベルへの遷移は、クロック信号を操作する場合と同じタイミングで期間Ｔ１２に続く期間Ｔ１３内で行われる。そのため、スタートコンディションに続く実際のデータ送信が開始する前に、ＥＥＰＲＯＭ２３０には動作保証電圧以上の電圧が印加されることになる。
【００６４】
上記のように、データ信号、及びクロック信号の何れを操作するとしても、ＥＥＰＲＯＭ２３０に対し、例えグランド端子が非接続であっても、動作保証電圧以上の電圧をスタートコンディションの送信前に印加させることができる。このことから、より高い信頼性が実現される。しかし、データ信号、及びクロック信号の何れを操作するとしても、事前にローレベルに遷移させる期間は、コンデンサＣ１の立ち上がり時間、及びＥＥＰＲＯＭ２３０が必要とする起動時間、等を考慮して決定する必要がある。
【００６５】
ＥＥＰＲＯＭ２３０によるデータの書き込みは、通信が終了してから行われる。そのため、ライト動作をＥＥＰＲＯＭ２３０に行わせる場合、ライト動作のための通信時には、通信が終了した後の非通信時にも、ＥＥＰＲＯＭ２３０が正常に動作するようにすることが望ましい。
【００６６】
図５は、正常なライト動作をＥＥＰＲＯＭに行わせる手法を説明する図である。ここでも図４と同様に、ノードＰ２、及びＰ３の電位の時間変化を示すタイミングチャートにより、その手法を示している。
【００６７】
その手法も、クロックラインの信号（クロック信号）を操作する手法と、データラインの信号（データ信号）を操作する手法と、の２種類に大別することができる。前者は図５（ｂ）に、後者は図５（ｃ）にそれぞれ示している。比較のために、クロック信号、及びデータ信号を共に操作しない場合のもの（通常）を図５（ａ）に示している。
【００６８】
通信自体は、ストップコンディション（ストップビット）の送信、つまりクロック信号がハイレベルのときにデータ信号をハイレベルに遷移させることで終了する。通常時は、図５（ａ）に示すように、期間Ｔ２１でストップコンディションを送信した後の期間Ｔ２２ではクロック信号、及びデータ信号はハイレベルとなる。
【００６９】
これに対し、クロック信号を操作する手法では、図５（ｂ）に示すように、期間Ｔ２１に続く期間Ｔ２１でクロック信号の一時的なローレベルへの遷移が繰り返し行われる。クロック信号の一時的にローレベルへの遷移により、期間Ｔ２１内のライト動作に必要な時間、ＥＥＰＲＯＭ２３０に動作保証電圧以上の電圧を印加させることができる。
【００７０】
一方、データ信号を操作する手法では、図５（ｃ）に示すように、期間Ｔ２１でデータ信号が一度だけローレベルに遷移させる。クロック信号は、データ信号がローレベルに遷移させている時間を全て含む期間、ローレベルに遷移させる。そのような期間、クロック信号をローレベルに遷移させるのは、スタートコンディション、及びストップコンディションの何れもＥＥＰＲＯＭ２３０に認識させないようにするためである。データ信号のローレベルへの遷移により、期間Ｔ２１内のライト動作に必要な時間、ＥＥＰＲＯＭ２３０に動作保証電圧以上の電圧を印加させることができる。
【００７１】
上記のように、データ信号、及びクロック信号の何れを操作するとしても、ＥＥＰＲＯＭ２３０に対し、通信終了後からライト動作を完了するまでの間、動作保証電圧以上の電圧を印加させることができる。それにより、ＥＥＰＲＯＭ２３０には、保存させるべきデータを確実に保存させることができる。
【００７２】
図４、及び図５に示すクロック信号を操作する手法、及びデータ信号を操作する方法は、何れも、ダイオードＤ１、及びＤ２のうちの一方のみをトナーボトル搭載基板１３１に実装することを想定している。図５（ｃ）において、データ信号をローレベルに遷移させている間、クロック信号を常にローレベルに遷移させるのは、ダイオードＤ１のみが実装されていると想定しているためである。このようなことから、ダイオードＤ１、及びＤ２のうちの少なくとも一方のみをトナーボトル搭載基板１３１に実装させれば良い。
【００７３】
なお、本実施形態では、ノードＰ４（グランド端子）の電位をノードＰ２、或いはＰ３のローレベルの電位に変更する電位変更部として２つのダイオードＤ１、及びＤ２を採用しているが、その電位の変更を行えるのであれば、別の電子部品を採用しても良い。ダイオードのような条件に応じて電流が自動的に流れる電子部品を採用した場合、トナーボトル搭載基板１３１上に制御を行わせる処理装置（例えばＣＰＵ）を実装させる必要がないことから、製造コストの面で利点がある。
【００７４】
図２では、各トナーボトル搭載基板１３１には１つのＥＥＰＲＯＭ２３０のみを示している。しかし、ＥＥＰＲＯＭ２３０は複数、実装される場合がある。ＥＥＰＲＯＭ２３０とは異なるデバイスが実装される場合もある。そのように複数のデバイスが搭載されている回路基板では、複数のデバイスへの通信が連続して行う可能性がある。このことから、クロック信号、或いはデータ信号の操作は、他のデバイスとの通信を考慮して行うのが望ましい。これは、他のデバイスとの通信を考慮することにより、クロック信号、或いはデータ信号の無駄な操作を省くことができるからである。無駄な操作を省くことにより、単位時間当たりに行える通信回数の低下を抑制することができる。
【００７５】
クロック信号、及びデータ信号は、図２に示すように、各トナーボトル搭載基板１３１に送信される。そのため、デバイスは、同じ回路基板上に実装されていないものであっても良い。
【００７６】
図６は、コンデンサをＥＥＰＲＯＭの電源として用いる場合の条件を説明するための図である。ここでは、クロックラインを伝送されるクロック信号をＥＥＰＲＯＭ２３０の電源端子に入力させることを想定している。
【００７７】
本実施形態では、図２に示すように、トナーボトル搭載基板１３１の電源端子に電源電圧Ｖｃｃが印加されるのを前提としている。しかし、例えその電源端子に電源電圧Ｖｃｃが印加されなくとも、コンデンサＣを電源として用いて、ＥＥＰＲＯＭ２３０を正常に動作させることができる。
【００７８】
コンデンサＣを電源として用いる場合、ＥＥＰＲＯＭ２３０の電源端子をデータ端子、及びクロック端子のうちの一方と接続して、データライン、或いはクロックラインに出力される信号をＥＥＰＲＯＭ２３０の電源、及びコンデンサＣの充電に利用すれば良い。コンデンサＣは、ＥＥＰＲＯＭ２３０の電源端子に出力される信号がローレベルとなっている間、電源として利用すれば良い。そのようにした場合、グランド端子、及び電源端子が共に接続されていなくとも、ＥＥＰＲＯＭ２３０を正常に動作させることができる。それにより、更に高い信頼性が実現される。
【００７９】
図６において、Ｖ１はクロック信号のハイレベル時の電圧、Ｖ２はクロック信号のローレベル時の電圧、ＶＤｒｏｐは時間Ｔが経過する間の電荷の放電により生じるコンデンサＣのカソード側の電位上昇分、ＶｍａｘはＥＥＰＲＯＭ２３０の電源端子・グランド端子間の最大電圧、ＶｍｉｎはＥＥＰＲＯＭ２３０の電源端子・グランド端子間の最小電圧、Ｔはクロック信号がハイレベルとなっている時間、である。電圧Ｖ１、Ｖ２、及びＶＤｒｏｐは全てエンジン制御基板５のグランドレベルを基準としたものである。
【００８０】
ＥＥＰＲＯＭ２３０の動作保証電圧、つまりＥＥＰＲＯＭ２３０が正常に動作できると期待される最小電圧をＶ３とする場合、
Ｖｍｉｎ  ≧  Ｖ３          （１）
の関係を満たす必要がある。ここで、
Ｖｍｉｎ  ＝  Ｖｍａｘ−ＶＤｒｏｐ          （２）
であり、コンデンサＣに充電された電荷が時間Ｔの間に放電し、そのカソード側の電圧がＶＤｒｏｐに上昇すると想定した場合、
ＶＤｒｏｐ  ＝  Ｔ×Ｉ／Ｃ            （３）
となる。ここで、ＩはＥＥＰＲＯＭ２３０が単位時間当たりに消費する電流、ＣはコンデンサＣの容量である。
【００８１】
クロック信号がローレベル時の場合、ＥＥＰＲＯＭ２３０のグランド端子の電位はそのローレベルと同じになる。クロック信号がハイレベル時の電位は、電源電圧Ｖｃｃとなる。このことから
Ｖｍａｘ  ＝  Ｖ１−Ｖ２  ＝  Ｖｃｃ−Ｖ２          （４）
となる。
【００８２】
以上から、式（２）〜（４）により式（１）を変形して、
Ｖ１−Ｖ２−Ｔ×Ｉ／Ｃ  ≧  Ｖ３          （５）
が得られる。
【００８３】
式（５）から、例えばＶ１＝３．３Ｖ、Ｖ２＝３．３Ｖ、Ｖ３＝２Ｖ、Ｔ＝１０μｓｅｃ、Ｉ＝５ｍＡと想定した場合、
Ｃ≧０．１μＦ
が得られる。
【００８４】
コンデンサＣの容量に要求される条件は、時間Ｔが短いほど緩和され、より小さい容量で済むようになる。このことから、クロック信号をＥＥＰＲＯＭ２３０の電源端子に入力させる場合、クロック信号のデューティを操作して、ハイレベルとする割合がより小さくなるようにしても良い。
【００８５】
ＣＰＵ１１１に搭載されたＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２を制御して、クロックラインに出力させるクロック信号、及びデータラインに出力させるデータ信号のうちの少なくとも一方を操作して、ＥＥＰＲＯＭ２３０の正常な動作を確実に実現させる。ＣＰＵコア１１１１によるＩ２Ｃコントローラ１１１２の制御は、フラッシュメモリ１１３に格納されている制御プログラム（ファームウェア）１１３ａを実行することで実現される。次に、その制御プログラム１１３ａを実行することで実現されるＩ２Ｃ通信制御処理について、図７に示すフローチャートを参照して詳細に説明する。
【００８６】
制御プログラム１１３ａは、例えばＩ２Ｃバス１４を介した通信を行う場合に実行されるプログラムである。図７では、クロック信号を操作する場合を想定している。
【００８７】
その制御プログラム１１３ａに制御が渡った場合、ＣＰＵコア１１１１は、先ず、トナーボトル搭載基板１３１のグランド端子がエンジン制御基板５のグランド端子と非接続になっているか否か判定する（Ｓ７０１）
【００８８】
この判定は、設定の参照、或いはＥＥＰＲＯＭ２３０の動作の確認結果の参照により行われる。本実施形態では、トナーボトル搭載基板１３１のグランド端子をエンジン制御基板５のグランド端子と必ず接続させる必要はない。そのため、トナーボトル搭載基板１３１にグランド端子を設けなくとも良い。このことから、ユーザに、トナーボトル搭載基板１３１のグランド端子を接続させるか否かを設定させても良い。
【００８９】
トナーボトル搭載基板１３１にグランド端子を設け、そのグランド端子をエンジン制御基板５のグランド端子と接続可能にした場合、それらのグランド端子間が実際に接続されているとは限らない。それらのグランド端子間が接続されていない場合、ＥＥＰＲＯＭ２３０が正常に動作するとは限らない。特に電子機器の起動直後は、図３に示すように、ノードＰ４の電位は比較的に高い可能性が高い。つまり、ＥＥＰＲＯＭ２３０は、動作していないか、動作していても、誤動作する可能性が高い。
【００９０】
このことから、起動直後、或いは予め定めた条件が満たされた場合に、図８にフローチャートを示す接続状態確認処理をＣＰＵコア１１１１に実行させることが考えられる。その接続状態確認処理を行う機能は、制御プログラム１１３ａに搭載させても良いが、別のプログラムに搭載させても良い。
【００９１】
その接続状態確認処理では、ＣＰＵコア１１１１は、ＥＥＰＲＯＭ２３０の未使用のアドレスにデータを書き込ませるライトコマンドの発行（Ｓ８０１）、通信終了後、データの書き込みが完了するまでの待機（Ｓ８０２）、を経て、リードコマンドを発行する（Ｓ８０３）。そのリードコマンドの発行により、ＣＰＵコア１１１１は、書き込ませたデータをＥＥＰＲＯＭ２３０から取得して、そのデータが書き込みを指示したデータと不一致か否かを判定する（Ｓ８０４）。
【００９２】
それにより、ＣＰＵコア１１１１は、それらのデータが不一致であった場合（Ｓ８０４：ＹＥＳ）、ＥＥＰＲＯＭ２３０のグランド端子は非接続と認識し（Ｓ８０５）、この接続状態確認処理を終了する。一方、それらのデータが一致する場合（Ｓ８０４：ＮＯ）、ＣＰＵコア１１１１は、そのグランド端子は接続していると認識し（Ｓ８０６）、この接続状態確認処理を終了する。
【００９３】
データの書き込み、或いはデータの読み出しが行えない場合を含め、それらのデータが一致しない場合、ＥＥＰＲＯＭ２３０は正常に動作していない可能性が高い。そのため、或るコマンドを発行し、その後に、そのコマンドの実行結果を確認できるコマンドを発行することにより、グランド端子の接続／非接続を高精度に推定することができる。
【００９４】
なお、グランド端子が非接続か否かを確認するための処理は、対象とするデバイスに応じて選択すれば良い。ＥＥＰＲＯＭ２３０のようなメモリでは、データの喪失による影響は非常に大きい。このことから、データの書き込みを行うようにしている。そのように、動作（コマンド）の選択では、影響の大きさを考慮することも重要である。
【００９５】
図７の説明に戻る。Ｓ７０１では、ＣＰＵコア１１１１は、上記のようにして、設定の参照、或いはＥＥＰＲＯＭ２３０の動作の確認結果の参照により、グランド端子が非接続か否かの判定を行う。それにより、グランド端子が非接続と確認できた場合、Ｓ７０１の判定はＹＥＳとなってＳ７０２に移行する。グランド端子が非接続と確認できない場合、Ｓ７０１の判定はＮＯとなってＳ７０３に移行する。
【００９６】
Ｓ７０２では、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に指示して、スタートコンディションの発行（送信）の前に、クロック信号をハイレベル（図７中「Ｈ」と表記）からローレベル（図７中「Ｌ」と表記）に遷移させる（図４（ｂ）参照）。その後、Ｓ７０３に移行して、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に通常通りにコマンドを発行させる。
【００９７】
コマンドを発行させた後は、Ｓ７０４に移行して、ＣＰＵコア１１１１は、再度、トナーボトル搭載基板１３１のグランド端子が非接続か否か判定する。そのグランド端子が非接続と確認できた場合、Ｓ７０４の判定はＹＥＳとなってＳ７０５に移行する。そのグランド端子が非接続と確認できなかった場合、Ｓ７０４の判定はＮＯとなり、ここでＩ２Ｃ通信制御処理が終了する。
【００９８】
Ｓ７０５では、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に送信させたコマンドがライトコマンドか否か判定する。ライトコマンドをＩ２Ｃコントローラ１１１２に送信させていた場合、Ｓ７０５の判定はＹＥＳとなってＳ７０６に移行する。反対に、リードコマンドをＩ２Ｃコントローラ１１１２に送信させていた場合、Ｓ７０５の判定はＮＯとなり、ここでＩ２Ｃ通信制御処理が終了する。
【００９９】
図２に示すように、Ｉ２Ｃバス１４は各トナーボトル搭載基板１３１と接続されている。１つのトナーボトル搭載基板１３１を想定して出力された信号は、他のトナーボトル搭載基板１３１にも入力される。このことから、Ｓ７０６では、ＣＰＵコア１１１１は、他のデバイスへのアクセスを行うか否か判定する。他のデバイスへのアクセスを行う場合、Ｓ７０６の判定はＹＥＳとなってＳ７０７に移行する。他のデバイスへのアクセスを行わない場合、Ｓ７０６の判定はＮＯとなってＳ７０８に移行する。
【０１００】
Ｓ７０７では、ＣＰＵコア１１１１は、他のデバイスへのアクセスを実行する。そのアクセスの実行では、ＣＰＵコア１１１１は、図４（ｂ）に示すように、クロック信号をハイレベルからローレベルに遷移させる操作をＩ２Ｃコントローラ１１１２に行わせる。それにより、ライトコマンドを処理したＥＥＰＲＯＭ２３０にもその操作が行われたクロック信号が送信されることとなる。
【０１０１】
Ｓ７０７での処理の実行後はＳ７０６に戻る。それにより、アクセスする他のデバイスが無くなるまで、Ｓ７０６及びＳ７０７により形成される処理ループが繰り返し実行される。そのため、Ｓ７０８への移行時には、最初にライトコマンドを発行したデバイス（ここではＥＥＰＲＯＭ２３０）とは異なるデバイスにライトコマンドを処理させている場合がある。それにより、Ｓ７０８では、ライトコマンドの処理が完了していないＥＥＰＲＯＭ２３０の全てが対象となる。
【０１０２】
Ｓ７０８では、ＣＰＵコア１１１１は、ライトコマンドの処理が完了していないＥＥＰＲＯＭ２３０を特定し、特定したＥＥＰＲＯＭ２３０がライトコマンドの処理を完了するのに必要な期間、クロック信号の操作をＩ２Ｃコントローラ１１１２に行わせる（図５（ｂ）参照）。その後、Ｉ２Ｃ通信制御処理が終了する。
【０１０３】
図９は、Ｉ２Ｃ通信制御処理の変形例を示すフローチャートである。次に、図９を参照して、Ｉ２Ｃ通信制御処理の変形例について詳細に説明する。
【０１０４】
上記のように、本実施形態では、クロック信号を操作する場合を想定している。変形例では、データ信号を操作する場合を想定している。
【０１０５】
変形例では、制御プログラム１１３ａに制御が渡った場合、ＣＰＵコア１１１１は、先ず、Ｉ２Ｃコントローラ１１１２に指示して、図４（ｃ）に示すように、データ信号をハイレベルからローレベルに遷移させる（Ｓ９０１）。
【０１０６】
次に、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に指示して、通常通りにコマンドを発行する（Ｓ９０２）。続いて、ＣＰＵコア１１１１は、トナーボトル搭載基板１３１のグランド端子が非接続か否か判定する（Ｓ９０３）。そのグランド端子が非接続と確認できた場合、Ｓ９０３の判定はＹＥＳとなってＳ９０４に移行する。そのグランド端子が非接続と確認できなかった場合、Ｓ９０３の判定はＮＯとなり、ここでＩ２Ｃ通信制御処理が終了する。
【０１０７】
Ｓ９０４では、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に送信させたコマンドがライトコマンドか否か判定する。ライトコマンドをＩ２Ｃコントローラ１１１２に送信させていた場合、Ｓ９０４の判定はＹＥＳとなってＳ９０５に移行する。反対に、リードコマンドをＩ２Ｃコントローラ１１１２に送信させていた場合、Ｓ９０４の判定はＮＯとなり、ここでＩ２Ｃ通信制御処理が終了する。
【０１０８】
Ｓ９０５では、ＣＰＵコア１１１１は、他のデバイスへのアクセスを行うか否か判定する。他のデバイスへのアクセスを行う場合、Ｓ９０５の判定はＹＥＳとなってＳ９０６に移行する。他のデバイスへのアクセスを行わない場合、Ｓ９０５の判定はＮＯとなってＳ９０７に移行する。
【０１０９】
Ｓ９０６では、ＣＰＵコア１１１１は、他のデバイスへのアクセスを実行する。そのアクセスの実行では、図４（ｃ）に示すように、データ信号をハイレベルからローレベルに遷移させる操作が行われる。
【０１１０】
Ｓ９０６での処理の実行後はＳ９０５に戻る。それにより、アクセスする他のデバイスが無くなるまで、Ｓ９０５及びＳ９０６により形成される処理ループが繰り返し実行される。そのため、Ｓ９０７への移行時には、最初にライトコマンドを発行したデバイス（ここではＥＥＰＲＯＭ２３０）とは異なるデバイスにライトコマンドを処理させている場合がある。それにより、Ｓ９０７では、ライトコマンドの処理が完了していないＥＥＰＲＯＭ２３０の全てが対象となる。
【０１１１】
Ｓ９０７では、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に指示して、クロック信号をローレベルに遷移させ、続いてデータ信号をローレベルに遷移させる。続くＳ９０８では、ＣＰＵコア１１１１は、ライトコマンドの処理が完了していないＥＥＰＲＯＭ２３０がその処理を完了するのに必要な期間、その状態を維持させる（図５（ｃ）参照）。
【０１１２】
その期間が経過すると、Ｓ９０８からＳ９０９に移行し、ＣＰＵコア１１１１は、Ｉ２Ｃコントローラ１１１２に指示して、データ信号をハイレベルに遷移させ、続けてクロック信号をハイレベルに遷移させる（図５（ｃ）参照）。その後、Ｉ２Ｃ通信制御処理が終了する。
【０１１３】
なお、本実施形態では、電子機器の種類は画像形成装置である。電子機器は、電子機器側に１つ以上の回路基板が搭載され、回路基板を搭載したモジュール（着脱可能装置）が１つ以上、装着可能であれば良い。それにより、電子機器の種類は特に限定されない。また、クロック信号、或いは／及び、データ信号に対する操作も上述したものに限定されない。制御プログラム１１３ａについては、クロック信号、及びデータ信号の操作を可能にさせ、ユーザの設定により、操作対象を選択させるようにしても良い。その設定を示すデータは、フラッシュメモリ１１３に保存させれば良い。
【符号の説明】
【０１１４】
５    エンジン制御基板
１１    トナーボトル搭載基板群
１４    Ｉ２Ｃバス
１１１    ＣＰＵ
１１２    ＲＡＭ
１１３    フラッシュメモリ
１１３ａ    制御プログラム
１３１、１３１ａ〜１３１ｄ    トナーボトル搭載基板
２００、２００ａ、２００ｂ    ハーネス
２１０、２１０ａ、２１０ｂ    中継基板
２３０    ＥＥＰＲＯＭ
Ｃ１    コンデンサ
Ｄ１、Ｄ２    ダイオード
１１１１    ＣＰＵコア
１１１２    Ｉ２Ｃコントローラ
【先行技術文献】
【特許文献】
【０１１５】
【特許文献１】特開２０１３−２１８１９９号公報
【図１】
2017151263.tif 000003
【図２】
2017151263.tif 000004
【図３】
2017151263.tif 000005
【図４】
2017151263.tif 000006
【図５】
2017151263.tif 000007
【図６】
2017151263.tif 000008
【図７】
2017151263.tif 000009
【図８】
2017151263.tif 000010
【図９】
2017151263.tif 000011