JP2017050734A - シリアル通信装置、通信システム及び通信方法 - Google Patents
シリアル通信装置、通信システム及び通信方法 Download PDFInfo
- Publication number
- JP2017050734A JP2017050734A JP2015173182A JP2015173182A JP2017050734A JP 2017050734 A JP2017050734 A JP 2017050734A JP 2015173182 A JP2015173182 A JP 2015173182A JP 2015173182 A JP2015173182 A JP 2015173182A JP 2017050734 A JP2017050734 A JP 2017050734A
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- length
- unit
- head
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Communication Control (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】受信装置側での有効データの終端検出を簡素化し、消費電力を抑えること。
【解決手段】データの先頭を示す開始コードとデータの長さを示す長さコードとをデータの先頭に付加する付加部と、開始コードと長さコードを付加したデータを、シリアル形式に変換して送信する送信部と、送信部からデータを受信する受信部と、受信したデータから開始コードと長さコードとを検出し、検出した開始コードに基づいてデータの先頭の位置を特定し、開始コード及び長さコードに基づいてデータの末端の位置を特定し、特定したデータの先頭及び末端の位置に基づいてデータを処理する処理部とを有するシリアル通信装置が開示される。
【選択図】図1
【解決手段】データの先頭を示す開始コードとデータの長さを示す長さコードとをデータの先頭に付加する付加部と、開始コードと長さコードを付加したデータを、シリアル形式に変換して送信する送信部と、送信部からデータを受信する受信部と、受信したデータから開始コードと長さコードとを検出し、検出した開始コードに基づいてデータの先頭の位置を特定し、開始コード及び長さコードに基づいてデータの末端の位置を特定し、特定したデータの先頭及び末端の位置に基づいてデータを処理する処理部とを有するシリアル通信装置が開示される。
【選択図】図1
Description
本発明は、シリアル通信装置、通信システム及び通信方法に関する。
画像データの先頭及び末端に制御コードを付加して高速シリアル通信する技術がある。
例えば、送信側で画像データの先頭に複数の開始コードを付加し、画像データの末端に複数の終端コードを付加してデータ転送を行い、受信側で開始コードと終端コードとを検出することで画像データを抽出する(例えば、特許文献1)。
しかしながら、従来の技術では、デシリアライズする際は、開始コードと終端コードとの双方を除去するためのバッファ領域を受信装置に設けるため、受信装置の回路規模が増大し、消費電力が大きくなる。特に、フレーム除去処理で終端コードが冗長となり、高周波で動作する回路の増大と消費電力の増大の原因となる。
そこで、開示の技術では、受信装置側での有効データの終端検出を簡素化し、消費電力を抑えることを目的とする。
実施形態では、データの先頭を示す開始コードと前記データの長さを示す長さコードとを前記データの先頭に付加する付加部と、前記開始コードと前記長さコードを付加したデータを、シリアル形式に変換して送信する送信部と、前記送信部から前記データを受信する受信部と、前記受信したデータから前記開始コードと前記長さコードとを検出し、前記検出した開始コードに基づいて前記データの先頭の位置を特定し、前記開始コード及び前記長さコードに基づいて前記データの末端の位置を特定し、前記特定したデータの先頭及び末端の位置に基づいてデータを処理する処理部とを有するシリアル通信装置が開示される。
受信装置側での有効データの終端検出を簡素化し、消費電力を抑えることができる。
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
(実施形態1)
図1は、シリアル転送を行うシリアル通信装置1の例を示す図である。シリアル通信装置1は、シリアライザ(SER:Serializer)20と、デシリアライザ(DES:Deserializer)10とを有する。図1の例では、シリアル通信装置1は、画像データをシリアルデータに変換して、シリアライザ20からデシリアライザ10へ2つの通信レーンを介して転送する。シリアライザ20は、エンコード部22aと、エンコード部22bと、送信インターフェース(以下、TXIF部という)23と、シリアル送信部25aと、シリアル送信部25bを有する。シリアル送信部25aは、P/S(Parallel / Serial)変換部21aと、ドライバ5aとを有する。シリアル送信部25bは、P/S変換部21bと、ドライバ5bとを有する。
図1は、シリアル転送を行うシリアル通信装置1の例を示す図である。シリアル通信装置1は、シリアライザ(SER:Serializer)20と、デシリアライザ(DES:Deserializer)10とを有する。図1の例では、シリアル通信装置1は、画像データをシリアルデータに変換して、シリアライザ20からデシリアライザ10へ2つの通信レーンを介して転送する。シリアライザ20は、エンコード部22aと、エンコード部22bと、送信インターフェース(以下、TXIF部という)23と、シリアル送信部25aと、シリアル送信部25bを有する。シリアル送信部25aは、P/S(Parallel / Serial)変換部21aと、ドライバ5aとを有する。シリアル送信部25bは、P/S変換部21bと、ドライバ5bとを有する。
また、デシリアライザ10は、レシーバ6aと、レシーバ6bと、クロックデータリカバリ(以下、CDR部(Clock Data Recovery)という)11aと、CDR部11bと、デコード部12aと、デコード部12bと、受信インターフェース(以下、RXIF部という)13とを有する。また、RXIF部13は、バッファ15aと、バッファ15bとを有する。
シリアル通信装置1が適用される例としては、例えば、MFP(Multifunction Printer)等の多機能画像形成装置のスキャナ部にシリアライザ20が配置され、印刷部にデシリアライザ10が配置される。この場合、スキャナ部と印刷部と間でシリアル転送が行われる。なお、図1の構成は、MFP以外の様々な装置及びシステムに適用できる。
TXIF部23は、シリアル転送を行う場合のインターフェースである。TXIF部23は、8ビットのパラレルデータ(画像データ)の先端に複数の制御コードを付加することで可変長コードを生成する。例えば、画像データにブラック、マゼンタ、シアン、イエローの4色の色データが含まれる場合、TXIF部23は、は、ブラック及びマゼンタの色データに係る可変長コードを生成する。また、TXIF部23は、シアン及びイエローの色データに係る可変長コードを生成する。なお、TXIF部23は、さらにスキュー調整機能を備えてもよい。
制御コードは、COMコード、長さコード及び開始コードで構成される。画像データの先頭に付加される複数の制御コードをSTPフレームという。なお、実施形態1では、画像データの末端にENDコードを付加しなくてもよい。
図2は、可変長コードの第1の例を示す。例えば、可変長コードαは、STPフレーム31と画像データ32との組み合わせにより構成される。なお、実施形態1においては、画像データ32の末端にENDコード(終端コード)を付加しなくてもよい。
COMコード33は、可変長コードαと、可変長コードαに隣接する他の可変長コードとの間に格納される。STPフレーム31は、COMコード、長さコード(図3では「Length」と表記)及びSTPコードの組み合わせにより構成される。COMコードは、他のSTPコード及び長さコードとの境界に格納される。これにより、隣接するSTPコード及び長さコードとの間に距離を設け、STPコード及び長さコードを検出しやすくしている。
長さコードは、転送すべきデータ(例えば、画像データ32)のデータ長を示す。STPコードは、転送すべきデータ(例えば、画像データ32)の先頭の位置を示す。なお、STPフレーム31に含まれるCOMコード、長さコード(Length)及びSTPコードの組み合わせ数が4つの例について説明したが、組み合わせ数は5つ以上であってもよく、3つ以下であってもよい。
図1に戻る。エンコード部22aは、所定の変換テーブルに基づいて可変長コードに係る8ビットのパラレルデータを10ビットのパラレルデータに変換する。例えば、エンコード部22aは、後述する図2の変換テーブルを用いて8ビットの制御コード(例えば、STPコード、COMコード等)を10ビットの制御コードに変換し、データ用の公知の変換テーブル(不図示)を用いて8ビットの画像データを10ビットの画像データに変換する。エンコード部22bは、エンコード部22aと同様に、所定の変換テーブルに基づいて可変長コードの8ビットのパラレルデータを10ビットのパラレルデータに変換する。
なお、実施形態1では、8B/10B変換を使用する場合の例について説明するが、エンコード方法はこれに限定されない。64B/66B、64B/67B、128B/130B、TMDS(Transition Minimized Differential Signaling)等の他のエンコード方法を用いてもよい。
図3は、制御コード用の変換テーブルの一例を示す図である。「Symbol Name」は、シンボルコードの種別を示す。シンボルコードは、12種類用意されており、1種類のCOMコード、5種類のSTPコード(STP1〜5)及び5種類のENDコード(END1〜5)のそれぞれにシンボルコードが割り当てられる。なお、STPコードは、開始コードに対応し、ENDコードは、終端コードに対応する。COMコードは、画像データ間の境界に格納されるコードである。COMコードには、0又は1のビットが5回連続する「K28.5」を割り当てることで、隣接する他の可変長コードとの境界を検出しやすくしている。「Data Byte Name」は、シンボルコードの名称を示す。「Data Byte Value(hex)」は、8ビットのシンボルコードを16進数で表したものである。「8Bコード」は、8ビットのシンボルコードを示す。「10Bコード」は、8ビットのシンボルコードに対応する極性RD+(ランニングディスパリティ)及び極性RD−の10ビットのシンボルコードである。エンコード部22a及び22bは、所定の規則に基づいて8ビットのシンボルコードに対して、極性RD+又は極性RD−の10ビットのシンボルコードを割り当てる。極性RD−は、極性RD+のビット列をビット反転させたシンボルコードである。
例えば、エンコード部22aは、極性RD+又は極性RD−のシンボルコードを交互に割り当てることで、0又は1のビットが所定回数以上(例えば5回)連続するのを避け、シリアル通信を安定させる。なお、エンコード部22aは、1つのシンボルコードで0又は1のビットが5回連続しているSTP5等のシンボルコードを割り当てないようにしてもよい。
また、エンコード部22bは、エンコード部22aと同様に、極性RD+又は極性RD−のシンボルコードを交互に割り当てる。画像データ(Dコード)についても、STPコード、COMコード等の制御コード(Kコード)と同様に、正及び負の極性のシンボルコードを交互に割り当ててもよい。
図1に戻る。P/S変換部21aは、可変長コードαに係る各々の10ビットのパラレルデータを1ビットずつに分け、10ビットのシリアルデータに変換する。例えば、画像データにブラック、マゼンタ、シアン、イエローの4色の色データが含まれる場合、P/S変換部21aは、ブラック及びマゼンタの各々の10ビットのパラレルデータを1ビットずつに分け、10ビットのシリアルデータに変換する。また、P/S変換部21bは、シアン及びイエローの各々の10ビットのパラレルデータを1ビットずつに分け、10ビットのシリアルデータに変換する。なお、P/S変換部21a及び21bは、シリアルデータに対してエンファシス処理を行ってもよい。
続いて、P/S変換部21aは、ドライバ5aからLane0を介してデシリアライザ10に、シリアルデータを転送する。P/S変換部21bは、ドライバ5bからLane1を介してデシリアライザ10にシリアルデータを転送する。
なお、ドライバ5aは、シリアルデータとこのシリアルデータの位相を反転させた逆位相のデータとをLane0で送信する。ドライバ5bも同様の送信方式でシリアルデータを送信する。P/S変換部21aとドライバ5aとを合わせてシリアル送信部25aとして用いてもよい。また、P/S変換部21bとドライバ5bとを合わせてシリアル送信部25bとして用いてもよい。
デシリアライザ10においてCDR部11aは、Lane0を介してレシーバ6aで受信した差動信号に基づいてシリアルデータを再生し、シリアルデータに埋め込まれたクロック信号を抽出してクロックデータとシリアルデータを分離する。
CDR部11bは、CDR部11aと同様に、抽出したクロック信号と送信データとをデコード部12に供給する。
デコード部12aは、シリアルデータをパラレルデータに変換する。続いて、デコード部12aは、所定の変換テーブルに基づいて可変長コードαに係る10ビットのパラレルデータを8ビットのパラレルデータに変換する。デコード部12aは、図2の変換テーブルに基づいて可変長コードαに係る10ビットのパラレルデータを8ビットのパラレルデータに変換してもよい。続いて、デコード部12aは、復号された8ビットのパラレルデータ(可変長コードα)をバッファ15aに出力する。
デコード部12bは、デコード部12aと同様にシリアルデータを処理し、8ビットのパラレルデータをバッファ15bに出力する。
RXIF部13は、バッファ15a及び15bを有する。RXIF部13は、STPフレーム31に格納されたSTPコードを検出し、STPコードに基づいて画像データの先頭の位置を特定する。また、RXIF部13は、さらに長さコードを検出し、STPコードと、検出した長さコードとに基づいて画像データの末端の位置を特定する。例えば、RXIF部13は、STPコードにより特定される画像データの先頭のアドレスに、長さコードによって示される画像データのデータ長を加算することにより、画像データの末端のアドレスを算出する。続いて、RXIF部13は、可変長コードαからSTPフレームを除去するフレーム除去処理を行う。続いて、RXIF部13は、画像データをバッファ15a及び15bに出力する。
RXIF部13は、所定数以上のSTPコードと長さコードとが検出されたことを条件に、画像データの先頭及び末端を検出する。あるいは、全てのSTPコードと長さコードとが検出されたことを条件に、画像データの先頭及び末端を検出することにしてもよい。
RXIF部13は、検出した画像データの末端を、バッファ15a又は15bに出力した際に、バッファ15a及び15bのリード処理を開始する。RXIF部13は、バッファ15a及び15bに格納されている画像データを、クロック単位で同期化した状態で不図示の後段の画像処理部に送信する。
また、RXIF部13は、画像データの先頭の位置にリードポインタ(rptr)を設定し、画像データの末端の位置にライトポインタ(wptr)を設定する。RXIF部13は、rptrのアドレスとwptrのアドレスとの差分を算出することによりバッファ格納サイズを取得する。RXIF部13は、バッファ格納サイズが所定値以上となった場合、画像データの末端をバッファ15a又は15bに出力する前であっても、バッファ15a又は15bのリード処理を先に開始してもよい。
RXIF部13は、Lane0及びLane1間で遅延が発生している場合等には、デスキュー調整を行う。また、RXIF部13は、Lane0及びLane1間で周波数に偏差が発生している場合、周波数の偏差を補正する。
図4は、デシリアライザ10の回路構成の第1の例を示す図である。デシリアライザ10は、CDR部11aと、CDR部11bと、デコード部12aと、デコード部12bと、RXIF部13と、スキュー値測定回路14と、バッファ15aと、バッファ15bと、レジスタ16とを有する。
CDR部11aは、レシーバ6aで受信されたシリアルデータからクロックと送信データとを抽出して、デコード部12aにシリアルデータを供給する。CDR部11bは、CDR部11aと同様の処理を行い、デコード部12aにシリアルデータを送信する。
デコード部12は、それぞれシリアルデータをパラレルデータに変換する。また、デコード部12aは、デシリアライザ10で使用される信号周波数のロック状態を検出する周波数ロック検出の処理、また各制御コード及び各データコードの境界を検出するシンボル境界検出の処理などを行う。続いて、デコード部12aは、図2の変換テーブル等に基づいて10ビットのパラレルデータを8ビットのパラレルデータに変換し、RXIF部13に出力する。
RXIF部13は、STPフレームに含まれる開始コード及び長さコードにより、画像データの末端を特定する。続いて、RXIF部13は、可変長コードαからSTPフレームを除去して画像データとした後に、画像データをバッファ15a及び15bに蓄積させる。
RXIF部13は、バッファ15a又は15bのバッファ格納サイズが所定値以上となった場合、リード処理を開始する。また、RXIF部13は、画像データの末端を検出した場合、リード処理を開始する。また、Lane0及びLane1間で遅延が発生しているため、デスキューを要する場合、リード処理を開始する。なお、リード処理をするタイミングに関しては後述する。なお、バッファ15a及び15bのバッファのバッファ格納サイズは、スキュー値測定回路14によって測定される。
続いて、RXIF部13は、バッファ15a及び15bからリードした画像データを後段の画像処理部へ送信する。
図5は、バッファ15の動作を説明するための図である。上段がバッファ15aを示し、下段がバッファ15bを示す。バッファ15a及びバッファ15b内のマス目は、バッファ段数を示す。バッファ段数とは、所定容量ごとにバッファの記憶容量を区分したものである。バッファ15a及びバッファ15bに画像データがライトされると、右側のマス目から順に画像データが格納される。例えば、Lane1を介して送信された画像データがバッファ15bにライトされたことで、#0〜#4までのバッファ段数に画像データが格納されている。
バッファ15bの右端には、rptrが設定され、#4の末尾には、wptrが設定される。RXIF部13は、rptrのアドレスとwptrのアドレスとの差分値を算出することにより、バッファ格納サイズを取得する。RXIF部13は、バッファ格納サイズが所定値以上となった場合、リード処理を開始する。
また、RXIF部13は、画像データの末端のバッファ15a及び15bへの出力を検出した場合、リード処理を開始する。具体的には、RXIF部13は、可変長コードαに含まれる長さコードに基づいて、画像データの末端が格納された場合のバッファ段数を設定し、設定した段数まで画像データが格納されたことを検出することで、画像データの末端がバッファ15a及び15bへ出力されたことを検出してもよい。
例えば、RXIF部13は、可変長コードαに含まれる長さコードを用いて、画像データの末端が格納された場合のバッファ段数「5」を算出する。続いて、RXIF部13は、画像データが#5まで格納されたことにより、画像データの末端がバッファ15a及び15bへ出力されたことを検出する。
なお、RXIF部13は、画像データの末端を検出する前であっても、バッファ格納サイズが所定値以上となった場合、リード処理を開始してもよい。かかる場合は、RXIF部13は、リード処理と共に、画像データの末端を検出するまでライト処理を並行して行う。
また、RXIF部13は、バッファ15a及びバッファ15b間で時間遅延が発生している場合には、リード処理が開始されたバッファに合わせて、他方のバッファがリード処理を開始してもよい。例えば、バッファ15aの#5が画像データの末端である場合、RXIF部13は、バッファ15aのリード処理を開始する。さらに、バッファ15bで画像データの末端が検出される前であっても、RXIF部13は、バッファ15aのリード処理が開始されたクロックと同じクロックで、バッファ15bのリード処理を開始してもよい。これにより、RXIF部13は、バッファ15a及びバッファ15bの画像データを、クロック単位で同期させることができる。なお、バッファ15bにおいては、リード処理に並行してライト処理が実行される。
図6は、デシリアライザ10の回路構成の第2の例を示す図である。デシリアライザ10は、CDR部11aと、CDR部11bと、デコード部12aと、デコード部12bと、デスクランブル処理部17aと、デスクランブル処理部17bと、インタリーブ処理部18aと、インタリーブ処理部18bと、RSDec処理部19aと、RSDec処理部19bと、RXIF部13と、レジスタ16とを有する。また、RXIF部13は、バッファ15aと、バッファ15bとを有する。
CDR部11aは、レシーバ6aで受信されたシリアルデータからクロックと送信データとを抽出して、デコード部12aにシリアルデータを供給する。続いて、デコード部12aは、シリアルデータをパラレルデータに変換する。続いて、デスクランブル処理部17aは、シリアライザ20の図示されないスクランブラによって、スクランブル処理されたデータを解除(デスクランブル)する。続いて、インタリーブ処理部18aは、バーストエラーを防ぐために、シリアライザ20によりデータの順序が並び替えられて出力されたデータを元の順序に戻す。続いて、RSDec処理部19aは、可変長コードαに付加されている誤り訂正符号を用いて誤り訂正を行った後、誤り訂正符号を削除する。続いて、RSDec処理部19aは、可変長符号をRXIF部13に出力する。
また、CDR部11b、デコード部12b、デスクランブル処理部17b、インタリーブ処理部18b及びRSDec処理部19bも、上記と同様の処理を実行する。
なお、デシリアライザ10が図6の構成をとる場合、シリアライザ20は、不図示のスクランブル処理部と、インタリーブ処理部とを有する。
図7は、デシリアライザ10による受信処理のフローの例を示す図である。デシリアライザ10は、受信したシリアルデータをパラレルデータに変換し、所定の変換テーブルに基づいて10ビットのパラレルデータを8ビットのパラレルデータに変換する(ステップS10)。続いて、デシリアライザ10は、Lane毎にSTPコード及び長さコードを検出する(ステップS11)。これにより、デシリアライザ10は、画像データの先頭及び末端を検出する。なお、デシリアライザ10は、STPフレームに含まれるSTPコード及び長さコードを所定回数以上検出することを条件として画像データの先頭及び末端を検出してもよい。また、デシリアライザ10は、全てのSTPコード及び長さコードを検出することを条件として画像データの先頭及び末端を検出してもよい。
デシリアライザ10は、Lane毎に可変長コードαからSTPフレームを除去した後、バッファ15a及び15bに画像データを転送する(ステップS12)。
続いて、デシリアライザ10は、バッファ15a及び15b内の画像データの蓄積量が規定量以上か否かを判定する(ステップS13)。デシリアライザ10は、バッファ15a及び15b内のバッファ格納サイズが規定量以上となった場合(ステップS13Yes)、ステップS16の処理に移行する。一方、デシリアライザ10は、バッファ15a及び15b内のバッファ格納サイズが規定量未満の場合(ステップS13No)、ステップS14の処理に移行する。なお、バッファ格納サイズは、画像データの先頭を示すポインタrptrのアドレスと終端を示すポインタwptrのアドレスとの差分により算出される。
ステップS14において、デシリアライザ10は、データの末端を検出した場合(ステップS14Yes)、ステップS16の処理に移行する。一方、デシリアライザ10は、データの末端を検出していない場合(ステップS14No)、バッファ15a及び15bへのライト処理を継続し(ステップS15)、ステップS13に戻る。
なお、デシリアライザ10は、ステップS14において、ライトされた画像データのバッファ段数と、画像データの末端に対応するバッファ段数であるend_ptr値とを比較する。デシリアライザ10は、ライトされた画像データのバッファ段数とend_ptr値とが等しい場合に、データの末端を検出したと判定する。
上記データの末端の検出方法は、一例である。例えば、デシリアライザ10は、バッファ15a及び15bにライトされた画像データの末端位置のアドレスと、ライトを開始した位置のアドレスに画像データのデータ長を加算した位置のアドレスとの比較に基づいて、データ末端を検出してもよい。
ステップS16において、デシリアライザ10は、バッファ15a及び15bからリード処理を開始する(ステップS16)。続いて、デシリアライザ10は、バッファ15a及び15bへのライト処理が完了したか否かを判定する(ステップS17)。デシリアライザ10は、ライト処理が完了した場合(ステップS17Yes)、ステップS19の処理に移行する。一方、デシリアライザ10は、ライト処理が完了していない場合(ステップS17No)、データ末端を検出するまでバッファ15a及び15bにライト処理を行い(ステップS18)、ステップS16に戻る。
なお、デシリアライザ10は、ライトされた画像データのバッファ段数とend_ptr値とが等しい場合に、データの末端までライト処理したと判定する。
ステップS19において、デシリアライザ10は、データ末端検出までの段数管理のため、STPコード及び長さコードに基づいて、データ末端を検出したバッファ段数をend_ptr値として保持する(ステップS19)。
なお、デシリアライザ10は、ステップS14及びステップS18において、ステップS19で保持されたend_ptr値を用いてデータ末端を検出するようにしてもよい。例えば、ステップS18において、デシリアライザ10は、データ末端に対応するバッファ段数が5であった場合、end_ptr値を5とする。ステップS18において、デシリアライザ10は、ライトされた画像データのバッファ段数≧5となるまで、ライト処理行う。
デシリアライザ10は、バッファ15a及び15bからのリード処理が完了するまでに、リードした画像データを画像処理部へ転送する(ステップS21)。続いて、デシリアライザ10は、画像データの画像処理部への転送を完了させると(ステップS21)、処理を終了させる。
デシリアライザ10は、全ての画像データの転送が完了するまでステップS10〜S21の処理を実行する。
ステップS15で行われるライト処理と、ステップS18で行われるライト処理とを具体例を挙げて説明する。
例えば、デシリアライザ10は、バッファ15a又は15bにおいてデータ末端を検出するまでは、ステップS15のライト処理を継続して行う。
デシリアライザ10は、バッファ15aにおいてデータ末端を検出した場合、バッファ15aのリード処理を開始(ステップS16)するとともにバッファ15bのリード処理を開始(ステップS16)する。
デシリアライザ10は、バッファ15aのライト処理が完了しているので、バッファ15aに関してはステップS19の処理に移行する。一方、デシリアライザ10は、バッファ15bのライト処理は完了していないので、ステップS16のリード処理を行いつつ、ステップS18のライト処理を実行する。デシリアライザ10は、バッファ15bに対するステップS18のライト処理を、データ末端を検出するまで実行する。
以上、実施態様1に示したように制御コードを除去する際に使用するバッファの容量を小さくすることができるので、デシリアライザ10における消費電力を抑えることができる。
(実施形態2)
デシリアライザ10は、画像データの末端にENDコードを有する可変長コードに基づいて画像データの末端の位置を特定してもよい。ENDコードは、有効データの終わりを示す制御コード(Kコード)である。
デシリアライザ10は、画像データの末端にENDコードを有する可変長コードに基づいて画像データの末端の位置を特定してもよい。ENDコードは、有効データの終わりを示す制御コード(Kコード)である。
この場合、ENDコードは実施形態1の方法によるデータ末端検出の補助あるいは精度向上のために用いられる。なお、シリアル通信装置1の構成は、実施形態1と同様であるので説明を省略する。
図8は、可変長コードの第2の例を示す。可変長コードαは、STPフレーム41と画像データ42と、ENDコード44との組み合わせにより構成される。COMコード43は、可変長コードα間に格納される。
STPフレーム41は、COMコード、長さコード(図8では「Length」と表記)及びSTPコードの組み合わせにより構成される。COMコードは、他のSTPコード及び長さコードとの境界に格納される。長さコードは、画像データ42のデータ長を示す。STPコードは、画像データ42の先頭の位置を示す。なお、STPフレーム41に含まれるCOMコード、長さコード及びSTPコードの組み合わせ数が4つの例について説明したが、組み合わせ数は5以上であってもよく、3以下であってもよい。
各々のSTPコードは、それぞれ画像データ42の先端の位置を示しており、デシリアライザ10のRXIF部13は、先端の位置に長さデータが示すデータ長を加算することで画像データの末端の位置を取得することができる。RXIF部13は、画像データの末端の位置にENDコード44があるか否かを判定する。画像データの末端の位置にENDコード44があることを条件として、RXIF部13は、画像データ42の末端の位置を特定する。
なお、RXIF部13は、検出した複数の長さコードが全て同じ値であることを追加の条件として画像データ42の末端の位置を特定するようにしてもよい。
このように、画像データの末端の位置でENDコードを検出することを条件として画像データの末端を検出することで、画像データ末端の検出の信頼性を高めることができる。
また、画像データの末端に付加するENDコードは、1つのみでもよく、可変長コードαのデータ長を短くすることができるため、制御コードを除去する際に使用するバッファの容量を小さくすることができ、消費電力を抑えることができる。
また、シリアライザ20は、ENDコードの前後に巡回符号、誤り訂正符号等を付加し、デシリアライザ10は、付加された巡回符号、誤り訂正符号等を検出し、処理できる構成としてもよい。
以上、シリアル通信装置を実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
実施形態1及び2に記載のシリアル転送は、複数の装置を含む通信システムにも適用できる。実施形態1及び2に記載のシリアル転送を通信システムに適用する例について説明する。
図9は、通信システム2の構成の例を示す図である。通信システム2は、プリンタサーバ3とスキャナ4とを有する。プリンタサーバ3は、デシリアライザ10を含む。また、スキャナ4は、シリアライザ20を含む。このように、装置間の通信に実施形態1及び2に記載のシリアル転送を適用してもよい。
また、実施形態1では、シリアル転送の経路を2つとし、バッファを2つ用いたが、これに限定されず、経路及びバッファを1つとしてもよく、4リンク、8リンク等にしてもよい。
また、実施形態1において、画像データの後方に巡回符号、誤り訂正符号を付加する構成としてもよい。
なお、本実施形態において、バッファ15は、記憶領域の一例である。RXIF部13は、処理部の一例である。TXIF部23は、付加部の一例である。シリアル送信部25は、送信部の一例である。画像データは、受信データの一例である。STPコードは、開始コードの一例である。ENDコードは、終端コードの一例である。
1 シリアル通信装置
2 通信システム
6a,6b レシーバ(受信部)
10 デシリアライザ
11a,11b CDR部
12a,12b デコード部
13 RXIF部(処理部)
15a,15b バッファ
20 シリアライザ
21a,21b P/S変換部
22a,22b エンコード部
23 TXIF部(付加部)
25 シリアル送信部
2 通信システム
6a,6b レシーバ(受信部)
10 デシリアライザ
11a,11b CDR部
12a,12b デコード部
13 RXIF部(処理部)
15a,15b バッファ
20 シリアライザ
21a,21b P/S変換部
22a,22b エンコード部
23 TXIF部(付加部)
25 シリアル送信部
Claims (8)
- データの先頭を示す開始コードと前記データの長さを示す長さコードとを前記データの先頭に付加する付加部と、
前記開始コードと前記長さコードを付加したデータを、シリアル形式に変換して送信する送信部と、
前記送信部から前記データを受信する受信部と、
前記受信したデータから前記開始コードと前記長さコードとを検出し、前記検出した開始コードに基づいて前記データの先頭の位置を特定し、前記開始コード及び前記長さコードに基づいて前記データの末端の位置を特定し、前記特定したデータの先頭及び末端の位置に基づいてデータを処理する処理部とを有するシリアル通信装置。 - 前記処理部は、受信した前記データを、前記特定した先端の位置から順に記憶領域に蓄積させ、該記憶領域に蓄積されたデータを前記先端の位置から前記末端の位置まで読み取る請求項1に記載のシリアル通信装置。
- 前記付加部は、複数の前記開始コードと複数の前記長さコードとを前記データに付加し、
前記処理部は、複数の前記長さコードと、該長さコードに対応する開始コードとを検出た場合に前記末端の位置を特定する請求項1または2に記載のシリアル通信装置。 - 前記処理部は、2以上の同じ値を有する前記長さコードが検出されたときに、前記末端の位置を特定する請求項1又は2に記載のシリアル通信装置。
- 前記付加部は、前記データの末端に少なくとも1つの終端コードを付加し、
前記処理部は、前記終端コードが検出されたときに前記末端の位置を特定する請求項3又は4に記載のシリアル通信装置。 - 前記処理部は、前記特定されたデータの末端位置まで記憶領域に蓄積された場合又は前記記憶領域内に所定量以上のデータが格納された場合に、データの読み取りを開始する請求項1乃至5のいずれか1項に記載のシリアル通信装置。
- 送信装置によってシリアル形式に変換されたデータを受信装置が受信する通信システムにおいて、
前記送信装置は、
前記データの先頭を示す開始コードと前記データの長さを示す長さコードとを前記データの先頭に付加する付加部と、
前記データをシリアル形式に変換して前記受信装置に送信する送信部と、を有し、
前記受信装置は、
前記送信装置から前記データを受信する受信部と、
前記受信したデータをパラレル形式に変換してから記憶領域に蓄積させ、前記データの先頭に付加された、前記データの先頭を示す開始コードと前記データの長さを示す長さコードとを検出し、前記検出した開始コードに基づいて前記データの先頭の位置を特定し、前記開始コード及び前記長さコードに基づいて前記データの末端の位置を特定し、前記特定したデータの先頭及び末端の位置に基づいてデータを処理する処理部と、
を有する通信システム。 - データの先頭を示す開始コードと前記データの長さを示す長さコードとを前記データの先頭に付加し、
前記開始コードと前記長さコードを付加したデータを、シリアル形式に変換して送信し、
前記送信されたデータを受信し、
前記受信したデータをパラレル形式に変換してから記憶領域に記憶させ、
前記データの先頭に付加された、前記データの先頭を示す開始コードと前記データの長さを示す長さコードとを検出し、
前記検出した開始コードに基づいて前記データの先頭の位置を特定し、
前記開始コード及び前記長さコードに基づいて前記データの末端の位置を特定し、
前記特定したデータの先頭及び末端の位置に基づいてデータを抽出する処理をシリアル通信装置が実行する通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015173182A JP2017050734A (ja) | 2015-09-02 | 2015-09-02 | シリアル通信装置、通信システム及び通信方法 |
US15/238,482 US10044535B2 (en) | 2015-09-02 | 2016-08-16 | Serial communication apparatus, communication system, and method for communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015173182A JP2017050734A (ja) | 2015-09-02 | 2015-09-02 | シリアル通信装置、通信システム及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017050734A true JP2017050734A (ja) | 2017-03-09 |
Family
ID=58096956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015173182A Pending JP2017050734A (ja) | 2015-09-02 | 2015-09-02 | シリアル通信装置、通信システム及び通信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10044535B2 (ja) |
JP (1) | JP2017050734A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021019291A (ja) * | 2019-07-19 | 2021-02-15 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862210B (zh) * | 2019-03-26 | 2020-12-25 | 中国科学院长春光学精密机械与物理研究所 | 多路多谱段串行图像数据的采集接收系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5217919B2 (ja) | 2008-11-07 | 2013-06-19 | 株式会社リコー | シリアル通信装置、通信制御方法、通信制御プログラム |
JP5936030B2 (ja) * | 2011-12-09 | 2016-06-15 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
KR101217607B1 (ko) * | 2012-04-18 | 2013-01-02 | 현대인프라코어 주식회사 | 저오류 초고속 시리얼 통신이 가능한 산업용 컨트롤러 장치 및 그 구동 방법 |
JP2015146525A (ja) | 2014-02-03 | 2015-08-13 | 株式会社リコー | 通信装置、画像形成装置、通信方法およびプログラム |
JP6363889B2 (ja) * | 2014-07-01 | 2018-07-25 | キヤノン株式会社 | 撮像素子、撮像装置およびその制御方法 |
-
2015
- 2015-09-02 JP JP2015173182A patent/JP2017050734A/ja active Pending
-
2016
- 2016-08-16 US US15/238,482 patent/US10044535B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021019291A (ja) * | 2019-07-19 | 2021-02-15 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
JP7334519B2 (ja) | 2019-07-19 | 2023-08-29 | 株式会社リコー | シリアル通信装置、通信制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20170063521A1 (en) | 2017-03-02 |
US10044535B2 (en) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997016B2 (en) | Method of encoding data | |
JP5233165B2 (ja) | データ伝送装置 | |
KR101266067B1 (ko) | 클럭 임베디드 신호를 이용한 직렬 통신 방법 및 장치 | |
US8103942B2 (en) | Data transmission apparatus, data transmission device, data reception device and data transmission system | |
WO2013001631A1 (ja) | 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 | |
US8572300B2 (en) | Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks | |
US10129371B2 (en) | Serial communication device and serial communication method | |
JP5531655B2 (ja) | シリアルデータ受信回路装置及びシリアルデータ受信方法 | |
JP5936030B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2009182577A (ja) | 通信システム | |
US6385319B1 (en) | Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler | |
JP5217919B2 (ja) | シリアル通信装置、通信制御方法、通信制御プログラム | |
JP2017050734A (ja) | シリアル通信装置、通信システム及び通信方法 | |
JP5761551B2 (ja) | 送信装置、送信方法、受信装置、受信方法、プログラム、および伝送システム | |
US20220053053A1 (en) | Transmission device, transmission method, reception device, reception method, and transmission-reception device | |
EP1320208A2 (en) | Serial communications system and method | |
US11930296B2 (en) | Transmission device, reception device, and transmission system with padding code insertion | |
JP7558938B2 (ja) | 送信装置、送信方法、受信装置、受信方法、および送受信装置 | |
US20120144257A1 (en) | Receiving apparatus, data transfer apparatus, data receiving method and non-transitory computer readable recording medium | |
CN110519602B (zh) | 用于数据流传输的方法及装置 | |
JP2010028615A (ja) | クロック・データ・リカバリ回路 | |
JP5204851B2 (ja) | データの伝送方法 | |
JP5257532B1 (ja) | 受信装置及び通信システム | |
US20220166598A1 (en) | Transmission apparatus, reception apparatus, and transmission system | |
JP6922259B2 (ja) | 画像転送システム、画像転送装置、及び画像転送方法 |