特開2017-183893(P2017-183893A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

<>
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000003
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000004
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000005
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000006
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000007
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000008
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000009
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000010
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000011
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000012
  • 特開2017183893-リカバリ回路およびリカバリ方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-183893(P2017-183893A)
(43)【公開日】2017年10月5日
(54)【発明の名称】リカバリ回路およびリカバリ方法
(51)【国際特許分類】
   H04L 7/08 20060101AFI20170908BHJP
【FI】
   H04L7/08 500
【審査請求】未請求
【請求項の数】5
【出願形態】OL
【全頁数】16
(21)【出願番号】特願2016-65686(P2016-65686)
(22)【出願日】2016年3月29日
(71)【出願人】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100080159
【弁理士】
【氏名又は名称】渡辺 望稔
(74)【代理人】
【識別番号】100090217
【弁理士】
【氏名又は名称】三和 晴子
(72)【発明者】
【氏名】内山 義弘
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA02
5K047HH44
5K047HH57
(57)【要約】
【課題】ノイズ等によりシリアルビット列中にエラーが発生してパラレルデータのビット区切り位置がずれた場合に、次の基準シンボルを待つことなく、正しいビット区切り位置にリカバリすることができるリカバリ回路を提供する。
【解決手段】リカバリ回路では、エラーフラグが、第4のパラレルデータにエラーがある状態に変化した場合に、ビットシフト回路が、直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータのビットを1ビットずつシフトして第3のパラレルデータを生成する。エラーフラグが、第4のパラレルデータにエラーがない状態に変化した場合に、区切り位置決定回路が、直前にビットシフト回路に設定されたビットシフト量に対応するビット区切り位置に基づいて、第2のパラレルデータを生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
送信側回路から順次受信したシリアルビット列を一定のビット幅の第1のパラレルデータに順次変換するシリアルパラレル変換回路と、
前記第1のパラレルデータが基準シンボルなのか否かを順次検出し、前記基準シンボルを検出した場合に、前記検出した基準シンボルに基づいて、前記第1のパラレルデータのビット区切り位置を決定して第2のパラレルデータを順次生成する区切り位置決定回路と、
前記第1のパラレルデータのビットを、設定されたビットシフト量だけ、時間的に後ろ側のシリアルビットの方向にシフトして第3のパラレルデータを順次生成するビットシフト回路と、
切り替え信号に基づいて、前記第2のパラレルデータと前記第3のパラレルデータとを切り替え、第4のパラレルデータとして順次出力するマルチプレクサと、
前記第4のパラレルデータに含まれるエラー検出符号に基づいて、前記第4のパラレルデータにエラーがあるか否かを検出してエラーフラグを生成するエラー検出回路と、
前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトするビットシフト量を計算して前記ビットシフト回路に順次設定し、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した直前に前記ビットシフト回路に設定したビットシフト量に対応するビット区切り位置を計算して前記区切り位置決定回路に設定し、かつ、前記第2のパラレルデータを選択することを表す前記切り替え信号を出力するコントローラとを備え、
前記区切り位置決定回路は、さらに、前記コントローラによって設定されたビット区切り位置に基づいて、前記第2のパラレルデータを生成するリカバリ回路。
【請求項2】
前記コントローラは、さらに、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記エラーのない前記第4のパラレルデータの次の前記第4のパラレルデータから一定数の前記第4のパラレルデータが前記マルチプレクサから出力されるまでの間、前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態であるか否かを確認する請求項1に記載のリカバリ回路。
【請求項3】
前記コントローラは、さらに、前記次の第4のパラレルデータから前記一定数の第4のパラレルデータが前記マルチプレクサから出力されるまでの間に、前記エラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、再び、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記ビットシフト量を計算して前記ビットシフト回路に順次設定する請求項2に記載のリカバリ回路。
【請求項4】
前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、前記コントローラは、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトする前に、1回目のビットシフト量を0にして前記ビットシフト回路に設定する請求項1ないし3のいずれか一項に記載のリカバリ回路。
【請求項5】
シリアルパラレル変換回路が、送信側回路から順次受信したシリアルビット列を一定のビット幅の第1のパラレルデータに順次変換するステップと、
区切り位置決定回路が、前記第1のパラレルデータが基準シンボルなのか否かを順次検出し、前記基準シンボルを検出した場合に、前記検出した基準シンボルに基づいて、前記第1のパラレルデータのビット区切り位置を決定して第2のパラレルデータを順次生成するステップと、
ビットシフト回路が、前記第1のパラレルデータのビットを、設定されたビットシフト量だけ、時間的に後ろ側のシリアルビットの方向にシフトして第3のパラレルデータを順次生成するステップと、
マルチプレクサが、切り替え信号に基づいて、前記第2のパラレルデータと前記第3のパラレルデータとを切り替え、第4のパラレルデータとして順次出力するステップと、
エラー検出回路が、前記第4のパラレルデータに含まれるエラー検出符号に基づいて、前記第4のパラレルデータにエラーがあるか否かを検出してエラーフラグを生成するステップと、
前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、コントローラが、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトするビットシフト量を計算して前記ビットシフト回路に順次設定するステップと、
前記エラーフラグが前記第4のパラレルデータに前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記コントローラが、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した直前に前記ビットシフト回路に設定したビットシフト量に対応するビット区切り位置を計算して前記区切り位置決定回路に設定し、かつ、前記第2のパラレルデータを選択することを表す前記切り替え信号を出力するステップと、
前記区切り位置決定回路が、前記コントローラによって設定されたビット区切り位置に基づいて、前記第2のパラレルデータを生成するステップとを含むリカバリ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信側回路から伝送路を介して受信したシリアルビット列をパラレルデータに変換する受信側回路において、パラレルデータのビット区切り位置がずれた場合に、正しいビット区切り位置にリカバリするリカバリ回路およびリカバリ方法に関する。
【背景技術】
【0002】
送信側回路から高速差動シリアルI/F(Interface:インタフェイス)を介してシリアルビット列を受信する受信側回路では、通常、シリアルビット列中からK28.5のようなコンマシンボル(Commaシンボル)と呼ばれる基準シンボルが検出され、検出された基準シンボルに基づいて、シリアルビット列中からパラレルデータバスのビット幅に対応する一定のビット幅のパラレルデータのビット区切り位置が検出される。
【0003】
図6は、エラーがない場合のシリアルビット列とパラレルデータのビット区切り位置との関係を表す一例の概念図である。図6は、パラレルデータバスのビット幅が10ビットの場合であり、直前の基準シンボルによって決定されたパラレルデータのビット区切り位置は、下向き矢印で示すように、シリアルビットb-1とb0との間、b9とb10との間、b19とb20との間、b29とb30との間、…というように、10ビット間隔となる。また、時間的に隣り合うビット区切り位置の間に含まれる10ビットのシリアルビット列b0〜b9、b10〜b19、b20〜b29、…がそれぞれパラレルデータとなる。
【0004】
しかし、ノイズ等によりシリアルビット列中にエラーが発生した場合、パラレルデータのビット区切り位置が正しくない位置にずれる場合がある。例えば、シリアルビット列中からのシリアルビットの抜け、ないし、シリアルビット列中へのシリアルビットの追加が発生した場合、これ以後のパラレルデータのビット区切り位置がずれることになる。
【0005】
図7は、ビット抜けのエラーがある場合のシリアルビット列とパラレルデータのビット区切り位置との関係を表す一例の概念図である。図7は、図6において、シリアルビットb14の抜けが発生した場合である。この場合、図6に示すパラレルデータb10〜b19は、図7に示すように、パラレルデータb10〜b20となるため、エラーがあると判断される。また、シリアルビットb15以降のシリアルビット列にエラーはないが、ビット区切り位置が、シリアルビットb20とb21との間、b30とb31との間、…というように、正しくない位置にずれているため、シリアルビットb21以降のパラレルデータにもエラーがあると判断される。
【0006】
従来の受信側回路では、上記のように、パラレルデータのビット区切り位置がずれた場合、シリアルビット列中から検出された次の基準シンボルに基づいて、正しいビット区切り位置に修正される。
【0007】
図8は、基準シンボルに基づいて、パラレルデータのビット区切り位置が正しい位置に修正される様子を表す一例の概念図である。図8において、左端の下向き矢印は、直前の基準シンボルによって決定されたパラレルデータのビット区切り位置、右側の3つの下向き矢印は、次の基準シンボルによって決定されたパラレルデータのビット区切り位置を表す。この場合、シリアルビットb40とb41との間のビット区切り位置はずれているため、パラレルデータb41〜B49にはエラーがあると判断される。続いて、シリアルビット列b50〜b59が次の基準シンボルであることが検出された場合、検出された次の基準シンボルに基づいて、シリアルビットb49とb50との間、b59とb60との間、b69とb70との間というように、ビット区切り位置が正しい位置に修正される。これにより、シリアルビットb50以降のパラレルデータb50〜b59、b60〜b69、…にはエラーがないと判断される。
【0008】
しかし、従来の受信側回路では、シリアルビット列中にエラーが発生してから次の基準シンボルを受信するまでの間、正しい区切り位置をリカバリして正しいパラレルデータを得ることができない。
【0009】
図9は、従来の受信側回路において、ディスプレイポートの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一例の概念図である。ディスプレイポートは、映像機器等を画像表示装置に接続するためのインタフェイス規格の1つであり、映像信号のインタフェイス規格に関する標準化団体VESA(Video Electronics Standards Association)によって策定されたものである。図9に示すように、ディスプレイポート(Displayport)の規格の場合、1フレームの各々のライン(line)の開始タイミングにおいて1回ずつ、基準シンボルとなるコンマシンボル(Comma)が送信側回路から受信側回路へ送信される。
【0010】
また、図10は、従来の受信側回路において、VBOの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一例の概念図である。図10に示すように、VBO(V-by-One)の規格の場合、1フレームの開始タイミングにおいて1回、および、画像領域の各々のラインの開始タイミングにおいて1回ずつ、コンマシンボルが送信側回路から受信側回路へ送信される。
【0011】
図9に示すように、ディスプレイポートの規格の場合には、ビット区切り位置がずれてから最大で1ラインの期間の間、正しい区切り位置にリカバリすることができない。また、図10に示すように、VBOの規格の場合には、例えば、垂直ブランキング期間中にビット区切り位置がずれた場合、ビット区切り位置がずれてから画像領域になるまでの間、正しいビット区切り位置にリカバリすることができない。
【0012】
上記のように、シリアルビット列中にエラーが発生してビット区切り位置がずれた場合、シリアルビット列自体は、直ちにエラーのない正しい値に復帰したとしても、次の基準シンボルを受信してビット区切り位置を正しい位置に修正しない限り、正しいパラレルデータを得ることができない。つまり、ビット区切り位置がずれてから次の基準シンボルを受信するまでの間、エラー状態のパラレルデータが継続することになる。
【0013】
また、本発明に関連性のある先行技術文献として、特許文献1〜5がある。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2000−36805号公報
【特許文献2】特開2001−230678号公報
【特許文献3】特開2004−349742号公報
【特許文献4】特開2013−9191号公報
【特許文献5】特開2013−146105号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明の目的は、ノイズ等によりシリアルビット列中にエラーが発生してパラレルデータのビット区切り位置がずれた場合に、次の基準シンボルを待つことなく、正しいビット区切り位置にリカバリすることができるリカバリ回路およびリカバリ方法を提供することにある。
【課題を解決するための手段】
【0016】
上記目的を達成するために、本発明は、送信側回路から順次受信したシリアルビット列を一定のビット幅の第1のパラレルデータに順次変換するシリアルパラレル変換回路と、
前記第1のパラレルデータが基準シンボルなのか否かを順次検出し、前記基準シンボルを検出した場合に、前記検出した基準シンボルに基づいて、前記第1のパラレルデータのビット区切り位置を決定して第2のパラレルデータを順次生成する区切り位置決定回路と、
前記第1のパラレルデータのビットを、設定されたビットシフト量だけ、時間的に後ろ側のシリアルビットの方向にシフトして第3のパラレルデータを順次生成するビットシフト回路と、
切り替え信号に基づいて、前記第2のパラレルデータと前記第3のパラレルデータとを切り替え、第4のパラレルデータとして順次出力するマルチプレクサと、
前記第4のパラレルデータに含まれるエラー検出符号に基づいて、前記第4のパラレルデータにエラーがあるか否かを検出してエラーフラグを生成するエラー検出回路と、
前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトするビットシフト量を計算して前記ビットシフト回路に順次設定し、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した直前に前記ビットシフト回路に設定したビットシフト量に対応するビット区切り位置を計算して前記区切り位置決定回路に設定し、かつ、前記第2のパラレルデータを選択することを表す前記切り替え信号を出力するコントローラとを備え、
前記区切り位置決定回路は、さらに、前記コントローラによって設定されたビット区切り位置に基づいて、前記第2のパラレルデータを生成するリカバリ回路を提供する。
【0017】
ここで、前記コントローラは、さらに、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記エラーのない前記第4のパラレルデータの次の前記第4のパラレルデータから一定数の前記第4のパラレルデータが前記マルチプレクサから出力されるまでの間、前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態であるか否かを確認することが好ましい。
【0018】
前記コントローラは、さらに、前記次の第4のパラレルデータから前記一定数の第4のパラレルデータが前記マルチプレクサから出力されるまでの間に、前記エラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、再び、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記ビットシフト量を計算して前記ビットシフト回路に順次設定することが好ましい。
【0019】
また、前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、前記コントローラは、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトする前に、1回目のビットシフト量を0にして前記ビットシフト回路に設定することが好ましい。
【0020】
また、本発明は、シリアルパラレル変換回路が、送信側回路から順次受信したシリアルビット列を一定のビット幅の第1のパラレルデータに順次変換するステップと、
区切り位置決定回路が、前記第1のパラレルデータが基準シンボルなのか否かを順次検出し、前記基準シンボルを検出した場合に、前記検出した基準シンボルに基づいて、前記第1のパラレルデータのビット区切り位置を決定して第2のパラレルデータを順次生成するステップと、
ビットシフト回路が、前記第1のパラレルデータのビットを、設定されたビットシフト量だけ、時間的に後ろ側のシリアルビットの方向にシフトして第3のパラレルデータを順次生成するステップと、
マルチプレクサが、切り替え信号に基づいて、前記第2のパラレルデータと前記第3のパラレルデータとを切り替え、第4のパラレルデータとして順次出力するステップと、
エラー検出回路が、前記第4のパラレルデータに含まれるエラー検出符号に基づいて、前記第4のパラレルデータにエラーがあるか否かを検出してエラーフラグを生成するステップと、
前記エラーフラグが前記第4のパラレルデータにエラーがないことを表す状態から前記エラーがあることを表す状態に変化した場合に、コントローラが、前記第3のパラレルデータを選択することを表す前記切り替え信号を出力し、かつ、前記エラーがあることを表す間、前記ビットシフト回路が前記第3のパラレルデータを生成する毎に、前記エラーがあることを表す状態に変化する直前の前記基準シンボルに基づいて決定された前記ビット区切り位置に対応する前記第1のパラレルデータのビットを1ビットずつシフトするビットシフト量を計算して前記ビットシフト回路に順次設定するステップと、
前記エラーフラグが前記第4のパラレルデータに前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した場合に、前記コントローラが、前記エラーがあることを表す状態から前記エラーがないことを表す状態に変化した直前に前記ビットシフト回路に設定したビットシフト量に対応するビット区切り位置を計算して前記区切り位置決定回路に設定し、かつ、前記第2のパラレルデータを選択することを表す前記切り替え信号を出力するステップと、
前記区切り位置決定回路が、前記コントローラによって設定されたビット区切り位置に基づいて、前記第2のパラレルデータを生成するステップとを含むリカバリ方法を提供する。
【発明の効果】
【0021】
本発明では、ノイズ等によりシリアルビット列中にエラーが発生して、ビット区切り位置がずれた場合に、次の基準シンボルの受信を待つことなく、パラレルデータのビット区切り位置を正しい位置に修正してリカバリすることができる。そのため、本発明によれば、ビット区切り位置がずれてパラレルデータにエラーが発生してから正しいパラレルデータを得ることができるまでの時間を短縮することができる。
【図面の簡単な説明】
【0022】
図1】本発明のリカバリ回路の構成を表す一実施形態のブロック図である。
図2図1に示すリカバリ回路の動作を表す一実施形態のフローチャートである。
図3A図1に示すリカバリ回路において、シリアルビット列にビット抜けのエラーがある場合に、ビット区切り位置がリカバリされる様子を表す一実施形態の概念図である。
図3B図1に示すリカバリ回路において、シリアルビット列にシリアルビットの値のエラーがある場合に、ビット区切り位置が変更されない様子を表す一実施形態の概念図である。
図4図1に示すリカバリ回路において、ディスプレイポートの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一実施形態の概念図である。
図5図1に示すリカバリ回路において、VBOの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一実施形態の概念図である。
図6】エラーがない場合のシリアルビット列とパラレルデータのビット区切り位置との関係を表す一例の概念図である。
図7】ビット抜けのエラーがある場合のシリアルビット列とパラレルデータのビット区切り位置との関係を表す一例の概念図である。
図8】基準シンボルに基づいて、パラレルデータのビット区切り位置が正しい位置に修正される様子を表す一例の概念図である。
図9】従来の受信側回路において、ディスプレイポートの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一例の概念図である。
図10】従来の受信側回路において、VBOの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一例の概念図である。
【発明を実施するための形態】
【0023】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のリカバリ回路およびリカバリ方法を詳細に説明する。
【0024】
図1は、本発明のリカバリ回路の構成を表す一実施形態のブロック図である。図1に示すリカバリ回路10は、送信側回路から高速差動シリアルバスI/F等の伝送路を介して受信したシリアルビット列をパラレルデータに変換する受信側回路において、ノイズ等によりシリアルビット列にエラーが発生してパラレルデータのビット区切り位置がずれた場合に、ビット区切り位置を正しい位置に修正してリカバリするものである。
【0025】
リカバリ回路10は、シリアルパラレル変換回路12と、区切り位置決定回路14と、ビットシフト回路16と、マルチプレクサ18と、エラー検出回路20と、コントローラ22とを備えている。
【0026】
シリアルパラレル変換回路12は、送信側回路から伝送路を介して順次受信したシリアルビット列(シリアルデータ)を、パラレルデータバスのビット幅に対応する一定のビット幅の第1のパラレルデータに順次変換する。
【0027】
続いて、区切り位置決定回路14は、シリアルパラレル変換回路12によって変換された第1のパラレルデータが基準シンボルなのか否かを順次検出し、基準シンボルを検出した場合に、検出した基準シンボルに基づいて、第1のパラレルデータのビット区切り位置を決定して第2のパラレルデータを順次生成する。
【0028】
続いて、ビットシフト回路16は、第1のパラレルデータのビットを、コントローラ22によって設定されたビットシフト量だけ、時間的に後ろ側のシリアルビットの方向にシフトして第3のパラレルデータを順次生成する。
【0029】
続いて、マルチプレクサ18は、コントローラ22によって生成された切り替え信号に基づいて、区切り位置決定回路14によって生成された第2のパラレルデータと、ビットシフト回路16によって生成された第3のパラレルデータとを切り替え、第4のパラレルデータとして順次出力する。
【0030】
切り替え信号が第2のパラレルデータを選択することを表す場合、第4のパラレルデータとして、マルチプレクサ18から第2のパラレルデータが出力される。また、切り替え信号が第3のパラレルデータを選択することを表す場合、第4のパラレルデータとして、マルチプレクサ18から第3のパラレルデータが出力される。
【0031】
第4のパラレルデータには、第4のパラレルデータに含まれるシリアルビット列が正しいか否かを検出するためのエラー検出符号が含まれている。
エラー検出回路20は、マルチプレクサ18から出力された第4のパラレルデータに含まれるエラー検出符号に基づいて、第4のパラレルデータにエラーがあるか否かを検出して、その検出結果となるエラーフラグを生成する。
【0032】
エラー検出回路20は、第4のパラレルデータにエラーがある場合、第4のパラレルデータにエラーがあることを表すエラーフラグを出力し、第4のパラレルデータにエラーがない場合、第4のパラレルデータにエラーがないことを表すエラーフラグを出力する。
【0033】
続いて、コントローラ22は、エラー検出回路20によって生成されたエラーフラグに基づいて、区切り位置決定回路14、ビットシフト回路16およびマルチプレクサ18の動作を制御する。
【0034】
コントローラ22は、エラーフラグが第4のパラレルデータにエラーがないことを表す状態からエラーがあることを表す状態に変化した場合に、第3のパラレルデータを選択することを表す切り替え信号を出力する。また、この場合、コントローラ22は、エラーフラグが第4のパラレルデータにエラーがあることを表す間、ビットシフト回路が第3のパラレルデータを生成する毎に、エラーフラグが第4のパラレルデータにエラーがあることを表す状態に変化する直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータのビットを、0ビットから最大で第1のパラレルデータのビット幅−1ビットまで、1ビットずつシフトするビットシフト量を計算してビットシフト回路16に順次設定する。
【0035】
また、コントローラ22は、エラーフラグが第4のパラレルデータにエラーがあることを表す状態からエラーがないことを表す状態に変化した場合に、エラーフラグが第4のパラレルデータにエラーがあることを表す状態からエラーがないことを表す状態に変化した直前にビットシフト回路16に設定したビットシフト量に対応するビット区切り位置を計算して区切り位置決定回路14に設定する。また、この場合、コントローラ22は、第2のパラレルデータを選択することを表す切り替え信号を出力する。
【0036】
次に、図2に示すフローチャートを参照して、リカバリ回路10の動作を説明する。
【0037】
初期状態において、エラー検出回路20から、第4のパラレルデータにエラーがないことを表すエラーフラグが出力されるものとする。これに応じて、コントローラ22から、第2のパラレルデータを選択することを表す切り替え信号が出力され、切り替え信号に基づいて、第2のパラレルデータが第4のパラレルデータとしてマルチプレクサ18から出力される。
【0038】
送信側回路から伝送路を介して受信側回路へシリアルビット列が順次送信されると、シリアルパラレル変換回路12により、送信側回路から伝送路を介して順次受信したシリアルビット列が一定のビット幅の第1のパラレルデータに順次変換される。
【0039】
続いて、区切り位置決定回路14により、第1のパラレルデータが基準シンボルなのか否かが順次検出される。その結果、第1のパラレルデータが基準シンボルであることが検出された場合に、区切り位置決定回路14により、検出された基準シンボルに基づいて、第1のパラレルデータのビット区切り位置が決定されて第2のパラレルデータが順次生成される。
【0040】
続いて、切り替え信号に基づいて、第2のパラレルデータと第3のパラレルデータとが切り替えられ、第4のパラレルデータとして、マルチプレクサ18から順次出力される。
前述のように、初期状態では、第2のパラレルデータを選択することを表す切り替え信号に基づいて、第2のパラレルデータが第4のパラレルデータとしてマルチプレクサ18から出力される。
【0041】
第4のパラレルデータは、シリアルビット列を送信するディスプレイポートの規格等の仕様に合わせてデータ解析等を実施するリンク(LINK)回路等の内部回路24に供給され、エラーフラグが、第4のパラレルデータにエラーがないことを表す場合に、内部回路24によって処理される。
【0042】
続いて、エラー検出回路20により、第4のパラレルデータにエラーがあるか否かが検出されてエラーフラグが生成される。
【0043】
続いて、コントローラ22により、エラーフラグが観測され、エラーフラグが第4のパラレルデータにエラーがあることを表す状態なのか、エラーがないことを表す状態なのかが確認される(ステップS1)。
【0044】
その結果、エラーフラグが第4のパラレルデータにエラーがないことを表す場合(ステップS1において‘NO’)、ステップS1へ戻り、コントローラ22により、エラーフラグの観測が引き続き行われる。
【0045】
一方、エラーフラグが第4のパラレルデータにエラーがないことを表す状態からエラーがあることを表す状態に変化した場合(ステップS1において‘YES’)、コントローラ22から、第3のパラレルデータを選択することを表す切り替え信号が出力され、データパスが第2のパラレルデータから第3のパラレルデータへ変更される(ステップS2)。また、コントローラ22により、エラーフラグが第4のパラレルデータにエラーがあることを表す状態に変化する直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータの1回目のビットシフト量=nビットが計算されてビットシフト回路16に設定される(ステップS3)。nは0から最大で第1のパラレルデータのビット幅−1までの整数である。nを0にした場合には、ビットシフトを行なわずに(ビットシフト量を0ビットとして)、再度、次の第4のパラレルデータにエラーがあるかないかを検出することにより、エラーが単なるシリアルビットの値のエラーなのか、パラレルデータのビット区切り位置のエラーなのかを識別することができる。また、ビットシフト量は、1〜パラレルデータのビット幅―1の間の任意の整数に設定しうる。
【0046】
続いて、ビットシフト回路16により、第1のパラレルデータのビットが、コントローラ22によって設定されたビットシフト量=nビットだけシフトされて第3のパラレルデータが生成される。
【0047】
続いて、切り替え信号に基づいて、第3のパラレルデータが、第4のパラレルデータとしてマルチプレクサ18から出力され、エラー検出回路20により、第4のパラレルデータにエラーがあるか否かが検出されてエラーフラグが生成される。
【0048】
続いて、コントローラ22により、エラーフラグが観測され、エラーフラグが第4のパラレルデータにエラーがあることを表す状態なのか、エラーがないことを表す状態なのかが確認される(ステップS4)。
【0049】
その結果、エラーフラグが第4のパラレルデータにエラーがあることを表す場合(ステップS4において‘YES’)、コントローラ22により、第1のパラレルデータの2回目のビットシフト量=n+1ビットが計算されてビットシフト回路16に設定される。これ以後の動作は、第1のパラレルデータの1回目のビットシフト量=nビットに順次1ビットが加算されて、ビットシフト回路16に設定された場合と同じである。
【0050】
以後同様にして、エラーフラグが第4のパラレルデータにエラーがあることを表す間、ビットシフト回路16が第3のパラレルデータを生成する毎に、コントローラ22により、第1のパラレルデータの3回目以降のビットシフト量=n+2、n+3、n+4、…、のビットシフト量、つまり、最大で第1のパラレルデータのビット幅−1ビットまでのビットシフト量が計算されてビットシフト回路16に順次設定され、上記の動作が繰り返し行われる。
【0051】
一方、第1のパラレルデータのビットを順次シフトした結果、エラーフラグが第4のパラレルデータにエラーがあることを表す状態からエラーがないことを表す状態に変化した場合(ステップS4において‘NO’)、続いて、コントローラ22により、エラーのない第4のパラレルデータの次の第4のパラレルデータから一定数の第4のパラレルデータがマルチプレクサ18から出力されるまでの間、エラーフラグが第4のパラレルデータにエラーがないことを表す状態であるか否かが確認される(ステップS5)。
【0052】
図3Aは、図1に示すリカバリ回路において、シリアルビット列にビット抜けのエラーがある場合に、ビット区切り位置がリカバリされる様子を表す一実施形態の概念図である。図3Aでは、1回目のビットシフト量n=1の場合で説明する。図3Aは、パラレルデータバスのビット幅が10ビットであり、図7の場合と同様に、図6において、シリアルビットb14の抜けが発生した場合である。この場合、図6に示すパラレルデータb10〜b19は、図3Aに示すように、第4のパラレルデータb10〜b20となるため、エラーがあると判断される。
【0053】
第4のパラレルデータb10〜b20にエラーがあると判断された場合、続いて、第4のパラレルデータb10〜b20の次の第4のパラレルデータは、エラーフラグが第4のパラレルデータb10〜b20にエラーがあることを表す状態に変化する直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータb21〜b30が1ビットシフトされて、パラレルデータb22〜b31となる。図3Aの場合、第4のパラレルデータb22〜b31にもエラーがあると判断される。
【0054】
第4のパラレルデータb22〜b31にエラーがあると判断された場合、続いて、第4のパラレルデータb22〜b31の次の第4のパラレルデータは、同じくエラーフラグが第4のパラレルデータb10〜b20にエラーがあることを表す状態に変化する直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータb31〜b40が2ビットシフトされて、パラレルデータb33〜b42となる。図3Aの場合、第4のパラレルデータb33〜b42にもエラーがあると判断される。
【0055】
以後同様にして、前の第4のパラレルデータにエラーがあると判断された場合、図3Aに示すように、第4のパラレルデータにエラーがないと判断されるまでの間、エラーフラグが第4のパラレルデータb10〜b20にエラーがあることを表す状態に変化する直前の基準シンボルに基づいて決定されたビット区切り位置に対応する第1のパラレルデータが、3ビット〜9ビットまで順次シフトされ、第4のパラレルデータとして、パラレルデータb33〜b42、b44〜b53、…、b99〜b108、b110〜b119が順次出力される。図3Aの場合、第4のパラレルデータb33〜b42、b44〜b53、…、b99〜b108にはエラーがあると判断され、第4のパラレルデータb110〜b119にはエラーがないと判断される。
【0056】
第4のパラレルデータb110〜b119にエラーがないと判断された場合、続いて、エラーのない第4のパラレルデータb110〜b119の次の第4のパラレルデータb120〜b129からbx〜bx+9までにエラーがあるか否かが確認される。
【0057】
その結果、エラーのない第4のパラレルデータの次の第4のパラレルデータから一定数の第4のパラレルデータがマルチプレクサ18から出力されるまでの間に、エラーフラグが第4のパラレルデータにエラーがないことを表す状態からエラーがあることを表す状態に変化した場合(ステップS6において‘YES’)、ステップS3へ戻り、上記の動作が繰り返し行われる。
【0058】
一方、エラーのない第4のパラレルデータの次の第4のパラレルデータから一定数の第4のパラレルデータがマルチプレクサ18から出力されるまでの間、エラーフラグが第4のパラレルデータにエラーがないことを表す状態であった場合(ステップS6において‘NO’)、コントローラ22により、エラーがあることを表す状態からエラーがないことを表す状態に変化した直前にビットシフト回路16に設定したビットシフト量に対応するビット区切り位置が計算されて区切り位置決定回路14に設定される(ステップS7)。
【0059】
続いて、コントローラ22から、第2のパラレルデータを選択することを表す切り替え信号が出力され、データパスが第3のパラレルデータから第2のパラレルデータに変更される(ステップS8)。
【0060】
続いて、区切り位置決定回路14により、コントローラ22によって設定されたビット区切り位置に基づいて、第2のパラレルデータが生成される。
【0061】
続いて、切り替え信号に基づいて、第2のパラレルデータが第4のパラレルデータとしてマルチプレクサ18から出力され、エラー検出回路20により、第4のパラレルデータにエラーがあるか否かが検出されてエラーフラグが生成される。
これ以後は、ステップS1へ戻り、前述の動作が繰り返し行われる。
【0062】
次に、図3Bは、図1に示すリカバリ回路において、シリアルビット列にシリアルビットの値のエラーがある場合に、ビット区切り位置が変更されない様子を表す一実施形態の概念図である。図3Bでは、1回目のビットシフト量n=0の場合で説明する。図3Bは、図1に示すリカバリ回路において、シリアルビットb14の値のエラーはあるが、ビット抜けや追加による、ビット区切り位置のエラーはない場合の動作を示す。
【0063】
図3Bの場合、b14の値は正しくないが、図3Aの場合と異なり、ビット区切り位置にエラーはない。この場合、第4のパラレルデータb10〜b19にエラーがあると判断される。第4のパラレルデータb10〜b19にエラーがあると判断された場合、エラーフラグが第4のパラレルデータにエラーがあることを示す状態に変化し、第3のパラレルデータが、第4のパラレルデータとしてマルチプレクサ18から出力される。
【0064】
図3Bでは、1回目のビットシフト量n=0であるため、ビットシフト回路16によるビットシフトは行われず、続いて、b20〜b29が第4のパラレルデータとしてマルチプレクサ18から出力される。本実施例では、b14の値のエラーだけでb20〜b29にエラーはないため、第4のパラレルデータb20〜b29にはエラーがないと判断される。この場合、エラーは、シリアルデータの値のエラーであると識別することができる。
以降の動作は、図2のステップS5以降の動作と同じであるため、省略する。
【0065】
図4および図5は、それぞれ、図1に示すリカバリ回路において、ディスプレイポートおよびVBOの規格に準拠するシリアルビット列にエラーがある場合に、区切り位置がリカバリされるタイミングを表す一実施形態の概念図である。図4および図5は、それぞれ、図9および図10に対応するものであり、基準シンボルとなるコンマシンボルが送信側回路から受信側回路へ送信されるタイミングは同じである。
【0066】
図4および図5に示すように、リカバリ回路10では、ディスプレイポートおよびVBOの規格に関わらず、ノイズ等によりシリアルビット列中にエラーが発生して、ビット区切り位置がずれた場合に、次のコンマシンボルの受信を待つことなく、パラレルデータのビット区切り位置を正しい位置に修正してリカバリすることができる。そのため、ビット区切り位置がずれてパラレルデータにエラーが発生してから正しいパラレルデータを得ることができるまでの時間を短縮することができる。
【0067】
また、第1のパラレルデータのビットを1ビットずつシフトする前に、1回目のビットシフト量nを0にしてビットシフト回路16に設定することにより、エラーが第1パラレルデータのビット区切り位置のエラーなのか、シリアルデータの値のエラーなのかを識別することができる。そのため、シリアルデータの値のエラーのみである場合には、第1パラレルデータのビットをシフトする必要がなく、エラーが発生してから正しいパラレルデータを得ることができるまでの時間を短縮することができる。
【0068】
なお、上記実施形態の場合、パラレルデータバスのビット幅を10ビットとしているが、パラレルデータバスのビット幅は、2ビット以上であればよい。
【0069】
ビット区切り位置を計算して区切り位置決定回路14に設定した後、第4のパラレルデータにエラーがあるか否かを確認することは必須ではない。また、確認する期間は、エラーのない第4のパラレルデータの次の第4のパラレルデータから1以上の第4のパラレルデータがマルチプレクサ18から出力されるまでの期間であればよい。第4のパラレルデータにエラーがあるか否かを確認する期間が長いほど、確認に要する時間は長くなるが、より正確にビット区切り位置を検出することができる。
【0070】
また、上記実施形態では、シリアルビット列中から1ビットのシリアルビットの抜けが発生してビット区切り位置がずれた場合を例に挙げて説明しているが、本発明はこれに限定されず、シリアルビット列中から複数ビットのシリアルビットの抜けが発生した場合、シリアルビット列中に1ビットないし複数ビットのシリアルビットが追加された場合、シリアルビットの値が化けた場合等にも同様に適用可能である。
【0071】
また、上記実施形態では、ディスプレイポートおよびVBOの規格に準拠して送信側回路から受信側回路へシリアルビット列が送信される場合を例に挙げて説明したが、本発明は、シリアルビット列を送信するための規格に限定されず、送信側回路から伝送路を介して受信したシリアルビット列をパラレルデータに変換する受信側回路において適用可能である。
【0072】
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【0073】
10 リカバリ回路
12 シリアルパラレル変換回路
14 区切り位置決定回路
16 ビットシフト回路
18 マルチプレクサ
20 エラー検出回路
22 コントローラ
24 内部回路
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10