JP6822105B2 - 通信システム及び画像形成装置 - Google Patents

通信システム及び画像形成装置 Download PDF

Info

Publication number
JP6822105B2
JP6822105B2 JP2016235114A JP2016235114A JP6822105B2 JP 6822105 B2 JP6822105 B2 JP 6822105B2 JP 2016235114 A JP2016235114 A JP 2016235114A JP 2016235114 A JP2016235114 A JP 2016235114A JP 6822105 B2 JP6822105 B2 JP 6822105B2
Authority
JP
Japan
Prior art keywords
master device
command
data
master
address
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.)
Expired - Fee Related
Application number
JP2016235114A
Other languages
English (en)
Other versions
JP2018026088A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2018026088A publication Critical patent/JP2018026088A/ja
Application granted granted Critical
Publication of JP6822105B2 publication Critical patent/JP6822105B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、通信システム及び画像形成装置に関する。
MFP(Multi-Function Peripheral)では、モジュール間の双方向通信のために、USB(Universal Serial Bus)やPCIexpressバスなどの、高速シリアルバスが利用されている。これらの高速シリアルバスは、通信開始時にリンクトレーニングやネゴシエーションなどの初期化処理が行われるため、MFPが起動してから通信可能になるまでに時間がかかる。また、高速シリアルバスは、待機電力が大きいため、MFPの省エネモードでは、高速シリアルバスによる通信を使用せず、低消費電力なバスを利用して通信する方が好ましい。
そこで、従来、通信開始が早く低消費電力なI2C(Inter Integrated Circuit)バスを、MFPの補助的なバスとして利用することが提案されている。
しかしながら、I2Cバスには、I2C規格に規定されていない割り込み線を新設するなどしない限り、スレーブ側から通信を開始できないという問題があった。また、マルチマスタ方式のI2C通信であっても、マスタ同士が通信できないという問題や、全く同じコマンドが同時に送信された場合にコリジョンを検知できない可能性があるという問題があった。
本発明は、上記の課題に鑑みてなされたものであり、I2Cバスによるモジュール間の双方向通信が可能な通信システムを実現することを目的とする。
一実施形態に係る通信システムは、I2Cバスにより相互に接続された複数のモジュールと、I2Cバスに接続され、スレーブデバイスとして動作する外部装置とを備え、前記各モジュールは、前記I2Cバスに接続された、I2C通信のマスタとして機能するマスタデバイスと、前記I2Cバスに接続された、前記I2C通信のスレーブとして機能するスレーブデバイスと、をそれぞれ有し、前記マスタデバイスにより送信される、送信先の前記スレーブデバイスを指定しないゼネラルコールアドレスと、前記マスタデバイスによる前記I2C通信を禁止する第1の禁止コマンドとを含む第1のコマンド列が定義されるる。
本発明の各実施形態によれば、I2Cバスによるモジュール間の双方向通信が可能な通信システムを実現することができる。
第1実施形態に係る通信システムのハードウェア構成の一例を示す図。 マスタデバイスのハードウェア構成の一例を示す図。 第1実施形態におけるI2C通信のデータフォーマットの一例を示す図。 第1実施形態におけるI2C通信のデータフォーマットの他の例を示す図。 第1実施形態における、モジュール間のデータの送信処理の一例を示すフローチャート。 第2実施形態に係る画像形成装置のハードウェア構成の一例を示す図。 第2実施形態に係る画像形成装置の起動時の動作の一例を示すシーケンス図。 第2実施形態に係る画像形成装置の省エネモードの移行時及び復帰時の動作の一例を示すシーケンス図。 外部装置として不揮発性RAMが接続された通信システムの一例を示す図。 マスタデバイスが不揮発性RAMに排他的にアクセスする際の処理の概要を示すシーケンス図。 禁止コマンド及び解除コマンドのコマンドフォーマットの一例を示す図 禁止コマンド及び解除コマンドのコマンドフォーマットの一例を示す図 禁止コマンド及び解除コマンドのコマンドフォーマットの一例を示す図 各スレーブデバイスが実行する処理の一例を示すフローチャート。 各スレーブデバイスが実行する処理の一例を示すフローチャート。 各スレーブデバイスが実行する処理の一例を示すフローチャート。
以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
(第1実施形態)
第1実施形態に係る通信システムについて、図1〜図5を参照して説明する。図1は、本実施形態に係る通信システムのハードウェア構成の一例を示す図である。図1の通信システムは、データ線L1と、クロック線L2と、モジュールM1〜Mn(n≧2)と、を備える。
データ線L1は、シリアルデータ(SDA)が送受信されるI2Cバスである。クロック線L2は、シリアルクロック(SCL)が送受信されるI2Cバスである。
モジュールM1〜Mnは、I2Cバス(データ線L1及びクロック線L2)により相互に接続される。以下では、モジュールM1〜Mnのうち、i番目のモジュールをモジュールMiと称する。
図1のモジュールMiは、各モジュールを識別するための7ビットのアドレスを割り当てられている。図1の例では、モジュールM1のアドレスは1101000であり、モジュールM2のアドレスは1110000である。モジュールMiに割り当てられたアドレスは、後述するマスタデバイスmi及びスレーブデバイスsiにより共用される。なお、各モジュールMiのアドレスは10ビットであってもよい。
モジュールMiは、マスタデバイスmiと、スレーブデバイスsiと、を備える。マスタデバイスmi及びスレーブデバイスsiは、プルアップ抵抗(例えば、1kΩ)を介して電源電圧に接続される。
マスタデバイスmiは、I2C通信のマスタとして機能するI2Cデバイスであり、FPGA(Field Programmable Gate Array)やマイコンにより構成される。マスタデバイスmiは、マルチマスタモードで動作する。
図2は、マスタデバイスmiのハードウェア構成の一例を示す図である。図2のマスタデバイスmiは、CPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、を備える。また、マスタデバイスmiは、入出力インタフェース(I/O)104と、SDA端子105と、SCL端子106と、内部バス107と、を備える。
CPU101は、マスタデバイスmiをI2C通信のマスタとして機能させるためのプログラムを実行する。RAM102は、CPU102に作業領域を提供する。ROM103は、CPU101が実行するプログラムを格納する。入出力インタフェース104は、外部とのデータの送受信を仲介する。SDA端子105は、入出力インタフェース104に設けられ、データ線L1に接続される。SCL端子106は、入出力インタフェース104に設けられ、クロック線L2に接続される。内部バス107は、CPU101と、RAM102と、ROM103と、入出力インタフェース104と、を相互に接続する。マスタデバイスmiは、SDA端子105及びSCL端子106を介して、データ線L1及びクロック線L2に、ワイヤードアンドロジックで接続される。
スレーブデバイスsiは、I2C通信のスレーブとして機能するI2Cデバイスであり、FPGAやマイコンにより構成される。スレーブデバイスsiのハードウェア構成は、マスタデバイスmiと同様である。ただし、スレーブデバイスsiのROMには、スレーブデバイスsiをI2C通信のスレーブとして機能させるためのプログラムが格納される。スレーブデバイスsiは、マスタデバイスmiとは独立したチップにより構成されてもよいし、マスタデバイスmiと同一のチップにより構成されてもよい。
本実施形態において、マスタデバイスmiはデータの送信だけを行い、スレーブデバイスsiはデータの受信だけを行う。したがって、モジュールMiからモジュールMjへのデータの送信は、マスタデバイスmiからスレーブデバイスsjにデータを送信することにより行われる。これに対して、モジュールMjからモジュールMiへのデータの送信は、マスタデバイスmjからスレーブデバイスsiにデータを送信することにより行われる。
ここで、図3は、本実施形態におけるI2C通信のデータフォーマットの一例を示す図である。図3は、マスタデバイスm2がスレーブデバイスs1にデータを送信する場合のデータフォーマットを示している。
本実施形態において、マスタデバイスmiは、スレーブデバイスsjにデータを送信する場合、スタートコンディションSを送信した後、宛先となるスレーブデバイスsjのアドレス(slave add)と、0と、を送信する。ここで送信される0は、マスタデバイスmiからの送信(Write要求)を示すRead/Write要求である。また、スレーブデバイスsjのアドレスとは、スレーブアドレスsjを備えるモジュールMjに割り当てられたアドレスのことである。図3の例では、スレーブデバイスs1のアドレスとして、1101000が送信されている。
その後、マスタデバイスmiは、スレーブデバイスsjからACKを受信すると、1バイトのデータを送信する。本実施形態では、マスタデバイスmiは、送信元であるマスタデバイスmiのアドレス(master add)を含むデータを送信する。マスタデバイスmiのアドレスとは、マスタアドレスmiを備えるモジュールMiに割り当てられたアドレスのことである。マスタデバイスmiは、1バイトのデータとして、マスタデバイスmiのアドレスの先頭または末尾に、任意のビット(0又は1)を付加したデータを送信すればよい。図3の例では、マスタデバイスm2のアドレス1110000の末尾に0を付加したデータが送信されている。以降のデータフォーマットは、I2C規格で定められた通りである。
図4は、本実施形態におけるI2C通信のデータフォーマットの他の例を示す図である。図4は、マスタデバイスm2が全てのスレーブデバイスs1〜snにデータを同報送信する場合のデータフォーマットを示している。
I2C規格では、ゼネラルコールアドレスと呼ばれる同報送信用のアドレスが用意されている。ゼネラルコールアドレスは、7ビットの場合、0000000である。マスタデバイスmiは、データを同報送信する場合、宛先となるスレーブデバイスのアドレスとして、図4に示すように、このゼネラルコールアドレスを送信すればよい。
図5は、本実施形態における、モジュールMiからモジュールMjへのデータの送信処理の一例を示すフローチャートである。
まず、モジュールMiのマスタデバイスmiは、スタートコンディションSを送信する(ステップS101)。具体的には、マスタデバイスmiは、SCLがHighの間に、SDAをLowにする。
次に、マスタデバイスmiは、モジュールMjのスレーブデバイスsjのアドレスと、Write要求と、を送信する(ステップS102)。通信システムに含まれる各スレーブデバイスは、マスタデバイスmiが送信したアドレスを受信すると、受信したアドレスと、自装置のアドレスと、を比較する。マスタデバイスmiが送信したアドレスが自装置のアドレスが一致するスレーブデバイスsjは、ACKを送信する。
マスタデバイスmiは、スレーブデバイスsjのアドレスの送信後、所定時間以内にACKを受信できない場合(ステップS103のNO)、エラー処理を実行する(ステップS104)。これは、マスタデバイスmiがNAKを受信した場合も同様である。マスタデバイスmiは、エラー処理として、実行中の送信処理をリセットしてもよいし、送信処理をはじめからやり直してもよい。
なお、マスタデバイスmiは、エラー処理を実行する前に、一定時間ごとに所定回数だけスレーブデバイスsjのアドレスの送信を繰り返してもよい。繰り返しの回数や間隔は、任意に設定可能である。
一方、マスタデバイスmiは、スレーブデバイスsjのアドレスの送信後、所定時間以内にACKを受信した場合(ステップS103のYES)、自装置のアドレスを含む1バイトのデータを送信する(ステップS105)。スレーブデバイスsjは、このデータを受信すると、ACKを送信する。
マスタデバイスmiは、自装置のアドレスを含むデータの送信後、所定時間以内にACKを受信できない場合(ステップS106のNO)、エラー処理を実行する(ステップS104)。これは、マスタデバイスmiがNAKを受信した場合も同様である。マスタデバイスmiは、エラー処理として、実行中の送信処理をリセットしてもよいし、送信処理をはじめからやり直してもよい。
なお、マスタデバイスmiは、エラー処理を実行する前に、一定時間ごとに所定回数だけ自装置のアドレスを含むデータの送信を繰り返してもよい。繰り返しの回数や間隔は、任意に設定可能である。
一方、マスタデバイスmiは、自装置のアドレスを含むデータの送信後、所定時間以内にACKを受信した場合(ステップS106のYES)、1バイトの送信対象データを送信(ステップS107)。スレーブデバイスsjは、このデータを受信すると、ACKを送信する。
マスタデバイスmiは、送信対象データの送信後、所定時間以内にACKを受信できない場合(ステップS108のNO)、エラー処理を実行する(ステップS104)。これは、マスタデバイスmiがNAKを受信した場合も同様である。マスタデバイスmiは、エラー処理として、実行中の送信処理をリセットしてもよいし、送信処理をはじめからやり直してもよい。
なお、マスタデバイスmiは、エラー処理を実行する前に、一定時間ごとに所定回数だけ送信対象データの送信を繰り返してもよい。繰り返しの回数や間隔は、任意に設定可能である。
一方、マスタデバイスmiは、送信対象データの送信後、所定時間以内にACKを受信した場合(ステップS108のYES)、全ての送信対象データの送信を完了したか判定する(ステップS109)。未送信の送信対象データがある場合(ステップS109のNO)、処理はステップS107に戻る。以降、全ての送信対象データの送信が完了するまで、ステップS107〜S109の処理が繰り返される。
一方、全ての送信対象データの送信が完了した場合(ステップS109のYES)、マスタデバイスmiは、ストップコンディションPを送信する(ステップS110)。具体的には、マスタデバイスmiは、SCLがHighの間に、SDAをHighにする。以上の処理により、モジュールMiからモジュールMjに、送信対象データを送信することができる。
以上説明した通り、本実施形態によれば、I2Cバスによるモジュール間の双方向通信が可能な通信システムを実現することができる。
また、本実施形態によれば、マスタデバイスmiは、スレーブデバイスsjのアドレスを送信した後、自装置のアドレスを含むデータを送信する。これにより、各マスタデバイスmiが送信するデータの内容を異ならせることができる。したがって、複数のマスタデバイスが同時にデータを送信した場合であっても、送信データのコリジョンを確実に検出することができる。
(第2実施形態)
第2実施形態に係る通信システムについて、図6〜図8を参照して説明する。本実施形態では、第1実施形態に係る通信システムを備えた画像形成装置(MFP)について説明する。
本実施形態に係る画像形成装置は、スキャナ機能、プリンタ機能、コピー機能などの各種の機能を備える複合機である。図6は、本実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。図6の画像形成装置は、本体コントローラ1と、操作部2と、電源部3と、を備える。図示省略されているが、画像形成装置は、上記の機能を実現するエンジン(プリンタエンジンやスキャナエンジンなど)も備える。
本体コントローラ1は、画像形成装置の本体を制御するモジュール(コントローラ)である。本体コントローラ1は、CPUと、ROMと、RAMと、を備える。CPUがROMに格納されたプログラムをRAM上で実行することにより、画像形成装置の基本処理が実行される。また、本体コントローラ1は、省エネサブシステム11を備える。省エネサブシステム11は、画像形成装置の省エネモード時に起動する小型マイコンシステムである。省エネサブシステム11は、マスタデバイスm1と、スレーブデバイスs1と、を備える。マスタデバイスm1及びスレーブデバイスs1は、共通のアドレスを割り当てられ、データ線L1及びクロック線L2にそれぞれ接続される。
操作部2は、画像形成装置の操作パネルシステムを構成するモジュールである。操作部2は、本体コントローラ1と大容量の高速な通信が必要のため、USBで接続されている。操作部2は、操作パネルを備える。操作パネルは、ディスプレイ、操作キー、タッチパネルなどを備える入出力装置である。また、操作部2は、操作パネルを制御する操作部マイコン21を備える。操作部マイコン21は、マスタデバイスm2と、スレーブデバイスs2と、を備える。マスタデバイスm2及びスレーブデバイスs2は、共通のアドレスを割り当てられ、データ線L1及びクロック線L2にそれぞれ接続される。
電源部3は、本体コントローラ1や操作部2などの電源を管理するモジュールである。電源部3は、画像形成装置の電源ラインや電源スイッチを備える。また、電源部3は、電源ラインや電源スイッチを制御する電源マイコン31を備える。電源マイコン31は、マスタデバイスm3と、スレーブデバイスs3と、を備える。マスタデバイスm3及びスレーブデバイスs3は、共通のアドレスを割り当てられ、データ線L1及びクロック線L2にそれぞれ接続される。
本実施形態において、通信システムのI2Cバスは、画像形成装置の補助的なバスとして利用される。以下、I2Cバスの使用態様について説明する。
<1.起動時>
図7は、本実施形態に係る画像形成装置の起動時の動作の一例を示すシーケンス図である。図7の例では、シーケンスの開始時点で、画像形成装置は電源を切断されている。また、図7において、マスタデバイスからの通信に対するACK又はNAKの返信は省略されている。
ユーザにより電源部3の電源スイッチを押下されると、電源マイコン31は、瞬時に起動し、本体コントローラ1及び操作部2の電源投入(電源ON)制御を実行する(ステップS201,S202)。本体コントローラ1及び操作部2に電源が投入されると、省エネサブシステム11及び操作部マイコン21が瞬時に起動する。これにより、本体コントローラ1、操作部2、及び電源部3は、I2Cバスを利用して通信可能となる。
その後、操作部マイコン21のマスタデバイスm2は、省エネサブシステム11のスレーブデバイスs1に、操作部2の状態を通知する。操作部2の状態として、起動開始、起動中、起動完了などの状態が考えられる。また、操作部マイコン21のマスタデバイスm2は、操作部2の全体の状態を通知してもよいし、操作部2の起動ステージごとに状態を通知してもよい。起動ステージとして、ディスプレイ、ローダ、OS(Operating System)、及び操作部2全体の起動が考えられる。
図7の例では、操作部マイコン21のマスタデバイスm2は、操作部2の起動完了後、操作部2の起動完了を示すReadyメッセージを、省エネサブシステム11のスレーブデバイスs1に送信している(ステップS203)。
操作部2が起動完了した時点で省エネサブシステム11が起動していない場合や、I2C通信の準備が完了していない場合が考えられる。このため、操作部マイコン21のマスタデバイスm2は、省エネサブシステム11のスレーブデバイスs1からACKを受信するまで、操作部2の状態を定期的に通知するのが好ましい。操作部2は、省エネサブシステム11のスレーブデバイスs1からACKを受信することにより、省エネサブシステム11の起動を確認することができる。
省エネサブシステム11が起動し、操作部マイコン21から状態を通知されると、省エネサブシステム11のマスタデバイスm1は、操作部マイコン21のスレーブデバイスs2に、本体コントローラ1のバージョン情報を通知する(ステップS204)。こうして得られた本体コントローラ1のバージョン情報を利用して、操作部2を初期化することができる。
なお、本体コントローラ1のバージョン情報は、本体コントローラ1の各起動ステージで実行されるプログラムのバージョン情報であってもよいし、本体コントローラ1を構成する各サブモジュールのハードウェアのバージョン情報であってもよい。
同様に、操作部マイコン21が本体コントローラ1からACKを受信すると、操作部マイコン21のマスタデバイスm2は、省エネサブシステム11のスレーブデバイスs1に、操作部2のバージョン情報を通知する(ステップS205)。こうして得られた操作部2のバージョン情報を利用して、本体コントローラ1を初期化することができる。
なお、操作部2のバージョン情報は、操作部2の各起動ステージで実行されるプログラムのバージョン情報であってもよいし、操作部2を構成する各サブモジュールのハードウェアのバージョン情報であってもよい。
その後、操作部マイコン21のマスタデバイスm2は、省エネサブシステム11のスレーブデバイスs1に起動条件を通知する(ステップS206)。起動条件とは、画像形成装置の起動に影響を及ぼす任意の条件のことである。起動条件は、例えば、画像形成装置の起動中に実行された、操作部2の操作キーの押下により入力される。起動条件の通知は、例えば、工程検査モードやソフトウェアの更新モードなどの特殊な動作モードで画像形成装置を起動する場合に要求される。したがって、操作部マイコン21のマスタデバイスm2は、画像形成装置を通常起動する場合、起動条件の通知を省略してもよい。
本体コントローラ1は、起動完了すると、画像形成装置全体の状態に責任を持ち、各モジュールの状態遷移を他のモジュールに通知する。本体コントローラ1は、各モジュールの状態遷移を、I2Cバスを利用して通知してもよいし、通知先のモジュールと通信可能な他のバス(例えば、USB)を利用して通知してもよい。
図7の例では、本体コントローラ1は、操作部2に、エンジンの停止(OFF)や起動(ON)を通知している(ステップS207,S208)。操作部2は、このような通知に基づいて、ディスプレイのバックライトの消灯や点灯などの制御を実行することができる。
従来の画像形成装置は、起動時に、USBなどの高速シリアルバスの初期化処理が完了するまで、各モジュールは通信することができなかった。すなわち、従来の画像形成装置は、初期化処理が完了するまで、起動に必要な各種の情報をモジュール間でやり取りすることができなかった。この結果、従来の画像形成装置は、起動に時間がかかった。
これに対して、本実施形態に係る画像形成装置は、上述の通り、起動時にI2Cバスにより各モジュールが通信することができる。そして、I2Cバスは、リンクトレーニングなどの初期化処理を行うことなく、画像形成装置の起動開始後、速やかに通信可能となる。この結果、本実施形態に係る画像形成装置は、従来の画像形成装置に比べて、起動にかかる時間が短くなる。すなわち、本実施形態によれば、画像形成装置の起動を高速化することができる。
また、I2Cバスは、信号線を2本しか利用しないため、小規模な回路で実装することができる。したがって、通信システムを小型化し、画像形成装置に追加する回路面積の増大を抑制することができる。
また、I2Cバスは、いわゆる枯れた技術であるため、既存の設計資源が豊富に存在する。これらの設計資源を利用することにより、IPやドライバを容易に作成することができる。
<2.省エネモード移行時及び復帰時>
図8は、本実施形態に係る画像形成装置の省エネモードの移行時及び復帰時の動作の一例を示すシーケンス図である。図8の例では、シーケンスの開始時点で、画像形成装置は起動完了し、通常モードで動作している。また、図8において、マスタデバイスからの通信に対するACK又はNAKの返信は省略されている。なお、図8のステップS307〜S310は、図7のステップS203,S206〜S208と同様である。
通常モードにおいて、エンジンは、消費電力を抑制するため、一定時間動作しないと停止する。エンジンが停止すると、本体コントローラ1は、エンジンが停止(OFF)したことを、操作部2に通知する(ステップS301)。
エンジンの停止後、一定時間が経過すると、本体コントローラ1は、通常モードから省エネモードに移行することを決定する。そして、本体コントローラ1は、省エネモードに移行することを、操作部2及び電源部3に通知する(ステップS302,S303)。
省エネモードは、画像形成装置の消費電力を抑制するための動作モードである。省エネモードでは、メモリの内容が保持された状態で、省エネサブシステム11、操作部マイコン21、及び電源マイコン31に電源が投入され、それ以外のコントローラの電源が切断される。
電源部3は、省エネモードに移行することを通知されると、省エネモードへ移行するための電源制御(移行制御)を実行する(ステップS304)。これにより、画像形成装置の動作モードが、通常モードから省エネモードに移行する。以降、省エネモードからの復帰要因が発生するまで、画像形成装置は省エネモードを継続する。
なお、省エネモードに移行するまでの通信及び制御(ステップS301〜S304)は、I2Cバスを利用して行われてもよいし、USBや他の通信バスを利用して行われてもよい。
省エネモードに移行中に、復帰要因が発生すると、電源マイコン31のマスタデバイスm3は、省エネモードから復帰するための電源制御(復帰制御)を実行する(ステップS306)。これにより、画像形成装置の動作モードが、省エネモードから通常モードに移行する。
復帰要因は、例えば、電源部3の電源スイッチの押下、操作部2の操作キーの押下、圧板の開閉などであるが、これに限られない。復帰要因を検知したモジュールのマスタデバイスは、電源マイコン31のスレーブデバイスs3に復帰要因が発生したことを通知する。電源マイコン31のスレーブデバイスs3がこの通知を受信すると、電源マイコン31は、上述の復帰制御を実行する。
図8の例では、復帰要因は操作部2の操作キーの押下であり、操作キーの押下を検知した操作部マイコン21のマスタデバイスm2が、その旨を電源マイコン31のスレーブデバイスs3に通知している(ステップS305)。
なお、復帰要因を検知したモジュールのマスタデバイスは、ゼネラルコールアドレスに対して、復帰要因が発生したことを通知してもよい。これにより、各モジュールに、復帰要因の発生を周知することができる。
本実施形態によれば、画像形成装置の起動の高速化と同様の理由により、画像形成装置の省エネモードからの復帰を高速化することができる。
また、I2Cバスは、高速シリアルバスに比べて消費電力が小さいため、本実施形態によれば、省エネモードにおける画像形成装置の待機電力を抑制することができる。
以上説明した通り、第1実施形態に係る通信システムを画像形成装置に適用することにより、画像形成装置の起動を高速化し、回路面積の増大を抑制し、IPやドライバを容易に作成することができる。また、画像形成装置の省エネモードからの復帰を高速化し、省エネモード中の待機電力を抑制することができる。
さらに、本実施形態によれば、画像形成装置に障害が発生し、OSが動作しなくなった場合であっても、個別のマイコンやコントローラにより構成された通信システムは、動作可能である。マスタデバイスを備えるマイコンが、検知した障害をゼネラルコードアドレスに通知することにより、通信システムを備える各モジュールに障害を通知することができる。これにより、例えば、操作部2のディスプレイに、障害を検知したことや、検知された障害の内容を表示させることができる。
なお、本実施形態において、起動時や、省エネモードの移行時及び復帰時に、モジュール間でやり取りされる情報は、上記の例に限られない。また、通信システムは、本体コントローラ1、操作部2、及び電源部3だけでなく、エンジンの他のモジュールを含んでもよい。さらに、第1実施形態に係る通信システムは、画像形成装置に限られず、高速シリアルバスで接続された複数のモジュールを備える任意の装置に適用されてもよい。
(第3実施形態)
第3実施形態に係る通信システムについて、図9〜図16を参照して説明する。本実施形態では、通信システムに接続された外部装置(I2Cデバイス)に排他的にアクセス可能な通信システムについて説明する。本実施形態に係る通信システムの構成は、第1実施形態と同様である。
まず、通信システムに外部装置が接続された場合について考える。図9は、外部装置として不揮発性RAMが接続された通信システムの一例を示す図である。図9の不揮発性RAMは、SDA端子及びSCL端子を備えたI2Cデバイスであり、SDA端子がデータ線L1に接続され、SCL端子がクロック線L2に接続されている。この不揮発性RAMは、I2C通信のスレーブとして機能し、各モジュールM1〜MnとI2C通信が可能である。図9の例では、不揮発性RAMに割り当てられたアドレスは、0000100である。
この不揮発性RAMに、モジュールMiが暗号化されたデータ(以下、「暗号化データ」という)を書き込む場合、一連の暗号化データは、連続して不揮発性RAMに書き込まれることが必要となる。このため、モジュールMiが不揮発性RAMに暗号化データを書き込んでいる間、モジュールMiが不揮発性RAMに排他的にアクセスすることが必要になる。モジュールMiが不揮発性RAMに排他的にアクセスするとは、他のモジュールMjが不揮発性RAMにアクセスしないように、モジュールMiが不揮発性RAMにアクセスすることをいう。
このように、通信システムに外部装置が接続された場合、外部装置に対する排他的なアクセスが必要となる場合がある。そこで、本実施形態では、通信システムに接続された外部装置に対する排他的なアクセスを可能とするためのコマンドが予め定義される。
図10は、マスタデバイスm1が不揮発性RAMに排他的にアクセスする際の処理の概要を示すシーケンス図である。図10に示すように、まず、マスタデバイスm1は、他のマスタデバイスmiに対して不揮発性RAMへのアクセスを禁止するためのコマンド(以下、「禁止コマンド」という)を同報送信する(ステップS401)。同報送信された禁止コマンドは、不揮発性RAM及びスレーブデバイスs2〜snにより受信される。
この禁止コマンドは、本実施形態に係る通信システムにおいて独自に定義されたコマンドであるため、外部装置である不揮発性RAMは、禁止コマンドを受信しても、その内容を理解できない。したがって、不揮発性RAMは、受信した禁止コマンドを無視する。
一方、スレーブデバイスs2〜snは、禁止コマンドを受信すると、それぞれ対応するマスタデバイスm2〜mnの不揮発性RAMへのアクセスを禁止する。これ以降、マスタデバイスm1は、不揮発性RAMに排他的にアクセス可能となる(ステップS402)。
マスタデバイスm1は、不揮発性RAMに対する所望の処理(例えば、暗号化データの書き込み)が終了すると、不揮発性RAMに対するアクセスの禁止を解除するためのコマンド(以下、「解除コマンド」という)を同報送信する(ステップS403)。同報送信された解除コマンドは、不揮発性RAM及びスレーブデバイスs2〜snにより受信される。
この解除コマンドは、本実施形態に係る通信システムにおいて独自に定義されたコマンドであるため、外部装置である不揮発性RAMは、解除コマンドを受信しても、その内容を理解できない。したがって、不揮発性RAMは、受信した解除コマンドを無視する。
一方、スレーブデバイスs2〜snは、解除コマンドを受信すると、それぞれ対応するマスタデバイスm2〜mnの、不揮発性RAMへのアクセスの禁止を解除する。これ以降、マスタデバイスm1だけでなく、マスタデバイスm2〜mnも、不揮発性RAMに対してアクセス可能となる。
ここで、図11〜図13は、禁止コマンド及び解除コマンドのコマンドフォーマットの一例を示す図である。
図11の上段は、マスタデバイスmjによるI2C通信を禁止する禁止コマンド(第1の禁止コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを可能にするためのコマンドフォーマットの一例である。このコマンドフォーマットは、スタートコンディションS及びゼネラルコールアドレスの送信と、禁止コマンドの送信と、送信元のマスタデバイスmiのアドレスの送信と、ストップコンディションPの送信と、により構成される。禁止コマンドは、ゼネラルコールアドレスに対するACKの受信後に送信される。マスタデバイスmiのアドレスは、禁止コマンドに対するACKの受信後に送信される。ストップコンディションPは、マスタデバイスmiのアドレスに対するACKの受信後に送信される。
図11の例では、ゼネラルコールアドレス及びマスタデバイスmiのアドレスは、末尾に0を付加されている。送信元のマスタデバイスmiは、外部装置に排他的にアクセスするマスタデバイスmiに相当する。図11の例では、送信元のマスタデバイスmiは、マスタデバイスm1である。
図11の例では、禁止コマンドは、00001110(0x0E)である。これは、通信システムにおいて、コマンド0x0Eが禁止コマンドとして定義される場合を想定している。しかしながら、本実施形態において、禁止コマンドは、コマンド0x0Eに限られない。禁止コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
このコマンドフォーマットに従って禁止コマンドが送受信されると、マスタデバイスm2〜mnは、I2C通信を禁止される。結果として、マスタデバイスm1は、ストップコンディションPを送信した後、外部装置に対して排他的にアクセス可能となる。
これに対して、図11の下段は、上段の禁止コマンドによるI2C通信の禁止を解除する解除コマンド(第1の解除コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを終了させるためのコマンドフォーマットの一例である。図11の下段の解除コマンドは、図11の上段の禁止コマンドに対応する。このコマンドフォーマットは、解除コマンドを除き、上段のコマンドフォーマットと同様である。
図11の例では、解除コマンドは、10001110(0x8E)である。これは、通信システムにおいて、コマンド0x8Eが解除コマンドとして定義される場合を想定している。しかしながら、本実施形態において、解除コマンドは、コマンド0x8Eに限られない。解除コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
このコマンドフォーマットに従って解除コマンドが送受信されると、マスタデバイスm2〜mnは、I2C通信の禁止を解除され、外部装置にアクセス可能となる。結果として、マスタデバイスM1により外部装置への排他的なアクセスが終了する。
図12の上段は、マスタデバイスmjによる特定の外部装置へのアクセスを禁止する禁止コマンド(第2の禁止コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを可能にするためのコマンドフォーマットの一例である。禁止コマンドを送信したマスタデバイスmiを除く全てのマスタデバイスmiに対して、特定の外部装置へのアクセスを禁止させる禁止コマンド(第2の禁止コマンド)のコマンドフォーマットの一例である。このコマンドフォーマットは、スタートコンディションS及びゼネラルコールアドレスの送信と、禁止コマンドの送信と、外部装置のアドレスの送信と、送信元のマスタデバイスmiのアドレスの送信と、ストップコンディションPの送信と、により構成される。禁止コマンドは、ゼネラルコールアドレスに対するACKの受信後に送信される。外部装置のアドレスは、禁止コマンドに対するACKの受信後に送信される。マスタデバイスmiのアドレスは、外部装置のアドレスに対するACKの受信後に送信される。ストップコンディションPは、マスタデバイスmiのアドレスに対するACKの受信後に送信される。
図12の例では、ゼネラルコールアドレス、マスタデバイスmiのアドレス、及び外部装置のアドレスは、末尾に0を付加されている。送信元のマスタデバイスmiは、外部装置に排他的にアクセスするマスタデバイスmiに相当する。外部装置は、送信元のマスタデバイスmiが排他的にアクセスする外部装置に相当する。図12の例では、送信元のマスタデバイスmiは、マスタデバイスm1であり、外部装置は、不揮発性RAMである。
図12の例では、禁止コマンドは、00011110(0x1E)である。これは、通信システムにおいて、コマンド0x1Eが禁止コマンドとして定義される場合を想定している。しかしながら、本実施形態において、禁止コマンドは、コマンド0x1Eに限られない。禁止コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
このコマンドフォーマットに従って禁止コマンドが送受信されると、マスタデバイスm2〜mnは、外部装置(不揮発性RAM)に対するアクセスを禁止される。結果として、マスタデバイスm1は、ストップコンディションPを送信した後、外部装置(不揮発性RAM)に対して排他的にアクセス可能となる。
これに対して、図12の下段は、上段の禁止コマンドによる外部装置へのアクセスの禁止を解除する解除コマンド(第2の解除コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを終了させるためのコマンドフォーマットの一例である。図12の下段の解除コマンドは、図12の上段の禁止コマンドに対応する。このコマンドフォーマットは、解除コマンドを除き、上段のコマンドフォーマットと同様である。
図12の例では、解除コマンドは、10011110(0x9E)である。これは、通信システムにおいて、コマンド0x9Eが解除コマンドとして定義される場合を想定している。しかしながら、本実施形態において、解除コマンドは、コマンド0x9Eに限られない。解除コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
このコマンドフォーマットに従って解除コマンドが送受信されると、マスタデバイスm2〜mnは、外部装置(不揮発性RAM)に対するアクセスの禁止を解除され、外部装置(不揮発性RAM)にアクセス可能となる。結果として、マスタデバイスM1による外部装置(不揮発性RAM)への排他的なアクセスが終了する。
図13の上段は、マスタデバイスmjによるI2C通信を所定の期間の間禁止する禁止コマンド(第3の禁止コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを可能にするためのコマンドフォーマットの一例である。このコマンドフォーマットは、スタートコンディションS及びゼネラルコールアドレスの送信と、禁止コマンドの送信と、禁止期間の送信と、送信元のマスタデバイスmiのアドレスの送信と、ストップコンディションPの送信と、により構成される。禁止コマンドは、ゼネラルコールアドレスに対するACKの受信後に送信される。禁止期間は、I2C通信が禁止される期間であり、禁止コマンドに対するACKの受信後に送信される。マスタデバイスmiのアドレスは、禁止期間に対するACKの受信後に送信される。ストップコンディションPは、マスタデバイスmiのアドレスに対するACKの受信後に送信される。
図13の例では、ゼネラルコールアドレス及びマスタデバイスmiのアドレスは、末尾に0を付加されている。送信元のマスタデバイスmiは、外部装置に排他的にアクセスするマスタデバイスmiに相当する。図13の例では、送信元のマスタデバイスmiは、マスタデバイスm1であり、禁止期間は、10msである。この禁止期間は、任意に設定可能である。
図13の例では、禁止コマンドは、00101110(0x2E)である。これは、通信システムにおいて、コマンド0x2Eが禁止コマンドとして定義される場合を想定している。しかしながら、本実施形態において、禁止コマンドは、コマンド0x2Eに限られない。禁止コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
このコマンドフォーマットに従って禁止コマンドが送受信されると、マスタデバイスm2〜mnは、禁止期間の間、I2C通信を禁止される。結果として、マスタデバイスm1は、ストップコンディションPを送信した後、禁止期間の間、外部装置に対して排他的にアクセス可能となる。禁止期間が経過すると、マスタデバイスm2〜mnは、I2C通信の禁止を解除され、マスタデバイスm1による外部装置への排他的なアクセスが終了する。
これに対して、図13の下段は、禁止期間の間に上段の禁止コマンドによるI2C通信の禁止を解除する解除コマンド(第3の解除コマンド)により、マスタデバイスmiによる外部装置への排他的なアクセスを終了させるためのコマンドフォーマットの一例である。図13の下段の解除コマンドは、図13の上段の禁止コマンドに対応する。このコマンドフォーマットは、解除コマンドを除き、図11の解除コマンドのコマンドフォーマットと同様である。
図13の例では、解除コマンドは、10101110(0xAE)である。これは、通信システムにおいて、コマンド0xAEが解除コマンドとして定義される場合を想定している。しかしながら、本実施形態において、解除コマンドは、コマンド0xAEに限られない。解除コマンドとして、I2C規格において使用されていない任意のコマンドを割り当てることができる。
禁止期間の間に、このコマンドフォーマットに従って解除コマンドが送受信されると、マスタデバイスm2〜mnは、I2C通信の禁止を解除され、外部装置にアクセス可能となる。結果として、マスタデバイスM1による外部装置への排他的なアクセスが終了する。一方、禁止期間以外に、このコマンドフォーマットに従って解除コマンドが送受信されると、マスタデバイスm2〜mnは、解除コマンドを無視する。
なお、本実施形態において、通信システムには、図11〜図13の禁止コマンド及び解除コマンドの組がそれぞれ定義されてもよいし、いずれか1つ又は2つの禁止コマンド及び解除コマンドの組が定義されてもよい。また、図13の禁止コマンドが定義される場合、対応する解除コマンドが定義されなくてもよい。
図14は、マスタデバイスmiが図11の禁止コマンド及び解除コマンドを送信可能な場合における、各スレーブデバイスsjが実行する処理の一例を示すフローチャートである。図14の処理は、スレーブデバイスsjがスタートコンディションSを受信すると開始される。
スレーブデバイスsjは、マスタデバイスmiからスタートコンディションSを受信すると、スタートコンディションSに続く1バイト目のデータを受信し(ステップS501)、ACKを返す。
次に、スレーブデバイスsjは、1バイト目のデータが、00000000であるか、すなわち、ゼネラルコールであるか判定する(ステップS502)。1バイト目のデータがゼネラルコールでない場合(ステップS502のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS510)。
一方、1バイト目のデータがゼネラルコールである場合(ステップS502のYES)、スレーブデバイスsjは、マスタデバイスmiから2バイト目のデータを受信し(ステップS503)、ACKを返す。
次に、スレーブデバイスsjは、2バイト目のデータが、0x0E(00001110)であるか、すなわち、図11の禁止コマンドであるか判定する(ステップS504)。2バイト目のデータが禁止コマンドである場合(ステップS504のYES)、スレーブデバイスsjは、対応するマスタデバイスmjのI2C通信を禁止する(ステップS505)。これにより、マスタデバイスmjは、外部装置にアクセス不能となり、マスタデバイスmiは、外部装置に排他的にアクセス可能となる。
その後、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS506)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS507)。
一方、2バイト目のデータが禁止コマンドでない場合(ステップS504のNO)、スレーブデバイスsjは、2バイト目のデータが0x8E(10001110)であるか、すなわち、図11の解除コマンドであるか判定する(ステップS508)。2バイト目のデータが解除コマンドでない場合(ステップS508のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS510)。
一方、2バイト目のデータが解除コマンドである場合(ステップS508のYES)、スレーブデバイスsjは、対応するマスタデバイスmjのI2C通信の禁止を解除する(ステップS509)。これにより、マスタデバイスmjは外部装置にアクセス可能となり、マスタデバイスmiによる外部装置への排他的なアクセスが終了する。
その後、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS506)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS507)。
図15は、マスタデバイスmiが図12の禁止コマンド及び解除コマンドを送信可能な場合における、各スレーブデバイスsjが実行する処理の一例を示すフローチャートである。図15の処理は、スレーブデバイスsjがスタートコンディションSを受信すると開始される。
スレーブデバイスsjは、マスタデバイスmiからスタートコンディションSを受信すると、スタートコンディションSに続く1バイト目のデータを受信し(ステップS601)、ACKを返す。
次に、スレーブデバイスsjは、1バイト目のデータが、00000000であるか、すなわち、ゼネラルコールであるか判定する(ステップS602)。1バイト目のデータがゼネラルコールでない場合(ステップS602のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS612)。
一方、1バイト目のデータがゼネラルコールである場合(ステップS602のYES)、スレーブデバイスsjは、マスタデバイスmiから2バイト目のデータを受信し(ステップS603)、ACKを返す。
次に、スレーブデバイスsjは、2バイト目のデータが、0x1E(00011110)であるか、すなわち、図12の禁止コマンドであるか判定する(ステップS604)。2バイト目のデータが禁止コマンドである場合(ステップS604のYES)、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータを受信し(ステップS605)、ACKを返す。ここで受信する3バイト目のデータには、外部装置のアドレスが含まれる。
スレーブデバイスsjは、3バイト目のデータを受信すると、当該データに含まれるアドレス(外部装置)に対する、対応するマスタデバイスmjのアクセスを禁止する(ステップS606)。これにより、マスタデバイスmjは、外部装置にアクセス不能となり、マスタデバイスmiは、外部装置に排他的にアクセス可能となる。ただし、マスタデバイスmjは、外部装置へのアクセスを禁止された後も、外部装置以外のスレーブデバイスに対してはアクセス可能である。
その後、スレーブデバイスsjは、マスタデバイスmiから4バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS607)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS608)。
一方、2バイト目のデータが禁止コマンドでない場合(ステップS604のNO)、スレーブデバイスsjは、2バイト目のデータが0x9E(10011110)であるか、すなわち、図12の解除コマンドであるか判定する(ステップS609)。2バイト目のデータが解除コマンドでない場合(ステップS609のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS612)。
一方、2バイト目のデータが解除コマンドである場合(ステップS609のYES)、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータを受信し(ステップS610)、ACKを返す。ここで受信する3バイト目のデータには、外部装置のアドレスが含まれる。
スレーブデバイスsjは、3バイト目のデータを受信すると、当該データに含まれるアドレス(外部装置)に対する、対応するマスタデバイスmjのアクセスの禁止を解除する(ステップS611)。これにより、マスタデバイスmjは、外部装置にアクセス可能となり、マスタデバイスmiによる外部装置への排他的なアクセスが終了する。
その後、スレーブデバイスsjは、マスタデバイスmiから4バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS607)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS608)。
図16は、マスタデバイスmiが図13の禁止コマンド及び解除コマンドを送信可能な場合における、各スレーブデバイスsjが実行する処理の一例を示すフローチャートである。図16の処理は、スレーブデバイスsjがスタートコンディションSを受信すると開始される。
スレーブデバイスsjは、マスタデバイスmiからスタートコンディションSを受信すると、スタートコンディションSに続く1バイト目のデータを受信し(ステップS701)、ACKを返す。
次に、スレーブデバイスsjは、1バイト目のデータが、00000000であるか、すなわち、ゼネラルコールであるか判定する(ステップS702)。1バイト目のデータがゼネラルコールでない場合(ステップS702のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS712)。
一方、1バイト目のデータがゼネラルコールである場合(ステップS702のYES)、スレーブデバイスsjは、マスタデバイスmiから2バイト目のデータを受信し(ステップS703)、ACKを返す。
次に、スレーブデバイスsjは、2バイト目のデータが、0x2E(00101110)であるか、すなわち、図13の禁止コマンドであるか判定する(ステップS704)。2バイト目のデータが禁止コマンドである場合(ステップS704のYES)、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータを受信し(ステップS705)、ACKを返す。ここで受信する3バイト目のデータは、禁止期間を示すデータである。
スレーブデバイスsjは、3バイト目のデータを受信すると、当該データが示す禁止期間の間、対応するマスタデバイスmjにI2C通信を禁止する(ステップS706)。これにより、マスタデバイスmjは、禁止期間の間、外部装置にアクセス不能となり、マスタデバイスmiは、外部装置に排他的にアクセス可能となる。ただし、マスタデバイスmjは、禁止期間が経過すると、自動的にI2C通信の禁止を解除される。
その後、スレーブデバイスsjは、マスタデバイスmiから4バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS707)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS708)。
一方、2バイト目のデータが禁止コマンドでない場合(ステップS704のNO)、スレーブデバイスsjは、2バイト目のデータが0xAE(10101110)であるか、すなわち、図13の解除コマンドであるか判定する(ステップS709)。2バイト目のデータが解除コマンドでない場合(ステップS709のNO)、スレーブデバイスsjは、受信したデータに応じた所定の処理を実行する(ステップS712)。
一方、2バイト目のデータが解除コマンドである場合(ステップS709のYES)、スレーブデバイスsjは、対応するマスタデバイスmjのI2C通信の禁止を解除する(ステップS710)。これにより、マスタデバイスmjは、外部装置にアクセス可能となり、マスタデバイスmiによる外部装置への排他的なアクセスが終了する。マスタデバイスmiは、禁止期間の間に解除コマンドを送信することにより、マスタデバイスmjがI2C通信できない期間を短縮することができる。なお、マスタデバイスmiは、禁止コマンドの送信後、禁止期間が経過した場合、解除コマンドを送信してもよいし、しなくてもよい。
その後、スレーブデバイスsjは、マスタデバイスmiから3バイト目のデータ(マスタデバイスmiのアドレス)を受信し(ステップS711)、ACKを返し、マスタデバイスmiからストップコンディションPを受信する(ステップS708)。
以上説明した通り、本実施形態によれば、通信システムを構成する各マスタデバイスmiは、禁止コマンド及び解除コマンドを利用することにより、通信システムに接続された外部装置に排他的にアクセスすることができる。したがって、排他的なアクセスが必要な外部装置を、通信システムに接続し、I2C通信のスレーブデバイスとして使用することができる。
なお、以上では、外部装置が1つだけ接続されている場合を例に説明したが、通信装置には複数の外部装置が接続されてもよい。この場合であっても、各マスタデバイスmiは、禁止コマンド及び解除コマンドを利用することにより、接続された任意の外部装置に対して、排他的にアクセスすることができる。また、第2実施形態に係る画像形成装置が備える通信システムとして、本実施形態に係る通信システムを利用することも可能である。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
1:本体コントローラ
2:操作部
3:電源部
11:省エネサブシステム
21:操作部マイコン
31:電源マイコン
M:モジュール
m:マスタデバイス
s:スレーブデバイス
特開2013‐197677号公報

Claims (9)

  1. I2Cバスにより相互に接続された複数のモジュールと、I2Cバスに接続され、スレーブデバイスとして動作する外部装置とを備え、
    前記各モジュールは、前記I2Cバスに接続された、I2C通信のマスタとして機能するマスタデバイスと、前記I2Cバスに接続された、前記I2C通信のスレーブとして機能するスレーブデバイスと、をそれぞれ有し、
    前記マスタデバイスにより送信される、送信先の前記スレーブデバイスを指定しないゼネラルコールアドレスと、前記マスタデバイスによる前記I2C通信を禁止する第1の禁止コマンドとを含む第1のコマンド列が定義される
    通信システム。
  2. 前記第1のコマンド列は、さらに、他のマスタデバイスによるアクセスを禁止する前記外部装置のアドレスを含む
    請求項1に記載の通信システム。
  3. 前記第1のコマンド列は、さらに、他のマスタデバイスによるアクセスの禁止期間を含む
    請求項1に記載の通信システム。
  4. 前記マスタデバイスにより送信される前記ゼネラルコールアドレスと、前記マスタデバイスによる前記I2C通信の禁止を解除する第1の解除コマンドとを含む第2のコマンド列が定義される
    請求項1乃至請求項3のいずれか1項に記載の通信システム。
  5. 前記第2のコマンド列は、さらに、他のマスタデバイスによるアクセスの禁止を解除する前記外部装置のアドレスを含む
    請求項4に記載の通信システム。
  6. 前記マスタデバイスは、前記第1のコマンド列または前記第2のコマンド列を送信した後、前記マスタデバイスのアドレスを含むデータを送信する
    請求項4又は請求項5に記載の通信システム。
  7. 前記I2C通信は、マルチマスタ方式である
    請求項1乃至請求項6のいずれか1項に記載の通信システム。
  8. 前記I2Cバスは、データが送受信されるデータ線と、クロックが送受信されるクロック線と、を含む
    請求項1乃至請求項5のいずれか1項に記載の通信システム。
  9. 請求項1乃至請求項8のいずれか1項に記載の通信システムを備える画像形成装置。
JP2016235114A 2016-08-09 2016-12-02 通信システム及び画像形成装置 Expired - Fee Related JP6822105B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016156519 2016-08-09
JP2016156519 2016-08-09

Publications (2)

Publication Number Publication Date
JP2018026088A JP2018026088A (ja) 2018-02-15
JP6822105B2 true JP6822105B2 (ja) 2021-01-27

Family

ID=61195260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016235114A Expired - Fee Related JP6822105B2 (ja) 2016-08-09 2016-12-02 通信システム及び画像形成装置

Country Status (1)

Country Link
JP (1) JP6822105B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218321A1 (en) * 2005-03-24 2006-09-28 Yamaha Corporation Control system and communication system for digital mixer
JP4193806B2 (ja) * 2005-03-24 2008-12-10 ヤマハ株式会社 制御システム
JP2009244991A (ja) * 2008-03-28 2009-10-22 Fujitsu Ten Ltd データ通信方法、データ通信システム、電子制御ユニット、及び回路基板
JP2010074348A (ja) * 2008-09-17 2010-04-02 Ricoh Co Ltd 画像形成装置、画像形成装置の通信制御方法、及びコンピュータプログラム
US10204065B2 (en) * 2014-02-07 2019-02-12 Ascensia Diabetes Care Holdings Ag Methods and apparatus for a multiple master bus protocol
WO2015128172A1 (en) * 2014-02-28 2015-09-03 Koninklijke Philips N.V. Bus address assignment

Also Published As

Publication number Publication date
JP2018026088A (ja) 2018-02-15

Similar Documents

Publication Publication Date Title
US8839014B2 (en) Apparatus and method for shortening time for transitioning power mode of network communication device by utilizing a shared storage unit, a socket, and a socket wrapper
JP4837659B2 (ja) 分割トランザクションを処理するためのバス・コントローラ
JP2015174375A (ja) 画像形成装置およびその制御方法、並びにプログラム
CN102665022A (zh) 能够适当执行关机处理的信息处理设备及其控制方法
US9645960B2 (en) KVM switch
US9495178B2 (en) Electronics apparatus able to revise micro-program and algorithm to revise micro-program
TW202001902A (zh) 在記憶裝置中進行省電控制的方法、相關記憶裝置及其記憶體控制器、以及相關電子裝置
CN101561790B (zh) 一种主控机与从机通信的方法、系统及装置
US11436176B2 (en) Semiconductor integrated circuit and operation method thereof
JP2016041470A (ja) 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
TWI834603B (zh) 通信裝置、通信方法、通信程式及通信系統
JP6336328B2 (ja) 通信装置とその制御方法、及びプログラム
JP2012244606A (ja) 画像形成装置
JP6822105B2 (ja) 通信システム及び画像形成装置
CN114006783A (zh) 一种协同控制方法、装置、系统及存储介质
JP5058890B2 (ja) バス制御装置
JP6112412B2 (ja) 入出力制御回路及び入出力制御回路における同期制御方法
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
JP6460905B2 (ja) 通信装置、制御方法、プログラム
US20170099405A1 (en) Control apparatus and control method
US20160094228A1 (en) Information processing apparatus and control method therefor
JP5882261B2 (ja) 画像形成装置
EP2307974A1 (en) Method for transferring or erasing data in a master-slave environment
JP4906158B1 (ja) Kvm切替器、および切替時のusb入力装置接続維持方法
JP5148236B2 (ja) 半導体集積回路及び半導体集積回路の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201110

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: 20201208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R151 Written notification of patent or utility model registration

Ref document number: 6822105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees