(57)【要約】【課題】同期シリアルインタフェース回路において、１バイト単位でのデータ処理が可能でかつＦＩＦＯの幅と深さを調節する機能を簡素に実現する。【解決手段】送信ＦＩＦＯ１０２と、受信ＦＩＦＯ１１２と、送信ＦＩＦＯ１０２が出力する４バイトのデータを２バイトまたは１バイトに分割し、分割した単位でデータを出力するデータ分割制御部１０３と、データ分割制御部１０３からデータを受け取りシリアルデータに変換し外部に出力するパラレル／シリアル変換部１０５と、外部から受信したシリアルデータをパラレルデータに変換し出力するシリアル／パラレル変換部１１５と、シリアル／パラレル変換部１１５が出力する２バイトまたは１バイトの受信データを４バイトに結合し受信ＦＩＦＯ１１２に対して４バイト単位でデータを送出するデータ結合制御部１１３とを備える。【選択図】  図１
2007052721.tif 000002
【特許請求の範囲】
【請求項１】
送信データを蓄積する送信ＦＩＦＯと、受信データを蓄積する受信ＦＩＦＯと、前記送信ＦＩＦＯが出力する４バイトのデータを、２バイトまたは１バイトに分割した単位でデータを出力、または４バイトのデータのまま出力するデータ分割制御部と、前記データ分割制御部が出力するデータをシリアルデータに変換して出力するパラレル／シリアル変換部と、受信したデータをパラレルデータに変換して出力するシリアル／パラレル変換部と、前記シリアル／パラレル変換部が出力する２バイトまたは１バイトのデータを４バイトに結合し前記受信ＦＩＦＯに対して４バイト単位で、または前記シリアル／パラレル変換部が出力する４バイトのデータをそのまま前記受信ＦＩＦＯに対して送出するデータ結合制御部と、を備えた同期シリアルインタフェース回路。
【請求項２】
前記送信ＦＩＦＯがシフトレジスタ構造である請求項１記載の同期シリアルインタフェース回路。
【請求項３】
前記受信ＦＩＦＯがシフトレジスタ構造である請求項１記載の同期シリアルインタフェース回路。
【請求項４】
受信データ数をカウントする受信ワードカウンタを備え、前記データ結合制御部は、前記受信データ数が予め設定された指定値と一致したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する請求項１記載の同期シリアルインタフェース回路。
【請求項５】
受信データの終端を認識する端子を備え、前記データ結合制御部は、前記端子の認識動作を検出したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する請求項１記載の同期シリアルインタフェース回路。
【請求項６】
一定時間受信が行われていないことを検出する受信タイムアウトカウンタを備え、前記データ結合制御部は、前記受信タイムアウトカウンタが一定時間受信が行われていないことを検出したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する請求項１記載の同期シリアルインタフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は同期シリアルインタフェース回路に関し、特にＦＩＦＯの幅と深さを調節する機能を簡素に実現する技術に関する。
【背景技術】
【０００２】
コンピュータとその周辺装置、あるいはコンピュータ間を接続するシリアル通信フォーマットには様々な種類が存在する。一般にその通信フォーマットで扱うデータ長は最小単位である１バイトの整数倍である。
【０００３】
従来のシリアルインタフェースは特定の通信フォーマットに従ったデータ長を処理する回路構造を有していたが、ＬＳＩの大規模化、ソフトウェア資産の共有化の観点から様々な通信フォーマットに対応する汎用的なシリアルインタフェースが登場してきた。
【０００４】
ところが汎用的なシリアルインタフェースが扱うことのできるデータ長は複数の通信フォーマットの最大値に合わせる必要があるため、データ長の小さな通信フォーマットを使用する際に、特にＦＩＦＯを搭載するシリアルインタフェースでは内部の資源に使用されない領域が存在してしまう。
【０００５】
ここでＦＩＦＯの資源を有効活用する技術として特許文献１のような技術がある。この技術は複数のレジスタをポインタ管理することによりＦＩＦＯの深度と幅を調節し、ＦＩＦＯを可変幅データ転送に対応させるものである。
【０００６】
また、特許文献２に開示された技術では、データバス幅を拡張してＦＩＦＯ資源を有効活用した際に、本来有効でない端数のバイトが余分なデータとして送信されてしまうという問題の解決策として、シリアルインタフェースに送信データのサイズを通知して送信制御を行っている。
【特許文献１】特開平８−２３５８５０号公報
【特許文献２】特開２００３−２７１５４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
汎用的なシリアルインタフェースでは扱うデータ長によってＦＩＦＯの幅と深さを調整できる機能は有益であるが、必要なデータ単位が１バイトであることを考慮すると、奇数／偶数という単純な制御を行う特許文献１のようなＦＩＦＯ構造は必ずしも適当ではない。また、ＦＩＦＯのデータ管理をポインタで行う構成ではＦＩＦＯの制御回路の面積が大きくなってしまうという問題がある。なお、全二重通信をサポートするには、データバス幅未満のデータの転送において、特許文献２のように送信時のみではなく受信時においてもデータの処理方法を確立する必要がある。
【０００８】
本発明は、シリアル通信に用いるＦＩＦＯにおいて１バイト単位でのデータ処理が可能でかつＦＩＦＯの幅と深さを調節する機能をより簡素に実現する同期シリアルインタフェース回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、送信データを蓄積する送信ＦＩＦＯと、受信データを蓄積する受信ＦＩＦＯと、前記送信ＦＩＦＯが出力する４バイトのデータを、２バイトまたは１バイトに分割した単位でデータを出力、または４バイトのデータのまま出力するデータ分割制御部と、前記データ分割制御部が出力するデータをシリアルデータに変換して出力するパラレル／シリアル変換部と、受信したデータをパラレルデータに変換して出力するシリアル／パラレル変換部と、前記シリアル／パラレル変換部が出力する２バイトまたは１バイトのデータを４バイトに結合し前記受信ＦＩＦＯに対して４バイト単位で、または前記シリアル／パラレル変換部が出力する４バイトのデータをそのまま前記受信ＦＩＦＯに対して送出するデータ結合制御部とを備える。本発明において、前記送信ＦＩＦＯがシフトレジスタ構造または前記受信ＦＩＦＯがシフトレジスタ構造である。
【００１０】
上記構成によれば、送信ＦＩＦＯが出力する送信データをデータ分割制御部により１バイトにまで分割することができ、またデータ結合制御部により１バイトからの受信データを結合して受信ＦＩＦＯに入力することができるため、１バイト単位でのデータ処理が可能でかつＦＩＦＯの幅と深さを調節する機能を簡素に実現することができる。
【００１１】
本発明において、受信データ数をカウントする受信ワードカウンタを備え、前記データ結合制御部は、前記受信データ数が予め設定された指定値と一致したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する。
【００１２】
本発明において、受信データの終端を認識する端子を備え、前記データ結合制御部は、前記端子の認識動作を検出したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する。
【００１３】
本発明において、一定時間受信が行われていないことを検出する受信タイムアウトカウンタを備え、前記データ結合制御部は、前記受信タイムアウトカウンタが一定時間受信が行われていないことを検出したときに、前記シリアル／パラレル変換部から受け取り結合したデータが４バイト未満である場合にダミーデータを付与して４バイトのデータを構成し、前記受信ＦＩＦＯに４バイト単位でデータを送出する。
【００１４】
上記構成によれば、受信データの終了を検出する機能を備え、受信データの終了を検出したときに、データ結合制御部の内部で結合したデータが４バイト未満である場合にはダミーデータを付与して４バイトのデータを構成することができるため、受信時におけるデータバス幅未満のデータの処理が可能となる。
【発明の効果】
【００１５】
本発明によれば、シリアル通信に用いるＦＩＦＯにおいて１バイト単位でのデータ処理が可能でかつＦＩＦＯの幅と深さを調節する機能を簡素に実現することができる。
【発明を実施するための最良の形態】
【００１６】
図１は本発明の一実施の形態にかかる同期シリアルインタフェースの構成を示す図である。図１において、１００は同期シリアルインタフェース回路、１０１はレジスタ制御ブロック、１０２は送信ＦＩＦＯ、１０３はデータ分割制御部、１０５はパラレル／シリアル変換部、１１２は受信ＦＩＦＯ、１１３はデータ結合制御部、１１５はシリアル／パラレル変換部、１２０は内部バスである。
【００１７】
上記構成において、まずシリアルデータの送信時の形態について説明する。図示されないＣＰＵはレジスタ制御ブロック１０１に送信形態の設定を行う。ＣＰＵまたは図示されないＤＭＡは内部バス１２０を介して送信ＦＩＦＯ１０２へデータを書き込む。この内部バス１２０は例えば３２ビット幅を有する。
【００１８】
送信ＦＩＦＯ１０２は書き込まれたデータをデータ分割制御部１０３に送る。データ分割制御部１０３はレジスタ制御ブロック１０１に設定されたデータ分割パラメータ１０４に従ってデータを１バイト、２バイト、４バイトに分割し、パラレル／シリアル変換部１０５に送る。パラレル／シリアル変換部１０５はデータをシリアル変換し、外部へ送信する。
【００１９】
次にシリアルデータの受信時の形態について説明する。ＣＰＵはレジスタ制御ブロック１０１に受信形態の設定を行う。外部からのシリアルデータはシリアル／パラレル変換部１１５に入力される。シリアル／パラレル変換部１１５はデータをパラレル変換し、データ結合制御部１１３に送る。
【００２０】
データ結合制御部１１３はレジスタ制御ブロック１０１に設定されたデータ結合パラメータ１１４に従って１バイト、２バイトのデータを４バイトに結合し、４バイトのデータはそのままで、受信ＦＩＦＯ１１２へ送る。ＣＰＵまたはＤＭＡは受信ＦＩＦＯ１１２からデータを読み出す。
【００２１】
図２はデータ分割制御部１０３の構成を示す図である。データ分割制御部１０３は送信ＦＩＦＯ１０２から３２ビットのパラレルデータ２００を受け取る。さらに、データ分割制御部１０３はデータをパラレル／シリアル変換部１０５に送るとともに、データ分割パラメータ１０４に従い、データ分割制御部１０３内のデータをシフトする。このときのシフト動作は次のようになる。
【００２２】
データ分割制御部１０３を構成する内部バッファ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄはそれぞれ８ビットのバッファである。４バイトから１バイトへの分割時は、データ分割制御部１０３がパラレル／シリアル変換部１０５へデータを出力すると、内部バッファ１０３ｂのデータが内部バッファ１０３ａにシフトし、内部バッファ１０３ｃのデータが内部バッファ１０３ｂにシフトし、内部バッファ１０３ｄのデータが内部バッファ１０３ｃにシフトする。
【００２３】
シリアル転送が終了すると、データ分割制御部１０３はシフト後のデータ２０１をパラレル／シリアル変換部１０５へ送る。この動作を繰り返し、内部バッファ１０３ｄのデータが内部バッファ１０３ａまでシフトされ、さらにデータ２０１がパラレル／シリアル変換部１０５へ送られると、内部バッファ１０３ａ〜１０３ｄのデータは３２ビットのパラレルデータ２００に置き換わる。
【００２４】
４バイトから２バイトへの分割時は、データ分割制御部１０３がパラレル／シリアル変換部１０５へデータを出力すると、内部バッファ１０３ｃのデータが内部バッファ１０３ａにシフトし、内部バッファ１０３ｄのデータが内部バッファ１０３ｂにシフトする。
【００２５】
シリアル転送が終了すると、データ分割制御部１０３はシフト後のデータ２０１をパラレル／シリアル変換部１０５へ送る。このシフト後のデータ２０１がパラレル／シリアル変換部１０５へ送られると、内部バッファ１０３ａ〜１０３ｄのデータは３２ビットのパラレルデータ２００に置き換わる。
【００２６】
このときパラレル／シリアル変換部１０５には常に３２ビットのデータが入力されるが、レジスタ制御ブロック１０１から出力される送信データパラメータ２０３に従い、必要なデータのみを送信し、不要なデータは破棄する構成となっている。
【００２７】
図３はデータ結合制御部１１３の構成を示す図である。シリアル／パラレル変換部１１５はシリアルデータ３０２を受信し、パラレルデータに変換し、データ結合制御部１１３へ送る。データ結合制御部１１３は入力データ３０１をデータ結合パラメータ１１４に従いシフトする。このときのシフト動作は次のようになる。
【００２８】
データ結合制御部１１３を構成する内部バッファ１１３ａ、１１３ｂ、１１３ｃ、１１３ｄはそれぞれ８ビットのバッファである。１バイトから４バイトへの結合時は、シリアル／パラレル変換部１１５が出力するデータは内部バッファ１１３ｄを更新する。内部バッファ１１３ｄに書き込まれたデータは内部バッファ１１３ｃ、１１３ｂ、１１３ａの順にシフトし、内部バッファ１１３ａに到達すると次データの入力を待機する。
【００２９】
次にシリアル／パラレル変換部１１５からデータが出力されると、同様にバッファ１１３ｄを更新する。内部バッファ１１３ｄに書き込まれたデータは内部バッファ１１３ｃ、１１３ｂの順にシフトし、内部バッファ１１３ｂに到達すると次データの入力を待機する。
【００３０】
次にシリアル／パラレル変換部１１５からデータが出力されると、同様にバッファ１１３ｄを更新する。内部バッファ１１３ｄに書き込まれたデータは内部バッファ１１３ｃにシフトし次データの入力を待機する。
【００３１】
次にシリアル／パラレル変換部１１５からデータが出力されると、同様にバッファ１１３ｄを更新し、内部バッファ１１３ａ〜１１３ｄを結合した３２ビットのパラレルデータ３００を受信ＦＩＦＯ１１２に対して出力する。
【００３２】
２バイトから４バイトへの結合時は、シリアル／パラレル変換部１１５が出力するデータは内部バッファ１１３ｃおよび１１３ｄを更新する。内部バッファ１１３ｃおよび１１３ｄに書き込まれたデータはそれぞれ内部バッファ１１３ａおよび１１３ｂにシフトし、次データの入力を待機する。
【００３３】
次にシリアル／パラレル変換部１１５からデータが出力されると、同様にバッファ１１３ｃおよび１１３ｄを更新し、内部バッファ１１３ａ〜１１３ｄを結合した３２ビットのパラレルデータ３００を受信ＦＩＦＯ１１２に対して出力する。
【００３４】
図４は従来技術によるポインタ管理方式のＦＩＦＯ構造を示す図である。ＦＩＦＯを構成するバッファ４００〜４１５はそれぞれ１６ビットの幅を有する。出力するデータを決定するセレクタ４１６は１６ｔｏ１セレクタとなる。
【００３５】
図５は本発明の同期シリアルインタフェースにおける送信ＦＩＦＯおよび受信ＦＩＦＯの構成を示す図である。送信ＦＩＦＯ１０２は３２ビット幅のバッファ５００〜５０６で構成されている。またそれぞれのバッファは１ビットのフラグ５１０〜５１６を具備している。また、受信ＦＩＦＯ１１２は３２ビット幅のバッファ５２０〜５２６で構成されている。またそれぞれのバッファは１ビットのフラグ５３０〜５３６を具備している。
【００３６】
送信時は、ＣＰＵまたはＤＭＡにより送信ＦＩＦＯ１０２にライトを行うと、バッファ５００およびフラグ５１０が更新される。送信ＦＩＦＯ１０２はシフトレジスタで構成されており、バッファ５００およびフラグ５１０の内容はバッファ５０１およびフラグ５１１にシフトする。このシフト動作を繰り返し、ライトしたデータがバッファ５０６に到達するとデータ分割制御部１０３に出力する。
【００３７】
受信時は、データ結合制御部１１３が受信ＦＩＦＯ１１２にライトを行うと、バッファ５２６およびフラグ５３６が更新される。受信ＦＩＦＯ１１２はシフトレジスタで構成されており、バッファ５２６およびフラグ５３６の内容はバッファ５２５およびフラグ５３５にシフトする。このシフト動作を繰り返し、ライトしたデータがバッファ５２０に到達するとデータはＣＰＵまたはＤＭＡから読み出し可能となる。
【００３８】
図６は本発明の同期シリアルインタフェースにおいて、４バイトに満たない受信データの処理方法を示す図である。
【００３９】
通常、データ結合制御部１１３は内部バッファ１１３ａ〜１１３ｄの全てにデータが入力されるまで受信ＦＩＦＯへ３２ビットパラレルデータ３００を出力しないが、データ受信終了信号６００がアクティブになると、データの結合中で次データの入力待ち状態であっても、空き領域にダミーデータを埋めて受信ＦＩＦＯへ３２ビットパラレルデータ３００を出力する。
【００４０】
例えば内部バッファ１１３ａおよび１１３ｂにデータが存在した場合に、通常はデータ結合制御部１１３は残りの２バイトのデータが入力されるまで３２ビットパラレルデータ３００を出力しないが、データ受信終了信号６００がアクティブになると、内部バッファ１１３ｃおよび１１３ｄをダミーデータで埋め、３２ビットパラレルデータ３００を受信ＦＩＦＯへ出力する。
【００４１】
このデータ受信終了信号６００は次の場合にアクティブになる。第１に、受信したデータ数をカウントする受信ワードカウンタ６０１を有し、指定量のデータを受信すると終端通知信号６０２をアサートする。受信ワードカウンタ６０１に設定する値はパラメータ化されており、自由に設定できる。
【００４２】
第２に、データを受信していない期間を検出するタイムアウトカウンタ６０３を有し、一定時間受信動作が行われなくなると終端通知信号６０４をアサートする。タイムアウトカウンタ６０３に設定する値はパラメータ化されており、自由に設定できる。
【００４３】
第３に、受信データの終端を認識するための端子６０５を有し、この端子６０５から入力される終端通知信号６０６がデータ受信信号６００をアサートする。セレクタ６０７は終端通知信号６０２、６０４、６０６を選択し、データ結合制御部１１３に対してデータ受信終了信号６００をアサートする。
【産業上の利用可能性】
【００４４】
本発明の同期シリアルインタフェースは、データの分割／結合機能を搭載し、回路面積を抑えた構成のため、モバイル用ＬＳＩの汎用シリアルインタフェース等として有用である。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施の形態にかかる同期シリアルインタフェースの構成を示す図。
【図２】本発明の同期シリアルインタフェースにおけるデータ分割制御部の構成図。
【図３】本発明の同期シリアルインタフェースにおけるデータ結合制御部の構成図。
【図４】従来技術によるポインタ管理方式のＦＩＦＯ構造を示す図。
【図５】本発明の同期シリアルインタフェースにおけるＦＩＦＯの構成を示す図。
【図６】本発明の同期シリアルインタフェースにおけるバス幅バイト未満の受信データの処理方法を示す図。
【符号の説明】
【００４６】
１００  同期シリアルインタフェース回路
１０１  レジスタ制御ブロック
１０２  送信ＦＩＦＯ
１０３  データ分割制御部
１０４  データ分割パラメータ
１０５  パラレル／シリアル変換部
１１２  受信ＦＩＦＯ
１１３  データ結合制御部
１１４  データ結合パラメータ
１１５  シリアル／パラレル変換部
１２０  内部バス
【図１】
2007052721.tif 000003
【図２】
2007052721.tif 000004
【図３】
2007052721.tif 000005
【図４】
2007052721.tif 000006
【図５】
2007052721.tif 000007
【図６】
2007052721.tif 000008