JP6071296B2 - 通信制御装置及び通信制御方法 - Google Patents

通信制御装置及び通信制御方法 Download PDF

Info

Publication number
JP6071296B2
JP6071296B2 JP2012161268A JP2012161268A JP6071296B2 JP 6071296 B2 JP6071296 B2 JP 6071296B2 JP 2012161268 A JP2012161268 A JP 2012161268A JP 2012161268 A JP2012161268 A JP 2012161268A JP 6071296 B2 JP6071296 B2 JP 6071296B2
Authority
JP
Japan
Prior art keywords
data
communication
address
current data
communication 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.)
Active
Application number
JP2012161268A
Other languages
English (en)
Other versions
JP2014023013A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012161268A priority Critical patent/JP6071296B2/ja
Priority to US13/940,094 priority patent/US9286070B2/en
Publication of JP2014023013A publication Critical patent/JP2014023013A/ja
Application granted granted Critical
Publication of JP6071296B2 publication Critical patent/JP6071296B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23282Detect erroneous instructions in asic systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、シリアル通信システムにおける通信制御技術に関し、特に、通信エラーが発生したときの通信制御技術に関する。
複写機や複合機などの画像形成装置では、内蔵するCPU(Central Processing Unit)と各種モータなどの駆動制御を行う専用半導体装置との間でシリアル通信が行われる。以下、専用半導体装置をASIC(Application Specific Integrated Circuit)という。シリアル通信では、アドレスとデータとを時分割で同じ通信線路により転送するために、配線領域を複数の通信線路を用いるパラレル通信よりも小さくできる。しかし、シリアル通信では、パラレル通信と同等以上の転送レートを実現するために、通信周波数を上げる必要がある。
通信周波数を上げることで通信速度が高速化すると、通信線路へのノイズ混入などにより通信エラーが発生しやすくなる。このような通信エラーを回避するために従来から様々な提案がなされている。特許文献1〜4の発明は、このような提案の例である。
特許文献1には、1度の通信で同一の通信データを2回転送するシリアル通信システムが開示される。1回目の通信データと2回目の通信データとを比較して、比較結果が不一致のときは通信エラーが発生したと判断し、比較結果が一致したときのみデータの内部アクセスが発生する。しかし、1回のシリアル通信で同一データを2回転送するために、通信レートの実行値が半減する。
特許文献2には、CPUとデバイスとの間でI2Cバスを用いて通信するデータ通信装置が開示される。CPUからデバイスに転送する転送データであるクロック信号及びデータ信号がCPUに帰還する。CPUは、転送データと帰還データの相違を監視することで通信エラーの発生を判断する。通信エラー発生時には、転送データの再送信を行う。
特許文献3には、画像データをシリアル通信により転送する画像転送装置が開示される。画素データは、ライン毎に誤り検出データが負荷されたシリアルデータである。画像転送装置では、誤り検出データにより画素データの誤りの有無を検出する。画像転送装置は、誤りの有無に関わらず画素データをライン単位で一時保管しておき、画素データが誤っていると判断した場合には、該画素データをフレームメモリに書き込まない。
特許文献4には、シリアルデータ転送エラー発生時に、データ転送クロックを調整した上でリトライすることでデータを回復する方法が開示される。
特開2000−41057号公報 特開2007−148592号公報 特開2006−191188号公報 特開2007−317263号公報
画像形成装置は、安定した高い生産性が要求される。画像形成装置に内蔵されるモータなどの駆動部品や各種部品を監視するセンサなどをシリアル通信により制御するためには、単位時間当たりに必要なレジスタアクセス数などから計算すると、数Mbpsの通信ボーレートが必要となる。さらに、エラー発生時に再送信(リトライ)が必要な場合までを考慮すると、通信ボーレートはさらに高速になる。CRC(Cyclic Redundancy Check:巡回冗長検査)などを含む通信パケットで通信を行う方法は、比較的簡易に通信エラーを監視することができる。このような通信パケットでは、ラインノイズによるエラー発生時にデータ再送などの処理を短時間で行うことができる。そのために、画像形成装置に要求される高い生産性を維持することが可能である。
特許文献1〜4は、いずれも、制御に必要な制御データを送信する側(以下、「主局」という。)から、制御データを受信する側(以下、「従局」という。)に、データを転送する際に発生する通信エラーに注目した回避方法である。従って、主局から従局への通信は成功したが、従局から主局への返信データにノイズが混入した場合に、主局は、従局が通信エラーを起こしていると判断しデータの再送が行われる。
この場合、従局は、一度正常に通信ができていると認識しており、その時点で内部へのアクセスが発生している。そのために、主局から再送が行われた場合、同じアクセスの繰り返しになる。このアクセスが単なるレジスタであって、2回連続でライト(write)やリード(read)しても状態遷移などを伴わない場合であれば、大きな問題にはならない。しかし、動作のスタートトリガのような場合、2回連続でアクセスが発生することで、一度動作開始した後に再度動作を開始してしまい、目的とする動作の効果が得られないことがある。さらに、アクセスにより状態遷移を伴うFIFO(First In, First Out)などの場合であっても、本来目的とする動作ができない可能性がある。
本発明は、以上のような従来の問題に鑑み、安定した動作制御を行うための通信制御装置及び通信制御方法を提供することを主たる課題とする。
上記の課題を解決する本発明の通信制御装置は、記憶手段、受信手段、記憶手段とは別の保持手段、及び通信制御手段とを備える。記憶手段は、被制御装置の動作を制御するためのデータが記憶される。受信手段は、前記記憶手段への書き込み先のアドレスを含む前記データを通信により受信する。保持手段は、前回の通信により受信したデータを保持する。通信制御手段は、前記保持手段に保持された前記前回の通信により受信された前回データと、今回の通信により受信した今回データとの内容が一致した場合、前記今回データの前記記憶手段への書き込み先のアドレスが所定のアドレスであれば前記今回データの前記記憶手段への書き込みを禁止し、前記今回データの前記記憶手段への書き込み先のアドレスが前記所定のアドレスでなければ、前記今回データを前記記憶手段へ書き込む
本発明の通信制御方法は、記憶手段、受信手段、及び保持手段を備える装置により実行される方法である。記憶手段は、被制御装置の動作を制御するためのデータが記憶され、前記データの書き込みが重複することで前記被制御装置に不安定な動作が生じる可能性のある領域を有する。受信手段は、前記記憶手段への書き込み先のアドレスを含む前記データを通信により受信する。保持手段は、前回の通信により受信した前回データを保持する。
このような装置が、以下の各段階により通信制御を行う。
(1)前記保持手段に保管される前記前回データと今回の通信により受信した今回データとの内容を比較する段階。
(2)前記比較の結果、前記前回データと前記今回データとの内容が一致するときに、前記今回データの書き込み先のアドレスが前記領域であるか否かを確認する段階。
(3)前記今回データの書き込み先のアドレスが前記領域であれば、前記今回データの前記記憶手段への書き込みを禁止する段階。
本発明は、前回データと今回データの内容が一致し、かつ今回データのアクセス先がデータの書き込みが重複することで前記被制御装置に不安定な動作が生じる可能性のある領域であれば、今回データの記憶手段への書き込みを禁止する。これにより、例えば、主局から従局への通信が成功し、従局から主局への返答で通信エラーを発生して、データの再送が行われても、従局の記憶手段の同じアドレスへの複数回の連続した書き込みを防止できる。そのために、目的とする動作に支障が生じずに安定した被制御装置の動作制御が可能になる。
中間転写ベルトの駆動制御機構の構成図。 ITB寄り制御用偏心カムの構成図。 メイン制御装置の構成図。 ASICの構成図。 通信モジュールの具体的な構成例示図。 主局と従局との間でシリアル通信に用いられる通信プロトコルの説明図。 主局と従局との間でシリアル通信に用いられる通信プロトコルの説明図。 主局と従局との間でシリアル通信に用いられる通信プロトコルの説明図。 主局と従局との間でシリアル通信に用いられる通信プロトコルの説明図。 一時格納部の構成例示図。 2回連続ライト実行による弊害を防止する処理手順を表すフローチャート。 主局における通信時の処理のフローチャート。
以下、本発明の実施の形態を図面を参照しつつ詳細に説明する。
図1は、本実施形態のシリアル通信システムを用いた画像形成装置に内蔵される、中間転写ベルト(以下、「ITB(Intermediate Transfer Belt)」という。)の駆動制御機構の構成図である。
ITB101は、ITB駆動ローラ104とITB寄り制御ローラ105、及びこれらのローラに従動する従動ローラ102、103の回転に伴い回転駆動される。また、ITB101は、これらのローラにより、寄り制御される。ITB駆動ローラ104は、ITB駆動モータ106により回転駆動される。ITB寄り制御ローラ105は、ITB寄り制御モータ108により駆動されるITB寄り制御用偏心カム107及びITB寄り制御レバー115によりITB101の寄りを制御する。ベルト位置検出センサ109は、ITB101のベルト位置をアナログ値で検出する。
ITB駆動モータ106及びITB寄り制御モータ108は、ITB駆動制御装置110により回転動作が制御される。ITB駆動制御装置110は、駆動制御用の専用半導体装置である駆動制御ASIC111及びモータ駆動部112、113を備える。ITB駆動制御装置110は、図1では、駆動制御ASIC111及びモータ駆動部112、113を図示するのみであるが、これ以外に、図示しない各種のモータ制御回路やセンサ駆動回路を備えていてもよい。駆動制御ASIC111は、PWM(Pulse Width Modulation)信号をモータ駆動部112、113に送り、ITB駆動モータ106及びITB寄り制御モータ108を制御する。ITB駆動制御装置110は、メイン制御装置200からの指示により動作する。なおメイン制御装置200は、画像形成装置の全体動作を制御するものである。メイン制御装置200は、ベルト位置検出センサ109で検出されたベルト位置を表すアナログ値をA/D変換し、ディジタルデータとして処理する。メイン制御装置200は、ベルト位置検出センサ109の検知結果により、中間転写ベルト101の位置を計測する。メイン制御装置200は、この計測結果に応じてITB駆動制御装置110を制御する。
図2は、ITB寄り制御用偏心カム107の構成図である。ITB寄り制御用偏心カム107は、ITB寄り制御レバー115に一部が当接する。ITB寄り制御用偏心カム107は、回転中心300を中心に、ITB寄り制御モータ108により回転させられる。回転中心300からITB寄り制御用偏心カム107がITB寄り制御レバー115に当接する位置までの距離は、ITB寄り制御用偏心カム107の回転により変化する。そのために、ITB寄り制御レバー115が、ITB寄り制御レバー支点軸301を中心に図2の矢印方向に変位する。ITB寄り制御レバー115はITB寄り制御ローラ105に接続されるために、ITB寄り制御用偏心カム107の変位により、ITB寄り制御レバー115が変位して、ITB寄り制御ローラ105の位置が調整される。
駆動制御ASIC111は、ベルト位置検出センサ109で検出されたITB101の位置に応じてITB寄り制御モータ108の回転角を制御するために、メイン制御装置200の制御に基づき、モータ駆動部113に指示を送る。これにより、ITB寄り制御ローラ105の位置が調整されて、ITB101の寄り制御が行われ、ITB101の位置が基準位置からずれている場合でも、基準位置に補正される。
図3は、メイン制御装置200の構成図である。本実施形態では、メイン制御装置200とITB駆動制御装置110との間のシリアル通信について説明するが、メイン制御装置200は、画像形成装置内の他の駆動部品やセンサなどの構成要素の制御を行う装置との間でも同様にシリアル通信を行う。他の装置とのシリアル通信においても、本実施形態のシリアル通信を適用可能である。
メイン制御装置200は、CPU201及びメイン制御ASIC202を備える。また、メイン制御装置200は、メイン制御ASIC202にシリアル通信接続ライン線で接続される駆動制御ASIC203を備えており、画像形成装置内の他の構成要素の制御が可能である。メイン制御ASIC202は、ITB駆動制御装置110の駆動制御ASIC111に、シリアル通信線で接続される。以下、便宜上、メイン制御ASIC202を「主局」、駆動制御ASIC111を「従局」という。
図4は、主局及び従局のいずれにも適用可能なASIC1000の構成図である。ASIC1000は、動作モードを設定するための図示しない外部端子からの入力により、主局あるいは従局として動作する。例えば、ASIC1000は、2つの外部端子に(L,L)が入力されれば主局として動作し、(H,H)が入力されれば従局として動作する。入力の他の組合せでは、他の動作モードで動作する。
ASIC1000は、通信モジュール1001、CPUバスインタフェース1002、内部バスモジュール1003、PWM出力モジュール1004、モータ駆動モジュール1005、及び汎用IOモジュール1006を備える。
通信モジュール1001は、外部端子からの入力により、主局としての動作、あるいは従局としての動作を行う。CPUバスインタフェース1002は、主局として動作する場合のみ有効となり、CPU201にパラレルバスで接続される。
内部バスモジュール1003は、ASIC1000の内部バスであり、ASIC1000内の各モジュールに接続されている。主局として動作する場合、CPUバスインタフェース1002により受信したCPU201からのバスアクセスを、内部バスインタフェースに変換して各モジュールにアクセスする。従局として動作する場合、主局からのシリアル通信を内部バスインタフェースに変換して、各モジュールにアクセスする。
PWM出力モジュール1004及びモータ駆動モジュール1005は、画像形成装置内の、図示しないブラシレスモータ、ステッピングモータなどの電気負荷を駆動制御するためのパルス信号を出力する。汎用IOモジュール1006は、フォトインタラプタなどのセンサ信号の入力状態の検知、あるいはアナログ信号をA/D変換するADコンバータを内蔵する。
図5は、通信モジュール1001の具体的な構成例示図である。通信モジュール1001は、シリアル−パラレル変換部1101、パラレル−シリアル変換部1102、通信制御部1103、内部バスインタフェース部1104、及びレジスタ部1105を備える。
シリアル−パラレル変換部1101は、受信したシリアルデータをパラレルデータに変換する。パラレル−シリアル変換部1102は、パラレルデータをシリアルデータに変換して送信する。通信制御部1103は、通信モジュール1001内の各部間の通信制御を行う。内部バスインタフェース部1104は、図4の内部バスモジュール1003に接続される。レジスタ部1105は、設定値などを記憶する。
図6〜図9は、主局(メイン制御ASIC202)と従局(駆動制御ASIC111)との間でシリアル通信に用いられる通信プロトコルの説明図である。図6〜図9において、MOSI(Master Out Slave In)は主局から従局へ送信されるシリアルデータであり、MISO(Master In Slave Out)は従局から主局へ送信されるシリアルデータである。
図6は、ライト実行時の通信プロトコルの例示図である。主局は、コマンド、アドレス、データ、CRCの各フレームデータをシリアル送信する。従局は、各フレームデータを順次受信する。従局は、受信したコマンド、アドレス、データの各フレームデータから自身で作成したCRC値を、受信したCRCと比較する。比較結果が一致している場合、従局は主局にACK(Acknowledgement:肯定応答)コマンドを送信する。比較結果が一致しない場合、従局は主局にNACK(Negative Acknowledgement:否定応答)コマンドを送信する。
CRCが不一致となるのは、例えば、送信中にデータに対してノイズが混入し、データの特定のビットが反転したと認識された場合などである。
主局から送信されるコマンドにより、ライト命令あるいはリード命令が指示される。また、転送するデータの個数の指示も行う。このデータの個数指示については、後述する。
CRCは、巡回冗長検査と呼ばれ、任意長のデータ入力に対して固定サイズの値を出力する関数であり、連続する誤りを検出するための誤り検出符号の一種である。パリティ・チェックサム方式に比べて誤り検出精度が高く、高速に演算できる。また、1ビットずつの走査により計算ができるために、ハードウェア構成が容易に済むなどの特徴を持つ。そのために、ネットワークからハードウェア回路におけるデータ転送に幅広く用いられる。
図6において、主局は、従局からACKコマンドを受信することで、通信が成功したと判断して次の通信に備える。しかし、NACKコマンドを受信した場合、通信が失敗したと判断してデータの再送を行う。再送は、従局からのACKコマンドの返信まで繰り返される。また、従局から無応答の場合には、所定時間待機した後にデータの再送を行う。ただし、複数回の再送の結果、すべてNACKコマンドが返信あるいは無応答の場合、通信を確立できなかったとして、通信エラー表示を行い、通信を停止する。
図12は、主局における通信時の処理のフローチャートである。
主局は、フレームデータを従局に送信すると、従局からのACKコマンド又はNACKコマンドの送信待機状態になる(S501、S502)。所定の時間内にACKコマンド又はNACKコマンドを受信した場合に主局は、受信したコマンドがACKコマンドであるかを確認する(S502:Y、S503)。ACKコマンドである場合に主局は、通信が成功したと判断して送信処理を終了する(S503:Y)。
所定の時間を経過してもACKコマンド又はNACKコマンドを受信しない場合(S502:N、S504)、或いはNACKコマンドを受信した場合(S503:N)に、主局は、通信が失敗したと判断してフレームデータを再送する(S505)。
このように主局は、従局からACKコマンド及びNACKコマンドのいずれも受信しなかったり、NACKコマンドを受信した場合、つまり、ACKコマンドを正しく受信できなかった場合にフレームデータを再送する。主局は、実際に主局から従局へフレームデータが送信できなかった場合の他に、従局からの返信データにノイズ等が混入することでACKコマンドが変化して、ACKコマンドを正しく受信できないこともある。そのために主局は、返信データにノイズ等が混入した場合にも、フレームデータを再送することができる。
図7は、リード実行時の通信プロトコルの例示図である。主局は、コマンド、アドレス、CRCの各フレームデータをシリアル送信する。コマンドは、リード命令を指示する。従局は、各フレームデータを順次受信する。従局は、受信したコマンド及びアドレスの各フレームデータから自身で作成したCRC値を、受信したCRCと比較する。比較結果が一致している場合、従局は主局にACKコマンド、受信したアドレスに応じたデータ、及びCRCの各フレームデータを送信する。従局の送信するCRCは、送信するデータから算出される。なお、比較結果が不一致の場合、従局が主局にNACKコマンドを送信することはライト実行時と同様であり、この場合にはデータ及びCRCを送信しない。
主局は、従局からACKコマンドを受信することで通信が成功したと判断し、ACKコマンドに続いてデータ及びCRCを受信する。主局は、従局から受信したデータからCRC値を作成して、受信したCRCと比較することで、従局から受信したデータの誤りの有無を検出する。比較結果が一致した場合に、従局から受信したデータを信頼できるものとして扱う。主局がNACKコマンドを受信した場合、あるいはCRCの比較結果が不一致の場合、ライト実行動作の場合と同様に、データの再送を行う。
図8は、バースト(連続)ライト実行時の通信プロトコルの例示図である。主局が送信するコマンドは、ライト命令を指示する他に、書き込むデータの連続個数を指示する。なお、書き込み動作の先頭アドレスは、アドレスのフレームデータにより指示される。コマンドのフレームデータは、例えば“10000_0001”と表される。上位2ビットが、ライト命令であるかリード命令であるかを表す。例えば上位2ビットが“10”であればライト命令であり、“01”であればリード命令である。下位6ビットがデータ数を表す。ライト命令時であれば転送するデータ数であり、リード命令時であれば読み込むデータ数である。例えば下位6ビットが“00_1111”であれば、15データを転送あるいは読み込むことを表す。
CRCによる誤り検出は、図6の通常のライト実行時と同様であり、その結果に応じてACKコマンドあるいはNACKコマンドが従局から主局に送られる。主局は、これにより通信の成否を判断し、失敗している場合に、データの再送を行う。
図9は、バースト(連続)リード実行時の通信プロトコルの例示図である。主局が送信するコマンドは、リード命令を指示する他に、読み込み動作の先頭アドレス及び読み込むデータの連続個数を指示する。コマンドのフレームデータは、図8で説明したとおりであり、図8の例では、上位2ビットが“01”になり、下位6ビットで読み込むデータの連続個数を指示する。
CRCによる誤り検出は、図7の通常のリード実行時と同様であり、その結果に応じてACKコマンドあるいはNACKコマンドが従局から主局に送られる。主局は、これにより通信の成否を判断して、失敗している場合に、データの送信を行う。成功している場合に主局は、受信したデータに対してCRCによる誤り検出を行う。主局は、検出の結果受信したデータに誤りがあれば、データの送信を行う。
従局の通信モジュール1001は、図6〜8の各通信プロトコルにおいて、コマンド、アドレス、データ、CRCの各フレームデータを一時的に格納する一時格納部(バッファ)を有する。一時格納部は、他の通信で正常にフレームデータを受信するまでこれらのフレームデータを格納する。例えば、フレームデータを正常に受信した場合は、一時格納部に格納されている、前回の通信で受信されたフレームデータを削除し、今回の通信で正常に受信されたフレームデータを格納する。図10は、このような一時格納部の構成例を示す。この一時格納部は、通信モジュール1001のレジスタ部1105の一部として構成される。
図10に示すように、一時格納部には、コマンドのデータフレームを格納する格納部、アドレスのデータフレームを格納する格納部、データのデータフレームを格納する格納部、及びCRCのデータフレームを格納する格納部を備える。なお、リード実行時には、データのデータフレームの格納部を全ビット“0”で埋めることが好ましいが、従前のデータのデータフレームをそのまま残してもよい。
バーストライト実行時には、データのフレームデータを格納する格納部に、連続転送されるデータの最後のデータが格納される。バーストライト時に送信されるデータをすべて格納することにすると、格納部の容量が大きくなって回路規模が増大する。そのために、回路規模をできるだけ小さくするように、最後のデータのみを格納することとする。
以上のような通信プロトコルに従って主局と従局との間でシリアル通信が行われることで、画像形成装置内のモータの駆動制御や、センサの状態監視などが実行される。
図6〜図9の通信プロトコルにおいて、主局から従局への通信が成功し、これに対する従局からのACKコマンドにノイズが混入する場合、主局は、ACKコマンドを正しく認識できずに通信が正しく行われなかったと判断する。その結果、主局は、同じデータの再送を行う。データの再送は、例えば、モータ駆動モジュール1005の動作設定レジスタに対するライト実行のように、レジスタへのライト実行で状態遷移が発生するなどの1回目のライト実行と2回のライト実行とで意味合いが異なってくる場合に、大きな弊害となる。
モータ駆動モジュール1005は、動作設定レジスタに設定された初速度、目標速度、加速度あるいは減速度、電流制御値などに応じて、対応するモータ駆動部に動作制御のためのPWM信号を出力する。このような動作設定レジスタに対して2回連続ライト実行する場合、モータ駆動モジュール1005内部で、動作開始待ち状態から動作開始状態への状態遷移が2回発生することになる。つまり、動作設定レジスタへの1回目のライト実行で動作を開始し、初速度から目標とする速度に向けて加減速するようにPWM信号を出力するが、2回目のライト実行により再度動作開始状態に遷移して、初速度をターゲットとするPWM信号を出力する。その結果、モータの制御性能が低下して安定した動作制御が行えない。
例えば、ITB101の寄り制御の場合、モータ駆動モジュール1005の動作設定レジスタに対する2回連続のライト実行が、結果として、寄り制御の効果が低減、もしくはITB101の寄り切りという、意図した動作を阻害することになる。
具体的には、ベルト位置検出センサ109により監視するITB101の位置が基準位置から変位したときに、ITB101の寄り制御が実行される。駆動制御ASIC111は、メイン制御ASIC202の指示により、ITB寄り制御ローラ105の位置を調整するために、ITB寄り制御モータ108の回転角を指定する1回目のライト実行を発生する。ライト実行により、ITB寄り制御用偏心カム107が所定量回転して、ITB101を基準位置に戻すようにITB寄り制御が行われる。ITB寄り制御中に2回目のライト実行が発生し、再度ITB寄り制御用偏心カム107が所定量回転すると、実質的にはITB101を基準位置に戻すための設定値の2倍の値が設定される。そのために、基準位置への調整ができないばかりでなく、逆にITB101を寄り切らせてしまう方向に調整される。
図11は、このような意図せぬ2回連続ライト実行による弊害を防止する処理手順のフローチャートである。図11では、特定アドレスへの2回連続したアクセスを防止することで、2回連続ライト実行による弊害を防止する。図11の処理は、従局の通信モジュール1001により実行される。
主局から従局に、図6〜図9に示すようなシリアルデータが送信される。従局の通信モジュール1001は、シリアル−パラレル変換部1101により、受信したシリアルデータであるコマンド、アドレス、データ、CRCの各フレームデータを、順次パラレルデータに変換する。通信制御部1103は、変換されたフレームデータを、レジスタ部1105内の一時格納部に格納された、前回の通信により送信されたフレームデータと比較する(S401)。
通信制御部1103は、フレームデータが一致しない場合、通信完了まで待機する(S401:N、S408)。この場合、同一アドレスへの同一データのライト実行あるいは同一アドレスへのリード実行が発生しない。そのために、意図せぬ動作設定レジスタへのアクセスが発生することはなく、内部バスインタフェース部1104から内部バスモジュール1003へのアクセスを禁止する必要はない。
通信制御部1103は、フレームデータが一致する場合、図6〜図9に示す通信プロトコルに基づく通信の終了まで、S401の処理を繰り返す(S401:Y、S402)。つまり、S401、S402では、図6〜図9の各通信プロトコルに従い受信したコマンド、アドレス、データ(ライト時のみ)、CRCの各フレームデータが、前回の通信により受信したフレームデータとまったく同じデータであるかを判断する。同一アドレスに対する同一データのライト実行あるいは同一アドレスへのリード実行でない限り、意図しない2回連続ライト実行あるいはリード実行が発生しないため、ステップS408へと移行する。本実施形態では、コマンド、アドレス、データ、CRCのそれぞれを受信するごとに、一時格納部に格納されている対応するデータと比較する。通信完了後に受信したフレームデータと、一時格納部に格納されているフレームデータとを比較するようにしてもかまわない。
すべてのフレームデータが前回の通信で受信したフレームデータと同じである場合、通信制御部1103は、アクセス先を示す指定アドレスが特定のアドレス領域のものであるか否かを判断する(S402:Y、S403)。特定アドレスは、例えば、モータ駆動モジュール1005内の動作設定レジスタのアドレスなどを個別に指定するアドレスや、所定の範囲内に存在する動作設定レジスタのアドレスをグループとして指定するアドレスである。このような特定アドレスは、重複書き込みが起こることで、モータ駆動部113の動作が不安定になる。なお、特定アドレスを示すために用いられるレジスタは、レジスタ部1105に格納されていてもよいし、通信制御部1103が個別に持っていてもよい。
通信制御部1103は、アクセス先が特定アドレスである場合、前回の通信の完了時刻から今回の通信の完了時刻までの時間を測定する。そして、測定時間が所定の時間を超えたか否か判断する(S403:Y、S404)。例えば、所定時間を超えた場合は、通信エラーの発生による再送ではなく、前回の通信時と同一の処理(同一コマンド、同一アドレス、同一データ)を指示する可能性がある。そのために、所定時間以上経過後の同一のフレームデータは、有効な通信として処理を行う(S404:Y)。
通信制御部1103は、前回の通信完了から今回の通信完了までの時間が所定時間以内であれば、内部バスインタフェース部1104による内部バスモジュール1003へのアクセスを禁止する(S404:N、S405)。つまり通信制御部1103は、前回の通信完了から所定時間以内に受信したデータが、前回の通信で受信したデータとすべて一致し、アクセスが特定アドレスの場合に、内部バスモジュール1003へのアクセスを禁止する。通信制御部1103は、例えば、アクセス許可フラグにより内部バスモジュール1003へのアクセスの許可の指示する。アクセス許可フラグがオンで、通信が正常に完了した場合に、内部バスモジュール1003へのアクセスが可能になり、どちらかが欠ける場合にアクセス禁止になる。
内部バスモジュール1003へのアクセス禁止後、通信制御部1103は、CRCを用いた通信エラーの確認を行う(S406)。なお、通信エラーの確認は、S408で通信が完了した場合、S403でアクセス先が特定アドレスでない場合(S403:N)、あるいはS404で測定時間が所定時間を超えた場合(S404:Y)も行う。
確認の結果、通信エラーが発生している場合には、主局にNACKコマンドを返信する。そして、一時格納部のデータを今回の通信で受信したデータに更新することはなく、判定動作を終了する(S406:Y、S410)。この場合、内部バスインタフェース1003へのアクセスは発生しない。この段階で通信エラーが発生している場合、主局からのデータの再送が実行される。再送で通信エラーがない場合には、2回連続アクセスと同じ状態になってしまうため、これを防止する目的で、一時格納部の内容を更新しない。
通信エラーが発生していない(正常にフレームデータを受信した)場合、通信制御部1103は、一時格納部の内容を今回受信した最新のデータに更新するとともに、主局にACKコマンドを送信する(S406:N、S407、S409)。そして、フレームデータで指示された処理を実行する。
このようにして、特定アドレスへの2回連続のアクセスを防止する。
以上のように、主局から従局への通信が成功したが、主局側が通信の成功を確認できずにデータの再送を行う場合に、従局の同じ動作設定レジスタの同じアドレスへ複数回連続してアクセスが発生しても、レジスタを更新することはない。そのために、目的とする動作の効果を低減することなく、シリアル通信における通信品質を保つことが可能となる。
なお、特定アドレスへの2回連続したアクセス防止の他に、特定のコマンド(例えばライト)の2連続実行を防止する形態でもよい。この場合、図11のフローチャートで、S403において、特定アドレスの確認の替わりに、前回のコマンドと同じコマンドであるかを確認する。前回と同じコマンドである場合には、前回の通信の完了時刻から今回の通信の完了時刻までの時間を測定する。そして、測定時間が所定の時間を超えたか否か判断する(S403:Y、S404)。所定時間以上経過していれば、特定のコマンドを有効な通信として扱う(S404:Y)。通信制御部1103は、前回の通信完了から今回の通信完了までの時間が所定時間以内であれば、内部バスインタフェース部1104による内部バスモジュール1003へのアクセスを禁止する(S404:N、S405)。
前回とは異なるコマンドである場合には、CRCを用いた通信エラーの確認処理に移行する(S403:N、S406)。
また、特定アドレスの判断を行わずに、S402の処理からS404の処理に移行するようにしてもよい。
101…中間転写ベルト、102,103…従動ローラ、104…ITB駆動ローラ、105…ITB寄り制御ローラ、106…ITB駆動モータ、107…ITB寄り制御用偏心カム、108…ITB寄り制御モータ、109…ベルト位置検出センサ。110…ITB駆動制御装置、111,203…駆動制御ASIC、112,113…モータ駆動部、115…ITB寄り制御レバー。200…メイン制御装置、201…CPU、202…メイン制御ASIC。1000…ASIC、1001…通信モジュール、1002…CPUバスインタフェース、1003…内部バスモジュール、1004…PWM出力モジュール、1005…モータ駆動モジュール、1006…汎用IOモジュール。1101…シリアル−パラレル変換部、1102…パラレル−シリアル変換部、1103…通信制御部、1104…内部バスインタフェース部、1105…レジスタ部。

Claims (6)

  1. 被制御装置の動作を制御するためのデータが記憶される記憶手段と、
    前記記憶手段への書き込み先のアドレスを含む前記データを通信により受信する受信手段と、
    前回の通信により受信したデータを保持する保持手段と、
    前記保持手段に保持された前記前回の通信により受信された前回データと、今回の通信により受信した今回データとの内容が一致した場合、前記今回データの前記記憶手段への書き込み先のアドレスが所定のアドレスであれば前記今回データの前記記憶手段への書き込みを禁止し、前記今回データの前記記憶手段への書き込み先のアドレスが前記所定のアドレスでなければ、前記今回データを前記記憶手段へ書き込む通信制御手段と、を備えることを特徴とする、
    通信制御装置。
  2. 前記記憶手段における前記所定のアドレスは、前記被制御装置であるモータの動作を制御するための動作設定レジスタに対応することを特徴とする、
    請求項1記載の通信制御装置。
  3. 前記通信制御手段は、前記前回データの受信終了から前記今回データの受信終了までの時間を測定し、測定した時間が予め定められた時間以上であれば、前記前回データと前記今回データとの内容が一致しかつ前記今回データの書き込み先のアドレスが前記所定のアドレスを指している場合であっても、前記今回データの前記記憶手段への書き込みを許可することを特徴とする、
    請求項1または2記載の通信制御装置。
  4. 前記データは誤り検出符号を含んでおり、
    前記通信制御手段は、前記今回データの前記記憶手段への書き込みが許可されているときに、前記今回データの前記誤り検出符号を用いたデータ誤り検出を行い、データに誤りが無ければ、前記記憶手段への書き込みを行うとともに、前記保持手段に保持されているデータを前記今回データに更新することを特徴とする、
    請求項3記載の通信制御装置。
  5. 前記受信手段は、受信した前記データを内部バスを介して前記記憶手段に送信するものであり、
    前記通信制御手段は、前記記憶手段への書き込みを禁止するときに、前記受信手段による前記データの前記内部バスへの送信を禁止することを特徴とする、
    請求項4記載の通信制御装置。
  6. 被制御装置の動作を制御するためのデータが記憶され、前記データの書き込みが重複することで前記被制御装置に不安定な動作が生じる可能性のある領域を有する記憶手段、前記記憶手段への書き込み先のアドレスを含む前記データを通信により受信する受信手段、及び前回の通信により受信した前回データを保持する保持手段を備える装置により実行される方法であって、
    前記保持手段に保管される前記前回データと今回の通信により受信した今回データとの内容を比較する段階と、
    前記比較の結果、前記前回データと前記今回データとの内容が一致するときに、前記今回データの書き込み先のアドレスが前記領域であるか否かを確認する段階と、
    前記今回データの書き込み先のアドレスが前記領域であれば、前記今回データの前記記憶手段への書き込みを禁止する段階と、を含むことを特徴とする、
    通信制御方法。
JP2012161268A 2012-07-20 2012-07-20 通信制御装置及び通信制御方法 Active JP6071296B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012161268A JP6071296B2 (ja) 2012-07-20 2012-07-20 通信制御装置及び通信制御方法
US13/940,094 US9286070B2 (en) 2012-07-20 2013-07-11 Control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012161268A JP6071296B2 (ja) 2012-07-20 2012-07-20 通信制御装置及び通信制御方法

Publications (2)

Publication Number Publication Date
JP2014023013A JP2014023013A (ja) 2014-02-03
JP6071296B2 true JP6071296B2 (ja) 2017-02-01

Family

ID=49947576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012161268A Active JP6071296B2 (ja) 2012-07-20 2012-07-20 通信制御装置及び通信制御方法

Country Status (2)

Country Link
US (1) US9286070B2 (ja)
JP (1) JP6071296B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6303907B2 (ja) 2014-08-08 2018-04-04 株式会社デンソー 運転者監視装置
FR3026515B1 (fr) * 2014-09-26 2017-12-01 Valeo Systemes Thermiques Transmission de donnees synchrones par l'intermediaire d'un bus de donnees serie, notamment un bus spi
US10841039B2 (en) * 2018-10-30 2020-11-17 Infineon Technologies Ag System and method for transferring data and a data check field
JP2021168431A (ja) * 2020-04-09 2021-10-21 ミネベアミツミ株式会社 チェックサム付加方法およびチェックサム付加装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS64833A (en) * 1987-02-12 1989-01-05 Matsushita Electric Ind Co Ltd Data transmission equipment
US5384565A (en) * 1992-08-03 1995-01-24 Motorola, Inc. Method and apparatus for identifying duplicate data messages in a communication system
JP2000041057A (ja) 1998-07-21 2000-02-08 Canon Inc シリアル通信システムと通信データの制御方法、及び画像形成装置
JP2006191188A (ja) * 2004-12-28 2006-07-20 Sharp Corp 画像転送装置および画像表示装置
JP2007148592A (ja) * 2005-11-24 2007-06-14 Funai Electric Co Ltd データ通信装置
JP2007317263A (ja) 2006-05-24 2007-12-06 Hitachi Global Storage Technologies Netherlands Bv シリアル・データ転送方法、そのシステム及びデータ記憶装置
WO2010061482A1 (ja) * 2008-11-28 2010-06-03 株式会社アドバンテスト 試験装置、シリアル伝送システム、プログラム、および、記録媒体
JP2011008879A (ja) * 2009-06-26 2011-01-13 Toshiba Storage Device Corp ディスクドライブ装置
JP5609443B2 (ja) * 2009-09-30 2014-10-22 富士通株式会社 再送制御を行う装置及び方法

Also Published As

Publication number Publication date
US9286070B2 (en) 2016-03-15
JP2014023013A (ja) 2014-02-03
US20140025936A1 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
JP6071296B2 (ja) 通信制御装置及び通信制御方法
US10153887B2 (en) Patch download with improved acknowledge mechanism
US20230379085A1 (en) Method for controlling retransmission in physical layer
CN112395237B (zh) 一种至少两个控制器之间通信的方法及其系统
JP5250767B2 (ja) 冗長3ワイヤ通信システムおよび方法
JP4508732B2 (ja) 電子制御装置
RU2740163C2 (ru) Устройство связи, способ связи, программа и система связи
CN107852275B (zh) 数据传输装置和数据传输方法、接收装置和接收方法
US8880972B2 (en) Serial transmission apparatus, information processing apparatus, and serial transmission method
CN111327393A (zh) 一种基于串行通讯接口的图像探测器参数传输方法
CN114138542A (zh) 电能表的数据配置方法、电能表及可读存储介质
JP4458873B2 (ja) シリアルデータ転送方法とその装置
TW202103466A (zh) 實施混合自動重傳請求過程的系統及方法
JP2017208713A (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2020061655A (ja) 通信システム
JP2011039897A (ja) データ通信装置、データ通信制御方法、データ通信制御プログラム及び記録媒体
JP3852600B2 (ja) 通信インタフェース装置およびプログラム
WO2022086798A1 (en) Repeated in sequence packet transmission for checksum comparison
CN117278173A (zh) 一种ota数据的传输系统及车辆
US20160218984A1 (en) Communication device and control method of communication device
JP2003324497A (ja) 通信システム及び通信制御装置
JPS63246055A (ja) パケツト送受信装置
JP6734031B2 (ja) 送信装置、送受信システム、送信方法およびプログラム
JP2020025194A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JPH11234364A (ja) 通信制御方法及び通信モジュール

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160627

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R151 Written notification of patent or utility model registration

Ref document number: 6071296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151