(57)【特許請求の範囲】
【請求項１】
設定周期にしたがって生成されたパケットを外部から順次受信し、これらのパケットの受信周期に同期させてパケット同期信号を生成する同期信号発生手段と、
前記パケットに含まれる各データの転送クロックを内部クロックに基づいて生成し、前記パケット同期信号の実際の周期が前記設定周期よりも長い場合は前記パケットの最後のデータに対応する前記転送クロックの周期を他のデータに対応する前記転送クロックの周期よりも長くし、且つ、前記パケット同期信号の実際の周期が前記設定周期よりも短い場合は前記パケットの最後のデータに対応する前記転送クロックの周期を他のデータに対応する前記転送クロックの周期よりも短くする、インタフェース制御手段と、
を備えることを特徴とする同期補正回路。
【請求項２】
前記インタフェース制御手段が、
計測用クロックのクロック数を計数し、前記パケット同期信号によってリセットされる送信間隔カウンタと、
この送信間隔カウンタの計数結果を、前記設定周期に対応させて設定された比較値と比較し、この係数結果がこの比較値と一致したときに検出信号を出力する検出器と、
前記パケット同期信号を入力したタイミングで前記転送クロックの生成をリセットし、且つ、前記検出信号を入力したときに前記転送クロックの信号レベルを固定する、転送クロック生成部と、
を備えることを特徴とする請求項１に記載の同期補正回路。
【請求項３】
前記検出器が、
前記送信間隔カウンタの計数結果を、複数種類の前記設定周期にそれぞれ対応する複数種類の前記比較値と比較するための、複数の第１送信間隔比較器と、
これら複数の第１送信間隔比較器の出力信号から、実際に選択されている設定周期に対応する前記第１送信間隔比較器の出力信号を選択して、前記検出信号として出力するタイプセレクタと、
を備えることを特徴とする請求項２に記載の同期補正回路。
【請求項４】
前記検出器が、
前記送信間隔カウンタの計数結果を、複数種類の前記設定周期の公倍数に対応させて設定された前記比較値と比較し、比較結果を前記検出信号として出力する第２送信間隔比較器
を備えることを特徴とする請求項２に記載の同期補正回路。
【請求項５】
前記検出器が、
前記比較値を格納する比較値レジスタと、
前記送信間隔カウンタの計数結果を、前記比較値レジスタに格納された前記比較値と比較するための第３送信間隔比較器と、
前記第３送信間隔比較器の出力を用いて、前記送信間隔カウンタの係数結果が前記比較値レジスタに格納された前記比較値に達した回数を係数する比較段数カウンタと、
比較段数を格納する比較段数レジスタと、
前記比較段数カウンタの係数結果を前記比較段数と比較し、比較結果を前記検出信号として出力する段数比較器と、
を備えることを特徴とする請求項２に記載の同期補正回路。
【請求項６】
前記段数比較器が、前記比較結果を、中央処理装置への割り込み信号として出力することを特徴とする請求項５に記載の同期補正回路。
【請求項７】
前記検出器が、前記パケット同期信号の平均周期を記憶する平均値記憶部と、
この平均値記憶部の記憶値と前記比較値レジスタに格納された前記比較値との一方を選択して前記第３送信間隔比較器に供給する比較値セレクタと、
を備えることを特徴とする請求項５に記載の同期補正回路。
【請求項８】
前記転送クロック発生手段から入力された前記転送クロックを用いて、ワード単位で前記パケットの転送同期をとるための転送同期信号を生成する、転送同期信号生成手段をさらに備えることを特徴とする請求項１〜７のいずれかに記載の同期補正回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パケットの受信周期と受信装置内の転送クロックとの同期を補正する同期補正回路に関する。この発明に係る同期補正回路は、例えば、ブルートゥース(Bluetooth) に準拠した音声データ処理回路に適用される。
【０００２】
【従来の技術】
従来の同期補正回路について、ブルートゥースに準拠した音声データ処理回路に使用されるものを例に採って説明する。
【０００３】
ブルートゥースとは、端末や装置間のデータ通信規格の一種である。この規格は、パーソナルコンピュータやプリンタ、携帯電話等の間で行われる、音声データをはじめとする様々なデータの通信に対応している。
【０００４】
ブルートゥースでは、パケットを用いた通信が行われる。このうち、音声通信用のパケットとしては、図１４に示したように、同期語(sync word) とペイロード部とからなるパケットが使用される。ここで、同期語は、受信側が、パケット送信間隔を判断するために使用される。また、ペイロード部には、音声データが格納される。１パケット分のペイロード部に格納することができる音声データ量としては、１０バイト、２０バイト、３０バイトの３タイプがある。ブルートゥースでは、これら各タイプのパケット送信間隔を、それぞれ、１．２５ｍｓ、２．５ｍｓ、３．７５ｍｓと規定している。
【０００５】
ブルートゥースでは、通信端末等の一方をマスタとし、他方をスレーブとして、双方向のデータ通信を時分割で行う。すなわち、マスタとなった端末等がパケット送信間隔を決定し、スレーブとなった端末等はこれに同期させて通信を行う。マスタ／スレーブは、通信の度に、適当な方法で決定される。図１５は、ブルートゥースの通信方式を説明するための概念図である。図１５において、（Ａ）は、タイプＩすなわちペイロード部が１０バイトでパケット送信間隔が１．２５ｍｓの場合、（Ｂ）は、タイプIIすなわちペイロード部が２０バイトでパケット送信間隔が２．５ｍｓの場合、（Ｃ）は、タイプIII すなわちペイロード部が３０バイトでパケット送信間隔が３．７５ｍｓの場合を示している。
【０００６】
図１６は、従来のブルートゥース用音声データ処理回路の構成を示すブロック図である。図１６に示したように、この音声データ処理回路１６００は、ベースバンド処理部１６１０と、音声データ変換部１６２０とを備えている。これら各部１６１０，１６２０は、それぞれ、バス１６３０を介して、ＣＰＵ(Central Processing Unit) １６４０に接続されている。ベースバンド処理部１６１０は、受信時には、パケットからペイロード部を切り出して、音声データ変換部１６２０に送り、また、送信時には、音声データ変換部１６２０から受け取った音声データを送信するためのパケットを生成する。音声データ変換部１６２０は、受信時には、ベースバンド処理部１６１０から受け取った音声データを必要に応じて変換して、後段のＰＣＭ(Pulse Code Modulation) コーデックインタフェース回路に送り、また、送信時には、ＰＣＭコーデックインタフェース回路から受け取った音声データを必要に応じて逆変換し、ベースバンド処理部１６１０に送る。ブルートゥースは、ＣＶＳＤ(Continuous Variable Slope Data modulation) 、Ａ−ｌａｗ、μ−ｌａｗの、三種類の音声データ形式に対応している。これに対して、ＰＣＭコーデックインタフェース回路は、Ｌｉｎｅａｒ、Ａ−ｌａｗ、μ−ｌａｗの、三種類の音声データ形式に対応している。
【０００７】
音声データ変換部１６２０とＰＣＭコーデックインタフェース回路との間のデータ送受信には、転送同期信号ＰＣＭＳＹＮＣと転送クロックＰＣＭＣＬＫとが使用される。図１７は、８ビット／１ワードのモノラルデータを８ｋＨｚでサンプリングする場合を示している。図１７に示したように、転送同期信号ＰＣＭＳＹＮＣは、各ワードの転送周期を規定し、また、転送クロックＰＣＭＣＬＫは、音声データ（ＰＣＭデータ）を構成する各ビットの転送タイミングを規定する。なお、１ワードは、１６ビットであってもよい。転送同期信号ＰＣＭＳＹＮＣの周期が８ｋＨｚの場合、転送クロックＰＣＭＣＬＫの周期は、６４ｋＨｚ以上（８ビット／１ワードの場合）または１２８ｋＨｚ以上（１６ビット／１ワードの場合）である。
【０００８】
通常、転送クロックＰＣＭＣＬＫは、音声データ処理回路１６００のシステムクロックを用いて生成される。また、転送同期信号ＰＣＭＳＹＮＣは、この転送クロックＰＣＭＣＬＫを用いて生成される。
【０００９】
【発明が解決しようとする課題】
上述のような音声データ処理回路１６００（図１６参照）を用いた通信では、パケットの送信周期は、送信側回路（すなわち、パケットを生成する側の回路）の転送同期信号ＰＣＭＳＹＮＣを用いて設定される。したがって、このパケットに格納されたＰＣＭデータ（図１７参照）の送信周期も、送信側の転送同期信号ＰＣＭＳＹＮＣに同期させて決定される。一方、受信側端末で使用する転送同期信号ＰＣＭＳＹＮＣは、受信側回路１６００内で生成される。すなわち、図１７において、ＰＣＭデータは送信側音声データ処理回路１６００のシステムクロックに同期するように生成されているのに対し、転送同期信号ＰＣＭＳＹＮＣおよび転送クロックＰＣＭＣＬＫは受信側音声データ処理回路１６００のシステムクロックに同期するように生成されている。
【００１０】
ここで、通信を行う２個の音声データ処理回路１６００が、完全に同一の動作周波数で動作している場合、図１７のＰＣＭデータと転送同期信号ＰＣＭＳＹＮＣとは、完全に同期する状態になる。しかしながら、現実には、受信側回路１６００と送信側回路１６００とで動作周波数が異なる場合が多い。両回路１６００，１６００の動作周波数が異なる場合、ＰＣＭデータが、動作クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣと、完全には同期しないことになる。
【００１１】
図１８は、マスタおよびスレーブの転送同期信号ＰＣＭＳＹＮＣが一致しない状態の一例を概念的に示すタイミングチャートである。図１８の例では、マスタ側で生成された転送同期信号ＰＣＭＳＹＮＣの周波数が、スレーブ側で生成された転送同期信号ＰＣＭＳＹＮＣの周波数よりも、高い。したがって、スレーブ側では、受信したＰＣＭデータの周波数が、転送同期信号ＰＣＭＳＹＮＣの周波数と比較して、高すぎる状態になる。これにより、スレーブ側では、受信したＰＣＭデータを音声データ変換部１６２０からＰＣＭコーデックインタフェース回路に転送する際に、アンダーフローが発生する。一方、マスタ側では、受信したＰＣＭデータの周波数が、転送同期信号ＰＣＭＳＹＮＣの周波数と比較して、低すぎる状態になる。これにより、マスタ側では、受信したＰＣＭデータを音声データ変換部１６２０からＰＣＭコーデックインタフェース回路に転送する際に、オーバーフローが発生する。ＰＣＭデータを音声データ変換部１６２０からＰＣＭコーデックインタフェース回路に転送する際に、アンダーフローやオーバーフローが発生すると、結果的に、通信音質が低下する。
【００１２】
このような理由から、マスタ／スレーブ間の同期ずれを補正する技術が嘱望されていた。
【００１３】
【課題を解決するための手段】
この発明にかかる同期補正回路は、設定周期にしたがって生成されたパケットを外部から順次受信し、これらのパケットの受信周期に同期させてパケット同期信号を生成する同期信号発生手段と、パケットに含まれる各データの転送クロックを内部クロックに基づいて生成し、パケット同期信号の実際の周期が設定周期よりも長い場合はパケットの最後のデータに対応する転送クロックの周期を他のデータに対応する転送クロックの周期よりも長くし、且つ、パケット同期信号の実際の周期が設定周期よりも短い場合はパケットの最後のデータに対応する転送クロックの周期を他のデータに対応する転送クロックの周期よりも短くする、インタフェース制御手段とを備える。
【００１４】
このような構成によれば、パケットの受信周期に同期するように、転送クロックの周期を補正することができる。
【００１５】
【発明の実施の形態】
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、本発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
【００１６】
第１の実施の形態
以下、この発明の第１の実施の形態に係る同期補正回路について、ブルートゥース用音声データ処理回路に適用された場合を例に採り、図１〜図５を用いて説明する。
【００１７】
図１は、この実施の形態に係る音声データ処理回路の構成を示すブロック図である。図１に示したように、この音声データ処理回路１００は、ベースバンド処理部１１０と、音声データ変換部１２０と、インタフェース制御部１３０と、ＣＰＵバス１４０と、ＣＰＵ１５０とを備えている。
【００１８】
ベースバンド処理部１１０は、受信パケットの同期語（図１４参照）を検出する度に、かかる受信パケットからペイロード部を切り出して、音声データ変換部１２０に送る。また、ベースバンド処理部１１０は、音声データ変換部１２０から受け取った音声データを用いて、送信パケットを生成する。加えて、ベースバンド処理部１１０は、同期信号発生部１１１を備えている。同期信号発生部１１１は、受信パケットの同期語を検出した周期と同一周期の、パケット同期信号ＰＳＹＮＣを生成する。
【００１９】
音声データ変換部１２０は、パケットの受信時に、ベースバンド処理部１１０から受け取った音声データを必要に応じて変換して、インタフェース制御部１３０に送る。また、音声データ変換部１２０は、パケットの送信時に、インタフェース制御部１３０から受け取った音声データを必要に応じて逆変換し、ベースバンド処理部１１０に送る。音声データ変換部１２０が変換および逆変換できるデータ形式は、例えば、従来の音声データ処理回路の場合と同じである。
【００２０】
インタフェース制御部１３０は、同期信号発生部１１１から入力されたパケット同期信号ＰＳＹＮＣを用いて、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣを生成する。転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣは、図示しないＰＣＭコーデックインタフェース回路に送られる。また、インタフェース制御部１３０は、ＰＣＭコーデックインタフェース回路との間で、音声データ（ＰＣＭデータ）の送受信を行う。ＰＣＭコーデックインタフェース回路は、パケットの送信時および受信時の両方で、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣを使用する。
【００２１】
なお、同期信号信号発生部１１１とインタフェース制御部１３０とにより、この実施の形態に係る同期補正回路が構成される。
【００２２】
図２は、インタフェース制御部１３０の要部構成を示すブロック図である。図２のインタフェース制御部１３０は、送信間隔カウンタ２０１と、３個の比較器２０２，２０３，２０４と、タイプセレクタ２０５と、転送クロック生成部２０６と、転送同期信号生成部１０７とを備えている。
【００２３】
送信間隔カウンタ２０１は、計測用クロックＭＣＬＫのクロック数を計数し、計数値ＣＮＴを出力する。また、送信間隔カウンタ２０１は、検出信号Ｓｄがハイレベルのときに計数を停止し、パケット同期信号ＰＳＹＮＣを入力したときに計数値をリセットする。この実施の形態では、計測用クロックの周波数を１ＭＨｚとする。
【００２４】
比較器２０２は、一方の入力端子から計数値ＣＮＴを入力し、他方の入力端子から数値「１２５０」（タイプＩのパケット間隔、すなわち１２５０μｓに対応する）を入力する。そして、両入力値が一致していないときはローレベル信号を出力し、両入力値が一致しているときはハイレベル信号を出力する。同様に、比較器２０３は、一方の入力端子から計数値ＣＮＴを入力し且つ他方の入力端子から数値「２５００」（タイプIIのパケット間隔に対応する）を入力して、両入力値が一致しているときにのみハイレベル信号を出力する。また、比較器２０４は、一方の入力端子から計数値ＣＮＴ且つ他方の入力端子から数値「３７５０」（タイプIII のパケット間隔に対応する）を入力して、両入力値が一致しているときにのみハイレベル信号を出力する。
【００２５】
タイプセレクタ２０５は、比較器２０２，２０３，２０４の出力信号から、いずれかを選択する。タイプセレクタ２０５が選択する比較器は、通信に使用されているパケットのタイプ（タイプＩ、II、III のいずれか）に応じて、ＣＰＵ１５０などの制御により決定される。通信に使用されているパケットのタイプは、マスタからスレーブに送信され、例えばＣＰＵ１５０に取り込まれる。
【００２６】
転送クロック生成部２０６は、パケット同期信号ＰＳＹＮＣの入力タイミングに同期させて転送クロックＰＣＭＣＬＫを生成し、後段のＰＣＭコーデックインタフェース回路（図示せず）に出力する。例えば、１パケットが８ビット×１０ワードの場合、パケット同期信号ＰＳＹＮＣの１／８０の周期を有する転送クロックＰＣＭＣＬＫが、生成される。転送クロック生成部２０６は、次のパケット同期信号ＰＳＹＮＣが入力されたときには、そのクロック生成をリセットして、新しいパケット同期信号ＰＳＹＮＣに同期した転送クロックＰＣＭＣＬＫの生成を開始する。また、転送クロック生成部２０６は、タイプセレクタ２０５の出力がハイレベルのときは、転送クロックＰＣＭＣＬＫをローレベルに固定する。
【００２７】
転送同期信号生成部２０７は、転送クロックＰＣＭＣＬＫから転送同期信号ＰＣＭＳＹＮＣを生成し、後段のＰＣＭコーデックインタフェース回路に出力する。例えば、１ワードが８ビットの場合、転送同期信号生成部２０７は、転送クロックＰＣＭＣＬＫを８個入力する度に、転送同期信号ＰＣＭＳＹＮＣを１個生成して出力する。
【００２８】
次に、この実施の形態に係る同期補正回路の動作について、図３〜図５を用いて説明する。
【００２９】
音声データ処理回路１００は、マスタとして動作する場合には、この実施の形態に係る同期補正回路１１１，１３０を使用しない。すなわち、マスタとして動作する音声データ処理回路１００では、同期信号発生部１１１は、パケット同期信号ＰＳＹＮＣを生成しない。転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣは、従来と同様にして生成される。
【００３０】
一方、音声データ処理回路１００は、スレーブとして動作する場合には、同期補正回路１１１，１３０を使用して、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣを生成する。以下、パケットの送受信間隔が１２５０μｓの場合を例に採って説明する。
【００３１】
図３は、マスタ・スレーブ間で動作周波数が一致する場合の、インタフェース制御部１３０の動作を示すタイミングチャートである。
【００３２】
送信間隔カウンタ２０１は、パケット同期信号ＰＳＹＮＣの立ち上がりタイミングでリセットされ、測定用クロックＭＣＬＫの新たな計数を開始する。計数値ＣＮＴは、順次、比較器２０２，２０３，２０４に送られる。
【００３３】
比較器２０２，２０３，２０４は、上述したように、この計数値ＣＮＴを設定値１２５０，２５００または３７５０と比較する。計数値ＣＮＴが設定値に達していない場合、各比較器２０２，２０３，２０４の出力はローレベルである。
【００３４】
タイプセレクタ２０５は、比較器２０２の出力を選択して、転送クロック生成部２０６に送る。
【００３５】
転送クロック生成部２０６は、タイプセレクタ２０５からの入力がローレベルのとき、所定周期の転送クロックＰＣＭＣＬＫを生成して、出力する。
【００３６】
また、このとき、転送同期信号生成部２０７は、転送クロックＰＣＭＣＬＫのクロック数が１ワードのビット数分に達するたびに、転送同期信号ＰＣＭＳＹＮＣを出力する。
【００３７】
図３の例ではマスタ・スレーブ間で動作周波数が一致しているので、送信間隔カウンタ２０１の計数値ＣＮＴが「１２４９」に達したとき（すなわち、測定用クロックＭＣＬＫのクロック数が１２５０個に達したとき）、次のパケット同期信号ＰＳＹＮＣが、送信間隔カウンタ２０１に入力される。これにより、送信間隔カウンタ２０１の計数値ＣＮＴがリセットされる。そして、送信間隔カウンタ２０１は、「０」からの計数を再開する。
【００３８】
以下、同様にして、インタフェース制御部１３０は、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの生成・出力を繰り返す。
【００３９】
図４は、スレーブの動作周波数がマスタの動作周波数よりも高い場合の、インタフェース制御部１３０の動作を示すタイミングチャートである。
【００４０】
計数開始直後の動作は、図３の場合と同様である。すなわち、送信間隔カウンタ２０１が測定用クロックＭＣＬＫの計数値ＣＮＴを順次出力し、比較器２０２，２０３，２０４が計数値ＣＮＴを設定値と比較し、タイプセレクタ２０５が比較器２０２の出力を選択して転送クロック生成部２０６に送る。転送クロック生成部２０６は、タイプセレクタ２０５からの入力がローレベルの間は、所定周期の転送クロックＰＣＭＣＬＫを生成・出力する。
【００４１】
ここで、測定用クロックＭＣＬＫはスレーブ内のシステムクロック同期しているのに対し、パケット同期信号ＰＳＹＮＣはマスタ内のシステムクロックに同期している。したがって、スレーブの動作周波数がマスタの動作周波数よりも高い場合には、次のパケット同期信号ＰＳＹＮＣが入力される前に、送信間隔カウンタ２０１の計数値ＣＮＴが「１２５０」に達する。これにより、比較器２０２の出力はハイレベルになり、したがって、タイプセレクタ２０５の出力Ｓｄもハイレベルになる。送信間隔カウンタ２０１は、信号Ｓｄがハイレベルに変化すると、計数を停止する。これにより、計数値ＣＮＴは、「１２５０」のまま、変化しなくなる。また、転送クロック生成部２０６は、信号Ｓｄがハイレベルになると、転送クロックＰＣＭＣＬＫを、ローレベルに固定する。
【００４２】
その後、次のパケット同期信号ＰＳＹＮＣが入力されると、送信間隔カウンタ２０１の計数はリセットされて計数値ＣＮＴが「０」になり、したがって、信号Ｓｄはローレベルになる。これにより、転送クロック生成部２０６は、このパケット同期信号ＰＳＹＮＣの入力タイミングにしたがって、転送クロックＰＣＭＣＬＫの生成を再開する。
【００４３】
このように、スレーブの動作周波数がマスタの動作周波数よりも高い場合には、そのワードの最後のデータに対応する転送クロックＰＣＭＣＬＫのローレベル期間を長くすることによって、転送クロックＰＣＭＣＬＫの周期が補正される。転送同期信号生成部２０７は、この転送クロックＰＣＭＣＬＫを用いて、転送同期信号ＰＣＭＳＹＮＣを生成する。
【００４４】
以下、同様にして、インタフェース制御部１３０は、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの生成・出力を繰り返す。
【００４５】
図５は、スレーブの動作周波数がマスタの動作周波数よりも低い場合の、インタフェース制御部１３０の動作を示すタイミングチャートである。
【００４６】
計数開始直後の動作は、図３の場合と同様である。
【００４７】
スレーブの動作周波数がマスタの動作周波数よりも低い場合には、送信間隔カウンタ２０１の計数値ＣＮＴが「１２４９」に達する前（すなわち、パケット同期信号ＰＳＹＮＣの入力から１２５０μｓ経過する前）に、次のパケット同期信号ＰＳＹＮＣが入力される。この場合、転送クロック生成部２０６では、このパケット同期信号ＰＳＹＮＣの入力タイミングにしたがって、転送クロックＰＣＭＣＬＫのレベルがハイレベルに立ち上げられる。
【００４８】
このように、スレーブの動作周波数がマスタの動作周波数よりも低い場合には、そのワードの最後のデータに対応する転送クロックＰＣＭＣＬＫのローレベル期間を短くすることによって、転送クロックＰＣＭＣＬＫの周期が補正される。その後、転送同期信号生成部２０７が、この転送クロックＰＣＭＣＬＫを用いて、転送同期信号ＰＣＭＳＹＮＣを生成する。
【００４９】
以下、同様にして、インタフェース制御部１３０は、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの生成・出力を繰り返す。
【００５０】
以上説明したように、この実施の形態に係る同期補正回路によれば、パケット同期信号ＰＳＹＮＣの周期すなわちマスタからのパケットの受信周期と同期するように、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの周期を補正することができる。したがって、この実施の形態によれば、ブルートゥースで通信する音声データの音質を向上させることができる。
【００５１】
第２の実施の形態
次に、この発明の第２の実施の形態に係る同期補正回路について、図６および図７を用いて説明する。
【００５２】
図６は、この実施の形態に係る音声データ処理回路の構成を示すブロック図である。同図において、図１と同じ符号を付した構成要素は、それぞれ、図１の場合と同じものを示している。この実施の形態に係る音声データ処理回路６００では、ベースバンド処理部１１０内に設けられた同期信号発生部６０１の構成と、インタフェース制御部６１０の構成とが、第１の実施の形態に係る音声データ処理回路１００と異なる。
【００５３】
同期信号発生部６０１は、第１の実施の形態と同様、受信パケットの同期語を検出する周期を用いて、パケット同期信号ＰＳＹＮＣを生成する。但し、この実施の形態では、１パケットの受信周期に同期させてパケット同期信号ＰＳＹＮＣを生成するのではなく、７５００μｓ毎にパケット同期信号ＰＳＹＮＣを生成する。ここで、７５００μｓとは、パケット送信のタイプＩ、II、III の送信間隔である１２５０μｓ、２５００μｓ、３７５０μｓの最小公倍数である。すなわち、この実施の形態では、通信されるパケットがタイプＩ（パケット送信周期が１２５０μｓ）の場合には６パケット分の受信周期に同期させてパケット同期信号ＰＳＹＮＣを生成し、通信されるパケットがタイプII（パケット送信周期が２５００μｓ）の場合には３パケット分の受信周期に同期させてパケット同期信号ＰＳＹＮＣを生成し、通信されるパケットがタイプIII （パケット送信周期が３７５０μｓ）の場合には２パケット分の受信周期に同期させてパケット同期信号ＰＳＹＮＣを生成する。
【００５４】
インタフェース制御部６１０は、第１の実施の形態に係るインタフェース制御部１３０と同様、パケット同期信号ＰＳＹＮＣを用いて、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣを生成し、後段のＰＣＭコーデックインタフェース回路（図示せず）に送る。後述するように、この実施の形態に係るインタフェース制御部６１０は、比較器が１個である点で、第１の実施の形態に係るインタフェース制御部１３０と異なる。
【００５５】
なお、同期信号信号発生部６０１とインタフェース制御部６１０とにより、この実施の形態に係る同期補正回路が構成される。
【００５６】
図７は、インタフェース制御部６１０の要部構成を示すブロック図である。
図７のインタフェース制御部６１０は、送信間隔カウンタ７０１と、比較器７０２と、転送クロック生成部７０３と、転送同期信号生成部７０４とを備えている。
【００５７】
送信間隔カウンタ７０１は、第１の実施の形態に係る送信間隔カウンタ２０１と同様、検出信号Ｓｄがローレベルのときに、計測用クロックＭＣＬＫ（例えば１ＭＨｚ）のクロック数を計数して計数値ＣＮＴを出力する。また、送信間隔カウンタ２０１は、検出信号Ｓｄがハイレベルのときに計数を停止し、パケット同期信号ＰＳＹＮＣを入力したときに計数値をリセットする。
【００５８】
比較器７０２は、一方の入力端子から計数値ＣＮＴを入力し、他方の入力端子から数値「７５００」を入力する。そして、両入力値が一致していないときはローレベル信号を出力し、両入力値が一致しているときはハイレベル信号を出力する。
【００５９】
転送クロック生成部７０３は、第１の実施の形態に係る転送クロック生成部２０６と同様、パケット同期信号ＰＳＹＮＣの入力タイミングに同期させて転送クロックＰＣＭＣＬＫを生成し、次のパケット同期信号ＰＳＹＮＣが入力されたときにはクロック生成をリセットして新しいパケット同期信号ＰＳＹＮＣに同期した転送クロックＰＣＭＣＬＫの生成を開始し、且つ、信号Ｓｄがハイレベルのときは転送クロックＰＣＭＣＬＫをローレベルに固定する。
【００６０】
転送同期信号生成部７０４は、第１の実施の形態に係る転送同期信号生成部２０７と同様、転送クロックＰＣＭＣＬＫから転送同期信号ＰＣＭＳＹＮＣを生成して出力する。
【００６１】
上述のように、この実施の形態に係る同期補正回路６０１，６１０では、７５００μｓ毎に、転送クロックＰＣＭＣＬＫのクロック幅が補正される。すなわち、通信されるパケットがタイプＩの場合には、６パケット分の転送クロックＰＣＭＣＬＫに１個の割合で、同期補正が行われる。また、通信されるパケットがタイプIIの場合には、３パケット分の転送クロックＰＣＭＣＬＫに１個の割合で、同期補正が行われる。同様に、通信されるパケットがタイプIII の場合には、２パケット分の転送クロックＰＣＭＣＬＫに１個の割合で、同期補正が行われる。マスタ・スレーブ間の同期ずれが非常に小さい場合には、このような周期で同期補正を行っても、十分に精度の高い同期を得ることができる。
【００６２】
以上説明したように、この実施の形態に係る同期補正回路によれば、パケット同期信号ＰＳＹＮＣの周期すなわちマスタからのパケットの受信周期と同期するように、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの周期を補正することができる。したがって、この実施の形態によれば、ブルートゥースで通信する音声データの音質を向上させることができる。
【００６３】
また、この実施の形態に係る同期補正回路は、比較器が１個であり、且つ、タイプセレクタが不要なので、第１の実施の形態に係る同期補正回路よりも回路規模が小さく、且つ、消費電力が少ない。
【００６４】
第３の実施の形態
次に、この発明の第３の実施の形態に係る同期補正回路について、図８および図９を用いて説明する。
【００６５】
図８は、この実施の形態に係る音声データ処理回路の構成を示すブロック図である。図８において、図１と同じ符号を付した構成要素は、それぞれ、図１の場合と同じものを示している。この実施の形態に係る音声データ処理回路８００では、インタフェース制御部８１０の構成が、第１の実施の形態に係る音声データ処理回路１００と異なる。
【００６６】
インタフェース制御部８１０は、パケット同期信号ＰＳＹＮＣを用いて、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣを生成する。この実施の形態のインタフェース制御部８１０は、ＣＰＵ１５０から、比較値Ｃと、段数Ｆとを入力する。ここで、比較値Ｃとは、マスタによって指定されたパケット送信間隔であり、タイプＩの場合は「１２５０」、タイプIIの場合は「２５００」、タイプIII の場合は「３７５０」である。段数Ｆとは、同期補正の実行頻度を示す値である。すなわち、この実施の形態に係るインタフェース制御部８１０は、Ｆ個のパケット同期信号ＰＳＹＮＣを入力する度に同期補正を行う。
【００６７】
なお、同期信号信号発生部１１１とインタフェース制御部８１０とにより、この実施の形態に係る同期補正回路が構成される。
【００６８】
図９は、インタフェース制御部８１０の要部構成を示すブロック図である。
図９のインタフェース制御部８１０は、送信間隔カウンタ９０１と、比較値レジスタ９０２と、送信間隔比較器９０３と、比較段数カウンタ９０４と、段数レジスタ９０５と、段数比較器９０６と、転送クロック生成部９０７と、転送同期信号生成部９０８とを備えている。
【００６９】
送信間隔カウンタ９０１は、計測用クロックＭＣＬＫ（例えば１ＭＨｚ）のクロック数を計数して計数値ＣＮＴを出力し、検出信号Ｓｄがハイレベルのときに計数を停止し、パケット同期信号ＰＳＹＮＣを入力したときに計数値をリセットする。
【００７０】
比較値レジスタ９０２は、ＣＰＵ１５０から入力された比較値Ｃを、保持する。
【００７１】
比較器９０３は、一方の入力端子から計数値ＣＮＴを入力し、他方の比較値レジスタの格納値（すなわち比較値Ｃ）を入力する。そして、両入力値が一致していないときはローレベル信号を出力し、両入力値が一致しているときはハイレベル信号を出力する。
【００７２】
比較段数カウンタ９０４は、比較器９０３の出力がローレベルからハイレベルに立ち上がった回数、すなわち計数値ＣＮＴが比較値Ｃに達した回数を、計数する。
【００７３】
段数レジスタ９０５は、ＣＰＵ１５０から入力された段数Ｆを、保持する。
【００７４】
段数比較器９０６は、比較段数カウンタ９０４の出力値と、段数カウンタ９０４の格納値すなわち段数Ｆとを、入力する。両入力値が一致していないときはローレベル信号を出力し、両入力値が一致しているときはハイレベル信号を出力する。段数比較器９０６の出力値は、検出信号Ｓｄとして、転送クロック生成部９０７および送信間隔カウンタ９０１に送られる。
【００７５】
転送クロック生成部９０７は、第１の実施の形態に係る転送クロック生成部２０６と同様、パケット同期信号ＰＳＹＮＣの入力タイミングに同期させて転送クロックＰＣＭＣＬＫを生成し、次のパケット同期信号ＰＳＹＮＣが入力されたときにはクロック生成をリセットして新しいパケット同期信号ＰＳＹＮＣに同期した転送クロックＰＣＭＣＬＫの生成を開始し、且つ、信号Ｓｄがハイレベルのときは転送クロックＰＣＭＣＬＫをローレベルに固定する。
【００７６】
転送同期信号生成部９０８は、第１の実施の形態に係る転送同期信号生成部２０７と同様、転送クロックＰＣＭＣＬＫから転送同期信号ＰＣＭＳＹＮＣを生成し、ＰＣＭコーデックインタフェース回路に出力する。
【００７７】
次に、この実施の形態に係る同期補正回路の動作を説明する。
【００７８】
まず、音声データ処理回路８００の初期設定として、比較値Ｃおよび段数ＦがＣＰＵ１５０から入力され、レジスタ９０２，９０５に格納される。
【００７９】
次に、送信間隔カウンタ９０１が、計数を開始する。送信間隔カウンタ９０１は、パケット同期信号ＰＳＹＮＣの立ち上がりタイミングでリセットされ、測定用クロックＭＣＬＫの新たな計数を開始する。計数値ＣＮＴは、送信間隔比較器９０３に送られる。
【００８０】
送信間隔比較器９０３は、計数値ＣＮＴを比較値Ｃと比較する。計数値ＣＮＴが比較値に達していない場合、比較器９０３の出力はローレベルである。
【００８１】
計数値ＣＮＴが比較値Ｃに達すると、比較器の出力がハイレベルに変化し、さらに、比較段数カウンタ９０４の計数値が「１」増加する。段数比較器９０６は、比較段数カウンタ９０４の計数値を、段数Ｆと比較する。そして、段数比較器９０６は、計数値が段数Ｆに達すると、信号Ｓｄをハイレベルにする。
【００８２】
送信間隔カウンタ９０１は、第１の実施の形態と同様、信号Ｓｄがハイレベルの間は計数動作を停止する。そして、送信間隔カウンタ９０１は、次のパケット同期信号ＰＳＹＮＣを入力したときに、計数値ＣＮＴをリセットする。また、このとき、比較段数カウンタ９０４もリセットされる。
【００８３】
第１の実施の形態と同様、スレーブの動作周波数がマスタの動作周波数よりも高い場合には、次のパケット同期信号ＰＳＹＮＣが入力される前に、比較器９０３の出力がハイレベルになる。したがって、この場合、段数比較器９０６の出力信号Ｓｄは、Ｆ個のパケット同期信号ＰＳＹＮＣの入力周期毎に、ハイレベルになる。そして、信号Ｓｄがハイレベルになる度に、転送クロック生成部９０７が転送クロックＰＣＭＣＬＫのローレベル期間を補正する。
【００８４】
一方、スレーブの動作周波数がマスタの動作周波数よりも低い場合、信号Ｓｄがハイレベルになることはない。この場合、転送クロック生成部９０７は、第１の実施の形態と同様、パケット同期信号ＰＳＹＮＣを入力する度に（すなわちＣμｓに１回の比率で）、転送クロックのクロック幅を補正する。
【００８５】
以上説明したように、この実施の形態に係る同期補正回路によれば、パケット同期信号ＰＳＹＮＣの周期すなわちマスタからのパケットの受信周期と同期するように、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの周期を補正することができる。したがって、この実施の形態によれば、ブルートゥースで通信する音声データの音質を向上させることができる。
【００８６】
また、この実施の形態に係る同期補正回路は、比較器が２個であるので、第１の実施の形態に係る同期補正回路よりも消費電力が少ない。
【００８７】
その一方で、同期ずれを補正する頻度を任意に設定することができ、したがって、補正できる同期ずれの範囲が、第２の実施の形態に係る同期補正回路よりも大きい。
【００８８】
第４の実施の形態
次に、この発明の第４の実施の形態に係る同期補正回路について、図１０および図１１を用いて説明する。
【００８９】
図１０は、この実施の形態に係る音声データ処理回路の構成を示すブロック図である。図１０において、図８と同じ符号を付した構成要素は、それぞれ、図８の場合と同じものを示している。
【００９０】
この実施の形態に係る音声データ処理回路１０００は、インタフェース制御部１０１０が割り込み信号ＢＲＫを生成・出力する点で、第３の実施の形態に係る音声データ処理回路８００と異なる。割り込み信号ＢＲＫは、スレーブの動作周波数がマスタの動作周波数よりも高い場合に、転送クロックＰＣＭＣＬＫの補正が実行される度に出力される。この割り込み信号ＢＲＫは、バス１４０を介して、ＣＰＵ１５０に送られる。
【００９１】
図１１は、インタフェース制御部１０１０の要部構成を示すブロック図である。図１１において、図９と同じ符号を付した構成要素は、それぞれ、図９の場合と同じものを示している。すなわち、この実施の形態に係るインタフェース制御部１０１０の内部構造は、段数比較器９０６の出力を割り込み信号ＢＲＫとしてバス１４０に出力する構造を有する点を除いて、図９のインタフェース制御部８１０と同じである。
【００９２】
この実施の形態によれば、ＣＰＵ１５０は、割り込み信号ＢＲＫを受信することにより、スレーブの動作周波数がマスタの動作周波数よりも高いことを検出できる。一方、割り込み信号ＢＲＫが受信されない場合には、スレーブの動作周波数がマスタの動作周波数と一致するか或いはマスタの動作周波数よりも低いことを検出できる。これにより、ＣＰＵ１５０は、例えば、この割り込み信号ＢＲＫを用いて、システムクロックの周波数を調整することができる。
【００９３】
すなわち、この実施の形態に係る同期補正回路は、第３の実施の形態と同様の同期補正に加えて、システムクロックの周期を補正することによる同期補正を行うことができる。したがって、この実施の形態によれば、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの周期を、より高精度に補正することができる。
【００９４】
加えて、システムクロックを補正することにより、音声データ処理回路１０００内に設けられた他の回路の動作を補正することが容易になる。
【００９５】
第５の実施の形態
以下、この発明の第５の実施の形態について、図１２および図１３を用いて説明する。
【００９６】
図１２は、この実施の形態に係る音声データ処理回路の構成を示すブロック図である。図１２において、図１０と同じ符号を付した構成要素は、それぞれ、図１０の場合と同じものを示している。
【００９７】
ＣＰＵ１２１０は、第４の実施の形態と同様にしてインタフェース制御部１２２０から割り込み信号ＢＲＫを順次入力し、最初の所定数の割り込み信号ＢＲＫから、マスタによってパケットが送信された間隔の平均値ＡＲＧを算出し、出力する。
【００９８】
インタフェース制御部１２２０は、ＣＰＵ１２１０から入力した平均値ＡＲＧを、内部に格納する。インタフェース制御部１２２０は、その後の同期補正で、比較値Ｃに代えて平均値ＡＲＧを使用する。
【００９９】
図１３は、インタフェース制御部１２２０の要部構成を示すブロック図である。図１３において、図１１と同じ符号を付した構成要素は、それぞれ、図１１の場合と同じものを示している。すなわち、この実施の形態に係るインタフェース制御部１２２０は、平均値記憶回路１３０１とセレクタ１３０２とを備えている点で、図１１のインタフェース制御部１０１０と異なる。
【０１００】
平均値記憶回路１３０１は、ＣＰＵ１２１０から入力された平均値ＡＲＧを記憶する。
【０１０１】
セレクタ１３０２は、平均値記憶回路１３０１に平均値ＡＲＧが格納される前は比較値レジスタ９０２の出力を選択して送信間隔比較器９０３に送り、平均値記憶回路１３０１に平均値ＡＲＧが格納された後は平均値記憶回路１３０１の出力を選択して送信間隔比較器９０３に送る。
【０１０２】
なお、図１３に示したように、平均値記憶回路１３０１が送信間隔カウンタ９０１の計数値ＣＮＴを順次取り込んで、平均値ＡＲＧを計算することとしてもよい。
【０１０３】
この実施の形態では、まず、音声データ処理回路１２００の初期設定として、比較値Ｃおよび段数ＦがＣＰＵ１２１０から入力され、レジスタ９０２，９０５に格納される。そして、送信間隔カウンタ９０１の計数が開始されると、送信間隔比較器９０３は、計数値ＣＮＴと比較値Ｃとを順次比較する。そして、第３、第４の実施の形態と同様にして、比較段数カウンタ９０４による計数動作と、段数比較器９０６による比較動作が繰り返される。また、第３、第４の各実施の形態と同様にして、転送クロック生成部９０７が、同期補正された転送クロックＰＣＭＣＬＫを生成する。転送同期信号生成部９０８は、この転送クロックＰＣＭＣＬＫから、転送同期信号ＰＣＭＳＹＮＣを生成する。
【０１０４】
スレーブの動作周波数がマスタの動作周波数よりも高い場合には、第３、第４の実施の形態と同様、段数比較器９０６の出力信号ＳｄはＦ個のパケット同期信号ＰＳＹＮＣの入力周期毎に、ハイレベルになる。この信号Ｓｄは、割り込み信号ＢＲＫとして、ＣＰＵ１２１０に入力される。
【０１０５】
ＣＰＵ１２１０は、上述したように、所定数の割り込み信号ＢＲＫから、パケット送信間隔の平均値ＡＲＧを算出する。そして、ＣＰＵ１２１０は、この平均値ＡＲＧを、インタフェース制御部１２２０に送る。
【０１０６】
インタフェース制御部１２２０は、ＣＰＵ１２１０から入力した平均値ＡＲＧを、平均値記憶回路１３０１に格納する。このとき、例えばＣＰＵ１２１０等の制御により、セレクタ１３０２の選択が、平均値記憶回路１３０１に切り換えられる。
【０１０７】
その後、送信間隔比較器９０３は、計数値ＣＮＴと平均値ＡＲＧとを順次比較し、これらの値ＣＮＴ，ＡＲＧが一致しないときはローレベルを出力し、一致したときはハイレベルを出力する。比較段数カウンタ９０４、段数比較器９０６、転送クロック生成部９０７および転送同期信号生成部９０８の動作は、比較値Ｃが使用されているときの動作と同じである。
【０１０８】
以上説明したように、この実施の形態に係る同期補正回路によれば、パケット同期信号ＰＳＹＮＣの周期すなわちマスタからのパケットの受信周期と同期するように、転送クロックＰＣＭＣＬＫおよび転送同期信号ＰＣＭＳＹＮＣの周期を補正することができる。したがって、この実施の形態によれば、ブルートゥースで通信する音声データの音質を向上させることができる。
【０１０９】
また、この実施の形態によれば、最初の所定回数のみ比較値Ｃを使用し、その後は平均値ＡＲＧを使用することとしたので、段数比較器９０６が信号Ｓｄ，ＢＲＫを出力する頻度や送信間隔カウンタ９０１が計数を停止する頻度などを減らすことができ、これにより、インタフェース制御部１２２０の消費電力を低減することができる。
【０１１０】
なお、以上の実施例では、この発明に係る同期補正回路をブルートゥース用の音声データ処理回路に適用した場合を例に採って説明したが、この発明は、通信パケットを扱うデータ処理回路であれば、他の種類のデータ処理回路の同期補正回路にも適用することができる。
【０１１１】
【発明の効果】
以上詳細に説明したように、本発明に係る同期補正回路によれば、マスタ／スレーブ間の同期ずれを補正することができる。
【図面の簡単な説明】
【図１】第１の実施の形態に係る同期補正回路の構成を示すブロック図である。
【図２】図１のインタフェース制御部の内部構造を示す回路図である。
【図３】第１の実施の形態に係る同期補正回路の動作を示すタイミングチャートである。
【図４】第１の実施の形態に係る同期補正回路の動作を示すタイミングチャートである。
【図５】第１の実施の形態に係る同期補正回路の動作を示すタイミングチャートである。
【図６】第２の実施の形態に係る同期補正回路の構成を示すブロック図である。
【図７】図６のインタフェース制御部の内部構造を示す回路図である。
【図８】第３の実施の形態に係る同期補正回路の構成を示すブロック図である。
【図９】図８のインタフェース制御部の内部構造を示す回路図である。
【図１０】第４の実施の形態に係る同期補正回路の構成を示すブロック図である。
【図１１】図１０のインタフェース制御部の内部構造を示す回路図である。
【図１２】第５の実施の形態に係る同期補正回路の構成を示すブロック図である。
【図１３】図１２のインタフェース制御部の内部構造を示す回路図である。
【図１４】音声データのパケット構造を示す概念図である。
【図１５】音声データの通信方式を説明するための概念図である。
【図１６】従来の音声データ処理回路の構造を示すブロック図である。
【図１７】従来の音声データ処理回路の動作を示すタイミングチャートである。
【図１８】従来の音声データ処理回路の動作を示すタイミングチャートである。
【符号の説明】
１００  音声データ処理回路
１１０  ベースバンド処理部
１２０  音声データ変換部
１３０  インタフェース制御部
２０１  送信間隔カウンタ
２０２，２０３，２０４  比較器
２０５  タイプセレクタ
２０６  転送クロック生成部
２０７  転送同期信号生成部
【図１】
0004582932.tif 000002
【図２】
0004582932.tif 000003
【図３】
0004582932.tif 000004
【図４】
0004582932.tif 000005
【図５】
0004582932.tif 000006
【図６】
0004582932.tif 000007
【図７】
0004582932.tif 000008
【図８】
0004582932.tif 000009
【図９】
0004582932.tif 000010
【図１０】
0004582932.tif 000011
【図１１】
0004582932.tif 000012
【図１２】
0004582932.tif 000013
【図１３】
0004582932.tif 000014
【図１４】
0004582932.tif 000015
【図１５】
0004582932.tif 000016
【図１６】
0004582932.tif 000017
【図１７】
0004582932.tif 000018
【図１８】
0004582932.tif 000019