JP7334519B2 - シリアル通信装置、通信制御方法、及びプログラム - Google Patents

シリアル通信装置、通信制御方法、及びプログラム Download PDF

Info

Publication number
JP7334519B2
JP7334519B2 JP2019134098A JP2019134098A JP7334519B2 JP 7334519 B2 JP7334519 B2 JP 7334519B2 JP 2019134098 A JP2019134098 A JP 2019134098A JP 2019134098 A JP2019134098 A JP 2019134098A JP 7334519 B2 JP7334519 B2 JP 7334519B2
Authority
JP
Japan
Prior art keywords
data
output
buffer
unit
buffers
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
JP2019134098A
Other languages
English (en)
Other versions
JP2021019291A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2019134098A priority Critical patent/JP7334519B2/ja
Publication of JP2021019291A publication Critical patent/JP2021019291A/ja
Application granted granted Critical
Publication of JP7334519B2 publication Critical patent/JP7334519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、シリアル通信装置、通信制御方法、及びプログラムに関する。
有効なデータの開始を示す開始情報と終了を示す終了情報とが付加されたデータを、シリアル通信路を用いて高速に転送するシリアル通信装置が知られている(例えば、特許文献1参照)。
また、トランスミッタからデータ及びリクエスト信号を受信し、バッファの受信データ蓄積量が閾値より大きい場合に、無効のアクノリッジ信号をトランスミッタに送信して、データ転送を停止させるシリアル通信装置が知られている(例えば、特許文献2参照)。
例えば、特許文献2に開示された技術により、シリアル通信装置において、シリアル通信が行われないときに、データ転送処理を停止させて、トランスミッタ及びレシーバの消費電力を低減することができる。
しかし、このような従来の技術では、例えば、複数のデータを複数のシリアル通信路を用いて転送する場合に、スキューによるタイミングのずれや、ある通信路の終了情報がノイズ等により検出できないとき等に、データの誤転送が発生する可能性がある。
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、有効なデータの開始を示す開始情報と終了を示す終了情報とが付加されたデータを、複数のシリアル通信路で転送するシリアル通信装置において、データの誤転送を低減させる。
上記の課題を解決するため、本発明の一実施形態に係るシリアル通信装置は、有効なデータの送信開始を示す開始情報と送信終了を示す終了情報とが付加されたデータを、複数のシリアル通信路を用いて転送する通信部と、前記複数のシリアル通信路の各々から受信した複数の受信データに含まれる前記開始情報と前記終了情報とを検出する検出部と、前記検出部による検出結果に基づいて、前記複数の受信データに含まれる有効なデータを、前記複数の受信データの各々に対応する複数のバッファに格納する格納部と、前記複数のバッファの書込位置と読出位置とを管理し、前記書込位置と前記読出位置とに基づいて、データの有効、無効を示す制御信号とともに、前記複数のバッファに格納されたデータを同期して出力する出力部と、前記出力部から出力されるデータの数をカウントし、前記データの数が予め設定された設定値に達したときに、前記制御信号を無効に制御するとともに、前記書込位置と前記読出位置とを初期化する出力制御部と、を有し、前記複数のバッファの各々は、第1のバッファと、第2のバッファとを含み、前記格納部は、前記出力部が前記第1のバッファに格納されたデータを出力しているときに前記開始情報が検出された場合、前記受信データに含まれる有効なデータを、前記第2のバッファに格納し、前記第1のバッファに格納されたデータを出力するデータ数の規定値と、前記第2のバッファに格納されたデータを出力するデータ数の規定値とを異なる値に設定可能である。
本発明の一実施形態によれば、有効なデータの開始を示す開始情報と終了を示す終了情報とが付加されたデータを、複数のシリアル通信路で転送するシリアル通信装置において、データの誤転送を低減させることができる。
一実施形態に係るシリアル通信装置の構成例を示す図である。 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。 第1の実施形態に係る受信処理部の機能構成の例を示す図である。 第1の実施形態に係る受信処理部の処理について説明するための図である。 第1の実施形態に係る受信処理部の処理の例を示すフローチャートである。 第1の実施形態に係る初期化について説明するための図である。 第1の実施形態に係る終了コードが取得できない場合の処理の例について説明するための図である。 第2の実施形態に係る受信処理部の機能構成の例を示す図である。 第2の実施形態に係る格納部の処理について説明するための図である。 第2の実施形態に係る出力部の処理について説明するための図である。 第2の実施形態に係る受信処理部の処理の例を示すフローチャート(1)である。 第2の実施形態に係る受信処理部の処理の例を示すフローチャート(2)である。 第2の実施形態に係る受信処理部の処理の例を示すフローチャート(3)である。 第3の実施形態に係るバッファの省電力制御について説明するための図である。 第4の実施形態に係るシリアル通信装置の構成例を示す図である。 第4の実施形態に係る設定変更の一例について説明するための図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<シリアル通信装置の構成例>
図1は、一実施形態に係るシリアル通信装置の構成例を示す図である。シリアル通信装置100は、複数のシリアル通信路を用いて、送信デバイス110から受信デバイス120に対して、複数のデータを高速シリアル転送する装置である。図1の例では、一例として、2つのシリアル通信路101、102を用いて、2つのデータを転送する場合の例を示しているが、シリアル通信路、及びデータの数は、3つ以上の他の数であっても良い。
送信デバイス110は、パラレルデータである送信データ1、送信データ2をシリアルデータに変換して、シリアル通信路101、シリアル通信路102を用いて、受信デバイス120に送信する装置、回路、又はモジュール等である。送信デバイス110は、例えば、送信処理部111、符号化部112a、112b、パラレルシリアル変換部113a、113b等を有する。
送信処理部111は、送信データ1に、有効なデータの送信開始を示す開始コード(開始情報)と、有効なデータの送信終了を示す終了コード(終了情報)とを付加して、符号化部112aに出力する。例えば、送信処理部111は、送信データ1、及び送信データ2が有効であるか、無効であるかを示す入力有効信号がアサート(有効化)されたときに、送信データ1に開始コードを付加する。また、送信処理部111は、入力有効信号がネゲート(無効化)されたときに、送信データ1に終了コードを付加する。
同様にして、送信処理部111は、送信データ2に、開始コードと終了コードとを付加して、符号化部112bに出力する。
符号化部112aは、開始コードと終了コードとが付加された送信データ1を、例えば、8b/10b、64b/66b、64b/67b、128b/130b、又はTMDS(Transition Minimized Differential Signaling)等の符号化方式で符号化する。
同様に、符号化部112bは、開始コードと終了コードとが付加された送信データ2を、例えば、符号化部112aと同様の符号化方式で符号化する。
パラレルシリアル変換部113aは、符号化部112aが符号化したパラレルデータをシリアルデータに変換して、変換したシリアルデータ(以下、シリアルデータ1と呼ぶ)をシリアル通信路101に出力する。例えば、パラレルシリアル変換部113aは、シリアルデータ1を、差動信号を伝送するシリアル通信路101を介して、受信デバイス120に送信する。
同様に、パラレルシリアル変換部113bは、符号化部112bが符号化したパラレルデータをシリアルデータに変換して、変換したシリアルデータ(以下、シリアルデータ2と呼ぶ)を、シリアル通信路102を介して、受信デバイス120に送信する。
受信デバイス120は、送信デバイス110が送信したシリアルデータ1、シリアルデータ2を、シリアル通信路101、シリアル通信路102を介して受信し、パラレルデータに変換して出力する装置、回路、又はモジュール等である。受信デバイス120は、例えば、シリアルパラレル変換部121a、121b、復号部122a、122b、及び受信処理部123等を有する。
シリアルパラレル変換部121aは、シリアル通信路101から受信したシリアルデータ1から、クロック、データを抽出し、シリアルデータ1をパラレルデータに変換して、復号部122aに出力する。同様に、シリアルパラレル変換部121bは、シリアル通信路102から受信したシリアルデータ2をパラレルデータに変換して、復号部122bに出力する。
復号部122aは、シリアルパラレル変換部121aから出力されるパラレルデータを、符号化部112aが符号化に用いた符号化方式で復号して、復号したパラレルデータ(以下、受信データ1と呼ぶ)を受信処理部123に出力する。同様に、復号部122bは、シリアルパラレル変換部121bから出力されるパラレルデータを、符号化部112bが符号化に用いた符号化方式で復号して、復号したパラレルデータ(以下、受信データ2と呼ぶ)を受信処理部123に出力する。
これにより、受信処理部123には、シリアル通信路101から受信した、有効なデータの送信開始を示す開始コードと送信終了を示す終了コードとが付加された受信データ1が入力される。同様に、受信処理部123には、シリアル通信路102から受信した、開始コードと終了コードとが付加された受信データ2が入力される。
なお、符号化部112a、112b、パラレルシリアル変換部113a、113b、シリアルパラレル変換部121a、121b、及び復号部122a、122bは、複数のデータを、複数のシリアル通信路を用いて転送する通信部103の一例である。
受信処理部123は、復号部122a、122bから出力される受信データ1、受信データ2から開始コード、終了コードを除去した出力データ1、出力データ2を、同期して(タイミングを合わせて)出力する。
なお、図1に示すシリアル通信装置100に含まれる各処理部は、例えば、上記の各機能を実行するように設計されたハードウェアや、シリアル通信装置100が備えるコンピュータによって実行されるプログラム等によって実現される。なお、シリアル通信装置100に含まれる各処理部のうち、少なくとも一部は、例えば、DSP(Digital Signal Processor)や、DSPで実行されるプログラム等によって実現されるものであっても良い。
<コンピュータのハードウェア構成>
図2は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。この図は、シリアル通信装置100が備えるコンピュータ200のハードウェア構成の一例を示している。
コンピュータ200は、例えば、CPU(Central Processing Unit)201、メモリ202、ストレージデバイス203、入力I/F(Interface)204、出力I/F205、及び通信I/F206等を有する。
CPU201は、例えば、ストレージデバイス203、メモリ202等に記憶された所定のプログラムを実行することにより、シリアル通信装置100の各機能を実現する演算装置である。メモリ202は、例えば、CPU201のワークエリアとして用いられるRAM(Random Access Memory)、シリアル通信装置100の起動プログラム等を記憶したROM(Read Only Memory)等を含む。ストレージデバイス203は、例えば、プログラムやデータ等を記憶する大容量の記憶装置である。
入力I/F204は、コンピュータ200にデータを入力するためのインターフェースである。出力I/F205は、コンピュータ200がデータを出力するためのインターフェースである。通信I/F206は、コンピュータ200が、外部装置と通信するためのインターフェースである。
<受信処理部について>
続いて、シリアル通信装置100の受信処理部123について、複数の実施形態を例示して詳しく説明する。なお、図1に示したシリアル通信装置100のうち、通信部103については、例えば、特許文献1に示されるような従来の技術を適用できるので、ここでは、詳細な説明を省略する。
[第1の実施形態]
<機能構成>
図3は、第1の実施形態に係る受信処理部の機能構成の例を示す図である。受信処理部123は、例えば、図2のCPU201で所定のプログラムを実行することにより、検出部310、バッファ制御部320、及び出力制御部330等を実現している。なお、上記の各機能構成の一部、又は全部は、例えば、ロジック回路、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、DSP等によって実現されるものであっても良い。
検出部310は、シリアル通信路101、102から受信した受信データ1、受信データ2に含まれる開始コード、終了コードを検出し、検出結果をバッファ制御部320に通知する。
復号部122a、122bから出力される受信信号1、受信信号2には、例えば、図4に示されるように、開始コード401、及び終了コード402が含まれる。開始コード401は、予め定められたパラレルデータであり、有効なデータの送信開始を示す開始情報の一例である。また、終了コード402は、予め定められたパラレルデータであり、有効なデータの送信終了を示す終了情報の一例である。
検出部310は、例えば、受信データ1から開始コード401が検出された場合、受信データ1から開始コード401が検出されたことを示す検出結果を、バッファ制御部320に通知する。同様に、検出部310は、例えば、受信データ2から終了コード402が検出された場合、受信データ2から終了コード402が検出されたことを示す検出結果を、バッファ制御部320に通知する。
バッファ制御部320は、例えば、格納部321、及び出力部323を含み、受信データ1に対応するバッファ322-1、及び受信データ2に対応するバッファ322-2に対するデータの格納(書込)、及び出力(読出)を制御する。
格納部321は、検出部310による開始コード401、及び終了コード402の検出結果に基づいて、受信データ1、受信データ2の各々に含まれる有効なデータを、それぞれ、バッファ322-1、バッファ322-2に格納する。
例えば、格納部321は、検出部310によって、受信データ1に含まれる開始コード401が検出された場合、図4に示すように、開始コード401に続く有効なデータ411を順次にバッファ322-1に格納し、次の書込位置(wptr1)を更新する。
また、格納部321は、検出部310によって、受信データ1に含まれる終了コード402が検出された場合、バッファ322-1へのデータの格納を停止する。これにより、受信データ1に対応するバッファ322-1には、図4に示すように、受信データ1に含まれる有効なデータ411が格納される。
同様にして、格納部321は、受信データ2に含まれる開始コード401が検出された場合、図4に示すように、開始コード401に続く有効なデータ412を順次にバッファ322-2に格納し、次の書込位置(wptr2)を更新する。
また、格納部321は、検出部310によって、受信データ2に含まれる終了コード402が検出された場合、バッファ322-2へのデータの格納を停止する。これにより、受信データ2に対応するバッファ322-2には、図4に示すように、受信データ2に含まれる有効なデータ412が格納される。
出力部323は、バッファ322-1、及びバッファ322-2に格納されたデータを同期して出力するとともに、データが有効であるか、無効であるかを示す制御信号(以下、出力有効信号と呼ぶ)を出力する。
例えば、出力部323は、図4に示すように、受信データ1、及び受信データ2の各々から、終了コード402が検出された場合、バッファ322-1、バッファ322-2に格納されたデータを、出力データ1、出力データ2として同期して出力する。
なお、出力部323は、出力データ1の有効なデータ411、及び出力データ2の有効なデータ412を出力している期間、データが有効であることを示す状態(例えば、Hレベル)に出力有効信号をアサートする。また、出力部323は、出力データ1の有効なデータ411、及び出力データ2の有効なデータ412の出力を終了すると、出力有効信号を、データが無効であることを示す状態(例えば、Lレベル)にネゲートする。
さらに、出力部323は、バッファ322-1、バッファ322-2に格納されたデータの数が、予め設定された規定値に達した場合、バッファ322-1、バッファ322-2に格納されたデータを出力する機能を有している。
例えば、出力部323は、バッファ322-1の読出位置(rptr1)と書込位置(wptr1)、及びバッファ322-2の読出位置(rptr2)と書込位置(wptr2)を、例えば、メモリ202やレジスタ等に記憶して管理する。これにより、出力部323は、例えば、バッファ322-1の読出位置(rptr1)と書込位置(wptr1)の差により、バッファ322-1に格納されたデータの数(バッファ格納サイズ)を容易に算出することができる。同様に、出力部323は、例えば、バッファ322-2の読出位置(rptr2)と書込位置(wptr2)の差により、バッファ322-2に格納されたデータの数(バッファ格納サイズ)を容易に算出することができる。
また、出力部323は、出力制御部330から、後述する出力停止通知を受け付けると、バッファ322-1の読出位置(rptr1)と書込位置(wptr1)、及びバッファ322-2の読出位置(rptr2)と書込位置(wptr2)を初期化する。これにより、バッファ322-1に格納されたデータの数、及びバッファ322-2に格納されたデータの数が「0」に初期化され、新たにバッファ322-1、バッファ322-2に格納されたデータの数を算出することができる。
出力制御部330は、出力部323が出力する出力データ1、出力データ2、及び出力有効信号のシリアル通信装置100の外部への出力を制御する。
出力制御部330は、出力部323から出力される出力有効信号がアサートされているときに、出力部323から出力されるデータの数をカウントするカウンタ331を有する。また、出力制御部330は、カウンタ331がカウントしたデータの数が予め設定された設定値に達したとき、少なくとも、出力制御部330が出力する出力有効信号を、データが無効であることを示す状態に制御する。これにより、出力データ1、出力データ2の出力が、実質的に停止される。
さらに、出力制御部330は、カウンタ331がカウントしたデータの数が予め設定された設定値に達したとき、出力データ1、出力データ2の出力を停止したことを示す出力停止通知を出力部322に通知する。出力停止通知を受け付けた出力部322は、出力データ1、出力データ2の出力を中止し、バッファ322-1、322-2の読出位置、書込位置を初期化する。
上記の構成により、受信処理部123は、シリアル通信路101、シリアル通信路102から受信した受信データを、タイミングを合わせて出力するともに、予め設定された設定値以上の長さのデータが出力されないように制御することができる。
なお、図3に示す受信処理部123の機能構成は一例である。例えば、格納部321の機能は、検出部310に含まれていても良い。また、格納部321及び出力部323の機能は、1つのバッファ制御部320で実現されるものであっても良い。さらに、出力部323の機能は、出力制御部330に含まれていても良い。
<処理の流れ>
図5は、第1の実施形態に係る受信処理部の処理の例を示すフローチャートである。この処理は、シリアル通信装置100の受信処理部123が実行する通信制御方法の処理の一例を示している。
ステップS501において、受信処理部123の検出部310は、各受信データに含まれる開始コードを検出する。例えば、検出部310は、復号部122a、122bから出力される受信データ1、受信データ2に含まれる開始コード401を検出し、検出結果をバッファ制御部320に通知する。
ステップS502において、バッファ制御部320の格納部321は、検出部310による検出結果に基づいて、各受信データに含まれる有効なデータを、各受信データに対応する各バッファに格納する。例えば、格納部321は、受信データ1に含まれる開始コード401が検出されると、図4に示すように、開始コード401に続く有効なデータ411の一部又は全部を、バッファ322-1に格納する。同様に、格納部321は、受信データ2に含まれる開始コード401が検出されると、図4に示すように、開始コード401に続く有効なデータ412の一部又は全部を、バッファ322-2に格納する。
ステップS503において、格納部321は、各バッファの書込位置(wptr)を更新する。例えば、格納部321は、図4に示すように、バッファ322-1の書込位置(wptr1)、及びバッファ322-2の書込位置(wptr2)を、次のデータを書き込むべき位置に更新する。
ステップS504において、バッファ制御部320の格納部321(又は出力部323)は、各バッファのデータの格納数が、予め定められた規定値に達したか否かを判断する。例えば、格納部321は、バッファ322-1の書込位置(wptr1)と読込位置(rptr1)との差から、バッファ322-1のデータの格納数を算出し、当該格納数が規定値に達したか否かを判断する。同様に、格納部321は、バッファ322-2の書込位置(wptr2)と読込位置(rptr2)との差から、バッファ322-2のデータの格納数を算出し、当該格納数が規定値に達したか否かを判断する。
各バッファのデータの格納数が予め定められた規定値に達した場合(バッファ322-1のデータ格納数、及びバッファ322-2のデータ格納数が規定値に達した場合)、格納部321は、処理をステップS506に移行させる。一方、各バッファのデータの格納数が予め定められた規定値に達していない場合、格納部321は、処理をステップS505に移行させる。
ステップS505に移行すると、格納部321は、各受信データから終了コードを検出したか否かを判断する。例えば、格納部321は、図4に示すように、受信データ1、及び受信データ2のから終了コード402が検出されたか否かを判断する。
各受信データから終了コードを検出していない場合、格納部321は、処理をステップS502に戻して、ステップS502以降の処理を再び実行する。一方、各受信データから終了コードを検出した場合、格納部321は、処理をステップS506に移行させる。
ステップS506に移行すると、バッファ制御部320の出力部323は、各バッファの読出位置(rptr)を取得する。例えば、出力部323は、メモリ202やレジスタ等に記憶して管理しているバッファ322-1の読出位置(rptr1)、及びバッファ322-2の読出位置(rptr2)を取得する。
ステップS507において、出力部323は、出力制御部330に出力する出力有効信号を「有効」な状態に設定(アサート)する。なお、この処理は、ステップS506の処理の前、又はステップS506の処理と並行して実行されるものであっても良い。
ステップS508において、出力部323は、各バッファに格納されたデータを出力する。例えば、出力部323は、図4に示すように、バッファ322-1の読出位置(rptr1)から書込位置(wptr1)までの間に格納された有効なデータ411を、出力データ1として、出力制御部330に順次に出力する。同様に、出力部323は、図4に示すように、バッファ322-2の読出位置(rptr2)から書込位置(wptr2)までの間に格納された有効なデータ412を、出力データ2として、出力制御部330に順次に出力する。このとき、出力部323は、各バッファに格納されたデータを同期して(タイミングを合わせて)出力する。
ステップS509において、出力制御部330は、出力部323から出力されたデータの数をカウントするカウンタ331のカウント値により、出力部323から出力されたデータの数が予め設定された設定値に達したか否かを判断する。出力部323から出力されたデータの数が設定値に達していない場合、出力制御部330は、処理をステップS510に移行させる。一方、出力部323から出力されたデータの数が設定値に達している場合、出力制御部330は、処理をステップS512に移行させる。
ステップS510に移行すると、出力部323は、各バッファの書込位置と読込位置とが一致したか否かを判断する。例えば、出力部323は、バッファ322-1の書込位置(wptr1)と読出位置(rptr1)とが一致し、かつバッファ322-2の書込位置(wptr2)と読出位置(rptr2)とが一致したか否かを判断する。これにより、出力部323は、バッファ322-1、バッファ322-2に格納されたデータが全て出力されたか否かを判断することができる。
各バッファの書込位置と読込位置とが一致した場合(各バッファに格納されたデータが全て出力された場合)、出力部323は、処理をステップS512に移行させる。一方、各バッファの書込位置と読込位置とが一致していない場合、出力部323は、処理をステップS511に移行させる。
ステップS511に移行すると、出力部323は、各バッファの読出位置(rptr)を更新して、処理をステップS508に戻す。例えば、出力部323は、バッファ322-1の読出位置(wptr1)、及びバッファ322-2の読出位置(wptr2)を、次のデータを読み出すべき位置を示すように更新して、ステップS508以降の処理を再び実行する。
ステップS512に移行すると、出力制御部330は、少なくとも出力制御部330が出力する出力有効信号を「無効」を示す状態に制御する。例えば、出力制御部330は、出力制御部330が出力する出力制御信号を強制的に「無効」を示す状態にネゲートし、データの出力を停止したことを示す出力停止通知を出力部323に通知する。
或いは、出力制御部330は、出力停止通知を出力部323に通知して、出力部323による出力データ1、出力データ2の出力を停止させることにより、出力部323が出力する出力制御信号を「無効」を示す状態にネゲートさせるものであっても良い。
ステップS513において、出力部323は、各バッファの書込位置、及び読出位置を初期化する。例えば、出力部323は、出力制御部330が出力した出力停止通知を受け付けると、バッファ322-1の書込位置(wptr1)と読出位置(rptr1)、及びバッファ322-2の書込位置(wptr2)と読出位置(rptr2)を初期状態に戻す。
図6は、第1の実施形態に係る初期化について説明するための図である。例えば、出力部323が出力停止通知を受け付ける前に、バッファ322-1の書込位置(wptr1)、読出位置(rptr1)が、図6(A)に示すような状態であったものとする。
この状態で、出力停止通知を受け付けると、出力部323は、例えば、図6(B)に示すように、バッファ322-1の書込位置(wptr1)と読出位置(rptr1)とを初期状態に戻す。
これにより、例えば、図6(C)に示すように、バッファ322-1に新たなデータが格納されたときに、出力部323は、バッファ322-1に新たに格納されたデータを、読出位置(rptr1)から、正しく読み出すことができるようになる。
なお、出力部323は、バッファ322-2の書込位置(wptr2)と読出位置(rptr2)に対しても同様の処理を行うことにより、バッファ322-2に新たに格納されたデータを、読出位置(rptr2)から、正しく読み出すことができるようになる。
ここで、図5に戻り、フローチャートの説明を続ける。
ステップS514において、出力制御部330は、出力部323から出力されるデータの数をカウントするカウンタ331のカウント値を初期化する。
上記の処理により、受信処理部123は、例えば、ノイズ等の影響により、受信データ1、受信データ2の終了コードを正しく受信できない場合でも、予め設定された設定値の長さで、出力データ1、出力データ2を同期して出力することができる。
図7は、第1の実施形態に係る終了コードが取得できない場合の処理の例について説明するための図である。
ここでは、一例として、図7(A)に示す受信データ1のように、開始コードと終了コードとの間に、8個のデータが含まれているものとする。また、図7(A)に示す受信データ2のように、例えば、ノイズ等の影響により、受信データ2で終了コードが正しく検出できないものとする。
この場合、例えば、図7(B)に示すように、出力部323が出力する出力データ2は、終了コードが検出されないため、正しいデータの数を超えて出力されてしまう可能性がある。
そこで、出力制御部330は、出力部323が出力するデータの数をカウントし、カウント値が、予め設定された設定値に達したときに、出力制御部330が出力する出力有効信号を、データが「無効」であることを示す状態にネゲートする。
例えば、図7の例では、図7(B)に示すように、設定値が「7」に予め設定されているものとする。この場合、出力制御部330は、カウンタ331のカウント値が「7」になったときに、出力制御部330が出力有効信号を、データが「無効」であることを示す状態にネゲートする。
なお、設定値「7」は、受信データ1、受信データ2から、正しく終了コードが検出できない場合でも、正しいデータの数「8」を超えて出力データ1、出力データ2が出力されないように、適切な値が予め設定されているものとする。
これにより、出力制御部330は、例えば、ノイズ等の影響により、受信データ1、受信データの終了コードが正しく検出できない場合でも、出力データ1、出力データ2の同期を合わせて、正しいデータの数で出力することができる。
従って、本実施形態によれば、有効なデータの開始を示す開始コードと終了を示す終了コードとが付加されたデータを、複数のシリアル通信路で転送するシリアル通信装置100において、データの誤転送を低減させることができる。
[第2の実施形態]
第2の実施形態では、複数の受信データに対応する複数のバッファの各々が、2つのバッファを含み、2つのバッファを交互に利用する場合の例について説明する。
<受信処理部の機能構成>
図8は、第2の実施形態に係る受信処理部の機能構成の例を示す図である。図8に示すように、第2の実施形態に係るバッファ322-1は、バッファ322-1Aとバッファ322-1Bとを含み、バッファ322-2は、バッファ322-2Aとバッファ322-2Bとを含む。
なお、以下の説明の中で、バッファ322-1A、及びバッファ322-2Aを「バッファA」と呼び、バッファ322-1B、及びバッファ322-2Bを「バッファB」と呼ぶ場合がある。
第2の実施形態に係る格納部321は、検出部310による開始コード401、終了コード402の検出結果に基づいて、受信データ1、受信データ2に含まれる有効なデータを、バッファAとバッファBとに交互に格納する。これにより、格納部321は、例えば、出力部322がバッファA(第1のバッファ)に格納されたデータを出力しているときに開始コードが検出された場合、受信データに含まれる有効なデータをバッファB(第2のバッファ)に格納することができる。
同様に、第2の実施形態に係る出力部323は、バッファAとバッファBとに格納されたデータを、交互に出力する。例えば、出力部323は、バッファAに格納されたデータを出力した後に、読出元のバッファをバッファBに切り替えて、バッファBに格納されたデータを出力する。同様に、出力部323は、バッファBに格納されたデータを出力した後に、読出元のバッファをバッファAに切り替えて、バッファAに格納されたデータを出力する。
図9は、第2の実施形態に係る格納部の処理について説明するための図である。なお、復号部122a、122bから出力される受信データ1、受信データ2は、例えば、図9に示すように、終了コードと、次の開始コードとの間に。所定の期間(入力有効データ間隔)が設けられているものとする。
格納部321は、バッファAへのデータの格納が完了したときに、データを格納するバッファをバッファBに切り替える。また、格納部321は、バッファBへのデータの格納が完了したときに、データを格納するバッファをバッファAに切り替える。
具体的な一例として、格納部321は、受信データ1、受信データ2の各々から終了コードが検出されたときに、データの格納が完了したと判断して、データを格納するバッファを切り替える。
例えば、格納部321は、図9に示すように、バッファ322-1A、322-2Aにデータを格納しているときに、受信データ1、及び受信データ2から終了コードが検出された場合、データを格納するバッファを、バッファ322-1B、322-2Bに切り替える。
ただし、これだけでは、例えば、ノイズ等の影響により、終了コードが検出されないとき等に、バッファを正しく切り替えることができない可能性がある。そこで、格納部321は、例えば、出力部322が、出力有効信号を「有効」であることを示す状態にアサートしたときにも、データの格納が完了したと判断して、データを格納するバッファを切り替える。
図10は、第2の実施形態に係る出力部の処理について説明するための図である。
出力部323は、バッファAに格納されたデータの出力が完了したときに、データを読み出すバッファをバッファBに切り替える。また、出力部323は、バッファBに格納されたデータの出力が完了したときに、データを読み出すバッファをバッファBに切り替える。
例えば、出力部323は、バッファ322-1B、322-2Bに格納されたデータを出力しているときに、出力制御部330が出力する出力有効信号がネゲートされた場合、データを読み出すバッファを、バッファ322-1A、322-2Aに切り替える。
なお、バッファAの規定値とバッファBの規定値とは、異なる値に設定可能であるものとする。これにより、レイテンシを小さくしての転送も可能となる。
<処理の流れ>
続いて、第2の実施形態に係る通信制御方法の処理の流れについて説明する。
図11~13は、第2の実施形態に係る受信処理部の処理の流れを示すフローチャートである。なお、基本的な処理内容は、図5で説明した第1の実施形態に係る受信処理部の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
ステップS1101において、受信処理部123の検出部310は、各受信データに含まれる開始コードを検出する。例えば、検出部310は、受信データ1、受信データ2に含まれる開始コード401を検出し、検出結果をバッファ制御部320に通知する。
ステップS1102において、バッファ制御部320の格納部321は、各受信データに含まれる開始コードが検出されると、各受信データに含まれる有効なデータを、各受信データに対応する各バッファAに格納する。例えば、格納部321は、受信データ1に含まれる開始コードが検出されると、開始コードに続く有効なデータの一部又は全部を、バッファ322-1Aに格納する。同様に、格納部321は、受信データ2に含まれる開始コードが検出されると、開始コードに続く有効なデータの一部又は全部を、バッファ322-2Aに格納する。
ステップS1103において、格納部321は、各バッファAの書込位置(wptr)を更新する。例えば、格納部321は、バッファ322-1Aの書込位置(wptr1A)、及びバッファ322-2Aの書込位置(wptr2A)を、次のデータを書き込むべき位置に更新する。
ステップS1104において、バッファ制御部320の格納部321(又は出力部323)は、各バッファAのデータの格納数が、予め定められた規定値に達したか否かを判断する。各バッファAのデータの格納数が予め定められた規定値に達した場合(例えば、バッファ322-1Aのデータ格納数、及びバッファ322-2Aのデータ格納数が規定値に達した場合)、格納部321は、処理をステップS1106に移行させる。一方、各バッファAのデータの格納数が予め定められた規定値に達していない場合、格納部321は、処理をステップS1105に移行させる。
ステップS1105に移行すると、格納部321は、各受信データから終了コードを検出したか否かを判断する。例えば、格納部321は、受信データ1、及び受信データ2から終了コードが検出されたか否かを判断する。各受信データから終了コードを検出していない場合、格納部321は、処理をステップS1102に戻して、ステップS1102以降の処理を再び実行する。一方、各受信データから終了コードを検出した場合、格納部321は、処理をステップS1106に移行させる。
ステップS1106に移行すると、バッファ制御部320の出力部323は、各バッファAの読出位置(rptr)を取得する。例えば、出力部323は、メモリ202やレジスタ等に記憶して管理しているバッファ322-1Aの読出位置(rptr1A)、及びバッファ322-2Aの読出位置(rptr2A)を取得する。
ステップS1107において、出力部323は、出力制御部330に出力する出力有効信号を、データが「有効」であることを示す状態に設定(アサート)する。なお、この処理は、ステップS1106の処理の前、又はステップS1106の処理と並行して実行しても良い。
ここで、受信処理部123は、ステップS1108以降の処理と並行して、図12(A)のステップS1201以降の処理を開始する。ここでは、まず、ステップS1108以降の処理について説明する。
ステップS1108において、出力部323は、各バッファAに格納されたデータを出力する。例えば、出力部323は、バッファ322-1Aの読出位置(rptr1A)から書込位置(wptr1A)までの間に格納された有効なデータを、出力データ1として、出力制御部330に順次に出力する。同様に、出力部323は、バッファ322-2Aの読出位置(rptr2A)から書込位置(wptr2A)までの間に格納された有効なデータを、出力データ2として、出力制御部330に順次に出力する。このとき、出力部323は、各バッファAに格納されたデータを同期して(タイミングを合わせて)出力する。
ステップS1109において、出力制御部330は、出力部323から出力されたデータの数をカウントするカウンタ331のカウント値により、出力部323から出力されたデータの数が予め設定された設定値に達したか否かを判断する。出力部323から出力されたデータの数が設定値に達していない場合、出力制御部330は、処理をステップS1110に移行させる。一方、出力部323から出力されたデータの数が設定値に達している場合、出力制御部330は、処理をステップS1112に移行させる。
ステップS1110に移行すると、出力部323は、各バッファAの書込位置と読込位置とが一致したか否かを判断する。例えば、出力部323は、バッファ322-1Aの書込位置(wptr1A)と読出位置(rptr1A)とが一致し、かつバッファ322-2Aの書込位置(wptr2A)と読出位置(rptr2A)とが一致したか否かを判断する。これにより、出力部323は、バッファ322-1A、バッファ322-2Aに格納されたデータが全て出力されたか否かを判断することができる。
各バッファAの書込位置と読込位置とが一致した場合(各バッファAに格納されたデータが全て出力された場合)、出力部323は、処理をステップS1112に移行させる。一方、各バッファAの書込位置と読込位置とが一致していない場合、出力部323は、処理をステップS1111に移行させる。
ステップS1111に移行すると、出力部323は、各バッファAの読出位置(rptr)を更新して、処理をステップS1108に戻す。例えば、出力部323は、バッファ322-1Aの読出位置(wptr1A)、及びバッファ322-2Aの読出位置(wptr2A)を、次のデータを読み出すべき位置を示すように更新して、ステップS1108以降の処理を再び実行する。
ステップS1112に移行すると、出力制御部330は、少なくとも出力制御部330が出力する出力有効信号を、データが「無効」であることを示す状態に制御する。例えば、出力制御部330は、出力制御部330が出力する出力制御信号を強制的に「無効」を示す状態にネゲートし、データの出力を停止したことを示す出力停止通知を出力部323に通知する。
或いは、出力制御部330は、出力停止通知を出力部323に通知して、出力部323による出力データ1、出力データ2の出力を停止させることにより、出力部323が出力する出力制御信号を「無効」を示す状態にネゲートさせるものであっても良い。
ステップS1113において、出力部323は、各バッファAの書込位置、及び読出位置を初期化する。例えば、出力部323は、出力制御部330が出力した出力停止通知を受け付けると、バッファ322-1Aの書込位置(wptr1A)と読出位置(rptr1A)、及びバッファ322-2Aの書込位置(wptr2A)と読出位置(rptr2A)を初期状態に戻す。
ステップS1114において、出力制御部330は、出力部323から出力されるデータの数をカウントするカウンタ331のカウント値を初期化する。
ステップS1115において、出力部323は、データを読み出しする読み出し用のバッファを各バッファB(バッファ322-1B、322-2B)に切り替えて、バッファAの転送処理を終了する。
続いて、ステップS1108以降の処理と並行して実行されるバッファBの転送処理について説明する。
図12(A)のステップS1201において、格納部321は、各バッファAへのデータの書込が完了したと判断し、ステップS1202以降の処理を開始させる。
ステップS1202において、格納部321は、データを格納するバッファを各バッファB(バッファ322-1B、322-2B)に切り替えて、処理を図13のステップS1301に移行させる。
ステップS1301において、受信処理部123の検出部310は、各受信データに含まれる開始コードを検出する。例えば、検出部310は、受信データ1、受信データ2に含まれる開始コード401を検出し、検出結果をバッファ制御部320に通知する。
ステップS1302において、バッファ制御部320の格納部321は、各受信データに含まれる開始コードが検出されると、各受信データに含まれる有効なデータを、各受信データに対応する各バッファBに格納する。例えば、格納部321は、受信データ1に含まれる開始コードが検出されると、開始コードに続く有効なデータの一部又は全部を、バッファ322-1Bに格納する。同様に、格納部321は、受信データ2に含まれる開始コードが検出されると、開始コードに続く有効なデータの一部又は全部を、バッファ322-2Bに格納する。
ステップS1303において、格納部321は、各バッファBの書込位置(wptr)を更新する。例えば、格納部321は、バッファ322-1Bの書込位置(wptr1B)、及びバッファ322-2Bの書込位置(wptr2B)を、次のデータを書き込むべき位置に更新する。
ステップS1304において、バッファ制御部320の格納部321(又は出力部323)は、各バッファBのデータの格納数が、予め定められた規定値に達したか否かを判断する。各バッファBのデータの格納数が予め定められた規定値に達した場合(例えば、バッファ322-1Bのデータ格納数、及びバッファ322-2Bのデータ格納数が規定値に達した場合)、格納部321は、処理をステップS1306に移行させる。一方、各バッファBのデータの格納数が予め定められた規定値に達していない場合、格納部321は、処理をステップS1305に移行させる。
ステップS1305に移行すると、格納部321は、各受信データから終了コードを検出したか否かを判断する。例えば、格納部321は、受信データ1、及び受信データ2から終了コードが検出されたか否かを判断する。
各受信データから終了コードを検出していない場合、格納部321は、処理をステップS1302に戻して、ステップS1302以降の処理を再び実行する。一方、各受信データから終了コードを検出した場合、格納部321は、処理をステップS1306に移行させる。
ステップS1306に移行すると、バッファ制御部320の出力部323は、各バッファBの読出位置(rptr)を取得する。例えば、出力部323は、メモリ202やレジスタ等に記憶して管理しているバッファ322-1Bの読出位置(rptr1B)、及びバッファ322-2Bの読出位置(rptr2B)を取得する。
ステップS1307において、出力部323は、出力制御部330に出力する出力有効信号を、データが「有効」であることを示す状態に設定(アサート)する。なお、この処理は、ステップS1306の処理の前、又はステップS1306の処理と並行して実行しても良い。
ここで、受信処理部123は、ステップS1308以降の処理と並行して、図12(B)のステップS1211以降の処理を開始する。ここでは、まず、ステップS1308以降の処理について説明する。
ステップS1308において、出力部323は、各バッファBに格納されたデータを出力する。例えば、出力部323は、バッファ322-1Bの読出位置(rptr1B)から書込位置(wptr1B)までの間に格納された有効なデータを、出力データ1として、出力制御部330に順次に出力する。同様に、出力部323は、バッファ322-2Bの読出位置(rptr2B)から書込位置(wptr2B)までの間に格納された有効なデータを、出力データ2として、出力制御部330に順次に出力する。このとき、出力部323は、各バッファBに格納されたデータを同期して(タイミングを合わせて)出力する。
ステップS1309において、出力制御部330は、出力部323から出力されたデータの数をカウントするカウンタ331のカウント値により、出力部323から出力されたデータの数が予め設定された設定値に達したか否かを判断する。出力部323から出力されたデータの数が設定値に達していない場合、出力制御部330は、処理をステップS1310に移行させる。一方、出力部323から出力されたデータの数が設定値に達している場合、出力制御部330は、処理をステップS1312に移行させる。
ステップS1310に移行すると、出力部323は、各バッファBの書込位置と読込位置とが一致したか否かを判断する。例えば、出力部323は、バッファ322-1Bの書込位置(wptr1B)と読出位置(rptr1B)とが一致し、かつバッファ322-2Bの書込位置(wptr2B)と読出位置(rptr2B)とが一致したか否かを判断する。これにより、出力部323は、バッファ322-1B、バッファ322-2Bに格納されたデータが全て出力されたか否かを判断することができる。
各バッファBの書込位置と読込位置とが一致した場合(各バッファBに格納されたデータが全て出力された場合)、出力部323は、処理をステップS1312に移行させる。一方、各バッファBの書込位置と読込位置とが一致していない場合、出力部323は、処理をステップS1311に移行させる。
ステップS1111に移行すると、出力部323は、各バッファBの読出位置(rptr)を更新して、処理をステップS1308に戻す。例えば、出力部323は、バッファ322-1Bの読出位置(wptr1B)、及びバッファ322-2Bの読出位置(wptr2B)を、次のデータを読み出すべき位置を示すように更新して、ステップS1308以降の処理を再び実行する。
ステップS1312に移行すると、出力制御部330は、少なくとも出力制御部330が出力する出力有効信号を、データが「無効」であることを示す状態に制御(設定)する。例えば、出力制御部330は、出力制御部330が出力する出力制御信号を強制的に「無効」を示す状態にネゲートし、データの出力を停止したことを示す出力停止通知を出力部323に通知する。
或いは、出力制御部330は、出力停止通知を出力部323に通知して、出力部323による出力データ1、出力データ2の出力を停止させることにより、出力部323が出力する出力制御信号を「無効」を示す状態にネゲートさせるものであっても良い。
ステップS1313において、出力部323は、各バッファBの書込位置、及び読出位置を初期化する。例えば、出力部323は、出力制御部330が出力した出力停止通知を受け付けると、バッファ322-1Bの書込位置(wptr1B)と読出位置(rptr1B)、及びバッファ322-2Bの書込位置(wptr2B)と読出位置(rptr2B)を初期状態に戻す。
ステップS1314において、出力制御部330は、出力部323から出力されるデータの数をカウントするカウンタ331のカウント値を初期化する。
ステップS1315において、出力部323は、データを読み出しする読み出し用のバッファを各バッファA(バッファ322-1A、322-2A)に切り替えて、バッファBの転送処理を終了する。
続いて、ステップS1308以降の処理と並行して実行されるバッファAの転送処理について説明する。
図12(B)のステップS1211において、格納部321は、各バッファBへのデータの書込が完了したと判断し、ステップS1212以降の処理を開始させる。
ステップS1212において、格納部321は、データを格納するバッファを各バッファA(バッファ322-1A、322-2A)に切り替えて、処理を図11のステップS1101に移行させる。
上記の処理により、受信処理部123は、出力部322が、例えば、バッファAに格納されているデータを出力しているときに、次のデータの開始コードが検出された場合、次のデータをバッファBに格納することができるようになる。従って、通信部103で転送される有効データのデータ間隔を、より短くすることができるようになる。
[第3の実施形態]
第3の実施形態では、バッファ制御部320におけるバッファの省電力制御の一例について説明する。
図14は、第3の実施形態に係るバッファの省電力制御について説明するための図である。第3の実施形態に係るバッファ制御部320は、例えば、図3に示す第1の実施形態に係るバッファ制御部320、又は図8に示す第2の実施形態に係るバッファ制御部320の機能構成に加えて、使用バッファセレクタ(省電力制御部)1401を有している。
使用バッファセレクタ1401は、例えば、図2のCPU201で実行されるプログラム、又はロジック回路等によって実現される。使用バッファセレクタ1401は、各バッファ(例えば、バッファ322-1、322-2)を複数の領域に分けて管理し、複数の領域の一部を、バッファへの書込が可能な通常状態より消費電力が少ない省電力状態に設定する。
図14の例では、使用バッファセレクタ1401は、バッファをm個(mは2以上の整数)の領域に分割して、使用バッファの設定値n(nは、1≦n≦mの整数)によって、使用する領域を決定する。
例えば、使用バッファの設定値nが設定されると、使用バッファセレクタ1401は、第n領域までのバッファのスリープの信号をOFFにして通常状態に設定し、第n+1領域から第m領域までのバッファのスリープ信号をONにして省電力状態に設定する。これにより、第n+1領域から第m領域までのバッファで消費される電力を削減することができる。
[第4の実施形態]
第4の実施形態では、受信処理部123の設定値を、外部メモリを介して設定可能にする場合の例について説明する。
図15は、第4の実施形態に係るシリアル通信装置の構成例を示す図である。第4の実施形態に係るシリアル通信装置100は、例えば、図1に示す一実施形態に係るシリアル通信装置100の構成に加えて、設定制御部124を有している。
設定制御部124は、例えば、図2のCPU201で実行されるプログラム等によって実現され、外部メモリ1501の所定の領域に記憶された設定値を、受信処理部123のバッファ制御部320、出力制御部330等に設定する。
例えば、シリアル通信装置100の利用者や外部装置等は、外部メモリ1501の所定の領域に、出力部323の規定値、出力制御部330の設定値、使用バッファの設定値n等を設定することにより、受信処理部123の設定を変更することができる。
図16は、第4の実施形態に係る設定変更の一例について説明するための図である。例えば、図16に示す第1のデータのようにデータ数が「5」である場合、シリアル通信装置100を利用する利用者等は、使用バッファの設定値nを「2」に設定することにより、第3の領域以降のバッファを省電力状態として、バッファの消費電力を削減することができる。
また、例えば、図16に示す第2のデータのように、データ数が「2」である場合、利用者等は、使用バッファの設定値nを「1」に設定し、出力部323の規定値(バッファ格納サイズ)を「2」に設定すると良い。これにより、第2の領域以降のバッファを省電力状態として、バッファの消費電力をさらに削減することができるとともに、レイテンシを小さくすることができる。
以上、本発明の各実施形態によれば、有効なデータの開始を示す開始情報と終了を示す終了情報とが付加されたデータを、複数のシリアル通信路で転送するシリアル通信装置100において、データの誤転送を低減させることができる。
100 シリアル通信装置
101、102 シリアル通信路
103 通信部
124 設定制御部
401 開始コード(開始情報)
402 終了コード(終了情報)
310 検出部
321 格納部
322-1、322-2 バッファ
322-1A、322-1B、322-2A、322-2B バッファ
323 出力部
330 出力制御部
331 カウンタ
1401 使用バッファセレクタ(省電力制御部)
1501 外部メモリ
特開2010-114762号公報 特開2013-42397号公報

Claims (8)

  1. 有効なデータの送信開始を示す開始情報と送信終了を示す終了情報とが付加されたデータを、複数のシリアル通信路を用いて転送する通信部と、
    前記複数のシリアル通信路の各々から受信した複数の受信データに含まれる前記開始情報と前記終了情報とを検出する検出部と、
    前記検出部による検出結果に基づいて、前記複数の受信データに含まれる有効なデータを、前記複数の受信データの各々に対応する複数のバッファに格納する格納部と、
    前記複数のバッファの書込位置と読出位置とを管理し、前記書込位置と前記読出位置とに基づいて、データの有効、無効を示す制御信号とともに、前記複数のバッファに格納されたデータを同期して出力する出力部と、
    前記出力部から出力されるデータの数をカウントし、前記データの数が予め設定された設定値に達したときに、前記制御信号を無効に制御するとともに、前記書込位置と前記読出位置とを初期化する出力制御部と、
    を有し、
    前記複数のバッファの各々は、第1のバッファと、第2のバッファとを含み、
    前記格納部は、前記出力部が前記第1のバッファに格納されたデータを出力しているときに前記開始情報が検出された場合、前記受信データに含まれる有効なデータを、前記第2のバッファに格納し、
    前記第1のバッファに格納されたデータを出力するデータ数の規定値と、前記第2のバッファに格納されたデータを出力するデータ数の規定値とを異なる値に設定可能である、
    リアル通信装置。
  2. 前記出力部は、前記書込位置と前記読出位置との差が規定値に達したときに、前記制御信号と前記複数のバッファに格納されたデータとを出力する、請求項1に記載のシリアル通信装置。
  3. 前記出力部は、前記複数の受信データの各々から前記終了情報が検出されたときに、前記制御信号と前記複数のバッファに格納されたデータとを出力する、請求項1又は2に記載のシリアル通信装置。
  4. 前記格納部は、
    前記受信データから前記開始情報が検出された場合、前記受信データに対応するバッファに前記受信データの書き込みを開始し、
    前記受信データから前記終了情報が検出された場合、前記受信データに対応するバッファへの前記受信データの書き込みを停止する、
    請求項1乃至3のいずれか一項に記載のシリアル通信装置。
  5. 前記複数のバッファの各々を複数の領域に分けて管理し、前記複数の領域の一部を省電力状態に設定する省電力制御部を有する、請求項1乃至のいずれか一項に記載のシリアル通信装置。
  6. 前記シリアル通信装置の外部に設けられた外部メモリに記憶された1つ以上の設定値を、前記出力部又は前記出力制御部に設定する設定制御部を有する、請求項1乃至のいずれか一項に記載のシリアル通信装置。
  7. 有効なデータの送信開始を示す開始情報と送信終了を示す終了情報とが付加されたデータを、複数のシリアル通信路を用いて転送するシリアル通信装置が、
    前記複数のシリアル通信路の各々から受信した複数の受信データに含まれる前記開始情報と前記終了情報とを検出する処理と、
    検出された前記開始情報と前記終了情報とに基づいて、前記複数の受信データに含まれる有効なデータを、前記複数の受信データの各々に対応する複数のバッファに格納する格納処理と、
    前記複数のバッファの書込位置と読出位置とを管理し、前記書込位置と前記読出位置とに基づいて、データの有効、無効を示す制御信号とともに、前記複数のバッファに格納されたデータを同期して出力する出力処理と、
    出力されたデータの数をカウントし、前記データの数が予め設定された設定値に達したとき、前記制御信号を無効に制御するとともに、前記書込位置と前記読出位置とを初期化する処理と、
    を実行し、
    前記複数のバッファの各々は、第1のバッファと、第2のバッファとを含み、
    前記格納処理は、前記出力処理で前記第1のバッファに格納されたデータを出力しているときに前記開始情報が検出された場合、前記受信データに含まれる有効なデータを、前記第2のバッファに格納し、
    前記第1のバッファに格納されたデータを出力するデータ数の規定値と、前記第2のバッファに格納されたデータを出力するデータ数の規定値とを異なる値に設定可能である、
    信制御方法。
  8. 有効なデータの送信開始を示す開始情報と送信終了を示す終了情報とが付加されたデータを、複数のシリアル通信路を用いて転送するシリアル通信装置に、
    前記複数のシリアル通信路の各々から受信した複数の受信データに含まれる前記開始情報と前記終了情報とを検出する処理と、
    検出された前記開始情報と前記終了情報とに基づいて、前記複数の受信データに含まれる有効なデータを、前記複数の受信データの各々に対応する複数のバッファに格納する格納処理と、
    前記複数のバッファの書込位置と読出位置とを管理し、前記書込位置と前記読出位置とに基づいて、データの有効、無効を示す制御信号とともに、前記複数のバッファに格納されたデータを同期して出力する出力処理と、
    出力されたデータの数をカウントし、前記データの数が予め設定された設定値に達したとき、前記制御信号を無効に制御するとともに、前記書込位置と前記読出位置とを初期化する処理と、
    を実行させ
    前記複数のバッファの各々は、第1のバッファと、第2のバッファとを含み、
    前記格納処理は、前記出力処理で前記第1のバッファに格納されたデータを出力しているときに前記開始情報が検出された場合、前記受信データに含まれる有効なデータを、前記第2のバッファに格納し、
    前記第1のバッファに格納されたデータを出力するデータ数の規定値と、前記第2のバッファに格納されたデータを出力するデータ数の規定値とを異なる値に設定可能である、
    ログラム。
JP2019134098A 2019-07-19 2019-07-19 シリアル通信装置、通信制御方法、及びプログラム Active JP7334519B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019134098A JP7334519B2 (ja) 2019-07-19 2019-07-19 シリアル通信装置、通信制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019134098A JP7334519B2 (ja) 2019-07-19 2019-07-19 シリアル通信装置、通信制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021019291A JP2021019291A (ja) 2021-02-15
JP7334519B2 true JP7334519B2 (ja) 2023-08-29

Family

ID=74564392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134098A Active JP7334519B2 (ja) 2019-07-19 2019-07-19 シリアル通信装置、通信制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7334519B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240711A (ja) 2003-02-06 2004-08-26 Fujitsu Ltd バッファメモリ装置及びバッファメモリ制御方法
JP2006180036A (ja) 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd 動画符号化伝送制御装置および動画符号化伝送制御方法
JP2008269018A (ja) 2007-04-16 2008-11-06 Seiko Epson Corp バッファ装置、半導体集積回路装置、マイクロコンピュータ、電子機器、バッファ装置の制御方法
JP2011250183A (ja) 2010-05-27 2011-12-08 Nec System Technologies Ltd シリアル受信装置並びにシリアル受信装置の制御方法及びプログラム
US20120030438A1 (en) 2010-07-29 2012-02-02 Sarance Technologies Inc. Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link
CN104509039A (zh) 2012-07-26 2015-04-08 高通股份有限公司 用于在多个通信信道之间共享串行通信端口的系统和方法
JP2017011470A (ja) 2015-06-22 2017-01-12 株式会社リコー シリアル通信装置及びシリアル通信方法
JP2017050734A (ja) 2015-09-02 2017-03-09 株式会社リコー シリアル通信装置、通信システム及び通信方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240711A (ja) 2003-02-06 2004-08-26 Fujitsu Ltd バッファメモリ装置及びバッファメモリ制御方法
JP2006180036A (ja) 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd 動画符号化伝送制御装置および動画符号化伝送制御方法
JP2008269018A (ja) 2007-04-16 2008-11-06 Seiko Epson Corp バッファ装置、半導体集積回路装置、マイクロコンピュータ、電子機器、バッファ装置の制御方法
JP2011250183A (ja) 2010-05-27 2011-12-08 Nec System Technologies Ltd シリアル受信装置並びにシリアル受信装置の制御方法及びプログラム
US20120030438A1 (en) 2010-07-29 2012-02-02 Sarance Technologies Inc. Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link
CN104509039A (zh) 2012-07-26 2015-04-08 高通股份有限公司 用于在多个通信信道之间共享串行通信端口的系统和方法
JP2017011470A (ja) 2015-06-22 2017-01-12 株式会社リコー シリアル通信装置及びシリアル通信方法
JP2017050734A (ja) 2015-09-02 2017-03-09 株式会社リコー シリアル通信装置、通信システム及び通信方法

Also Published As

Publication number Publication date
JP2021019291A (ja) 2021-02-15

Similar Documents

Publication Publication Date Title
TWI490880B (zh) 資料匯流排反轉裝置、系統及方法
JP2834388B2 (ja) データパイプライン装置及びデータエンコーディング方法
US6366530B1 (en) Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US8285884B1 (en) Data aggregation system and method for deskewing data at selectable data rates
TW201945954A (zh) 減少pam-4資料匯流排上的耦合和功率雜訊的424編碼架構
TW201224763A (en) Dynamically configurable serial data communication interface
US7454538B2 (en) Latency insensitive FIFO signaling protocol
CN100578485C (zh) 数据同步方法与数据缓冲装置
US20080288805A1 (en) Synchronization device and methods thereof
JPH11501485A (ja) マルチコードブック可変長デコーダ
TW200951809A (en) Method & apparatus for real-time data processing.
CN102375720B (zh) 异步先入先出存储器fifo的读写控制处理方法、电路及系统
US20110130171A1 (en) Asynchronous conversion circuitry apparatus, systems, and methods
JP6500910B2 (ja) インターフェース回路、記憶装置、情報処理システム、および、インターフェース回路の制御方法
US20080031167A1 (en) Single-wire asynchronous serial interface
JP7334519B2 (ja) シリアル通信装置、通信制御方法、及びプログラム
TW201031120A (en) Low power variable delay circuit
TW201015570A (en) Semiconductor memory apparatus
TW202203044A (zh) 符合擴展式串列周邊介面規格的裝置與系統
JP2016092445A (ja) シリアル通信システム
KR100498233B1 (ko) 선입선출 메모리 회로 및 그 구현 방법
TW201714099A (zh) 用於經由平行匯流排高速率資料傳輸之有效率編碼及解碼架構
US20080172540A1 (en) Asynchronous data interface
EP1154575B1 (en) Entropy codec for fast data compression and decompression
EP2175363A1 (en) Processor and method of decompressing instruction bundle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230731

R151 Written notification of patent or utility model registration

Ref document number: 7334519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151