説明

シリアル同期検出回路及び同期検出方法

【課題】異なるプロトコルのシリアル通信に対応可能であって、より回路規模を抑制したシリアル同期検出回路及び同期検出方法を提供する。
【解決手段】本実施の形態にかかるシリアル同期検出回路10は、それぞれ異なるビット長の同期コードを有する複数のプロトコルに対応可能なシリアル同期検出回路である。シリアル同期検出回路1は、同期コードを含むシリアル信号を所定ビット数単位のパラレル信号に変換するシリアルパラレル変換回路101と、変換されたパラレル信号と、複数のプロトロコルに含まれる任意のプロトコルの同期コードを前記所定ビット数に分割した同期期待値とを、所定ビット数単位で順に繰り返し比較して、同期コード全体を比較することにより、同期を検出する同期検出回路110〜140とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアル同期検出回路及び同期検出方法に関し、特に複数のプロトコルに対応するシリアル同期検出回路及び同期検出方法に関する。
【背景技術】
【0002】
近年、デジタルスチールカメラ(Digital Still Camera:以下、DSCと言う。)等に実装されたイメージセンサのインタフェースには、セットの小型化の要求からLVDS(Low Voltage Differential Signaling)等のシリアルインターフェースが採用されている。
【0003】
また、CMOS(Complementary Metal Oxide Semiconductor)センサ、及びCCD(Charge Coupled Device)センサ等のイメージセンサ用の半導体集積回路(以下、センサデバイスと言う。)は、製品の機能及び価格等の仕様により、異なる種類のものが使い分けられている。ここで、各種センサデバイスは、種類毎に画像のフォーマット(画素単位、同期コード長等)が異なる。
【0004】
よって、DSCや携帯電話に搭載されたカメラ等を用途とする画像処理用半導体装置では、各種センサデバイス毎に異なる画像のフォーマットの仕様に対応可能な、シリアルインターフェース転送の同期検出回路(以下、シリアル同期検出回路とも言う。)が求められている。
【0005】
特許文献1に記載の技術は、高速のシリアル信号を、直並列変換後の低ビットレートで同期検出するものである。図14は、特許文献1に記載のシリアルパラレル変換回路1000を示すブロック図である。
【0006】
シリアルパラレル変換回路1000は、10ビットシフトレジスタ回路1003、10ビットラッチ回路1005、同期検出回路1007、同期有効判定回路1009、クロック制御データ出力回路1011、及び1/10分周カウンタ回路1013を備えている。
【0007】
送信側(不図示)から送信されたシリアルデータ信号1001は、10ビットシフトレジスタ回路1003に入力される。シリアルデータ信号1001のビットタイミングを表すシリアルクロック信号1002は、送信側(図示せず)から送信され、10ビットシフトレジスタ回路1003及び1/10分周カウンタ回路1013に入力される。
【0008】
シリアルデータ信号1001の中には、例えば、3FFH、000H、000Hのように、オール1とオール0の組み合わせからなる連続した3ワードの同期コードが付加されている。なお、シリアルデータ信号1001のデータ部分(同期コード以外の部分)には、ワード単位にオール1またはオール0となる信号が出現しないよう、あらかじめ送信側に禁止手段が設けられている。
【0009】
10ビットシフトレジスタ回路1003は、シリアルクロック信号1002により特定されるタイミングに応じて、シリアルデータ信号1001を1ビットずつシフトする。そして、1ワード分のパラレルデータ信号1004−1〜1004−10を、10ビットラッチ回路1005に出力する。
【0010】
10ビットラッチ回路1005は、1/10分周カウンタ回路1013からのパラレルクロック信号1014を入力する。そして、パラレルクロック信号1014をトリガとして、10ビットシフトレジスタ回路1003からのパラレルデータ信号1004−1〜1004−10をラッチする。10ビットラッチ回路1005は、ラッチ後の10ビットパラレルデータ信号1006−1〜1006−10を後段(図示せず)に出力するとともに、同期検出回路1007に出力する。
【0011】
同期検出回路1007では、入力したパラレルデータ信号1006−1〜1006−10が、送信側でシリアルデータ信号1001に含まれる3ワードの同期コードと同じか否かを1ワードずつ検出する。そして、例えば連続して3ワードの3FFH、000H、000Hが検出されれば、同期検出パルス信号1008を、クロック制御データ出力回路1011及び同期有効判定回路1009に出力する。
【0012】
図15は、同期検出パルス信号1008、同期有効判定回路1009及び有効判定信号1010の動作タイミングを示す図である。
【0013】
図15(a)は、同期検出回路1007がシリアルデータ信号1001に含まれる同期コードを毎回検出した場合の信号波形を示す図である。同期検出パルス信号1008のパルス信号は、連続して3ワードの3FFH、000H、000Hが検出される度に出力される。よって、同期検出回路1007が、送信側において所定の間隔である、1Hの間隔でシリアルデータ信号1001に付加された同期コードを毎回検出した場合は、同期検出パルス信号1008のパルス信号の出力間隔も、1Hとなる。
【0014】
同期有効判定回路1009は、同期検出パルス信号1008が入力されると、そのパルス信号をトリガにして、例えば3Hの幅の、有効判定信号1010を出力する。同期有効判定回路1009は、同期検出パルス信号1008が入力する度にリトリガ動作する。よって、最初の同期検出パルスが同期有効判定回路1009に入力された以降は、同期検出パルス信号1008のパルス間隔が例えば3H未満であれば、有効判定信号1010の幅は途切れることなく出力され続ける。このような波形の有効判定信号1010が出力されているときは、同期が有効な期間が続いていることを示している。
【0015】
クロック制御データ出力回路1011は、同期検出パルス信号1008および有効判定信号1010を入力する。クロック制御データ出力回路1011は、有効判定信号1010が出力されておらず、同期が有効でないと判定される期間に、例えば3.5Hを周期とするクロック制御パルス信号1012を出力する。
【0016】
クロック制御データ出力回路1011から出力されたクロック制御パルス信号1012は、1/10分周カウンタ回路1013に入力される。1/10分周カウンタ回路1013は、クロック制御パルス信号1012が入力される度に、パラレルクロック信号1014の出力タイミングを、シリアルクロック信号1002の1クロック分ずつ余分にずらせて出力するシフト動作を行う。
【0017】
クロック制御データ出力回路1011は、入力された同期検出パルス信号1008の発生周期が3.5H未満の場合は、クロック制御パルス信号1012の出力をリセットする。よって、同期検出パルス信号1008の周期が1Hの場合は、クロック制御パルス信号1012は出力されない。
【0018】
次に、同期検出パルス信号1008の検出失敗が発生した場合等、同期検出パルス間隔が部分的に1H以上の周期、例えば2Hや3Hの周期になった場合の動作について説明する。図15(b)は、同期検出パルス信号1008が部分的に1H以上の周期となった場合の信号波形を示している。
【0019】
点線で示した同期検出パルス信号1008のパルスは、出力されていないパルスであることを示している。このとき、クロック制御データ出力回路1011は、上述のとおり、同期検出パルス信号1008の入力時から3.5H経過するまでは、クロック制御パルス信号1012を出力しない。ここで、同期検出パルス信号1008のパルスの間隔は、2Hや3Hの周期であるので、クロック制御パルス信号1012は出力されない。
【0020】
一方、動作の初期状態で、10ビットパラレルデータ信号1006−1〜1006−10がワードごとに、正しくMSB(最上位ビット:Most Significant Bit)〜LSB(最下位ビット:Least Significant Bit)の組合せに一致しない場合、同期検出回路1007は同期検出パルス信号1008を出力しない。図15(c)は、同期検出パルス信号1008が3.5H以上出力されなかった場合の信号波形を示している。このとき、クロック制御データ出力回路1011は、3.5H周期でクロック制御パルス信号1012を出力する。
【0021】
1/10分周カウンタ回路1013は、クロック制御パルス信号1012が入力される度に、パラレルクロック信号1014の出力タイミングでシフト動作を行う。このシフト動作を繰り返すことによって、10ビットパラレルデータ信号1006−1〜1006−10が正しくMSB〜LSBの組合せに一致する。すると、同期検出回路1007により同期コードが検出されるので、初めて有効判定信号1010が出力される。ここで、10ビットパラレルデータ信号1006−1〜1006−10が正しくMSB〜LSBの組み合せと一致した状態が続けば、以降は図15(a)で述べた動作と同じになる。
【0022】
図15(d)は、同期コードの誤検出が発生した場合の信号を示す図である。10ビットパラレルデータ信号1006−1〜1006−10が、正しくMSB〜LSBの組み合せと一致するまでの間に、同期コードの誤検出が発生している。しかし、誤検出した場合であっても、クロック制御パルス信号1012の発生が停止するため、タイミング期間が増加するのみであり、大きな障害とはならない。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】特開平7−221749号公報
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかしながら、特許文献1に記載の技術では、シリアルパラレル変換回路1000が複数の接続されたセンサデバイスに対応するように構成すると、接続されたセンサデバイスのプロトコルのうち、最大のワード数に対応できるようにしなければならない。特許文献1に記載の技術では、ワード数単位でシフト動作とラッチ動作を行うため、シフトレジスタ回路及びラッチ回路は、ワードの最大数分のF/F(Flip Flop)が必要となる。したがって、特許文献1に記載の技術では、回路に含まれるF/F数が多くなるという問題があった。
【課題を解決するための手段】
【0025】
本発明は、それぞれ異なるビット長の同期コードを有する複数のプロトコルに対応可能なシリアル同期検出回路であって、前記同期コードを含むシリアル信号を所定ビット数単位のパラレル信号に変換するシリアルパラレル変換回路と、前記シリアルパラレル変換回路によって変換されたパラレル信号と、前記複数のプロトロコルに含まれる任意のプロトコルの同期コードを前記所定ビット数に分割した同期期待値とを、当該所定ビット数単位で順に繰り返し比較して、同期コード全体を比較することにより、同期を検出する同期検出回路とを備えたものである。
【0026】
本発明にかかる同期検出方法は、それぞれ異なるビット長の同期コードを有する複数のプロトコルに対応可能な同期検出方法であって、前記同期コードを含むシリアル信号を所定ビット数単位のパラレル信号に変換し、変換されたパラレル信号と、前記所定ビット数に分割された同期期待値とを、当該所定ビット数単位で順に繰り返し比較して、同期コード全体を比較することにより、同期を検出するものである。
【0027】
これにより、本発明にかかるシリアル同期検出回路及び同期検出方法は、同期コードを所定のビット数に分割して、所定ビット数単位で同期検出を行う。同期コードを所定ビット数に分割するため、ビット長が最大の同期コードを有するプロトコルに対応する場合と、ビット長が最小の同期コードを有するプロトコルに対応する場合とで、回路規模の相違を小さくでき、より回路規模を抑制することができる。
【発明の効果】
【0028】
本発明にかかる技術によれば、異なるプロトコルのシリアル通信に対応可能であって、より回路規模を抑制したシリアル同期検出回路及び同期検出方法を提供することができる。
【図面の簡単な説明】
【0029】
【図1】本実施の形態にかかるシリアル同期検出回路を示すブロック図である。
【図2】本実施の形態にかかる、モード1乃至4の条件を示す図である。
【図3】本実施の形態にかかるシリアル同期検出回路のフローチャートである。
【図4】本実施の形態にかかる同期検出回路110で、シリアルパラレル変換の同期が検出された場合に各構成が生成する信号を示す図である。シリアル同期検出回路の動作例である。
【図5】本実施の形態にかかる同期検出回路120で、シリアルパラレル変換の同期が検出された場合に各構成が生成する信号を示す図である。
【図6】本実施の形態にかかる同期検出回路130で、シリアルパラレル変換の同期が検出された場合に各構成が生成する信号を示す図である。
【図7】本実施の形態にかかる同期検出回路140で、シリアルパラレル変換の同期が検出された場合に各構成が生成する信号を示す図である。
【図8】本実施の形態にかかる同期検出回路110生成する信号を示す図である。
【図9】本実施の形態にかかる同期検出回路120生成する信号を示す図である。
【図10】本実施の形態にかかる同期検出回路130生成する信号を示す図である。
【図11】本実施の形態にかかる同期検出回路140生成する信号を示す図である。
【図12】本実施の形態にかかるシリアル同期検出回路のF/F数を示す表である。
【図13】従来のシリアルパラレル変換回路の必要な回路量(F/F数)の一例を示す図である。
【図14】従来のシリアルパラレル変換回路のブロック図である。
【図15】従来のシリアルパラレル変換回路の動作タイミングを説明する図である。
【発明を実施するための形態】
【0030】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0031】
図1は、本実施の形態にかかるシリアル同期検出回路10を示す図である。シリアル同期検出回路10は、S/P変換部101と、分周回路102と、同期検出回路110乃至140と、同期位置ラッチ回路103と、シフトレジスタ回路108と、同期データ選択回路109とを有する。ここで、同期位置ラッチ回路103と、シフトレジスタ回路108と、同期データ選択回路109は、出力部として機能する。本実施の形態にかかるシリアル同期検出回路10は、任意のビット数を4ビットとして、シリアルデータ信号151を4ビットに分割して、同期検出を行っている。
【0032】
シリアル同期検出回路10は、外部からの入力、又はCPU等から出力されたモード切替信号152に応じて、モードを切り替える。モード切替信号152は、同期データ選択回路109、同期検出回路110、同期検出回路120、同期検出回路130、同期検出回路140のそれぞれに対して入力される。
【0033】
S/P変換部101は、4ビットF/Fで構成され、シリアルクロック信号150とシリアルデータ信号151とを入力し、シリアルデータ信号151を4ビットのパラレルデータ信号154に変換して出力するシリアルパラレル変換回路である。そして、4ビットパラレルデータ信号154を、同期検出回路110乃至140と、シフトレジスタ回路108とに出力する。
【0034】
分周回路102は、4分周クロック153及び16分周クロック159を生成する。4分周クロック153は、同期検出回路110乃至140及び同期位置ラッチ回路103に供給される。分周回路102は、16分周クロック159を同期検出後のパラレルデータを処理する回路の動作クロックとして外部に出力する。
【0035】
シフトレジスタ回路108は、4ビットF/F104〜107を有し、4ビットパラレルデータ信号154を入力し、4ビット単位でシフト動作を行う。
【0036】
同期検出回路110乃至140は、分周回路102から4分周クロック153を、S/P変換部101から4ビットパラレルデータ信号154をそれぞれ入力する。同期検出回路110乃至140は、4ビットパラレルデータ信号154を4分周クロック153のサイクルで入力して処理を行う。同期検出回路110乃至140は、4ビットパラレルデータ信号154を、4ビットのスタート期待値信号212乃至242と比較して、同期コードのスタート位置を検出する。同期検出回路110乃至140は、4ビットパラレルデータ信号154と、スタート期待値信号212乃至242とが一致した場合、同期位置信号155を同期位置ラッチ回路103に出力する。
【0037】
同期位置ラッチ回路103は、同期検出回路110乃至140から出力される同期位置信号155と、4分周クロック153に基づき、スタート位置の情報を含む4ビットの同期検出信号156をラッチする。
【0038】
同期データ選択回路109は、同期検出信号156に基づき、シフトレジスタ回路108の出力データのワード単位パラレルデータ157を選択して、16分周クロック159のクロックタイミングで同期検出後パラレルデータ158を生成する。
【0039】
本実施の形態にかかるシリアル同期検出回路10は、ワードを4ビットに分割して、4ビット単位でスタート位置の検出を行う。そのため、ワード数が例えば16ビットであっても、S/P変換部101は、4ビットF/Fで構成することができる。また、同期位置ラッチ回路103は、4ビットのラッチ信号を出力するため、4ビットF/Fにより構成することができる。すなわち、従来では、ワードのビット数分のF/Fで構成していたS/P変換部101及び同期位置ラッチ回路103を、本実施の形態では、より少ないF/F数により構成することが可能である。したがって、本実施の形態にかかるシリアル同期検出回路10は、従来よりもF/F数を少なくすることができる。言い換えれば、同期コードの総ビット数が大きい場合でも、回路規模が抑制でき、従って、冗長回路を削減することができるという効果がある。更に、本実施の形態にかかるシリアル同期検出回路10においては、従来は1ワード単位で、同期コードの一致を検出していたものを、任意のビット数で分割して一致を検出する。そのため、従来は、1ワードのビット数が大きくなれば、ビット数に応じて回路規模が大きくなっていたが、本願においては、1ワードのビット数が大きくなっても、回路規模が大きくなることを抑制することができる。そのため、シリアル同期検出回路10では、より1ワード当たりのビット数が大きいものの方が、削減効果が大きい。
【0040】
本実施の形態にかかるシリアル同期検出回路10について、さらに詳細に説明する。シリアル同期検出回路10は、シリアルデータ信号151のプロトコルが異なる場合、すなわち、1ワードのビット数、同期コードのワード数、及び同期コードの総ビット数の条件に応じたモードで処理を実行する。
【0041】
本実施の形態では、シリアル同期検出回路10は、モード1乃至4を有する。図2は、モード1乃至4の条件を示す表である。1ワードのビット数が16、同期コードのワード数が3、及び同期コードの総ビット数が48のプロトコルに対応する場合には、モード1が設定される。同様に、1ワードのビット数が14、同期コードのワード数が3、及び同期コードの総ビット数は42の場合には、モード2が設定される。1ワードのビット数が12、同期コードのワード数が3、及び同期コードの総ビット数が36の場合には、モード3が設定される。1ワードのビット数が8、同期コードのワード数が3、及び同期コードの総ビット数が24の場合には、モード4が設定される。
【0042】
ここでは、シリアル同期検出回路10が、1ワードのビット数は8ビット、同期コードのワード長は3、同期コードの総ビット数は24のプロトコルに対応するために、モード4で動作する例について説明する。
【0043】
図1に示されるように、同期検出回路110は、期待値生成部111と、スタート期待値生成部112と、一致判定部113と、同期検出カウンタ114と、同期検出判定部115を備えている。なお、同期検出回路110、120、130及び140は、構成が同じであるため、適宜説明を省略する。
【0044】
期待値生成部111は、モード切替信号152及び同期検出カウンタ信号215を入力し、モードに応じた同期コード期待値信号211を生成して、一致判定部113に出力する。スタート期待値生成部112は、モード切替信号152を入力して、モードに応じた同期コードの先頭位置を検出するための信号であるスタート期待値信号212を生成し、一致判定部113に出力する。同期コード期待値信号及びスタート期待値信号については後述する。
【0045】
一致判定部113は、期待値生成部111から同期コード期待値信号211、スタート期待値生成部112からスタート期待値信号212、S/P変換部101から4ビットパラレルデータ信号154を入力する。
【0046】
一致判定部113は、4ビットパラレルデータ信号154と、同期コード期待値信号211とが一致した場合、同期コード期待値一致信号213として、「1」を同期検出カウンタ114に出力する。
【0047】
一致判定部113は、4ビットパラレルデータ信号154と、同期コード期待値信号211とが一致しなかった場合、同期コード期待値一致信号213として、「0」を同期検出カウンタ114に出力する。
【0048】
一致判定部113は、4ビットパラレルデータ信号154と、スタート期待値信号212とが一致した場合、スタート期待値一致信号214として「1」を同期検出カウンタ114に出力する。
【0049】
一致判定部113は、4ビットパラレルデータ信号154と、スタート期待値信号212とが一致しなかった場合、スタート期待値一致信号214として「0」を同期検出カウンタ114に出力する。
【0050】
同期検出カウンタ114は、モード切替信号152と、一致判定部113から出力された同期コード期待値一致信号213及びスタート期待値一致信号214とを入力する。同期検出カウンタ114は、同期コード期待値一致信号213及びスタート期待値一致信号214として「1」が入力されると、カウント値を1インクリメントする。同期検出カウンタ114は、同期コード期待値一致信号213及びスタート期待値一致信号214として「0」が入力されると、カウント値をクリアする。そして、同期検出カウンタ114は、カウント値を同期検出カウンタ信号215として、同期検出判定部115及び期待値生成部111に出力する。
【0051】
同期検出カウンタ114乃至144は、各モードの1ワードのビット数、同期コードのワード数に応じて、カウント値の最大値を切り替える。1ワードのビット数が最大となるモード1においては、同期コードの総ビット数が48ビットであるため、4ビット単位でカウント処理をするカウンタ値の最大値は、48ビットを4ビットで割った値に1を加えた値である13となる。1ワードのビット数が最小となるモード4においては、同期コードの総ビット数が24ビットであるため、4ビット単位でカウント処理するカウンタ値の最大値は、24ビットを4ビットで割った値に1を加えた値である7となる。
【0052】
同期コード期待値信号211乃至241とスタート期待値信号212乃至242について説明する。スタート期待値信号212乃至242は、4ビットパラレルデータ信号154の、いずれの位置のビットが同期コードの先頭であるか検出するための信号である。本実施の形態では、スタート期待値信号212乃至242は、同期コードの先頭の位置を1ビットずつずらすことにより生成される。
【0053】
例えば、同期コードが11111111_00000000_10101010(2進数で表記)であるとし、同期検出回路110乃至同期検出回路140が4ビット単位で同期検出を行う場合について説明する。また以降の説明で、「*」は該当する数値がドントケアであることを示す。
【0054】
同期検出回路110のスタート期待値生成部112は、4番目のビットが同期コードの先頭であるスタート期待値信号212として、スタート期待値1である{**01}を生成する。
【0055】
同期検出回路120のスタート期待値生成部122は、3番目のビットが同期コードの先頭であるスタート期待値信号222として、スタート期待値2である{*011}を生成する。
【0056】
同期検出回路130のスタート期待値生成部132は、2番目のビットが同期コードの先頭であるスタート期待値信号232として、スタート期待値3である{0111}を生成する。
【0057】
同期検出回路140のスタート期待値生成部142は、1番目のビットが同期コードの先頭であるスタート期待値信号242として、スタート期待値4である{1111}を生成する。
【0058】
ここでは、同期コードは4ビットに分割されているので、同期コードの先頭が現在、同期検出回路110乃至140に入力されている4ビットパラレルデータ信号154に含まれる場合は、スタート期待値信号212乃至242のいずれかと一致する。したがって、スタート期待値信号212乃至242と4ビットパラレルデータ信号154の一致を検出することにより、同期コードの先頭位置が検出できる。
【0059】
同期コード期待値信号211乃至241は、それぞれスタート期待値信号212乃至242と対応し、スタート期待値を除いた、残りの同期コードを、4ビットずつに分割したものである。
【0060】
すなわち、期待値生成部111は、同期コードから先頭ビット{1}を除いた、残りの同期コードを4ビットずつに分割して、期待値1を生成する。同期検出カウンタ114が、スタート期待値一致信号214を入力して、同期検出カウンタ信号215を出力した場合、期待値生成部111は、同期コード期待値信号211として、{1111}を出力する。以降、同期検出カウンタ信号215が入力される度に{1110}、{0000}、{0001}、{0101}、{010*}を同期コード期待値信号211として出力する。
【0061】
期待値生成部121は、同期コードから先頭ビット{11}を除いた、残りの同期コードを4ビットずつに分割して、期待値2を生成する。同期検出カウンタ124が、スタート期待値一致信号224を入力して、同期検出カウンタ信号225を出力した場合、期待値生成部121は、同期コード期待値信号221として、{1111}を出力する。以降、同期検出カウンタ信号225が入力される度に{1100}、{0000}、{0010}、{1010}、{10**}を同期コード期待値信号221として出力する。
【0062】
期待値生成部131は、同期コードから先頭ビット{111}を除いた、残りの同期コードを4ビットずつに分割して、期待値3を生成する。同期検出カウンタ134が、スタート期待値一致信号234を入力して、同期検出カウンタ信号235を出力した場合、期待値生成部131は、同期コード期待値信号231として、{1111}を出力する。以降、同期検出カウンタ信号235が入力される度に{1000}、{0000}、{0101}、{0101}、{0***}を同期コード期待値信号231として出力する。
【0063】
期待値生成部141は、同期コードから先頭ビット{1111}を除いた、残りの同期コードを4ビットずつに分割して、期待値4を生成する。同期検出カウンタ144が、スタート期待値一致信号244を入力して、同期検出カウンタ信号245を出力した場合、期待値生成部141は、同期コード期待値信号241として、{1111}を出力する。以降、同期検出カウンタ信号245が入力される度に{0000}、{0000}、{1010}、{1010}を同期コード期待値信号241として出力する。
【0064】
同期検出判定部115は、モード切替信号152及び同期検出カウンタ信号215を入力し、同期検出カウンタ信号215が、現在のモードにおける同期検出判定値である場合、同期位置ラッチ回路103に同期位置信号155を出力する。同期検出判定値ではない場合、同期位置信号155は出力しない。同期検出判定部115乃至145は、モード切替信号152に応じ、各モードの1ワードのビット数、同期コードのワード数に応じて、同期検出判定値の切り替えを行う。
【0065】
同期検出判定部115、125及び135は、同期コードの総ビット数を、任意のビット数である4ビットで割った値に1を加えた値を同期検出判定値とする。例えば、1ワードのビット数が16、ワード数が3、総ビット数が48となるモード1においては、同期検出判定値は、48ビットを4ビットで割った値である12に1を加えた値である13となる。同期検出判定部115、125、135は、同期検出カウンタ信号215、225及び235が、13に達した場合に同期検出と判断する。
【0066】
同期検出判定部145は、同期コードの総ビット数を任意のビット数である4ビットで割った値を同期検出判定値とする。例えば、1ワードのビット数が16、ワード数が3、総ビット数が48となるモード1においては、8ビットを4ビットで割った値である12となる。同期検出判定部145は、同期検出カウンタ信号245が12に達した場合に同期検出する。
【0067】
同期検出判定部115乃至145は、同期検出と判断した場合は、それぞれ「1」を出力する。同期検出判定部115乃至145のうち、いずれか1の回路が同期検出するので、同期位置信号155として{0001}、{0010}、{0100}、{1000}上記の4つの信号のうち、いずれか1が同期位置信号155として出力される。
【0068】
同期位置ラッチ回路103は、同期検出回路110乃至同期検出回路140のいずれかから出力される同期位置信号155と、分周回路102から出力される4分周クロック153を入力し、同期データ選択回路109へ同期検出信号156を出力する。
【0069】
シフトレジスタ回路108は、4ビットパラレルデータ信号154を4ビットF/F104に入力し、4ビットF/F104の出力を4ビットF/F105に入力し、4ビットF/F105の出力を4ビットF/F106に入力し、4ビットF/F106の出力を4ビットF/F107に入力する。
【0070】
同期データ選択回路109は、ワード単位パラレルデータ157、同期位置ラッチ回路103から出力された同期検出信号156をそれぞれ入力し、同期検出後パラレルデータ158を同期データ処理回路(不図示)に出力する。
【0071】
ワード単位パラレルデータ157は、例えばモード1の場合、シフトレジスタ回路108に入力される4ビットパラレルデータ信号154と、4ビットF/F104〜107の出力を束ねた合計20ビットの信号である。
【0072】
ワード単位パラレルデータ157は、例えばモード4の場合、シフトレジスタ回路108に入力される4ビットパラレルデータ信号154と、4ビットF/F106及び107の出力を束ねた合計12ビットの信号である。
【0073】
モード1の場合、同期データ選択回路109は、ワード数が16であるため、ワード単位パラレルデータ157より、16ビットの同期検出後の同期検出後パラレルデータ158を選択して出力する。具体的には、同期検出信号156が{0010}である場合、ワード単位パラレルデータ157の3番目のビット以降の16ビットを選択する。
【0074】
また、モード4の場合、同期データ選択回路109は、ワード数が8であるため、ワード単位パラレルデータ157より、8ビットの同期検出後の同期検出後パラレルデータ158を選択して出力する。具体的には、同期検出信号156が{0010}である場合、ワード単位パラレルデータ157の3番目のビット以降の8ビットを選択する。
【0075】
本実施の形態にかかるシリアル同期検出回路10は、複数のスタート期待値信号を生成することにより、同期コードのスタート位置を検出する。それにより、シリアルパラレル変換の同期を検出することができる。
【0076】
また、本実施の形態にかかるシリアル同期検出回路10は、スタート期待値に応じた同期コード期待値信号を生成することにより、4ビットパラレルデータ信号154と同期コードのすべてが一致することを検出した場合、同期位置信号155を出力する。これにより、より正確にシリアルパラレル変換の同期を検出することができる。
【0077】
また更に、本実施の形態にかかるシリアル同期検出回路10は、S/P変換部101が任意のビット数である4ビットに分割した4ビットパラレルデータ信号154を、シフトレジスタ回路108の有する4ビットF/F104乃至107に入力する。同期データ選択回路109は、シフトレジスタ回路108の出力から、現在のモードにおけるワードのビット数分の信号を選択して出力する。これにより、S/P変換部101が任意のビット数に分割した4ビットパラレルデータ信号154を、現在のモードにおけるワードのビット数の同期検出後パラレルデータ158として出力することができる。
【0078】
次に、本実施の形態にかかるシリアル同期検出回路10の動作について、さらに詳細に説明する。図3は、本実施の形態にかかるシリアル同期検出回路10の動作を示すフローチャートである。図4乃至図7は、それぞれ同期検出回路110乃至同期検出回路140で、シリアルパラレル変換の同期が検出された場合に各構成が生成する信号を示す図である。()の記載は、信号に対応する図3のステップを示す。
【0079】
同期検出回路110は、4ビットパラレルデータ信号154において、4ビットパラレルデータ信号154の値が、スタート期待値1である{*,*,0,1}に一致し、同期コードの先頭ビットがビット0の位置(P1Top)にある場合に同期検出する。
【0080】
同期検出回路120は、4ビットパラレルデータ信号154において、4ビットパラレルデータ信号154の値が、スタート期待値2である{*,0,1,1}に一致し、同期コードの先頭ビットがビット1の位置(P2Top)にある場合に同期検出する。
【0081】
同期検出回路130は、4ビットパラレルデータ信号154において、4ビットパラレルデータ信号154の値が、スタート期待値3である{0,1,1,1}に一致し、同期コードの先頭ビットがビット2の位置(P3Top)にある場合に同期検出する。
【0082】
同期検出回路140は、4ビットパラレルデータ信号154において、4ビットパラレルデータ信号154の値が、スタート期待値4である{1,1,1,1}に一致し、同期コードの先頭ビットがビット3の位置(P4Top)にある場合に同期検出する。
【0083】
まず、S/P変換部101は、シリアルデータ信号151を4ビットのパラレルデータ信号154に変換する(ステップS10)。
【0084】
シリアル同期検出回路10は、同期検出回路110、120、130及び140が並列に処理を行うため、適宜説明を省略する。
【0085】
次に、一致判定部113乃至143は、4ビットパラレルデータ信号154の中から同期コードの先頭位置を検索するために、それぞれ同期検出回路110乃至140のスタート期待値信号212乃至242すなわちスタート期待値1乃至4と4ビットパラレルデータ信号154の一致判定を行う(ステップS21〜24)。
【0086】
スタート期待値が一致しなかった場合(ステップS21〜S24:No)、一致しない場合はS/P変換処理(ステップS10)に戻り、次の4分周サイクルで取り込まれる4ビットパラレルデータ信号154に対して一致判定処理を行う。
【0087】
スタート期待値信号212乃至242が一致した場合、一致判定部113乃至143はそれぞれスタート期待値一致信号214乃至244を出力し、同期検出カウンタ114乃至144は、同期検出カウンタ114乃至144をインクリメントし、同期検出カウンタ信号215乃至245を出力する(ステップS31〜34)。
【0088】
期待値生成部111乃至141は、同期検出カウンタ114乃至144から出力された同期検出カウンタ信号215乃至245を入力すると、次の4分周サイクルで処理する同期コード期待値信号211乃至241を生成する(ステップS41〜44)。
【0089】
一致判定部113乃至143は、次の4分周サイクルで処理する4ビットパラレルデータ信号154を、S/P変換部101から入力する(ステップS51〜55)。次に、一致判定部113乃至143は、同期コード期待値信号211乃至241すなわち期待値1乃至4と4ビットパラレルデータ信号154の一致を判定する(ステップS61〜64)。一致した場合(ステップS61〜64:Yes)、同期コード期待値一致信号213乃至243を出力する。同期検出カウンタ114乃至144は、同期コード期待値一致信号213乃至243が入力されると、カウンタを1インクリメントすると共に、同期検出カウンタ信号215乃至245を出力する。同期検出カウンタ信号215乃至245が入力される度に、期待値生成部111乃至141は同期コード期待値信号211乃至241の生成を繰り返す。
【0090】
4ビットパラレルデータ信号154が、同期コード期待値信号211乃至241と一致しない場合、同期検出カウンタ114乃至144は、カウント値をクリアし(ステップS81)、ステップS21〜24に戻り、同期コードの先頭位置の検出処理を行う。
【0091】
同期検出判定部115乃至145は、同期検出カウンタ114乃至144から出力される同期検出カウンタ信号215乃至245から、全ての同期コードが一致したか否か判断する(ステップS71〜74)。ここでは、同期検出判定部115、125及び135は、同期検出カウンタ信号215、225及び235が7の場合、また同期検出判定部145は、同期検出カウンタ信号245が6の場合、一致を判定する。
【0092】
すべての同期コードについて、一致が検出された場合(ステップS71〜74:Yes)、同期位置信号155を出力する(ステップS100)。この際、同期位置信号155が同期検出回路110から出力された場合は{0001}、同期検出回路120から出力された場合は{0010}、同期検出回路130から出力された場合は{0100}、同期検出回路140から出力された場合は{1000}となる。
【0093】
全ての同期コードの一致が検出されていない場合(ステップS71〜74:No)、同期位置信号155は出力されず、ステップS41〜44に戻り、同期コード期待値信号211乃至241と4ビットパラレルデータ信号154との一致判定を繰り返す。
【0094】
同期位置ラッチ回路103は、同期位置信号155を入力されると、同期位置信号155をラッチして同期検出信号156として同期データ選択回路109に出力し、同期データ選択回路109は、同期検出後パラレルデータ158を出力する(ステップS110)。
【0095】
同期検出処理について、更に説明する。図8乃至図11は、同期検出回路110乃至140の生成する信号を示す図である。()内の記載は、図3のステップを示す。ここでは、同期コードの先頭ビットは、4ビットパラレルデータ信号154のビット4の位置(P5Top)にある場合について説明する。
【0096】
同期検出回路110は、4分周クロック153の1クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号212との一致を検出する(ステップS21)。次に、4ビットパラレルデータ信号154と同期コード期待値信号211である{1111}との一致を検出して(ステップS61)、同期検出カウンタ信号215を2までインクリメントする(ステップS31)。しかし、次の4分周クロック153のサイクルで入力される、4ビットパラレルデータ信号154である{1011}は、同期コード期待値信号211である{1110}と不一致である。そのため、同期検出カウンタ信号215をクリアする(ステップS81)。
【0097】
同期検出回路120は、4分周クロック153の3クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号222の一致を検出する(ステップS22)。次に、4ビットパラレルデータ信号154と同期コード期待値信号221である{1111}との一致を検出して(ステップS62)、同期検出カウンタ信号225が2となるまで同期コードの一致を検出しインクリメントする(ステップS32)。しかし、次の4分周クロック153サイクルで入力される、4ビットパラレルデータ信号154である{0111}は、同期コード期待値信号221である{1100}と不一致である。そのため、同期検出カウンタ信号225をクリアする(ステップS81)。
【0098】
同期検出回路130は、4分周クロック153の5クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号232の一致を検出する(ステップS23)。次に、4ビットパラレルデータ信号154と同期コード期待値信号231である{1111}との一致を検出して(ステップS63)、同期検出カウンタ信号235を2までインクリメントする(ステップS33)。しかし、次の4分周クロック153サイクルで入力される、4ビットパラレルデータ信号154である{1111}は、同期コード期待値信号231である{1000}と不一致である(ステップS63)。そのため、同期検出カウンタ信号235をクリアする(ステップS81)。
【0099】
同期検出回路140は、4分周クロック153の2クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号242との一致を検出する(ステップS24)。しかし、次の4分周クロック153の3クロック目に入力される、4ビットパラレルデータ信号154である{1011}と、同期コード期待値信号241である{1111}とを比較し、不一致を検出するので(ステップS64)、同期検出カウンタ信号245をクリアする(ステップS81)。
【0100】
次に、4分周クロック153の4クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号242との一致を検出する(ステップS24)。そして、次の4分周クロック153の5クロック目に入力される、4ビットパラレルデータ信号154である{0111}と、同期コード期待値信号241である{1111}とを比較し、不一致を検出する(ステップS64)。そして、同期検出カウンタ信号245をクリアする(ステップS81)。
【0101】
次に、4分周クロック153の6クロック目に入力された4ビットパラレルデータ信号154と、スタート期待値信号242との一致を検出する(ステップS24)。そして、次の4分周クロック153サイクルで入力される、4ビットパラレルデータ信号154である{1111}と、同期コード期待値信号241である{1111}とを比較し、一致を検出して(ステップS64)、同期検出カウンタ信号245をインクリメントする(ステップS34)。次に、4分周クロック153の8クロック目に入力された4ビットパラレルデータ信号154である{1111}と、同期コード期待値信号241である{0000}とを比較し、不一致を検出する(ステップS64)。そして、同期検出カウンタ信号245をクリア(ステップS81)するのと共に、4分周クロック153の8クロック目に入力された4ビットパラレルデータ信号154である{1111}と、スタート期待値信号242との一致を検出する(ステップS24)。そして、4分周クロック153の8クロック目以降のクロックで入力された4ビットパラレルデータ信号154と、同期コード期待値信号241である、{1111}、{0000}、{0000}、{1010}、{1010}が全て一致する。そのため、同期検出カウンタ144がインクリメントされ、6となる。よって同期検出カウンタ信号245が6となり、同期検出判定部145は、全ての同期コードが一致したと判断する。そして、同期位置ラッチ回路103が同期位置信号155を出力する(ステップS100)。4ビットの同期位置信号155の値{1,0,0,0}を、同期位置ラッチ回路103でラッチした同期検出信号156に基づいて、同期データ選択回路109がデータを選択する。
【0102】
次に、本実施の形態にかかるシリアル同期検出回路10において、モード1〜4の切り替え動作について説明する。シリアル同期検出回路10は、モード1〜4を、モード切替信号152に応じて切り替える。
【0103】
分周回路102は、各モードの1ワードのビット数に応じて、分周比率を切り替える。例えば、1ワードのビット数が16であるモード1においては、同期検出後の16ビットパラレル信号を処理する16分周クロック159を生成し、1ワードのビット数が8であるモード4においては、8ビットパラレル信号を処理する8分周クロックを生成する。
【0104】
期待値生成部111乃至141は、各モードの1ワードのビット数、同期コードに応じて、同期コード期待値信号211乃至241を切り替える。即ち、期待値生成部111乃至141は、各モードの同期コード全体が比較処理されるように、同期コード期待値信号211乃至241を生成する。スタート期待値生成部112乃至142は、各モードの1ワードのビット数、同期コードに応じて、それぞれスタート期待値を切り替える。即ち、スタート期待値生成部112乃至142は、各モードの同期コードの最初の部分が比較処理されるように、スタート期待値信号212乃至242を生成する。
【0105】
同期検出カウンタ114乃至144は、カウント値の最大値を、各モードの同期コードの総ビット数を4ビットで割った値に1を加えたものに切り替える。ワードのビット数が16であるモード1においては、同期コードの総ビット数が48ビットである。そのため、4ビット単位でカウント処理をするカウンタ値の最大値は、48ビットを4ビットで割った値に1を加えた値である13となる。1ワードのビット数が8であるモード4では、同期コードの総ビット数が24ビットとなる。そのため、4ビット単位でカウント処理するカウンタ値の最大値は、24ビットを4ビットで割った値に1を加えた値である7となる。
【0106】
同期検出判定部115乃至145は、各モードの1ワードのビット数、及び同期コードのワード数に応じて、それぞれ同期検出判定値を切り替える。モード1において、同期検出判定部115、125及び135は、それぞれ同期検出カウンタ信号215、225及び235が、同期コードの総ビット数(48ビット)を4ビットで割った値に1を加えた値である13とする。同期検出判定部145は、同期検出カウンタ信号245が、同期コードの総ビット数(48ビット)を4ビットで割った値である12とする。
【0107】
モード4においては、同期検出判定部115、125及び135は、同期検出カウンタ信号215、225、及び235が、同期コードの総ビット数(24ビット)を4ビットで割った値に1を加えた値である7に達した時に同期検出と判断する。同期検出判定部145は、同期検出カウンタ信号245が、同期コードの総ビット数(24ビット)を4ビットで割った値である6に達した時に同期検出と判断する。
【0108】
同期データ選択回路109は、各モードの1ワードのビット数、同期コードのワード数に応じて、ワード単位パラレルデータ157の選択を切り替える。1ワードのビット数が16となるモード1では、4ビットパラレルデータ信号154と4ビットF/F104〜107の出力の計20ビットのワード単位パラレルデータ157より、同期コードの先頭位置を示す同期検出信号156に応じて、16ビットの同期検出後の同期検出後パラレルデータ158を選択する。
【0109】
1ワードのビット数が8となるモード4では、4ビットパラレルデータ信号154と4ビットF/F104及び105の出力、計12ビットのワード単位パラレルデータ157より、同期コードの先頭位置を示す同期検出信号156に応じて、8ビットの同期検出後の同期検出後パラレルデータ158を選択する。
【0110】
上記のようにして、モードが切り替わる際には、モードに応じた値とすることにより、適正に同期検出することができる。
【0111】
図12は、本実施の形態にかかるシリアル同期検出回路10がモード1とモード4とにおいて、必要となる回路量(F/F数)を示す図である。1ワードのビット数が16となるモード1では、必要な回路量(F/F数)は44個となる。1ワードのビット数が最小となるモード4では、必要な回路量(F/F数)は31個となる。
【0112】
図13は、図14のシリアル同期検出回路の必要な回路量(F/F数)の一例を示す図である。図14では、モード1〜4に切り替えた場合のF/F数を、図14の1/10分周カウンタ回路1013、10ビットシフトレジスタ回路1003、10ビットラッチ回路1005、及び同期検出回路1007から計算した一例を示す。
【0113】
特許文献1に記載の技術では、1ワードのビット数が16ビットである場合、16ビットのシフトレジスタ回路とラッチ回路を具備する必要がある。そのため、モード1では必要な回路量(F/Fの数)が54、モード4では必要な回路量(F/Fの数)が25個となり、1ワードのビット数が長くなると、回路量が増大してしまう。
【0114】
これに対し、本実施の形態にかかるシリアル同期検出回路10では、同期コードを構成する1ワードを複数に分割し、分割した同期コード単位で一致検出を行う。そして、検出結果を次の4分周クロック153のサイクルにフィードバックし、期待値とパラレルデータとの一致検出を繰り返す。このような構成とすることにより、1ワードのビット数が多くなった場合にも、必要な回路量(F/F数)を抑えることができる。
【0115】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、本実施の形態においては、4ビット単位でシリアルデータ信号をパラレル変換していたが、8ビット単位でパラレル変換することも可能である。8ビット単位でパラレル処理する場合には、1ワードが8ビット以上であれば、本実施の形態にかかるシリアル同期検出回路を用いることにより、回路規模を削減する効果がある。この場合、1ワードが8ビット以下のプロトコルに対応する場合には、不足のビットをスタート期待値生成部、期待値生成部でマスク処理することにより適用可能である。
【符号の説明】
【0116】
10 シリアル同期検出回路
101 S/P変換部
102 分周回路
103 同期位置ラッチ回路
104 4ビットF/F
105 4ビットF/F
106 4ビットF/F
107 4ビットF/F
108 シフトレジスタ回路
109 同期データ選択回路
110 同期検出回路
120 同期検出回路
130 同期検出回路
140 同期検出回路
111 期待値生成部
121 期待値生成部
131 期待値生成部
141 期待値生成部
112 スタート期待値生成部
122 スタート期待値生成部
132 スタート期待値生成部
142 スタート期待値生成部
113 一致判定部
123 一致判定部
133 一致判定部
143 一致判定部
114 同期検出カウンタ
124 同期検出カウンタ
134 同期検出カウンタ
144 同期検出カウンタ
115 同期検出判定部
125 同期検出判定部
135 同期検出判定部
145 同期検出判定部
150 シリアルクロック信号
151 シリアルデータ信号
152 モード切替信号
153 4分周クロック
154 4ビットパラレルデータ信号
155 同期位置信号
156 同期検出信号
157 ワード単位パラレルデータ
158 同期検出後パラレルデータ
159 16分周クロック
211 同期コード期待値信号
221 同期コード期待値信号
231 同期コード期待値信号
241 同期コード期待値信号
212 スタート期待値信号
222 スタート期待値信号
232 スタート期待値信号
242 スタート期待値信号
213 同期コード期待値一致信号
223 同期コード期待値一致信号
233 同期コード期待値一致信号
243 同期コード期待値一致信号
214 スタート期待値一致信号
224 スタート期待値一致信号
234 スタート期待値一致信号
244 スタート期待値一致信号
215 同期検出カウンタ信号
225 同期検出カウンタ信号
235 同期検出カウンタ信号
245 同期検出カウンタ信号
1000 シリアルパラレル変換回路
1001 シリアルデータ信号
1002 シリアルクロック信号
1003 10ビットシフトレジスタ回路
1004−1〜1004−10 10ビットパラレルデータ信号
1005 10ビットラッチ回路
1006−1〜1006−10 10ビットパラレルデータ信号
1007 同期検出回路
1008 同期検出パルス信号
1009 同期有効判定回路
1010 有効判定信号
1011 クロック制御データ出力回路
1012 クロック制御パルス信号
1013 1/10分周カウンタ回路
1014 パラレルクロック信号

【特許請求の範囲】
【請求項1】
それぞれ異なるビット長の同期コードを有する複数のプロトコルに対応可能なシリアル同期検出回路であって、
前記同期コードを含むシリアル信号を所定ビット数単位のパラレル信号に変換するシリアルパラレル変換回路と、
前記シリアルパラレル変換回路によって変換されたパラレル信号と、前記複数のプロトロコルに含まれる任意のプロトコルの同期コードを前記所定ビット数に分割した同期期待値とを、当該所定ビット数単位で順に繰り返し比較して、前記同期コード全体を比較することにより、同期を検出する同期検出回路とを備えたシリアル同期検出回路。
【請求項2】
前記同期検出回路は、前記所定ビット数内でスタート位置が異なる複数の同期期待値のそれぞれと、前記シリアルパラレル変換回路によって変換されたパラレル信号とを当該所定ビット単位で比較することにより、スタート位置を検出することを特徴とする請求項1記載のシリアル同期検出回路。
【請求項3】
前記同期検出回路の検出結果に基づき、前記スタート位置をラッチし、前記パラレル信号を、同期コードを構成する同期ワードのビット数からなるパラレル信号にして出力する出力部をさらに有することを特徴とする請求項2記載のシリアル同期検出回路。
【請求項4】
前記同期検出回路は、
プロトコル毎に異なるモードに応じて設定され、前記所定ビット数からなり、スタート位置が異なる複数のスタート期待値を生成するスタート期待値生成部と、
プロトコル毎に異なるモードに応じて設定され、前記スタート期待値を除く同期コードについて、前記所定ビット数単位からなる複数の同期コード期待値を生成する期待値生成部と、
前記シリアルパラレル変換回路から出力されたパラレル信号を、前記スタート期待値と比較し、一致した場合に一致信号を出力すると共に、一致したパラレルデータ信号の次のタイミング以降で出力された前記パラレル信号を、前記同期コード期待値と比較し、一致した場合に一致信号を出力する一致判定部と、
前記一致判定部から出力された一致信号をカウントする同期検出カウンタと、
前記同期コードのビット数と前記所定ビット数とに基づき決定される最大カウント値に基づいて、前記同期検出カウンタの値を判定することにより、同期判定を実行する同期判定回路とを有する請求項1記載のシリアル同期検出回路。
【請求項5】
それぞれ異なるビット長の同期コードを有する複数のプロトコルに対応可能な同期検出方法であって、
前記同期コードを含むシリアル信号を所定ビット数単位のパラレル信号に変換し、
変換されたパラレル信号と、前記所定ビット数に分割された同期期待値とを、当該所定ビット数単位で順に繰り返し比較して、同期コード全体を比較することにより、同期を検出する同期検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate