JP2016096493A - 通信システムおよび画像形成装置 - Google Patents
通信システムおよび画像形成装置 Download PDFInfo
- Publication number
- JP2016096493A JP2016096493A JP2014232575A JP2014232575A JP2016096493A JP 2016096493 A JP2016096493 A JP 2016096493A JP 2014232575 A JP2014232575 A JP 2014232575A JP 2014232575 A JP2014232575 A JP 2014232575A JP 2016096493 A JP2016096493 A JP 2016096493A
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- packet
- slave control
- slave
- master control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】次の制御部へのパケットの転送時間が短縮される。【解決手段】画像形成装置10は、画像を形成する画像形成部320等の機器群300と、画像形成部320における画像の形成を制御する、マスタ制御部100および複数のスレーブ制御部200とを備え、複数のスレーブ制御部200は、シリアル通信回線を介して直列に接続され、先頭のスレーブ制御部210はシリアル通信回線を介してマスタ制御部100に接続されている。そして、各スレーブ制御部200は、マスタ制御部100にて生成されたパケットを取得すると、パケットの一部をシリアル信号からパラレル信号に変換し、パケットが自身宛てのものであればパケットを自身宛てのものとして受け付ける処理を行い、パケットが自身宛てのものでなければ、パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部200へ転送する。【選択図】図1
Description
本発明は、通信システムおよび画像形成装置に関する。
公報記載の従来技術として、複数の通信装置がカスケード接続された通信システムであって、メイン制御部は、自身からみてn段先の他の通信装置宛の情報を発信する際に、n段までの残段数と上記情報とを含む通信データに対する誤り判定コード(CRC(Cyclic Redundancy Check))を作成し、このCRCを通信データと共に前段サブ制御部へ送信し、前段サブ制御部は、受信した通信データに対するCRCを作成して受信したCRCと比較し誤り判定を行い、一致するときは残段数により上記情報が自身宛のものかどうかを判定し、自身宛のものでない場合は残段数を1段減らした新たな通信データとこの新たな通信データに対するCRCとを作成し、作成したCRCを、新たな通信データと共に第3通信装置へ送信する通信システムが存在する。(特許文献1参照)
複数の制御部をカスケード接続した場合に、受信したパケット(通信データ)に対するCRCを作成して受信したCRCと比較し誤り判定を行い、残段数により自身宛のものかどうかを判定する構成では、パケットの全てをバッファした後に次の制御部への転送が行われる。そのため、次の制御部へのパケット転送が、パケットの全てをバッファした時間分遅れてしまう。
本発明は、パケットの全てをバッファして次の制御部へ転送する構成と比較して、次の制御部へのパケットの転送時間を短縮することを目的とする。
本発明は、パケットの全てをバッファして次の制御部へ転送する構成と比較して、次の制御部へのパケットの転送時間を短縮することを目的とする。
請求項1記載の発明は、パケットを生成するマスタ制御部と、前記マスタ制御部にて生成されたパケットを受け付ける複数のスレーブ制御部とを備え、複数の前記スレーブ制御部は、シリアル通信回線を介して直列に接続され、複数の当該スレーブ制御部のうち先頭のスレーブ制御部はシリアル通信回線を介して前記マスタ制御部に接続されており、各スレーブ制御部は、当該マスタ制御部にて生成されたパケットを取得すると、当該パケットの一部をシリアル信号からパラレル信号に変換し、当該パケットが自身宛てのものでなければ、当該パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部へ転送することを特徴とする通信システムである。
請求項2記載の発明は、前記スレーブ制御部は、前記マスタ制御部に接続された先頭のスレーブ制御部から最後のスレーブ制御部へ向けて順番に大きくなるように付与された識別情報を有し、前記パケットの一部には、当該パケットの宛先となる前記スレーブ制御部を示す前記識別情報が含まれることを特徴とする請求項1に記載の通信システムである。
請求項3記載の発明は、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報より小さい場合、当該パケットを破棄して前記マスタ制御部宛てに応答を返し、取得したパケットに含まれる当該識別情報が自身に付与された当該識別情報より大きい場合、後段のスレーブ制御部へ当該パケットを転送することを特徴とする請求項2に記載の通信システムである。
請求項4記載の発明は、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が最後のスレーブ制御部に付与された当該識別情報より大きい場合、当該パケットを後段のスレーブ制御部へ転送せずに破棄して、前記マスタ制御部宛てに応答を返すことを特徴とする請求項2または3に記載の通信システムである。
請求項5記載の発明は、前記マスタ制御部は、生成したパケットに対する誤り判定情報を当該パケットに付加し、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報と同じ場合、当該パケットに対する誤り判定情報を生成し、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが同じであれば当該パケットを自身宛てのものとして受け付ける処理を行い、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが異なれば当該パケットを破棄して前記マスタ制御部宛てに応答を返すことを特徴とする請求項2乃至4のいずれか1項に記載の通信システムである。
請求項6記載の発明は、画像を形成する画像形成部と、前記画像形成部における画像の形成を制御する、マスタ制御部および当該マスタ制御部にて生成されたパケットを受け付ける複数のスレーブ制御部とを備え、複数の前記スレーブ制御部は、シリアル通信回線を介して直列に接続され、複数の当該スレーブ制御部のうち先頭のスレーブ制御部はシリアル通信回線を介して前記マスタ制御部に接続されており、各スレーブ制御部は、当該マスタ制御部にて生成されたパケットを取得すると、当該パケットの一部をシリアル信号からパラレル信号に変換し、当該パケットが自身宛てのものでなければ、当該パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部へ転送することを特徴とする画像形成装置である。
請求項2記載の発明は、前記スレーブ制御部は、前記マスタ制御部に接続された先頭のスレーブ制御部から最後のスレーブ制御部へ向けて順番に大きくなるように付与された識別情報を有し、前記パケットの一部には、当該パケットの宛先となる前記スレーブ制御部を示す前記識別情報が含まれることを特徴とする請求項1に記載の通信システムである。
請求項3記載の発明は、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報より小さい場合、当該パケットを破棄して前記マスタ制御部宛てに応答を返し、取得したパケットに含まれる当該識別情報が自身に付与された当該識別情報より大きい場合、後段のスレーブ制御部へ当該パケットを転送することを特徴とする請求項2に記載の通信システムである。
請求項4記載の発明は、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が最後のスレーブ制御部に付与された当該識別情報より大きい場合、当該パケットを後段のスレーブ制御部へ転送せずに破棄して、前記マスタ制御部宛てに応答を返すことを特徴とする請求項2または3に記載の通信システムである。
請求項5記載の発明は、前記マスタ制御部は、生成したパケットに対する誤り判定情報を当該パケットに付加し、前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報と同じ場合、当該パケットに対する誤り判定情報を生成し、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが同じであれば当該パケットを自身宛てのものとして受け付ける処理を行い、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが異なれば当該パケットを破棄して前記マスタ制御部宛てに応答を返すことを特徴とする請求項2乃至4のいずれか1項に記載の通信システムである。
請求項6記載の発明は、画像を形成する画像形成部と、前記画像形成部における画像の形成を制御する、マスタ制御部および当該マスタ制御部にて生成されたパケットを受け付ける複数のスレーブ制御部とを備え、複数の前記スレーブ制御部は、シリアル通信回線を介して直列に接続され、複数の当該スレーブ制御部のうち先頭のスレーブ制御部はシリアル通信回線を介して前記マスタ制御部に接続されており、各スレーブ制御部は、当該マスタ制御部にて生成されたパケットを取得すると、当該パケットの一部をシリアル信号からパラレル信号に変換し、当該パケットが自身宛てのものでなければ、当該パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部へ転送することを特徴とする画像形成装置である。
請求項1記載の発明によれば、パケットの全てをバッファして次の制御部へ転送する構成と比較して、次の制御部へのパケットの転送時間が短縮される。
請求項2記載の発明によれば、パケットが自身宛てのものであるか否かの判断が容易になる。
請求項3記載の発明によれば、誤りが発生したパケットを破棄するとともに、後段の制御部宛てのパケットを転送することができる。
請求項4記載の発明によれば、誤りが発生したパケットを破棄することができる。
請求項5記載の発明によれば、次の制御部へのパケットの転送時間が短縮されるとともに、通信品質が確保される。
請求項6記載の発明によれば、パケットの全てをバッファして次の制御部へ転送する構成と比較して、次の制御部へのパケットの転送時間が短縮される。
請求項2記載の発明によれば、パケットが自身宛てのものであるか否かの判断が容易になる。
請求項3記載の発明によれば、誤りが発生したパケットを破棄するとともに、後段の制御部宛てのパケットを転送することができる。
請求項4記載の発明によれば、誤りが発生したパケットを破棄することができる。
請求項5記載の発明によれば、次の制御部へのパケットの転送時間が短縮されるとともに、通信品質が確保される。
請求項6記載の発明によれば、パケットの全てをバッファして次の制御部へ転送する構成と比較して、次の制御部へのパケットの転送時間が短縮される。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
ここでは、マスタ制御部とスレーブ制御部とを備え、これらの制御部間をシリアル通信で制御データを送受信するマスタスレーブ方式の通信システムが適用される装置を、画像形成装置を一例として説明する。
ここでは、マスタ制御部とスレーブ制御部とを備え、これらの制御部間をシリアル通信で制御データを送受信するマスタスレーブ方式の通信システムが適用される装置を、画像形成装置を一例として説明する。
<画像形成装置の全体構成>
図1は、本実施の形態に係る画像形成装置10の構成例を示す図である。
この画像形成装置10は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能等を備えた装置である。
図1は、本実施の形態に係る画像形成装置10の構成例を示す図である。
この画像形成装置10は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能等を備えた装置である。
画像形成装置10は、紙等の記録媒体に記録された画像を読み取る画像読取部330と、記録媒体に画像を形成する画像形成部320と、ユーザから電源のオン/オフ、スキャン機能、プリント機能、コピー機能及びファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示するユーザインタフェース(user interface)部310(以下では、UI部310と表記する。)と、通信回線(不図示)を介して外部に設けられた例えば端末装置(不図示)、ファクシミリ装置(不図示)及びサーバ装置(不図示)等との間でデータの送受信を行う送受信部340とを備えている。
また、画像形成装置10は、画像読取部330、画像形成部320、UI部310及び送受信部340の動作を制御する、マスタ制御部100および複数のスレーブ制御部(本実施の形態では4つのスレーブ制御部とし、以下では、それぞれを区別しないときはスレーブ制御部200と表記する)を備えている。マスタ制御部100及び複数のスレーブ制御部200は、それぞれ隣り合う制御部と相互にシリアル通信が可能となるようにカスケード接続された通信システムとして構成される。なお、画像読取部330、画像形成部320、UI部310及び送受信部340をまとめて機器群300と称し、それぞれを区別しないときは機能ブロックと表記する。また、それぞれの機能ブロックは、マスタ制御部100及びスレーブ制御部200により制御される1または複数の制御対象を備えている。
ここで、複数のスレーブ制御部200は、シリアル通信回線を介して直列に接続される。図1に示す構成例では、スレーブ制御部200として、スレーブ制御部210、スレーブ制御部220、スレーブ制御部230、スレーブ制御部240が設けられている。そして、複数のスレーブ制御部200のうち先頭のスレーブ制御部210は、シリアル通信回線を介してマスタ制御部100に接続される。同様に、スレーブ制御部210およびスレーブ制御部220の間、スレーブ制御部220およびスレーブ制御部230の間、スレーブ制御部230およびスレーブ制御部240の間のそれぞれで、シリアル通信によるデータの送受信が行われる。なお、図1に示す構成例では、4台のスレーブ制御部200が接続される構成としたが、本実施の形態では、4台未満や5台以上のスレーブ制御部200が接続される構成であっても良い。
また、各スレーブ制御部200には、先頭のスレーブ制御部210から最後のスレーブ制御部240へ向けて順番に番号が大きくなるように、IDが割り当てられている。図1に示す例では、スレーブ制御部210のIDは「01」、スレーブ制御部220のIDは「02」、スレーブ制御部230のIDは「03」、スレーブ制御部240のIDは「04」であるものとする。また、マスタ制御部100、各スレーブ制御部200は、各スレーブ制御部200に割り当てられたIDを認識している。即ち、マスタ制御部100は、ID=01〜04の4台のスレーブ制御部200が接続されていることを認識している。また、各スレーブ制御部200は、自身に割り当てられたIDを認識しているとともに、他のスレーブ制御部200に対してどのようなIDが割り当てられているかを認識している。本実施の形態では、識別情報の一例として、IDが用いられる。
次に、マスタ制御部100及びスレーブ制御部200の機能について説明する。
マスタ制御部100は、画像形成装置10全体を制御する。ここで、マスタ制御部100は、各スレーブ制御部200や各機能ブロックの動作状態を監視するとともに、画像形成装置10を制御するためのパケット(制御対象を制御するための制御コマンド、制御データなど)を生成し、シリアル通信を介して各スレーブ制御部200に対して送信する。マスタ制御部100から送信されるパケットには、宛先となるスレーブ制御部200のIDが含まれている。例えば、後段のスレーブ制御部200を宛先としてマスタ制御部100からパケットが送信される場合、そのパケットは、前段にあるスレーブ制御部200を経由することとなる。
マスタ制御部100は、画像形成装置10全体を制御する。ここで、マスタ制御部100は、各スレーブ制御部200や各機能ブロックの動作状態を監視するとともに、画像形成装置10を制御するためのパケット(制御対象を制御するための制御コマンド、制御データなど)を生成し、シリアル通信を介して各スレーブ制御部200に対して送信する。マスタ制御部100から送信されるパケットには、宛先となるスレーブ制御部200のIDが含まれている。例えば、後段のスレーブ制御部200を宛先としてマスタ制御部100からパケットが送信される場合、そのパケットは、前段にあるスレーブ制御部200を経由することとなる。
スレーブ制御部200は、隣に設けられた前段のスレーブ制御部200(スレーブ制御部210の場合は前段のスレーブ制御部200が存在しないため、マスタ制御部100)から受信した自身宛のパケットを受け付けて、機能ブロックにおける制御対象に制御データ等のデータを送信する。ここで、受信したパケットが後段のスレーブ制御部200宛てのパケットである場合には、スレーブ制御部200は、パケットを、隣に設けられた後段のスレーブ制御部200(以下、次段のスレーブ制御部200と称する)へ転送する。
また、スレーブ制御部200は、機能ブロックにおける制御対象から送信されたデータ(例えば、制御対象の状態を表すステータスデータ、制御対象がセンサである場合のセンサデータなど)や、後段のスレーブ制御部200から受信したマスタ制御部100宛てのデータを、隣に設けられた前段のスレーブ制御部200(スレーブ制御部210の場合は前段のスレーブ制御部200が存在しないため、マスタ制御部100)に送信する。
なお、各機能ブロックでは、データの送信元となるスレーブ制御部200が割り当てられているものとする。例えば、画像形成部320の一の制御対象にデータを送信するスレーブ制御部200としてスレーブ制御部210が割り当てられ、画像読取部330の一の制御対象にデータを送信するスレーブ制御部200としてスレーブ制御部220が割り当てられる。また、例えば、画像形成部320の一の制御対象にデータを送信するスレーブ制御部200としてスレーブ制御部210が割り当てられ、画像形成部320の他の制御対象にデータを送信するスレーブ制御部200としてスレーブ制御部220が割り当てられることとしても良い。
<マスタ制御部の構成>
次に、マスタ制御部100の構成について説明する。図2は、マスタ制御部100の構成例を示す図である。マスタ制御部100は、CPU101、通信制御ユニット102、ROM106、RAM107を備えている。さらに、CPU101、通信制御ユニット102、ROM106、RAM107の間でデータを送受信するデータバス108を備えている。データバス108は、複数の信号線を備えたパラレルバスである。
そして、画像形成装置10の電源がオン(ON)になると、CPU101は、ROM106に格納されたプログラム及びデータを、データバス108を介してRAM107に読み出して展開し、プログラムを実行する。このプログラムの実行により、画像形成装置10の制御が行われる。
次に、マスタ制御部100の構成について説明する。図2は、マスタ制御部100の構成例を示す図である。マスタ制御部100は、CPU101、通信制御ユニット102、ROM106、RAM107を備えている。さらに、CPU101、通信制御ユニット102、ROM106、RAM107の間でデータを送受信するデータバス108を備えている。データバス108は、複数の信号線を備えたパラレルバスである。
そして、画像形成装置10の電源がオン(ON)になると、CPU101は、ROM106に格納されたプログラム及びデータを、データバス108を介してRAM107に読み出して展開し、プログラムを実行する。このプログラムの実行により、画像形成装置10の制御が行われる。
また、通信制御ユニット102は、通信制御モジュール103、送信モジュール104、受信モジュール105を備えている。
通信制御モジュール103は、CPU101の制御により、送信モジュール104、受信モジュール105によるデータの送受信を制御する。ここで、通信制御モジュール103は、CPU101からデータバス108を介してスレーブ制御部200に送信する情報(パラレル信号)を受け取ると、受け取ったパラレル信号をパケット化する。そして、通信制御モジュール103は、パケットを送信モジュール104に出力する。また、パラレル信号のパケット化において、通信制御モジュール103は、CRCに関する処理を行い、パケットにCRCコードを付加する。
通信制御モジュール103は、CPU101の制御により、送信モジュール104、受信モジュール105によるデータの送受信を制御する。ここで、通信制御モジュール103は、CPU101からデータバス108を介してスレーブ制御部200に送信する情報(パラレル信号)を受け取ると、受け取ったパラレル信号をパケット化する。そして、通信制御モジュール103は、パケットを送信モジュール104に出力する。また、パラレル信号のパケット化において、通信制御モジュール103は、CRCに関する処理を行い、パケットにCRCコードを付加する。
CRCは、任意長のデータ入力に対し、固定サイズの値を出力する関数の一種であり、連続する誤りを検出するための誤り検出符号の一種でもある。例えば、対象となる通信データをある定数で除算し、その剰余が誤りチェック用のCRCコードとして用いられる。そして、誤りチェックの際には、パケットに付加されていたCRCコードと、パケットをもとに改めて計算したCRCコードとを比較して、両者が一致すれば誤りがないと判定される。一方、両者が一致しなければ、パケットにノイズが印加された等により誤りが発生したと判定される。本実施の形態では、CRCコードは、パケットのヘッダ部からデータ部まで、即ち、パケットでCRCコードを除く全ての部分を用いて計算される。このようなパケットのデータ構造の詳細については後述する。また、本実施の形態では、誤り判定情報の一例として、CRCコードが用いられる。
また、通信制御モジュール103は、受信モジュール105から受け取ったパラレル形式のパケットに対して、CRCコードをもとに誤りチェックを行う。誤りがなければ、通信制御モジュール103は、パケットをデコードしてパケットに含まれるデータを取り出し、データバス108を介して、取り出したデータをCPU101に出力する。一方、誤りがあれば、通信制御モジュール103は、パケットを破棄する。
送信モジュール104は、通信制御モジュール103から入力されたパケットをパラレル信号からシリアル信号に変換して、シリアル通信回線を介して先頭のスレーブ制御部210に送信する。
受信モジュール105は、シリアル通信回線を介して先頭のスレーブ制御部210からパケットを受信すると、受信したパケットをシリアル信号からパラレル信号に変換し、通信制御モジュール103に出力する。
<スレーブ制御部の構成>
次に、スレーブ制御部200の構成について説明する。図3は、スレーブ制御部220の構成例を示す図である。スレーブ制御部220は、通信制御ユニット221、I/O(Input/Output)制御モジュール227、クロック生成回路228、IFモジュール229を備えている。なお、ここでは、スレーブ制御部220の構成について説明するが、他のスレーブ制御部200(スレーブ制御部210、スレーブ制御部230、スレーブ制御部240)も同様に構成される。
次に、スレーブ制御部200の構成について説明する。図3は、スレーブ制御部220の構成例を示す図である。スレーブ制御部220は、通信制御ユニット221、I/O(Input/Output)制御モジュール227、クロック生成回路228、IFモジュール229を備えている。なお、ここでは、スレーブ制御部220の構成について説明するが、他のスレーブ制御部200(スレーブ制御部210、スレーブ制御部230、スレーブ制御部240)も同様に構成される。
まず、I/O制御モジュール227は、IFモジュール229に接続されるとともに、通信制御ユニット221、クロック生成回路228に接続されている。そして、I/O制御モジュール227は、通信制御ユニット221から受け取ったデータを、指定されたいずれかのIFモジュール229に出力する。また、IFモジュール229から受け取ったデータを、通信制御ユニット221に出力する。
IFモジュール229は、制御ブロックの制御対象に接続されており、I/O制御モジュール227からデータを受け取ると、受け取ったデータを制御対象に出力する。出力されたデータをもとに、制御対象において処理が行われる。また、IFモジュール229は、制御ブロックの制御対象からデータを受け取ると、受け取ったデータをI/O制御モジュール227に出力する。制御対象によるデータはマスタ制御部100を宛先としており、通信制御ユニット221を介して、マスタ制御部100に送信される。
なお、図3に示す構成例では、IFモジュール229が2つ設けられる構成としたが、IFモジュール229は1つでも3つ以上であっても良い。また、制御対象として画像形成部320の制御対象が接続される構成としたが、他の機能ブロックの制御対象が接続されても良い。
なお、図3に示す構成例では、IFモジュール229が2つ設けられる構成としたが、IFモジュール229は1つでも3つ以上であっても良い。また、制御対象として画像形成部320の制御対象が接続される構成としたが、他の機能ブロックの制御対象が接続されても良い。
クロック生成回路228は、クロック信号を生成して、生成したクロック信号をI/O制御モジュール227に送信する。付言すると、I/O制御モジュール227とIFモジュール229とのデータの送受信は、クロック生成回路228によって生成されるクロック信号に同期して行われる。
通信制御ユニット221は、第1受信モジュール222、第1送信モジュール223、第2受信モジュール224、第2送信モジュール225、通信制御モジュール226を備えている。そして、第1受信モジュール222及び第1送信モジュール223は、前段のスレーブ制御部210との間の通信に用いられ、第2受信モジュール224及び第2送信モジュール225は、次段のスレーブ制御部230との間の通信に用いられる。
まず、第1受信モジュール222は、前段のスレーブ制御部210からパケットを受信すると、受信したパケットをシリアル信号からパラレル信号に変換する。ここで、第1受信モジュール222は、パケットの全てをパラレル信号に変換するのではなく、パケットの一部であるヘッダ部のみバッファにためて、パラレル信号に変換する。そして、第1受信モジュール222は、パラレル信号に変換したヘッダ部をデコードして、パケットに付与されたIDが、自身のスレーブ制御部220に割り当てられているID(以下、自身に割り当てられているIDを、自制御部IDと称する)と同じであるか否かを判定する。
両者のIDが同じである場合、第1受信モジュール222は、受信したパケットが自身のスレーブ制御部220宛てのパケットであると認識する。そして、第1受信モジュール222は、ヘッダ部以外の残りの部分もシリアル信号からパラレル信号に変換する。そして、第1受信モジュール222は、パラレル変換後のパケットを通信制御モジュール226に出力する。
一方、両者のIDが異なる場合、第1受信モジュール222は、パケットに付与されたIDに応じた処理を続けて行う。
両者のIDが異なり、パケットに付与されたIDが自制御部IDより大きい場合、第1受信モジュール222は、次段のスレーブ制御部230へ転送する対象のパケットとして、パケットを通信制御モジュール226に出力する。ただし、パケットに付与されたIDが、カスケード接続における最も後段にある最後のスレーブ制御部240のIDよりも大きい場合には、ヘッダ部へノイズが印加したために、IDの値が通常付与される範囲外の値に変わったと考えられる。この場合には、パケットは次段のスレーブ制御部230へは転送されず、第1受信モジュール222は、破棄対象のパケットとして、パケットを通信制御モジュール226に出力する。
両者のIDが異なり、パケットに付与されたIDが自制御部IDより大きい場合、第1受信モジュール222は、次段のスレーブ制御部230へ転送する対象のパケットとして、パケットを通信制御モジュール226に出力する。ただし、パケットに付与されたIDが、カスケード接続における最も後段にある最後のスレーブ制御部240のIDよりも大きい場合には、ヘッダ部へノイズが印加したために、IDの値が通常付与される範囲外の値に変わったと考えられる。この場合には、パケットは次段のスレーブ制御部230へは転送されず、第1受信モジュール222は、破棄対象のパケットとして、パケットを通信制御モジュール226に出力する。
また、両者のIDが異なり、パケットに付与されたIDが自制御部IDより小さい場合、前段のスレーブ制御部(図3に示す例では、スレーブ制御部210)にて本来受信されるべきパケットであり、例えばスレーブ制御部210がパケットを送信してスレーブ制御部220がパケットを受信するまでの間などに、ヘッダ部へノイズが印加してIDが変わったと考えられる。この場合には、パケットは次段のスレーブ制御部230へは転送されず、第1受信モジュール222は、破棄対象のパケットとして、パケットを通信制御モジュール226に出力する。
次に、第1送信モジュール223は、通信制御モジュール226から入力されたパケットを前段のスレーブ制御部210へ転送する。ここで、通信制御モジュール226から入力されるパケットは、データ転送が正常に終了したことを知らせる信号であるACK(ACKnowledgement)パケット、データ転送が正常に終了しなかったことを知らせる信号であるNACK(Negative ACKnowledgement)パケット、制御対象にて生成されたものなどである。これらのパケットは、スレーブ制御部220やスレーブ制御部220に接続された制御対象にて生成されるものもあれば、後段のスレーブ制御部200(図3に示す例では、スレーブ制御部230、スレーブ制御部240)から転送されてくるものもある。
第2受信モジュール224は、シリアル通信回線を介して後段のスレーブ制御部230からパケットを受信すると、受信したパケットを通信制御モジュール226に出力する。ここで出力されたパケットは、通信制御モジュール226を介して第1送信モジュール223に送られる。
第2送信モジュール225は、通信制御モジュール226から入力されたパケットをパラレル信号からシリアル信号に変換して、シリアル通信回線を介して次段のスレーブ制御部230へ転送する。ここで、通信制御モジュール226から入力されるパケットは、第1受信モジュール222によりヘッダ部のみパラレル変換されており、第2送信モジュール225は、ヘッダ部を再度シリアル信号に変換して、次段のスレーブ制御部230へ転送する。
次に、通信制御モジュール226は、自身のスレーブ制御部220宛てのパケットを第1受信モジュール222から受け取った場合、CRCコードをもとに誤りチェックを行う。誤りがなければ、通信制御モジュール226は、パケットを自身のスレーブ制御部200宛てのものとして受け付ける処理を行う。ここで、通信制御モジュール226が、パケットをデコードしてパケットに含まれるデータを取り出し、取り出したデータをI/O制御モジュール227に出力する。そして、通信制御モジュール226は、ACKパケットを、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210に送信する。
一方、パケットに誤りがあれば、通信制御モジュール226は、パケットを破棄する。そして、通信制御モジュール226は、NACKパケットを、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210へ送信する。
一方、パケットに誤りがあれば、通信制御モジュール226は、パケットを破棄する。そして、通信制御モジュール226は、NACKパケットを、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210へ送信する。
また、通信制御モジュール226は、次段のスレーブ制御部230に転送する対象のパケットを第1受信モジュール222から受け取った場合、第2送信モジュール225を介して、パケットを次段のスレーブ制御部230に転送する。
さらに、通信制御モジュール226は、破棄対象のパケットを第1受信モジュール222から受け取った場合、パケットを破棄する。そして、通信制御モジュール226は、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210にNACKパケットを送信する。
さらに、通信制御モジュール226は、破棄対象のパケットを第1受信モジュール222から受け取った場合、パケットを破棄する。そして、通信制御モジュール226は、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210にNACKパケットを送信する。
そして、通信制御モジュール226は、制御対象にて生成されたデータ等をI/O制御モジュール227から受け取った場合、受け取ったデータをパケット化し、マスタ制御部100を宛先として、第1送信モジュール223を介して前段のスレーブ制御部210へ送信する。
また、通信制御モジュール226は、後段のスレーブ制御部230からマスタ制御部100宛てのパケット(ACKパケット、NACKパケット、制御対象にて生成されたもの等)を受信した場合、受信したパケットを、第1送信モジュール223を介して前段のスレーブ制御部210へ送信する。
また、通信制御モジュール226は、後段のスレーブ制御部230からマスタ制御部100宛てのパケット(ACKパケット、NACKパケット、制御対象にて生成されたもの等)を受信した場合、受信したパケットを、第1送信モジュール223を介して前段のスレーブ制御部210へ送信する。
<パケットのデータ構造>
次に、マスタ制御部100と各スレーブ制御部200との間で送受信されるパケットのデータ構造について説明する。図4(a)〜(c)は、パケットのデータ構造の一例を示す図である。
まず、図4(a)は、マスタ制御部100で生成されスレーブ制御部200へ送信されるパケットのデータ構造の一例を示す図である。図4(a)に示すパケットでは、先頭から、ヘッダ部、アドレス部、データ部、CRCコードが順に配列されている。
次に、マスタ制御部100と各スレーブ制御部200との間で送受信されるパケットのデータ構造について説明する。図4(a)〜(c)は、パケットのデータ構造の一例を示す図である。
まず、図4(a)は、マスタ制御部100で生成されスレーブ制御部200へ送信されるパケットのデータ構造の一例を示す図である。図4(a)に示すパケットでは、先頭から、ヘッダ部、アドレス部、データ部、CRCコードが順に配列されている。
ヘッダ部は、4ビットのコマンドと、4ビットのIDコードとに分かれている。
コマンドには、宛先となる機能ブロックの制御対象におけるデータ書き込み(ライト)命令、あるいは宛先となる制御対象におけるデータ読み出し(リード)命令等が含まれる。
IDコードには、パケットの宛先となるスレーブ制御部200の自制御部IDを表すビット列が付与される。IDコードは4ビットであり、各スレーブ制御部200には、「01」〜「15」のIDが付与されることとなる。ただし、本実施の形態では、IDコードが4ビットの場合に限られるものではなく、IDコードを4ビットより増やしてさらに多くのIDの付与が可能となるようにしても良い。
コマンドには、宛先となる機能ブロックの制御対象におけるデータ書き込み(ライト)命令、あるいは宛先となる制御対象におけるデータ読み出し(リード)命令等が含まれる。
IDコードには、パケットの宛先となるスレーブ制御部200の自制御部IDを表すビット列が付与される。IDコードは4ビットであり、各スレーブ制御部200には、「01」〜「15」のIDが付与されることとなる。ただし、本実施の形態では、IDコードが4ビットの場合に限られるものではなく、IDコードを4ビットより増やしてさらに多くのIDの付与が可能となるようにしても良い。
アドレス部は、16ビットで構成され、宛先となる機能ブロックの制御対象のアドレスを示す。例えば、スレーブ制御部210が制御する制御対象Aに対してパケットが送信される場合、IDコードにはスレーブ制御部210に割り当てられたID(ID=01)が付与され、アドレス部には制御対象Aのアドレスが付与されてパケットの生成が行われる。
データ部は、宛先となる制御対象での処理に用いられるデータを示し、例えば16ビットで構成されるデータがN(1または複数)個、付加されている。
CRCコードは、8ビットで構成され、各スレーブ制御部200にて誤りチェックをする際に使用される。このCRCコードは、上述したように、パケットのヘッダ部からデータ部まで(CRCコードの手前まで)を用いて計算され、ビット列としてセットされる。
CRCコードは、8ビットで構成され、各スレーブ制御部200にて誤りチェックをする際に使用される。このCRCコードは、上述したように、パケットのヘッダ部からデータ部まで(CRCコードの手前まで)を用いて計算され、ビット列としてセットされる。
図4(b)は、スレーブ制御部200からマスタ制御部100を宛先として送信されるACKパケットのデータ構造の一例を示す図である。ACKパケットでは、先頭から、ACKコマンド、CRCコードが順に配列されている。ACKコマンドには、このパケットがACKパケットであることを示すビット列が付与される。また、CRCコードは、マスタ制御部100にて誤りチェックをする際に使用される。
図4(c)は、スレーブ制御部200からマスタ制御部100を宛先として送信されるNACKパケットのデータ構造の一例を示す図である。NACKパケットでは、先頭から、NACKコマンド、エラーコード、CRCコードが順に配列されている。NACKコマンドには、このパケットがNACKパケットであることを示すビット列が付与される。また、エラーコードには、NACKパケットを送信することになった原因のエラーに合わせたビット列が付与される。CRCコードは、マスタ制御部100にて誤りチェックをする際に使用される。
ここで、エラーコードとしては、例えば、自制御部IDより小さいIDがパケットに付与されているためにエラーとなった場合、そのエラーに対応するビット列が付与される。また、例えば、アドレス部にて指定された宛先となるアドレスの制御対象が存在しないためにエラーとなった場合、そのエラーに対応するビット列がエラーコードとして付与される。このエラーコードは、マスタ制御部100が、どのような原因によりNACKパケットが送信されることになったかを判断するための解析などに用いられる。
<スレーブ制御部におけるパケットの処理手順>
次に、マスタ制御部100により生成されたパケットをスレーブ制御部200が処理する手順について説明する。図5は、マスタ制御部100により生成されたパケットをスレーブ制御部220が処理する手順の一例を示すフローチャートである。ここでは、スレーブ制御部220が処理する手順について説明するが、他のスレーブ制御部200(スレーブ制御部210、スレーブ制御部230、スレーブ制御部240)でも同様の処理が行われる。
次に、マスタ制御部100により生成されたパケットをスレーブ制御部200が処理する手順について説明する。図5は、マスタ制御部100により生成されたパケットをスレーブ制御部220が処理する手順の一例を示すフローチャートである。ここでは、スレーブ制御部220が処理する手順について説明するが、他のスレーブ制御部200(スレーブ制御部210、スレーブ制御部230、スレーブ制御部240)でも同様の処理が行われる。
まず、第1受信モジュール222は、シリアル通信回線を介して、前段のスレーブ制御部210からパケットを受信すると、受信したパケットをシリアル信号からパラレル信号に変換する(ステップ101)。ここで、第1受信モジュール222は、パケットのヘッダ部のみバッファにためて、パラレル信号に変換する。そして、第1受信モジュール222は、パケットに付与されたIDが、自制御部IDと同じであるか否かを判定する(ステップ102)。
両者のIDが同じである場合(ステップ102でYes)、第1受信モジュール222は、受信したパケットを自身のスレーブ制御部220宛てのパケットであると認識し、ヘッダ部以外の残りの部分もシリアル信号からパラレル信号に変換する(ステップ103)。そして、第1受信モジュール222は、パラレル変換後のパケットを通信制御モジュール226に出力する。通信制御モジュール226は、第1受信モジュール222からパケットを受け取ると、CRCコードをもとに誤りチェックを行い、誤りがあるか否かを判定する(ステップ104)。
誤りがあると判定された場合(ステップ104でYes)、通信制御モジュール226は、パケットを破棄して、マスタ制御部100宛てのNACKパケットを第1送信モジュール223へ出力する。そして、第1送信モジュール223は、NACKパケットを前段のスレーブ制御部210に送信し(ステップ105)、本処理フローは終了する。
一方、ステップ104において、誤りがないと判定された場合(ステップ104でNo)、通信制御モジュール226は、パケットをデコードしてパケットに含まれるデータを取り出し、取り出したデータをI/O制御モジュール227に出力する。I/O制御モジュールは、通信制御モジュール226から受け取ったデータを、IFモジュール229を介して制御対象に送信する。そして、制御対象における処理が行われる(ステップ106)。また、通信制御モジュール226は、マスタ制御部100宛てのACKパケットを第1送信モジュール223へ出力する。第1送信モジュール223は、ACKパケットを前段のスレーブ制御部210に送信し(ステップ107)、本処理フローは終了する。
また、ステップ102において、パケットに付与されたIDと、自制御部IDとが異なる場合(ステップ102でNo)、第1受信モジュール222は、パケットに付与されたIDの方が、自制御部IDより大きいか否かを判定する(ステップ108)。
パケットに付与されたIDの方が、自制御部IDより大きい場合(ステップ108でYes)、第1受信モジュール222は、さらに、パケットに付与されたIDが、カスケード接続における最も後段にある最後のスレーブ制御部240の自制御部IDよりも大きいか否かを判定する(ステップ109)。
パケットに付与されたIDの方が、自制御部IDより大きい場合(ステップ108でYes)、第1受信モジュール222は、さらに、パケットに付与されたIDが、カスケード接続における最も後段にある最後のスレーブ制御部240の自制御部IDよりも大きいか否かを判定する(ステップ109)。
パケットに付与されたIDが、最後のスレーブ制御部240の自制御部IDよりも大きい場合(ステップ109でYes)、第1受信モジュール222は、破棄対象のパケットとして、パケットを通信制御モジュール226に出力し、ステップ105に移行する。
一方、パケットに付与されたIDが、最後のスレーブ制御部の自制御部IDと同じ、または最後のスレーブ制御部の自制御部IDよりも小さい場合(ステップ109でNo)、第1受信モジュール222は、次段のスレーブ制御部230へ送信する対象のパケットとして、通信制御モジュール226にパケットを出力する。通信制御モジュール226は、パケットを受け取ると、受け取ったパケットを第2送信モジュール225に出力する。そして、第2送信モジュール225は、パケットのヘッダ部をパラレル信号からシリアル信号に変換して、シリアル通信回線を介してパケットを次段のスレーブ制御部230へ転送する(ステップ110)。そして、本処理フローは終了する。
一方、パケットに付与されたIDが、最後のスレーブ制御部の自制御部IDと同じ、または最後のスレーブ制御部の自制御部IDよりも小さい場合(ステップ109でNo)、第1受信モジュール222は、次段のスレーブ制御部230へ送信する対象のパケットとして、通信制御モジュール226にパケットを出力する。通信制御モジュール226は、パケットを受け取ると、受け取ったパケットを第2送信モジュール225に出力する。そして、第2送信モジュール225は、パケットのヘッダ部をパラレル信号からシリアル信号に変換して、シリアル通信回線を介してパケットを次段のスレーブ制御部230へ転送する(ステップ110)。そして、本処理フローは終了する。
さらに、ステップ108において、パケットに付与されたIDの方が、自制御部IDより小さい場合(ステップ108でNo)、第1受信モジュール222は、破棄対象のパケットとして、パケットを通信制御モジュール226に出力し、ステップ105に移行する。
このように、スレーブ制御部220は、マスタ制御部100により生成されたパケットとして前段のスレーブ制御部210からパケットを受信すると、まず、ヘッダ部のみバッファにためてパラレル変換を行い、自身のスレーブ制御部220宛てのパケットであるか否かを判定する。自身のスレーブ制御部220宛てのパケットである場合、スレーブ制御部220は、ヘッダ部以外の残りの部分もパラレル変換する。そして、スレーブ制御部220は、誤りチェックを行った後、誤りがなければパケットを制御対象に送信する。
<パケットにノイズが印加された場合の具体例>
次に、実際にパケットにノイズが印加された場合の処理について、具体例を示して説明する。図6は、パケットにノイズが印加された場合の処理の一例を説明するための図である。図6に示す例では、マスタ制御部100にて生成されたパケットにおいて、スレーブ制御部210(ID=01)とスレーブ制御部220(ID=02)との間でノイズが印加されたものとする。また、以下では、ノイズがヘッダ部のIDコードに印加された例、ノイズがIDコード以外の部分に印加された例のそれぞれについて、スレーブ制御部220(ID=02)が行う処理について説明する。さらに、以下に示すステップは、図5の各ステップに対応するものとする。
次に、実際にパケットにノイズが印加された場合の処理について、具体例を示して説明する。図6は、パケットにノイズが印加された場合の処理の一例を説明するための図である。図6に示す例では、マスタ制御部100にて生成されたパケットにおいて、スレーブ制御部210(ID=01)とスレーブ制御部220(ID=02)との間でノイズが印加されたものとする。また、以下では、ノイズがヘッダ部のIDコードに印加された例、ノイズがIDコード以外の部分に印加された例のそれぞれについて、スレーブ制御部220(ID=02)が行う処理について説明する。さらに、以下に示すステップは、図5の各ステップに対応するものとする。
[ノイズがIDコードに印加された例]
ノイズがIDコードに印加された場合、IDコードが示すIDは、もともと付加されていた値から違う値に変化する。ここで、変化するパターンとして、パケットに付与されたIDが、パケットを受信するスレーブ制御部220のID(ID=02)よりも小さくなる場合、スレーブ制御部220のID(ID=02)よりも大きくなる場合、スレーブ制御部220のID(ID=02)と同じになる場合の3つが考えられる。
ノイズがIDコードに印加された場合、IDコードが示すIDは、もともと付加されていた値から違う値に変化する。ここで、変化するパターンとして、パケットに付与されたIDが、パケットを受信するスレーブ制御部220のID(ID=02)よりも小さくなる場合、スレーブ制御部220のID(ID=02)よりも大きくなる場合、スレーブ制御部220のID(ID=02)と同じになる場合の3つが考えられる。
まず、本来の宛先はスレーブ制御部220、スレーブ制御部230、スレーブ制御部240のいずれか(ID=02、03または04)であるが、ノイズが印加されたことにより、パケットのIDがスレーブ制御部220のID(ID=02)よりも小さくなる場合が存在する。この場合、IDから判断すると前段のスレーブ制御部210にて受信されるべきパケットということになるため、スレーブ制御部220は、このパケットを破棄し、マスタ制御部100宛てにNACKパケットを送信する。図5に示すフローでは、ステップ102で否定の判断(No)がされ、さらにステップ108で否定の判断(No)がされる。そして、ステップ105に移行する。
次に、本来の宛先はスレーブ制御部220、スレーブ制御部230、スレーブ制御部240のいずれか(ID=02、03または04)であるが、ノイズが印加されたことにより、パケットのIDが最後のスレーブ制御部240のID(ID=04)よりも大きくなる場合が存在する。この場合、存在しないIDがパケットに付与されていることになるため、スレーブ制御部220は、このパケットを破棄し、マスタ制御部100宛てにNACKパケットを送信する。図5に示すフローでは、ステップ102で否定の判断(No)がされ、次にステップ108で肯定の判断(Yes)がされる。そして、次の109のステップにおいて肯定の判断(Yes)がされて、ステップ105に移行する。
また、本来の宛先はスレーブ制御部220(ID=02)であるが、ノイズが印加されたことにより、パケットのIDが「03」や「04」となり、スレーブ制御部220(ID=02)のIDよりも大きくなる場合が存在する。この場合、スレーブ制御部220は、このパケットを次段のスレーブ制御部230(ID=03)に転送する。図5に示すフローでは、ステップ102で否定の判断(No)がされ、ステップ108で肯定の判断(Yes)がされる。そして、次の109のステップで否定の判断(No)がされて、ステップ110に移行する。
ここで、ノイズによりパケットのIDが「03」になった場合には、スレーブ制御部230(ID=03)が自身のスレーブ制御部230宛てのパケットとして受け取るが、ステップ104の誤りチェックにより誤りが検出されるため、パケットを破棄してNACKパケットを送信する(ステップ105)。同様に、ノイズによりパケットのIDが「04」になった場合には、スレーブ制御部240(ID=04)が自身のスレーブ制御部240宛てのパケットとして受け取るが、ステップ104の誤りチェックにより誤りが検出されるため、パケットを破棄してNACKパケットを送信する(ステップ105)。
また、本来の宛先はスレーブ制御部230(ID=03)であるが、ノイズが印加されたことにより、パケットのIDがその後段のスレーブ制御部240(ID=04)のIDになった場合も同様であり、スレーブ制御部240(ID=04)までパケットは送信される。そして、スレーブ制御部240(ID=04)が自身のスレーブ制御部240宛てのパケットとして受け取るが、ステップ104の誤りチェックにより誤りが検出されるため、パケットを破棄してNACKパケットを送信する(ステップ105)。本来の宛先はスレーブ制御部240(ID=04)であるが、ノイズが印加されたことにより、パケットのIDがその前段のスレーブ制御部230(ID=03)のIDになった場合も同様に、スレーブ制御部230がパケットを破棄してNACKパケットを送信する。
さらに、本来の宛先はスレーブ制御部230、またはスレーブ制御部240(ID=03または04)であるが、ノイズが印加されたことにより、パケットのIDがスレーブ制御部220(ID=02)のIDと同じになる場合が存在する。この場合、スレーブ制御部220は、自身のスレーブ制御部220宛てのパケットとして受け取るが、誤りチェックにより誤りが検出されるため、パケットを破棄し、マスタ制御部100宛てにNACKパケットを送信する。図5に示すフローでは、ステップ102で肯定の判断(Yes)がされ、さらにステップ104で肯定の判断(Yes)がされる。そして、ステップ105に移行する。
[ノイズがIDコード以外の部分に印加された例]
ノイズがIDコード以外の部分に印加された場合のパターンとして、パケットの宛先がスレーブ制御部220(ID=02)の場合、パケットの宛先がその後段のスレーブ制御部200(図6に示す例では、スレーブ制御部230またはスレーブ制御部240)の場合の2つが考えられる。
ノイズがIDコード以外の部分に印加された場合のパターンとして、パケットの宛先がスレーブ制御部220(ID=02)の場合、パケットの宛先がその後段のスレーブ制御部200(図6に示す例では、スレーブ制御部230またはスレーブ制御部240)の場合の2つが考えられる。
まず、パケットの宛先がスレーブ制御部220(ID=02)の場合、スレーブ制御部220は、自身のスレーブ制御部220宛てのパケットとして受け取るが、誤りチェックにより誤りが検出されるため、パケットを破棄し、マスタ制御部100宛てにNACKパケットを送信する。図5に示すフローでは、ステップ102で肯定の判断(Yes)がされ、さらにステップ104で肯定の判断(Yes)がされる。そして、ステップ105に移行する。
次に、パケットの宛先がその後段のスレーブ制御部200(ID=03または04)の場合、スレーブ制御部220は、このパケットを次段のスレーブ制御部230(ID=03)に転送する。図5に示すフローでは、ステップ102で否定の判断(No)がされ、ステップ108で肯定の判断(Yes)、ステップ109で否定の判断(No)がされる。そして、ステップ110に移行する。
ここで、パケットのIDが「03」の場合には、スレーブ制御部230(ID=03)が自身のスレーブ制御部230宛てのパケットとして受け取るが、ステップ104の誤りチェックにより誤りが検出されるため、パケットを破棄してNACKパケットを送信する(ステップ105)。同様に、パケットのIDが「04」の場合には、スレーブ制御部240(ID=04)が自身のスレーブ制御部240宛てのパケットとして受け取るが、ステップ104の誤りチェックにより誤りが検出されるため、パケットを破棄してNACKパケットを送信する(ステップ105)。
以上説明したように、スレーブ制御部200は、マスタ制御部100により生成されたパケットを受信すると、まず、ヘッダ部のみバッファにためてパラレル変換を行い、IDをもとに、自身のスレーブ制御部200宛てのパケットであるか否かを判定する。自身のスレーブ制御部200宛てのパケットである場合、スレーブ制御部200は、ヘッダ部以外の残りの部分もパラレル変換する。そして、スレーブ制御部200は、誤りチェックを行ってパケットを処理する。一方、自身よりも後段のスレーブ制御部200宛てのパケットであれば、スレーブ制御部200は、パケットを次段のスレーブ制御部200に転送する。
付言すると、スレーブ制御部200は、8ビットのヘッダ部のみバッファにためてパラレル変換を行うため、例えば8ビットCPUが用いられている場合には1クロック分の処理となり、1回の計算で処理が行われることとなる。また、受信したパケットについては誤りチェックを行うため、通信品質が保たれる。そのため、例えば、スレーブ制御部200がパケットの全てをバッファして次段のスレーブ制御部200へパケットを転送するような構成と比較して、本実施の形態に係る画像形成装置10では、通信品質を確保するとともに次段のスレーブ制御部200への転送時間が短縮される。
また、パケットを受信したスレーブ制御部200は、パケットが自身宛てのものか判断し、パケットが後段のスレーブ制御部200宛ての場合、次段のスレーブ制御部200へパケットを転送する。そのため、例えば、パケットが全てのスレーブ制御部200に転送されて各スレーブ制御部200が自身宛てのパケットであるか否かを判断するような構成と比較して、本実施の形態に係る画像形成装置10では、画像形成装置10内で送受信されるパケットのトラフィック量が低減される。
さらに、パケットを受信したスレーブ制御部200は、パケットに付与されたIDが自身の自制御部IDよりも小さい場合、またはパケットに付与されたIDが最後のスレーブ制御部240の自制御部IDよりも大きい場合、そのパケットを破棄する。例えば、パケットに付与されたIDが自身の自制御部IDよりも小さい場合や最後のスレーブ制御部240の自制御部IDよりも大きい場合に、パケットが破棄されなければ、そのパケットに対する処理が行われず、どのスレーブ制御部200もマスタ制御部100に応答しない状態となる。この場合、マスタ制御部100は、タイムアウトのエラー等が発生するまでパケットに対する応答(ACK、NACK)を待ち続けることとなり、全体としてマスタ制御部100による処理が遅延する。即ち、例えば、パケットに付与されたIDが自身の自制御部IDよりも小さい場合や最後のスレーブ制御部240の自制御部IDよりも大きい場合であってもパケットが破棄されないような構成と比較して、本実施の形態に係る画像形成装置10では、誤りが発生したパケットについてマスタ制御部100宛てに応答が返され、マスタ制御部100の処理が迅速化される。
また、本実施の形態では、パケットの誤りをチェックするためにCRCコードを用いることとしたが、このような構成に限られるものではない。例えば、CRCコードではなくチェックサムを用いても良く、誤りの検出が可能なものであればどのような方式を用いても良い。
また、上記では、本実施の形態に係るマスタ制御部100及びスレーブ制御部200を画像形成装置10に適用した例について説明したが、このような構成に限定されるものではない。本実施の形態は、画像形成のための機器以外の各種機器の駆動を制御する様々な装置に適用可能である。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…画像形成装置、100…マスタ制御部、210…スレーブ制御部、220…スレーブ制御部、221…通信制御ユニット、222…第1受信モジュール、223…第1送信モジュール、224…第2受信モジュール、225…第2送信モジュール、226…通信制御モジュール、227…I/O制御モジュール、228…クロック生成回路、229…IFモジュール、230…スレーブ制御部、240…スレーブ制御部
Claims (6)
- パケットを生成するマスタ制御部と、
前記マスタ制御部にて生成されたパケットを受け付ける複数のスレーブ制御部とを備え、
複数の前記スレーブ制御部は、シリアル通信回線を介して直列に接続され、複数の当該スレーブ制御部のうち先頭のスレーブ制御部はシリアル通信回線を介して前記マスタ制御部に接続されており、各スレーブ制御部は、当該マスタ制御部にて生成されたパケットを取得すると、当該パケットの一部をシリアル信号からパラレル信号に変換し、当該パケットが自身宛てのものでなければ、当該パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部へ転送すること
を特徴とする通信システム。 - 前記スレーブ制御部は、前記マスタ制御部に接続された先頭のスレーブ制御部から最後のスレーブ制御部へ向けて順番に大きくなるように付与された識別情報を有し、
前記パケットの一部には、当該パケットの宛先となる前記スレーブ制御部を示す前記識別情報が含まれること
を特徴とする請求項1に記載の通信システム。 - 前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報より小さい場合、当該パケットを破棄して前記マスタ制御部宛てに応答を返し、取得したパケットに含まれる当該識別情報が自身に付与された当該識別情報より大きい場合、後段のスレーブ制御部へ当該パケットを転送すること
を特徴とする請求項2に記載の通信システム。 - 前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が最後のスレーブ制御部に付与された当該識別情報より大きい場合、当該パケットを後段のスレーブ制御部へ転送せずに破棄して、前記マスタ制御部宛てに応答を返すこと
を特徴とする請求項2または3に記載の通信システム。 - 前記マスタ制御部は、生成したパケットに対する誤り判定情報を当該パケットに付加し、
前記スレーブ制御部は、取得したパケットに含まれる前記識別情報が自身に付与された当該識別情報と同じ場合、当該パケットに対する誤り判定情報を生成し、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが同じであれば当該パケットを自身宛てのものとして受け付ける処理を行い、生成した誤り判定情報と当該パケットに付加されていた誤り判定情報とが異なれば当該パケットを破棄して前記マスタ制御部宛てに応答を返すこと
を特徴とする請求項2乃至4のいずれか1項に記載の通信システム。 - 画像を形成する画像形成部と、
前記画像形成部における画像の形成を制御する、マスタ制御部および当該マスタ制御部にて生成されたパケットを受け付ける複数のスレーブ制御部とを備え、
複数の前記スレーブ制御部は、シリアル通信回線を介して直列に接続され、複数の当該スレーブ制御部のうち先頭のスレーブ制御部はシリアル通信回線を介して前記マスタ制御部に接続されており、各スレーブ制御部は、当該マスタ制御部にて生成されたパケットを取得すると、当該パケットの一部をシリアル信号からパラレル信号に変換し、当該パケットが自身宛てのものでなければ、当該パケットを破棄、またはシリアル通信回線を介して接続された後段のスレーブ制御部へ転送すること
を特徴とする画像形成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014232575A JP2016096493A (ja) | 2014-11-17 | 2014-11-17 | 通信システムおよび画像形成装置 |
US14/705,090 US20160139860A1 (en) | 2014-11-17 | 2015-05-06 | Communication system, image forming apparatus and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014232575A JP2016096493A (ja) | 2014-11-17 | 2014-11-17 | 通信システムおよび画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016096493A true JP2016096493A (ja) | 2016-05-26 |
Family
ID=55961730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014232575A Pending JP2016096493A (ja) | 2014-11-17 | 2014-11-17 | 通信システムおよび画像形成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160139860A1 (ja) |
JP (1) | JP2016096493A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7394651B2 (ja) * | 2020-02-18 | 2023-12-08 | キヤノン株式会社 | 交換ユニット及び当該交換ユニットが装着される装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4467727B2 (ja) * | 2000-07-24 | 2010-05-26 | キヤノン株式会社 | 電子機器の接続方法およびその電子機器およびその動作処理プログラムを記憶した記憶媒体 |
JP4226620B2 (ja) * | 2006-08-24 | 2009-02-18 | ファナック株式会社 | データ転送方式及びデータ転送装置 |
-
2014
- 2014-11-17 JP JP2014232575A patent/JP2016096493A/ja active Pending
-
2015
- 2015-05-06 US US14/705,090 patent/US20160139860A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160139860A1 (en) | 2016-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5835464B2 (ja) | 情報処理装置及び情報処理装置制御方法 | |
JPWO2006090473A1 (ja) | データ送信制御方法、及びデータ送信制御装置 | |
JP4260688B2 (ja) | データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法 | |
CN109154925A (zh) | 通信设备、通信方法、程序和通信系统 | |
US8621314B2 (en) | Transmitting and receiving system and method, and non-transitory computer readable medium | |
JP2016096493A (ja) | 通信システムおよび画像形成装置 | |
US20170033886A1 (en) | Communication apparatus, lens apparatus and image pickup apparatus including the same | |
US7724775B2 (en) | Data transmission circuit and method for controlling the data transmission circuit | |
JP2009058994A (ja) | 画像処理装置及びその制御方法 | |
JP2011071579A (ja) | PCIExpress通信システム | |
JP5459308B2 (ja) | データ転送装置及びデータ転送装置の制御方法 | |
JP6330541B2 (ja) | データ送受信システム、データ送信装置、データ送受信システムの制御方法 | |
JP2005228222A (ja) | シリアルデータ転送方法とその装置 | |
JP6493756B2 (ja) | 送信装置、受信装置、送受信システムおよびプログラム | |
JP6678787B1 (ja) | リモートi/oシステム | |
JP5229474B2 (ja) | 画像処理システムおよびプログラム | |
WO2015040833A1 (ja) | 通信装置及び通信装置の制御方法 | |
JP2007025880A (ja) | データ転送方式 | |
JP4929749B2 (ja) | 通信システム | |
JP2022182021A (ja) | シリアル通信装置及びシリアル通信方法 | |
JP4624252B2 (ja) | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム | |
JP2015080091A (ja) | 通信装置、制御装置、および画像形成装置 | |
JP2006067145A (ja) | 全2重の3線同期式シリアル通信方法およびその装置 | |
JP2009060307A (ja) | フレーム同期データ転送方法、その送信側装置及び受信側装置 | |
JP2008186185A (ja) | シリアルデータ伝送方法およびそのシステム |