JP5147520B2 - 通信方法 - Google Patents
通信方法 Download PDFInfo
- Publication number
- JP5147520B2 JP5147520B2 JP2008114059A JP2008114059A JP5147520B2 JP 5147520 B2 JP5147520 B2 JP 5147520B2 JP 2008114059 A JP2008114059 A JP 2008114059A JP 2008114059 A JP2008114059 A JP 2008114059A JP 5147520 B2 JP5147520 B2 JP 5147520B2
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- signal
- command
- status
- cpu
- 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
Links
Images
Landscapes
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
Description
〔1〕2個のCPUを接続する通信である。
〔2〕2個のCPUをA−CPU(後述するCPU11),B−CPU(後述するCPU16)とする。
〔3〕相手側に命令をするところのCommand(以下Command)を受信したA−CPUは、そのCommandに対応した受信完了通知であるところのACK(以下ACK)または、状況を返信するところのStatus(以下Status)を返信する。
〔4〕Commandを受信したB−CPUは、そのCommandに対応したACKまたは、Statusを返信する。
〔5〕A−CPUからB−CPUに対しCommandを発行した場合には、B−CPUよりそのCommandに対応した正常なACKまたは正常なStatusが返信されるまでは、A−CPUはB−CPUに対し新たなCommandは発行しない。
〔6〕B−CPUからA−CPUに対しCommandを発行した場合には、A−CPUよりそのCommandに対応した正常なACKまたは正常なStatusが返信されるまでは、B−CPUはA−CPUに対し新たなCommandは発行しない。
〔7〕A−CPUがCommandを発行していない状態で、通信エラーを検知したらA−CPUは受信不良を示すところのNACK(以下NACK)を発行する。
〔8〕B−CPUがCommandを発行していない状態で、通信エラーを検知したらB−CPUはNACKを発行する。
〔9〕A−CPUがCommandを発行し、ACKまたは、Statusを受信するまでの間に、通信エラーを検知したら最後に発行したCommandを再発行する。
〔10〕B−CPUがCommandを発行し、ACKまたは、Statusを受信するまでの間に、通信エラーを検知したら最後に発行したCommandを再発行する。
〔11〕A−CPUがCommandを発行していない状態で、NACKを受信したらNACKを無視しなにもしない。
〔12〕B−CPUがCommandを発行していない状態で、NACKを受信したらNACKを無視しなにもしない。
〔13〕A−CPUがCommandを発行し、ACKまたは、Statusを受信するまでの間に、NACKを受信したら最後に発行したCommandを再発行する。
〔14〕B−CPUがCommandを発行し、ACKまたは、Statusを受信するまでの間に、NACKを受信したら最後に発行したCommandを再発行する。
〔15〕A−CPUがCommandを発行していない状態にもかかわらずACKまたはStatusを受信した場合には、NACKを発行する。
〔16〕B−CPUがCommandを発行していない状態にもかかわらずACKまたはStatusを受信した場合には、NACKを発行する。
〔17〕A−CPUがCommandを発行したにもかかわらず一定時間経過してもACKまたは、Statusが返信されなかった場合には、最後に発行したCommandを再発行する。
〔18〕B−CPUがCommandを発行したにもかかわらず一定時間経過してもACKまたは、Statusが返信されなかった場合には、最後に発行したCommandを再発行する。
図1は本発明の特徴を最もよく表す図面であり、同図において1は画像形成を行う画像形成装置本体である。2は画像を形成するための用紙を保持するカセットである。3は画像形成済みの用紙を排出する排紙トレイである。4は用紙を一枚ずつ取り出すため(以下ピックアップと称す)のピックアップローラである。5は画像を形成する現像転写部である。6は用紙上に転写された画像を定着させる定着器である。7は、定着済みの用紙を搬送する搬送ローラであり、8はピックアップした用紙を現像転写部へ搬送する搬送ローラである。10は外部機器であるPC(パーソナルコンピュータ)等と接続しかつ画像情報を生成するビデオコントローラ部(Video−Controller部)である。11はビデオコントローラ部10のCPUである。12は画像情報を生成するビデオ生成部(Video生成部)であり、ビデオ信号(Video信号)により電子写真を用い画像を形成する。13は外部のPCと接続するための通信制御部であり、例えばPCとUSB(Universal Serial Bus)にて接続する場合には、13はUSBコントローラを示す。14は画像形成装置本体内のもう一つのCPUと通信で接続するための通信制御部である。
図2は、エンジン基板15のCPU16とビデオコントローラ部10のCPU11の接続図である。
次にCPU11に適用されるF/W(ファームウエア)である通信タスクを説明する。
同期状態と通常状態について、以下のように定義する。
同期状態:CPU11からステータス要求であるところのステータスリクエスト(以下
ステータスRequest)を送信し、そのステータスRequsetに対応
する正しいステータスをCPU11が受信するまでの間またはCPU11から
実動作を要求するところの実行コマンド(以下実行コマンド)を送信し、その
実行コマンドに対応する正しいステータスをCPU11が受信するまでの間。
通常状態:CPU11が上記同期状態にない場合。
TASK2個とドライバ2個から通信ソフトが構成されている。
各々の名前を、“コマンド・ステータス制御TASK”(101)、“第1受信TASK”(102)、“送信ドライバ”(103)、“受信ドライバ”(104)とする。これら、101〜104の機能は以下のとおりである。
以下にこのTASKの機能を列挙する。
*送信すべきステータスRequestまたは実行コマンド(コマンド信号)を制御
し、なおかつ、どのコマンドを送信したかを記憶する。
*返信されたステータスを所定のメモリに格納する。
*再送すべきステータスRequestまたは実行コマンドを制御する。
*NACK(ネガティブアクナリッジ信号)を返信する。
*受信したNACKを無視する。
以下にこのTASKの機能を列挙する。
*RxData(後述)の内容がCPU16からのステータスを表示するための
STCommand(以下STCommand)であると判断したらACK(アク
ナリッジ信号)を返信する。
*RxData(後述)の内容がCPU16からのSTCommandでない場合に
は、そのデータをTxRxBuffer(後述)を通じてコマンド・ステータス制
御TASK101にデータ内容を渡す。
以下にこのTASKの機能を列挙する。
*コマンド・ステータス制御TASK101から依頼のあった送信を実行する。
*第1受信TASK102から依頼のあったACKを送信する。
以下にこのTASKの機能を列挙する。
*受信したデータをRxDataを通じて第1受信TASK102に渡す。
各TASK間での情報の受け渡しに使用するBufferを説明する。
201RxData:受信ドライバ104が受信したデータをRxDataに格納し、第1受信TASK102に受け渡すために使用するメモリ領域である。
202TxRxBuffer:第1受信TASK102からコマンド・ステータス制御TASK101に受信データを受け渡すために使用するメモリ領域である。
203TxQueue:コマンド・ステータス制御TASK101または、第1受信TASK102から送信データを送信ドライバ103に通知するために使用するメモリ領域である。
204SR_CommandQueue:通信TASK以外の部分(151)からのステータスRequest、実行コマンドの送信要求を格納するメモリ領域である。
205NormalStatus:通常のステータスの格納エリアである。通信TASK以外の部分151から参照可能となっている。
206STCommandSaveArea:CPU16から到着したSTCommandを格納するメモリ領域である。通信TASK以外の部分から参照可能となっている。
図3に従って、CPU11の通信TASK構造を説明する。
図4にて、受信ドライバ104のフローチャートを説明する。
図5にて第1受信TASK102のフローチャートを説明する。
図6にてコマンド・ステータス制御TASK101のフローチャートを説明する。
図7にて送信ドライバ103のフローチャートを説明する。
次にCPU16に適用されるF/Wである通信タスクを説明する。
同期状態と通常状態について、以下のように定義する。
同期状態:CPU16からSTCommandを送信し、そのコマンドに対応する正し
いACKが返信されるまでの間。
通常状態:CPU16が上記同期状態にない場合。
TASK2個とドライバ2個から通信ソフトが構成されている。
以下にこのTASKの機能を列挙する。
*送信すべきSTCommandを制御し、なおかつ、どのSTCommandを送
信したかを記憶する。
*返信されたACKを確認する。
*再送すべきSTCommandを制御する。
*NACK を返信する。
*受信したNACKを無視する。
以下にこのTASKの機能を列挙する。
*RxDataの内容がCPU16からのステータスRequestであると判断し
たら対応するステータスを返信する。
*Rxdataの内容がCPU16からの実行コマンドであると判断したら実行コマ
ンド受信情報505に格納し、さらに対応するステータスを返信する。
*RxDataの内容がCPU16からのステータスRequestまたは実行コマ
ンドでない場合には、そのデータをTxRxBuffer502を通じてコマンド
・ステータス制御TASK401に渡す。
以下にこのTASKの機能を列挙する。
*コマンド・ステータス制御TASK401から依頼のあった送信を実行する。
*第1受信TASK402から依頼のあったステータスを送信する。
以下にこのTASKの機能を列挙する。
*受信したデータをRxData501を通じて第1受信TASK402に渡す。
各TASK間での情報の受け渡しに使用するBufferを説明する。
RxData501:受信ドライバ404が受信したデータをRxData501に格納し、第1受信TASK402に受け渡すために使用するメモリ領域である。
TxRxBuffer502:第1受信TASK402からコマンド・ステータス制御TASK401に受信データを受け渡すために使用するメモリ領域である。
TxQueue503:コマンド・ステータス制御TASK401または、第1受信TASK402から送信データを送信ドライバに通知するために使用するメモリ領域である。
STCommandQueue504:通信TASK以外の部分451からのSTCommandの送信要求データを格納するために使用するメモリ領域である。
実行コマンド受信情報505:実行コマンドの受信データ格納エリアである。通信TASK以外の部分451から参照可能となっている。
図8に従って、CPU16の通信TASK構造を説明する。
図9にて、受信ドライバ404のフローチャートを説明する。
図10にて第1受信TASK402のフローチャートを説明する。
図11にてコマンド・ステータス制御TASK401のフローチャートを説明する。
図12にて送信ドライバ403のフローチャートを説明する。
〔19〕A−CPUがCommandを発行する場合には、Commandに識別コードをA−CPUが割り振り、B−CPUが、ACKおよびStatusを返信するときには、受信した識別コードをACK、および、Statusの中にコピーして返信する。
〔20〕B−CPUがCommandを発行する場合には、Commandに識別コードをB−CPUが割り振り、A−CPUが、ACKおよびStatusを返信するときには、受信した識別コードをACK、および、Statusの中にコピーして返信する。
〔21〕A−CPUが識別コードを保存した状態で、Commandを発行しその後、受信したACK,またはStatusの中に記載された識別コードが保存してあったCommand用の識別コードと異なっていた場合には、NACKを送信する。
〔22〕B−CPUが識別コードを保存した状態で、Commandを発行しその後、受信したACK,またはStatusの中に記載された識別コードが保存してあったCommand用の識別コードと異なっていた場合には、NACKを送信する。
図13から図17が実施例2におけるCPU11のTASK構成およびフローチャートである。
図14のS375に示すように、受信はパケット単位で行われ、RxData201への格納もパケット単位で行われ、以降のデータ解析もパケット単位で実施される。
図15で示すように、S385でACKを返信する場合には、STCommandにて通知されたパケットIDをそのまま付加する。この処理が前述の〔19〕に対応する処理である。
図16で示すように、S382で送信したパケットIDを記憶するとともに、次に使用するパケットIDがIncrementされたものとなるように準備する。
図17で示すように、送信ドライバ103の動作は実施例1と同一である。
図18から図22が実施例2におけるCPU16のTASK構成およびフローチャートである。
図19のS675で示すように、受信はパケット単位で行われ、RxData501への格納もパケット単位で行われ、以降のデータ解析もパケット単位で実施される。
図20で示すように、S675、S676で、返信すべきステータスには、ステータスRequestのパケットIDあるいは実行コマンドのパケットIDをそのまま付加する。この処理が前述の〔20〕に対応する処理である。
図21で示すように、S642では、送信したパケットIDを記憶するとともに、次に使用するパケットIDがIncrementされたものとなるように準備する。
図22で示すように、送信ドライバ403の動作は実施例1と同一である。
〔23〕A−CPUがCommandを受信した時点で、識別コードを保存する。A−CPUはCommandに対応した動作を起動する。A−CPUはCommandに対応するACKまたはStatusをB−CPUに返信する。A−CPUが次のCommandを受信した場合に、もしも、Commandに記載された識別コードが前回のCommand受信時に保存した識別コードと一致した場合には、A−CPUは、Commandに対応した動作は起動しない。そしてCommandに対応するACKまたはStatusを返信する。
〔24〕B−CPUがCommandを受信した時点で、識別コードを保存する。B−CPUはCommandに対応した動作を起動する。B−CPUはCommandに対応するACKまたはStatusをA−CPUに返信する。B−CPUが次のCommandを受信した場合に、もしも、Commandに記載された識別コードが前回のCommand受信時に保存した識別コードと一致した場合には、B−CPUは、Commandに対応した動作は起動しない。そしてCommandに対応するACKまたはStatusを返信する。
図23のS343で示すように、到着したSTCommandのパケットIDが前回(直前に)受信したパケットIDと同一であるかどうかを確認する。もしも、パケットIDが前回受信したパケットIDと同一であれば、再送信が発生したものとして、STCommandSaveArea206には格納しない(S343 Yes,S344)。この処理が前述の〔23〕に対応する処理である。この処理をすることにより、再送信によるステータスの破壊を防止する。
図24のS699で示すように、今回通知された到着した実行コマンドのパケットIDが記憶している前回受信した実行コマンドのパケットIDと同一であるかどうかを確認する。もしも、パケットIDが前回受信した実行コマンドのパケットIDと同一であれば、再送信が発生したものとして、実行コマンド受信情報505には書き込まない(S699 Yes)。このように、実行コマンド受信情報505には書き込まず、記憶した前回のステータスをTxQueue503にセットする準備をする(S701)。この処理が前述の〔24〕に対応する処理である。
10 ビデオコントローラ部
11 CPU
15 エンジン基板
16 エンジンCPU
32,33,34,35 シリアル通信用バッファIC
Claims (4)
- 第一の制御部と第二の制御部とを有し、前記第一の制御部または前記第二の制御部が、コマンド信号を発行し、前記コマンド信号に対する応答信号またはステータス信号を受信することにより、前記第一の制御部と前記第二の制御部との間で通信を行う通信装置の通信方法において、
前記コマンド信号に対する、前記応答信号または前記ステータス信号が返信されるまでは新たなコマンド信号の発行を停止する工程と、
前記第一の制御部または前記第二の制御部が、前記コマンド信号を発行していない状態で、前記応答信号または前記ステータス信号を受信した場合、または、通信エラーを検知した場合には、受信不良を示す信号を発行する工程と、
前記第一の制御部または前記第二の制御部が、前記コマンド信号を発行してから前記応答信号または前記ステータス信号を受信するまでの間に、前記通信エラーを検知し、または、前記受信不良を示す信号を受信した場合には、前記コマンド信号を再発行する工程と、を有し、
前記第一の制御部または前記第二の制御部が、前記コマンド信号を発行していない状態で、前記受信不良を示す信号を受信した場合には、前記受信不良を示す信号を無視する工程を備えることを特徴とする通信方法。 - 前記第一の制御部または前記第二の制御部が、前記コマンド信号を発行してから一定時間経過しても前記応答信号または前記ステータス信号が返信されなかった場合には、前記コマンド信号を再発行する工程を備えることを特徴とする請求項1に記載の通信方法。
- 前記第一の制御部または前記第二の制御部が発行する前記コマンド信号に識別コードを付加し、前記識別コードを記憶する工程と、
前記第一の制御部または前記第二の制御部が、前記識別コードが付加された前記コマンド信号を受信した場合に、前記識別コードを前記応答信号または前記ステータス信号に付加する工程と、
前記第一の制御部または前記第二の制御部が、前記識別コードが付加された前記応答信号または前記ステータス信号を受信した場合に、前記記憶する工程により記憶された前記識別コードと前記応答信号または前記ステータス信号に付加された前記識別コードとが異なる場合には、前記受信不良を示す信号を送信する工程と、
を備えることを特徴とする請求項1又は2に記載の通信方法。 - 前記第一の制御部または前記第二の制御部が、識別コードが付加されたコマンド信号を受信した場合に、前記識別コードを記憶する工程と、
前記第一の制御部または前記第二の制御部が、識別コードが付加された次のコマンド信号を受信した場合に、前記記憶する工程により記憶された識別コードと、前記次のコマンド信号に付加された識別コードとが一致する場合には、前記次のコマンド信号に対応する動作を起動せず、前記次のコマンド信号に対する前記応答信号またはステータス信号を返信する工程と、
を備えることを特徴とする請求項3に記載の通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008114059A JP5147520B2 (ja) | 2008-04-24 | 2008-04-24 | 通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008114059A JP5147520B2 (ja) | 2008-04-24 | 2008-04-24 | 通信方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009267705A JP2009267705A (ja) | 2009-11-12 |
JP2009267705A5 JP2009267705A5 (ja) | 2011-06-16 |
JP5147520B2 true JP5147520B2 (ja) | 2013-02-20 |
Family
ID=41393007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008114059A Active JP5147520B2 (ja) | 2008-04-24 | 2008-04-24 | 通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5147520B2 (ja) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190565A (ja) * | 1996-12-27 | 1998-07-21 | Toshiba Corp | 無線通信システム |
JP4072405B2 (ja) * | 2002-09-09 | 2008-04-09 | キヤノン株式会社 | プロセス管理方法及び装置及びプロセス管理装置の制御プログラム及び記憶媒体 |
JP3727928B2 (ja) * | 2003-03-07 | 2005-12-21 | 株式会社東芝 | 情報処理装置及び再送制御方法 |
JP2005039601A (ja) * | 2003-07-16 | 2005-02-10 | Mitsubishi Electric Corp | データ伝送方法、データ送信局およびデータ受信局 |
JP2005346175A (ja) * | 2004-05-31 | 2005-12-15 | Matsushita Electric Ind Co Ltd | コマンド通信装置およびコマンド通信方法 |
JP2006165758A (ja) * | 2004-12-03 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 無線lan装置および無線lan転送制御方法 |
JP2006209392A (ja) * | 2005-01-27 | 2006-08-10 | Kyocera Mita Corp | マルチプロセッサシステム、画像形成装置およびデータ送信方法 |
JP4856400B2 (ja) * | 2005-07-06 | 2012-01-18 | ルネサスエレクトロニクス株式会社 | 記憶装置及び情報処理端末 |
JP2007028214A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 移動体通信システム、移動局装置及び基地局装置 |
JP2007133747A (ja) * | 2005-11-11 | 2007-05-31 | Konica Minolta Medical & Graphic Inc | Icカード発行システム及びicカード発行方法 |
WO2008041329A1 (en) * | 2006-10-04 | 2008-04-10 | Fujitsu Limited | Data transfer method |
-
2008
- 2008-04-24 JP JP2008114059A patent/JP5147520B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009267705A (ja) | 2009-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896524B2 (ja) | 無線識別システムから交換可能ユニットモニタへのデータ伝送の完了の確認方法 | |
JP2013197677A (ja) | 画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラム | |
JP4451837B2 (ja) | データ転送装置およびデータ転送方法 | |
JP2003316712A5 (ja) | ||
EP2028571B1 (en) | Method of detecting disconnection and power discontinuity of I/O unit connected to numerical controller | |
JPH1031336A (ja) | 画像形成装置の用紙ジャムエラー処理方法 | |
JP3684685B2 (ja) | 双方向通信認識方法、双方向通信認識装置および記憶媒体 | |
JP5147520B2 (ja) | 通信方法 | |
JP2019061402A (ja) | 電子機器、通信制御方法及びプログラム | |
JP6460905B2 (ja) | 通信装置、制御方法、プログラム | |
US20020116566A1 (en) | Data transmitting and receiving system, and data receiving device | |
JP6136754B2 (ja) | 通信制御装置及び画像形成装置 | |
JP3958016B2 (ja) | ネットワークプリンタ装置 | |
JP5070012B2 (ja) | 画像読取装置、画像読取装置の制御方法、及び画像読取装置の制御プログラム | |
JP2000099285A (ja) | 印刷データ送信装置及び印刷システム | |
KR100283757B1 (ko) | 엔진 인터페이스장치 | |
US12013805B2 (en) | Communication control apparatus and communication method | |
JP2002358177A (ja) | 画像形成装置、該装置のシリアル通信方法および該方法をコンピュータに実行させるプログラム並びに該プログラムを記録した記録媒体 | |
JP2013059931A (ja) | データ処理装置、サーバー、データ処理方法 | |
JP7139733B2 (ja) | 画像処理装置、情報処理装置、画像処理システム、画像処理プログラム、及び情報処理プログラム | |
JP3080310B2 (ja) | 文書処理装置 | |
JP2004181769A (ja) | 印刷装置 | |
JP2022019390A (ja) | 情報処理装置、画像形成装置、及びプログラム | |
JP2000089921A (ja) | 印刷データスプール制御方法 | |
JPH08249140A (ja) | 記録装置および記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110425 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110425 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20120125 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120921 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121127 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5147520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |