JP2015037281A - 通信装置、制御装置、及び通信処理プログラム - Google Patents

通信装置、制御装置、及び通信処理プログラム Download PDF

Info

Publication number
JP2015037281A
JP2015037281A JP2013168899A JP2013168899A JP2015037281A JP 2015037281 A JP2015037281 A JP 2015037281A JP 2013168899 A JP2013168899 A JP 2013168899A JP 2013168899 A JP2013168899 A JP 2013168899A JP 2015037281 A JP2015037281 A JP 2015037281A
Authority
JP
Japan
Prior art keywords
code
packet
undefined
control device
communication
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.)
Granted
Application number
JP2013168899A
Other languages
English (en)
Other versions
JP6248463B2 (ja
Inventor
滋和 山岸
Shigekazu Yamagishi
滋和 山岸
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2013168899A priority Critical patent/JP6248463B2/ja
Publication of JP2015037281A publication Critical patent/JP2015037281A/ja
Application granted granted Critical
Publication of JP6248463B2 publication Critical patent/JP6248463B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

【課題】本構成を有しない場合と比較して、ヘッダ部のコードが未定義コードに変化した場合であっても、受信したパケットの異常をリカバリすることができる通信装置、制御装置、及び通信処理プログラムを提供する。
【解決手段】パケット推定部54が、受信したパケットのヘッダ部のコードを解析して、未定義コードである場合は、未定義コードに変化前の元コードを推定する。推定コードの終了位置までカウンタ回路55でカウントすると、コード決定部58が、パケットの終了位置を含む予め定められた範囲内のデータパターンがパケットの終了位置を示す予め定められた期待データパターンと一致するか否か判断する。期待データパターンと一致する場合は、推定コードを元コードとして決定する。また決定した元コードに定義付けられているパケットが再送可として定められているパケットである場合は、再送要求をパケットの送信側の装置に出力する。
【選択図】図2

Description

本発明は、通信装置、制御装置、及び通信処理プログラムに関する。
特許文献1には、1以上の固定長フレームから構成される可変長パケット信号のパケット終了判定方法であって、前記可変長パケット信号の送信局で前記可変長パケット信号の最後部の固定長フレーム以外の各固定長フレームの所定の位置に第1の固定パターンを挿入し、前記最後部の固定長フレームの前記所定の位置に第2の固定パターンを挿入し、前記可変長パケット信号の受信局で、前記固定長フレームの所定の位置の固定パターンを検出し、その固定パターンが第2の固定パターンであることを検出したときに前記可変長パケット信号が終了したと判定することを特徴とするパケット終了判定方法が記載されている。
特開2001−036580号公報
本発明は、本構成を有しない場合と比較して、ヘッダ部のコードが未定義コードに変化した場合であっても、受信したパケットの異常をリカバリすることができる通信装置、制御装置、及び通信処理プログラムを提供することを目的とする。
上記目的を達成するために、本発明の通信装置は、受信したパケットのヘッダ部のコードが元コードから、パケットの種類及びパケット長が未定義の未定義コードに変化しているか否かを判別し、未定義コードに変化している場合は、当該未定義コードに対して予め対応付けられているコードに基づいて元コードを推定する推定手段と、前記推定手段により推定した推定コードに定義付けられているパケット長に応じたパケットの終了位置を含む予め定められた範囲内において受信した前記パケットのパターンと、パケットの終了位置を示す予め定められたパターンとが一致する場合に、推定コードを、受信したパケットの元コードとして決定する決定手段と、を備える。
本発明の通信装置では、再送可能なパケットの種類が予め定められており、前記決定手段は、決定した元コードに定義付けられているパケットの種類が前記再送可能なパケットの種類に一致する場合は、受信したパケットの再送要求を送信元に出力することが好ましい。
本発明の通信装置の 前記決定手段は、決定した元コードに定義付けられているパケットの種類が前記再送可能なパケットの種類と不一致の場合は、エラー発生通知を出力するようにしてもよい。
本発明の制御装置は、中央処理装置を備えた主制御装置と、シリアル通信によりパケットの通信を行う前記主制御装置の制御に応じて動作する従制御装置と、を備え、前記主制御装置及び前記従制御装置の少なくとも一方が、前記通信装置を備える。
本発明の通信処理プログラムは、本発明の通信装置の推定手段及び決定手段の少なくとも一方としてコンピュータを機能させるためのものである。
請求項1、請求項4、及び請求項5に記載の発明によれば、本構成を有しない場合と比較して、ヘッダ部のコードが未定義コードに変化した場合であっても、受信したパケットの異常をリカバリすることができる。
請求項2に記載の発明によれば、再送要求を行わない場合と比較して、速やかにリカバリを行うことができる。
請求項3に記載の発明によれば、エラー発生通知を出力しない場合と比較して、速やかにリカバリを行うことができる。
本実施の形態の画像形成装置の一例の概略構成を表す構成図である。 本実施の形態の通信装置の一例の概略を示す構成図である。 本実施の形態における、ヘッダ部のコードと、パケットの種類と、当該パケット長との対応関係の一例を示す説明図である。 本実施の形態における、ヘッダ部がデータ化けにより他の定義コードに変化している場合の具体的例を説明するための説明図である。 本実施の形態の通信装置における、受信したパケットのヘッダ部のコードが未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う動作の流れの一例を表すフローチャートである。 本実施の形態における未定義コードと、推定コードとの対応関係を示す説明図である。 本実施の形態におけるパケットの終了位置を含むデータパターンの比較による元コードの決定について説明するための説明図である。 本実施の形態の通信装置における、受信したパケットのヘッダ部のコードが未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う動作の流れのその他の一例を表すフローチャートである。
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
まず、本発明の通信装置を適用した主制御装置及び機器制御装置を有する制御装置を備えた画像形成装置について説明する。図1には、画像形成装置10の一例の概略構成を表す構成図を示す。画像形成装置10は、主制御装置12及び機器制御装置14がシリアルバス40を介して接続された制御装置11と、機器制御装置14に接続された各種機器を含む機器群16とを備えている。シリアルバス40は、主制御装置12から見た場合には送信用となる信号線Tx、及び受信用となる信号線Rxを備えた全二重の伝送路である。
機器群16に含まれる各機器は、画像形成を行なうための機器であって、例えば、感光体や現像ロール等を回転させるモータ、用紙検出のためのセンサ、或いはトナー濃度を検出するためのセンサ等が含まれる。なお、ここでは画像形成装置10を、電子写真方式で画像形成を行なう画像形成装置として説明したが、インクジェット方式で画像形成を行なう画像形成装置であってもよい。
主制御装置12は、画像形成装置10全体、及び機器制御装置14を制御する機能を有している。主制御装置12は、CPU(中央処理装置:Central Processing Unit)20、シリアライザ・デシリアライザ制御部22(以下、「SerDes制御部22」という)、及び複写レジスタ群24を備えている。
CPU20は、不揮発性の記憶部(図示省略)に記憶されたプログラムを実行することにより、画像形成装置10全体及び機器制御装置14を制御する。なお、CPU20が実行するプログラムを記憶するための記憶部は、HDD(ハードディスクドライブ)、フレキシブルディスク、DVD(Digital Versatile Disk)、光磁気ディスク、及びUSB(Universal Serial Bus)メモリ等であってもよい。また当該記憶部は、通信IF(Interface)(図示省略)を介して接続された他の装置の記憶媒体であってもよい。
CPU20は、CPUバス26を介してSerDes制御部22と接続されている。CPUバス26は、複数の信号線を備えたパラレルバスである。
SerDes制御部22は、CPU20からCPUバス26を介して機器制御装置14に送信する情報(パラレル信号)を受け取ると、受け取ったパラレル信号をパケット化し、各パケットをシリアル信号に変換してシリアルバス40を介して機器制御装置14に送信する。また、SerDes制御部22は、機器制御装置14からシリアルバス40を介してシリアル形式のパケットを受信すると、受信したパケットをパラレル形式のパケットに変換し、変換したパラレル形式のパケットをデコードして、該パケットに含まれるデータを取り出す。本実施の形態の通信装置50は、SerDes制御部22内に設けられており、機器制御装置14から受信したシリアル形式のパケットのヘッダ部のコードが未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う(詳細後述)。
複写レジスタ群24は、複数のレジスタ(記憶領域)を含むメモリで構成されている。機器制御装置14に含まれる入出力制御レジスタ群32の各レジスタの記憶内容が、複写レジスタ群24に複写される。ここで、複写とは、入出力制御レジスタ群32からレジスタに記憶されたデータを読出して、読出したデータをシリアルバス40を介して主制御装置12に送信し、複写レジスタ群24の各レジスタに書込む一連の処理をいう。
機器制御装置14は、シリアライザ・デシリアライザ制御部30(以下、「SerDes制御部30」という)、入出力制御レジスタ群32、及び駆動・受信回路34を備えている。本実施の形態の機器制御装置14は、主制御装置12の制御に応じて動作する本発明の従制御装置に対応している。
SerDes制御部30は、主制御装置12からシリアルバス40を介してシリアル形式のパケットを受信すると、受信したパケットをパラレル形式のパケットに変換し、パラレル形式のパケットをデコードして、該パケットに含まれるデータを取り出す。また、SerDes制御部30は、主制御装置12に送信する情報(パラレル信号)をパケット化し、各パケットをシリアル信号に変換してシリアルバス40を介して主制御装置12に送信する。SerDes制御部22と同様に、SerDes制御部30内部には、本実施の形態の通信装置50が設けられている。
入出力制御レジスタ群32は、複数のレジスタ(記憶領域)を含むメモリで構成されている。入出力制御レジスタ群32の複数のレジスタは、入力レジスタと、出力レジスタとを含んでいる。入力レジスタには、各機器の状態を示すデータが書込まれる。出力レジスタには、主制御装置12のCPU20から送信された各機器を制御するデータが書込まれる。また、入出力制御レジスタ群32には、割込の発生を示すデータが書込まれるレジスタ、及び割込要因を示すデータが書込まれるレジスタも含まれる。
入出力制御レジスタ群32の各レジスタに記憶された記憶内容は、前述したように、主制御装置12の複写レジスタ群24に複写される。本実施の形態では、CPU20は、複写レジスタ群24に複写されたデータを読み出すことにより、入出力制御レジスタ群32に書込まれたデータと同じデータを参照することができる。この他、本実施の形態では、CPU20は、シリアルバス40を介して入出力制御レジスタ群32に書込まれたデータを読出して取得することもできる。なお、本実施の形態において、複写レジスタ群24のメモリサイズ、及び入出力制御レジスタ群32のメモリサイズは、互いに等しく、入出力制御レジスタ群32から複写レジスタ群24への複写の際には、入出力制御レジスタ群32から読み出されたデータは、当該データが記憶されていた入出力制御レジスタ群32のレジスタに対応する複写レジスタ群24のレジスタに書込まれるものとする。
駆動・受信回路34は、画像形成装置10を構成する機器群16の各機器に接続される。駆動・受信回路34は、入出力制御レジスタ群32の出力レジスタに機器を制御するためのデータが書込まれると、そのデータに応じた駆動信号を当該出力レジスタに対応する機器に出力する。機器は出力された駆動信号に応じて駆動される。また、接続された機器から当該機器の状態を示す信号が入力されると、その信号に応じたデータを当該機器の状態を示すデータ用の入力レジスタに書込む。状態を示すデータは、例えば、機器がセンサである場合には、センサの検出結果を示すデータであってもよい。また例えば、機器がモータである場合には、モータの回転状態を示すデータであってもよい。
画像形成装置10全体を制御するCPU20は、入力レジスタに書込まれたデータから機器の状態を把握し、出力レジスタに制御用のデータを書込むことにより各機器の駆動を制御している。
次に、本実施の形態の通信装置50について説明する。本実施の形態の通信装置50は、上述したように、SerDes制御部22及びSerDes制御部30の内部に設けられている。通信装置50は、受信したシリアル形式のパケットのヘッダ部のコードを解析して未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う機能を有している。
図2は、本実施の形態の通信装置50の一例の概略を示す構成図である。通信装置50は、パケット推定部52、パケット推定部54、カウンタ回路55、データパターン比較部56、及びコード決定部58を備えている。
パケット推定部54は、シーケンス回路60(以下、「SQ回路60」という)を備えている。パケット推定部54は、受信したシリアル形式のパケットのデータ(図2、信号data_in参照)のヘッダ部を解析して未定義コードであるか否か判断し、未定義コードの場合は、元コード(データ化け前のコード)や元コードに応じたパケットの種類に基づいてパケット長を推測する機能を有している。
送受信されるパケットのヘッダ部は、当該パケットの種類を示す情報がコードに定義付けられている。図3には、ヘッダ部のコードと、パケットの種類と、当該パケット長との対応関係の一例を示す。なお、本実施の形態では、具体的一例として、ヘッダ部のコードは4ビット長としている。本実施の形態では、図3に示すように、コード「0000」、「0001」、「0010」、「0011」、「1010」、「1011」、「1100」、「1101」、「1110」、及び「1111」は、パケットの種類が定義付けされていない未定義コードである。本来、送受信されるパケットのヘッダ部のコードは、定義付けされたコードであるが、コードがデータ化け等を起こすことにより、このような未定義コードに変化する場合がある。パケット推定部54は、図3に示した対応関係等に基づいて、ヘッダ部のコードが未定義コードであるか否か判断する。なお、図3に示した対応関係は、予め記憶部(図示省略)等に記憶させておく。
以下では、パケットの種類が定義付けられているコードを「定義コード」、定義付けられていないコードを「未定義コード」という。
カウンタ回路55は、パケット推定部54(SQ回路60)の制御により、受信したパケット(信号data_in)のパケット長のカウントを行う機能を有している。具体的には、図2に示すようにSQ回路60から出力された信号couter_enに応じてパケット長のカウントを開始し、信号couter_clrに応じてカウント値をクリアする。カウント値(信号word_count)は、カウンタ回路55からコード決定部58に出力される。
データパターン比較部56は、受信したパケット(信号data_in)のデータが、予め定められたデータパターンと一致するか否か比較する機能を有している。具体的には、データパターン比較部56は、図2に示すようにフリップフロップ回路62、64、66、68、70(以下、「フリップフロップ回路」を「FF回路」という)、比較回路65、67、69、71、73(以下、「比較回路」を「comp回路」という)、及び論理和回路74(以下、「or回路74」という)を備えている。
コード決定部58は、推定した元コード(以下、「推定コード」という)のパケット長に応じて、受信したパケット(信号data_in)のデータが、予め定められたデータパターンと一致する場合に、推定コードを受信したパケットの元コードとして決定する機能を有している。また、本実施の形態のコード決定部58は、決定したコードに定義付けられているパケットの種類に応じてパケットの再送の要求、またはシステムエラー発生の通知を出力する。具体的には、コード決定部58は、図2に示すようにLUT(Look Up Table)回路76を備えている。
パケット推定部52は、受信したパケット(信号data_in)のヘッダ部を解析して、未定義コードであるか否か判断する機能を有している。また、パケット推定部52は、パケットのCRC(Cyclic Redundancy Check)コードを解析し、パケットの異常(CRCエラー)を検出する機能を有している。さらに、パケット推定部52は、ヘッダ部のコードが未定義コードではなく、かつCRCエラーが発生していない場合は、受信したパケットを通信装置50の後段の回路に信号data_outとして出力する機能を有している。これらの機能を達成するために、パケット推定部52は、SQ回路、カウンタ回路、LUT回路、comp回路、FF回路、及びFIFO(First-In First Out)回路を備えているが、図2では、記載が煩雑になるのを避けるため詳細な構成の記載を省略している。
次に、本実施の形態の通信装置50におけるパケットの異常の検出について説明する。本実施の形態では、ビットエラーにより、ヘッダ部のコードが1ビットのデータ化けを起こしている場合を想定している。
図4には、受信したパケットのヘッダ部がデータ化けにより他の定義コードに変化している場合の具体的例について示す。図4(A)は、パケットの種類が「Write_Word」の場合の正常なパケットを示している。本実施の形態では、この場合のヘッダ部のコードは「0100」となり、パケット長は、7である(図3参照)。コード「0100」が、ビットエラーを起こした場合のコードは、「1100」、「0000」、「0110」、及び「0101」のいずれかになる。このうち、コード「0101」及び「0110」は定義コードであり、コード「0000」及び「1100」は未定義コードである。
図4(B)及び(C)には、ヘッダ部のコードがデータ化けした場合における誤認識について示している。図4(B)に示すように、データ化けによりヘッダ部のコードが「0101」に変化している場合は、定義付け(図3参照)により、パケットの種類を「Write_Block」(パケット長、14)と誤認識してしまう。また、図4(C)に示すように、データ化けによりヘッダ部のコードが「0110」に変化している場合は、定義付け(図3参照)により、パケットの種類を「Read_Word」(パケット長、4)と誤認識してしまう。
このように、データ化けにより、ヘッダ部のコードが他の定義コードに変化している場合は、パケット推定部52により、CRCエラーとして検出される。
一方、ヘッダ部のコードが未定義コードにデータ変化した場合は、パケット推定部54、カウンタ回路55、データパターン比較部56、及びコード決定部58によりエラーとして検出を行う。図5には、受信したパケットのヘッダ部のコードを解析して未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う動作の流れの一例を表すフローチャートを示す。
まず、ステップS100では、パケット推定部54がヘッダ部のコードの解析を行う。本実施の形態では、図3に示した対応関係を参照して、コードの解析を行っている。次のステップS102では、未定義コードであるか否か判断し、未定義コードでない場合は、データ化けが発生していないため本処理を終了する。一方、未定義コードである場合は、データ化けが発生しているため、ステップS104に進む。
ステップS104では、解析した未定義コードに基づいて元コードを推定する。図6には、本実施の形態における未定義コードと、推定コードとの対応関係を示す。例えば、未定義コードが「0000」である場合は、元コードとして「1000」、「0100」、「0010」、及び「0001」が挙げられる。これらのコードのうち「0010」及び「0001」は未定義コードである。そのため、未定義コード「0000」から推定される元コードとしては、図6に示すように「1000」(Ack)及び「0100」(Write_Word)が推定される。なお、元コードの推定方法は特に限定されず、例えば、図6に示した対応関係を記憶部(図示省略)に記憶させておき、当該対応関係に基づいて推定してもよい。また例えば、元コードの推定を行い、図3に示した対応関係に基づいて推定コードのうち定義コードであるものを推定コードとしてもよい。
次のステップS106では、パケット推定部54が推定コード及び推定コードのパケット長を出力する。当該出力に応じて、次のステップS108では、カウンタ回路55がパケット長のカウントを開始する。カウンタ回路55のカウント値(信号word_count)は、コード決定部58(LUT回路760)に出力される。また、パケット推定部54は、信号code_holdにより先頭アドレスをコード決定部58(LUT回路76)に出力する。
さらに、SQ回路60は、信号comp_enをデータパターン比較部56のcomp回路65、67、69、71、及び73に出力する。データパターン比較部56のcomp回路65、67、69、71、及び73は信号comp_enに応じて比較動作を開始する。
次のステップS110では、受信したパケットのパケット長が推定コード長に達したか否か、カウンタ回路55のカウント値により判断する。カウント値に達した場合は、ステップS112へ進む。なお、推定コードが複数有る場合は、複数の推定コードに応じたパケット長のうち、最短のパケット長に達した場合に、ステップS112へ進む。
ステップS112では、データパターンの比較を行う。本実施の形態では、推定コードのパケット長に応じたパケットの終了位置を含むデータパターンと、予めパケットの終了位置として定めておいたデータパターン(以下、「期待データパターン」という)とを比較する。本実施の形態のパケットでは、図4に示したように、パケットの終了後、次パケットとの間のアイドル期間に、「mark」が少なくとも4ワード挟まれている。当該「mark」は、パケットの終わりの判断材料となる。CRCコードは、「0」にはならないため、パケットの終了位置を含むデータパターンは、パケットの種類にかかわらず、「≠0」、「0」、「0」、「0」、「0」となる。そのため、本実施の形態では、推定コードのパケット長に応じたパケットの終了位置を含むデータパターンが、「≠0」、「0」、「0」、「0」、「0」と一致するか否か判断する。具体的には、comp回路73が第1ワードを「0000000」と比較する。comp回路71が第1ワードの1つ後のワードを「0000000」と比較し、comp回路69が第1ワードの2つ後のビットを「0000000」と比較し、comp回路67が第1ビットの3つ後のワードを「0000000」と比較し、comp回路65が第1ワードの4つ後のワードを「0000000」と比較する。各comp回路65、67、69、71及び73は、当該比較を各ワードに対して行う。or回路74は、全ての比較結果が一致しているか否かを示す信号をLUT回路76に出力する。LUT回路76は、or回路74から出力された信号と、カウンタ回路55のカウント値とに応じて、推定コード長の終了位置のデータパターンが期待データパターンと一致するか否か判断する。
次のステップS114では、データパターンを比較した結果、期待データパターンと一致するか否か判断する。一致しない場合は、ステップS116に進む。ステップS116では、他の推定コードが有るか否か、すなわち、推定コードのうち、未だパケットの終了位置までカウントしていないものがあるか否か判断する。有る場合は、ステップS110に戻り、本処理を繰り返す。一方、無い場合は、ステップS124へ進む。
一方、期待データパターンと一致する場合は、ステップS114からステップS118へ進む。ステップS118では、推定コードを元コードとして決定する。
図7には、パケットの終了位置を含むデータパターンの比較による元コードの決定について説明するための説明図を示す。図7(A)は、ヘッダ部のコードが「0100」パケットの種類が「Write_Word」の場合の正常なパケットを示している。定義コード「0100」に対応する未定義コードとしては、「0000」または、「1100」が有る(図7(B)参照)。図7(C)及び図7(D)に示すように、未定義コード「0000」及び「1100」のいずれの場合も、推定コードは、「1000」(Ack)、及び「0100」(Write_Word)となる。これらのうち、まず、カウント長が短い「1000」(Ack)についてデータパターンが一致するか否か判断する。Ackは、パケット長が1であるため、LUT回路76は、カウンタ回路55のカウント値がパケット長の1と最小mark数を足した5の場合に、当該カウント値が5のパケットを開始点としたパケットのデータパターンが期待データパターンである「≠0」、「0」、「0」、「0」、「0」と一致する可否か判断する。図7に示した具体例では、一致しないため、次に、「0100」(Write_Word)についてデータパターンが一致するか否か判断する。Write_Wordは、パケット長が7であるため、LUT回路76は、カウンタ回路55のカウント値がパケット長の7と最小mark数を足した11の場合に、当該カウント値が11のパケットを開始点としたパケットのデータパターンが期待データパターンである「≠0」、「0」、「0」、「0」、「0」と一致する可否か判断する。図7に示した具体例では、一致するため、元コードが「0100」であると決定する。
次のステップS120では、元コードに対応するパケットが再送可なパケットであるか否か判断する。本実施の形態では、再送可能なパケットの種類が予め定められている。例えば、送信側の装置で再送するための準備ができているパケット(「Write」や「Read」等)については、再送可なパケットとして定めている。また、パケットに対する応答である「Ack」や「Nack」等については、再送を必要としないため、再送不可なパケットとして定めている。本実施の形態では、このようなパケットの種類と再送可であるか否かとの情報とが対応付けられて予めLUT回路76に記憶されている。
LUT回路76が再送可なパケットであると判断した場合は、ステップS122に進む。ステップS122では、予め定められた再送要求を表す信号(NACK_REQ)を送信側の装置に出力した後、本処理を終了する。なお、当該パケットに続いて次のパケットを受信している場合、次の受信パケットの受信終了までに再送要求を出力すれば間に合うが、次の受信パケットの受信終了までに再送要求が出力できない場合は、下記のステップS124と同様に予め定められたシステムエラーの発生を通知する信号を出力するようにしてもよい。
一方、LUT回路76が再送不可なパケットであると判断した場合は、ステップS124へ進む。ステップS124では、予め定められたシステムエラーの発生を通知する信号(CODE_ERR)を出力した後、本処理を終了する。
以上説明したように、上記各実施の形態の通信装置50では、パケット推定部54が、受信したパケットのヘッダ部のコードを解析して、未定義コードである場合は、未定義コードから変化前の元コードを推定する。推定コードに定義付けられているパケットの種類及びパケット長に応じて、推定コードの終了位置までカウンタ回路55でカウントすると、コード決定部58が、パケットの終了位置を含む予め定められた範囲内のデータパターンがパケットの終了位置を示す予め定められた期待データパターンと一致するか否か判断する。期待データパターンと一致する場合は、推定コードを元コードとして決定する。また決定した元コードに定義付けられているパケットが再送可として定められているパケットである場合は、再送要求をパケットの送信側の装置に出力する。
ヘッダ部のコードが未定義コードに変化した場合、パケットの種類及びパケット長が不明となるため、CRCエラーとして検出することが困難になる。しなしながら本実施の形態の通信装置50では、このように未定義コードに変化した場合であっても、受信したパケットの異常(データ化けの有無)を検出することができ、異常である場合は、リカバリすることができる。
なお、受信したパケットのヘッダ部のコードを解析して未定義コードであるか否かを判定し、未定義コードの場合にリカバリを行う動作の流れ(図5参照)は、本実施の形態に限定されない。図8には、当該動作のその他の一例の流れを表すフローチャートを示す。
ステップS200及びステップS202は、上記動作(図5参照)のステップS100及びステップS102に対応している。ステップS200及びステップS202では、ステップS100及びステップS102と同様に、パケット推定部54が受信したパケットのヘッダ部のコードを解析し、未定義コードでなければ本処理を終了し、未定義コードである場合は、ステップS204へ進む。
ステップS204では、受信したパケットが「Mark」状態から変化した時点を起点として、受信データをモニタし、次のステップS206では、モニタしたデータパターンを期待データパターンと比較する。具体的には、受信したパケットのデータパターンをデータパターン比較部56により期待データパターンと比較する。
次のステップS208では、期待データパターンと一致するか否か判断し、一致しない場合は、ステップS210へ進む。ステップS210では、受信したパケットが再び「Mark」状態に変化したか否か判断する。すなわち、パケットが終了したか否か判断する。変化した場合は、ステップS220へ進む。一方、変化していない場合は、ステップS204に戻り、受信データのデータパターンのモニタと期待データパターンとの比較を繰り返す。
一方、ステップS208で期待データパターンと一致すると判断した場合は、ステップS212へ進む。ステップS212では、コード決定部58が、受信したデータの個数からパケット長を推定する。具体的には、「Mark」状態に変化した起点からカウンタ回路55でカウントを開始し、期待データパターンと一致すると判断した時点のカウンタ回路55のカウント値に基づいて、パケット長を推定する。次のステップS214では、コード決定部58が、未定義コードと、推定したパケット長とに基づいて元コードを決定する。
次のステップS216、ステップS218、及びステップS220は、上記動作(図5参照)のステップS120、ステップS122、及びステップS124にそれぞれ対応している。ステップS216〜ステップS220では、ステップS120〜ステップS122と同様に、再送可として定められているパケットであるか否か判断する。再送可である場合は、再送要求を送信側の装置に出力した後、本処理を終了し、また再送不可である場合は、予め定められたシステムエラーの発生を通知する信号を出力した後、本処理を終了する。
このように動作した場合であっても、上述した場合と同様に、受信したパケットのヘッダ部が未定義コードに変化した場合であっても、受信したパケットの異常(データ化けの有無)を直ちに検出することができ、異常である場合は、リカバリすることができる。また、本実施の形態の通信装置50では、異常を検出するまでの時間が短縮される。
また、本実施の形態で用いた期待データパターンは、具体的一例であり、パケットの種類にかかわらずパケットの終了位置を判断することができるパターンであれば特に限定されるものではない。
また、本実施の形態では、1ビットのデータ化けが生じている場合について説明したが、2ビット以上のデータ化けが生じている場合は、CRCコードにより、CRCエラーとして検出するようにしている。
また、本実施の形態では、データパターン比較部56をFF回路、comp回路、及びor回路により構成したがこれに限らず、例えば、期待データパターンを格納したLUT回路等により構成してもよい。また、本実施の形態では、パケット推定部54、データパターン比較部56、及びコード決定部58をハード(各回路)により構成しているがこれに限らず、CPU等により予め定められたプログラムを実行することにより上記動作の少なくとも一部を実施するよう、ソフトウエア的に処理を行うように構成してもよい。
また、本実施の形態の制御装置11では、主制御装置12及び機器制御装置14の両方に通信装置50が設けられている場合について説明したが、いずれか一方に通信装置50を設けるようしてもよい。なお、少なくともパケットを受信する側の装置には通信装置50を設けることが好ましい。
また、本実施の形態では、通信装置50を、制御装置11(主制御装置12及び機器制御装置14)に適用した場合について説明したがこれに限らない。シリアル通信でパケットを受信する装置であれば適用する装置について限定されるものではない。
また、定義コード、未定義コード、及び推定コードは、具体的一例であり、本実施の形態(図3及び図6)に限定されるものではない。なお、上述のように未定義コードから推定した推定コードのコード長に基づいて終了位置を判断しているため、一つの未定義コードに対して推定される推定コードが複数有る場合は、各推定コードのパケット長が異なることが好ましい。
また、上記各実施の形態は本発明の一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることはいうまでもない。本実施の形態で説明した画像形成装置10及び通信装置50等の構成や動作等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることは言うまでもない。
10 画像形成装置
11 制御装置
12 主制御装置
14 機器制御装置
50 通信装置
52 パケット推定部
54 パケット推定部
55 カウンタ回路
56 データパターン比較部
58 コード決定部

Claims (5)

  1. 受信したパケットのヘッダ部のコードが元コードから、パケットの種類及びパケット長が未定義の未定義コードに変化しているか否かを判別し、未定義コードに変化している場合は、当該未定義コードに対して予め対応付けられているコードに基づいて元コードを推定する推定手段と、
    前記推定手段により推定した推定コードに定義付けられているパケット長に応じたパケットの終了位置を含む予め定められた範囲内において受信した前記パケットのパターンと、パケットの終了位置を示す予め定められたパターンとが一致する場合に、推定コードを、受信したパケットの元コードとして決定する決定手段と、
    を備えた通信装置。
  2. 再送可能なパケットの種類が予め定められており、
    前記決定手段は、決定した元コードに定義付けられているパケットの種類が前記再送可能なパケットの種類に一致する場合は、受信したパケットの再送要求を送信元に出力する、
    請求項1に記載の通信装置。
  3. 前記決定手段は、決定した元コードに定義付けられているパケットの種類が前記再送可能なパケットの種類と不一致の場合は、エラー発生通知を出力する、
    請求項2に記載の通信装置。
  4. 中央処理装置を備えた主制御装置と、
    シリアル通信によりパケットの通信を行う前記主制御装置の制御に応じて動作する従制御装置と、
    を備え、
    前記主制御装置及び前記従制御装置の少なくとも一方が、前記通信装置を備えた、
    制御装置。
  5. 前記請求項1から請求項請求項3のいずれか1項に記載の通信装置の推定手段及び決定手段の少なくとも一方としてコンピュータを機能させるための通信処理プログラム。
JP2013168899A 2013-08-15 2013-08-15 通信装置、制御装置、及び通信処理プログラム Expired - Fee Related JP6248463B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013168899A JP6248463B2 (ja) 2013-08-15 2013-08-15 通信装置、制御装置、及び通信処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013168899A JP6248463B2 (ja) 2013-08-15 2013-08-15 通信装置、制御装置、及び通信処理プログラム

Publications (2)

Publication Number Publication Date
JP2015037281A true JP2015037281A (ja) 2015-02-23
JP6248463B2 JP6248463B2 (ja) 2017-12-20

Family

ID=52687576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013168899A Expired - Fee Related JP6248463B2 (ja) 2013-08-15 2013-08-15 通信装置、制御装置、及び通信処理プログラム

Country Status (1)

Country Link
JP (1) JP6248463B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160740A (ja) * 1984-02-01 1985-08-22 Nec Corp 通信制御装置
JP2000032055A (ja) * 1998-07-16 2000-01-28 Toshiba Corp 情報データ多重化伝送システム
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
JP2006166079A (ja) * 2004-12-08 2006-06-22 Sharp Corp 符号化データ復号装置及び符号化データ復号方法
JP2011176703A (ja) * 2010-02-25 2011-09-08 Mitsubishi Electric Corp メディア多重装置及びメディア分離装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160740A (ja) * 1984-02-01 1985-08-22 Nec Corp 通信制御装置
JP2000032055A (ja) * 1998-07-16 2000-01-28 Toshiba Corp 情報データ多重化伝送システム
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
JP2006166079A (ja) * 2004-12-08 2006-06-22 Sharp Corp 符号化データ復号装置及び符号化データ復号方法
JP2011176703A (ja) * 2010-02-25 2011-09-08 Mitsubishi Electric Corp メディア多重装置及びメディア分離装置

Also Published As

Publication number Publication date
JP6248463B2 (ja) 2017-12-20

Similar Documents

Publication Publication Date Title
KR102025757B1 (ko) 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체
JP2010011296A (ja) 送受信回路、送信回路及び送受信方法
US9389939B2 (en) Information processing apparatus with error verification including error processing or transferring again based on a code coinciding with codes defined by an interface communication standard
JP2007201878A (ja) 通信システム、通信装置及び通信品質試験方法
US10516789B2 (en) Information processing apparatus and image processing apparatus that perform transmission and reception of data, and method of controlling information processing apparatus
US9201623B2 (en) Control device and image forming apparatus with two controllers
US11876629B1 (en) Data transmission method, device, electronic equipment, and storage medium
JP6248463B2 (ja) 通信装置、制御装置、及び通信処理プログラム
JP6260189B2 (ja) 通信装置、制御装置、および画像形成装置
JP6136754B2 (ja) 通信制御装置及び画像形成装置
JP2010183134A (ja) シリアルデータ通信装置
JP2004178074A (ja) 通信デバイス、ホスト装置、及び通信方法
US20140153024A1 (en) Data printing system and data protection method thereof
US20240154910A1 (en) Selective and diverse traffic replication
JP6107499B2 (ja) 通信制御装置及び画像形成装置
JP6330541B2 (ja) データ送受信システム、データ送信装置、データ送受信システムの制御方法
JP4157064B2 (ja) 同期開始信号検出装置、その検出方法、及びそのプログラム
WO2022193065A1 (zh) 一种数据传输方法及装置
US10938516B1 (en) Systems and methods for ethernet packet error detection and correction in automotive environments
JP2006332984A (ja) 通信システムおよび通信方法
JP6163941B2 (ja) 制御装置及び画像形成装置
JP6217206B2 (ja) 通信制御装置、画像処理装置、転送制御プログラム
JP6213029B2 (ja) 通信装置、及び通信システム
JP2007201786A (ja) 伝送誤り検出方式および伝送装置
WO2015064288A1 (ja) 無線通信装置、無線通信システム、および、これらにおける無線通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171106

R150 Certificate of patent or registration of utility model

Ref document number: 6248463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees