(57)【要約】【課題】バッファ内に残った端数データを、確実にかつ速やかに他のモジュールに転送することが可能なデータ転送制御回路を得る。【解決手段】それぞれが複数の記憶領域を有する少なくとも２個のバッファ（バッファ０、バッファ１）を備え、一のバッファがフルとなった場合に他のバッファを使用するようにして、入力されたデータを少なくとも２個のバッファ（バッファ０、バッファ１）に順次格納し、フルとなったバッファから格納された全データを出力させるデータ転送制御装置（８）において、少なくとも２個のバッファ（バッファ０、バッファ１）に入力されるデータを監視し、データの転送が終了したことを示す信号を検出すると、入力中のバッファに格納されているデータを強制的に出力させるための出力信号（１８）を生成する制御部（１４）を設け、この出力信号によって入力中のバッファのデータ出力を制御する。【選択図】図２
2008033538.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数の記憶領域を有する少なくとも２個のバッファを備え、一のバッファがフルとなった場合に他のバッファを使用するようにして、入力されたデータを前記少なくとも２個のバッファに順次格納し、フルとなったバッファから格納された全データを出力させるデータ転送制御装置において、
前記少なくとも２個のバッファに入力されるデータを監視し、データの転送が終了したことを示す信号を検出すると、入力中のバッファに格納されているデータを強制的に出力させるための出力信号を生成する制御部を設け、前記出力信号によって前記入力中のバッファのデータ出力を制御するようにしたことを特徴とする、データ転送制御装置。
【請求項２】
請求項１に記載のデータ転送制御装置において、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、データが格納されていない記憶領域に無効データを格納して当該バッファをフルとしデータを出力することを特徴とする、データ転送制御装置。
【請求項３】
請求項１に記載のデータ転送制御装置において、前記フルとなり格納された全データを出力したバッファの全記憶領域に一旦無効データを格納しておき、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、当該バッファ内に格納されたデータを前記無効データと共に出力することを特徴とする、データ転送制御装置。
【請求項４】
請求項１に記載のデータ転送制御装置において、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、当該バッファ内に格納されたデータをシリアルで出力することを特徴とする、データ転送制御装置。
【請求項５】
請求項１乃至４の何れか１項に記載のデータ転送制御装置を備えることを特徴とする、電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば３線式シリアルインターフェースを介して入力されたＰＣＭデータを、欠落なく速やかに電子機器等に入力するためのデータ転送制御装置、およびこのデータ転送制御装置を用いた電子機器に関する。
【背景技術】
【０００２】
ＣＤ、ＭＤプレーヤあるいはＦＭラジオからのＰＣＭデータは、例えば、３線式シリアルインターフェースなどを介して電子機器に取り込まれ、ここで録音、再生などの処理が行われる。このとき、ＰＣＭデータを適正にかつ効率よく電子機器に取り込むために、少なくとも２個の受信バッファを備えたデータ転送制御装置が使用される。この回路では、入力データバイトが不明の３線ＰＣＭ等のデータを取り込む際、２個以上の受信バッファにデータを順次格納し、データがフルに格納されたバッファに対してデータ読み出しリクエストを発行してデータを出力するようにしている。したがって、３線ＰＣＭ入力データの最終データがバッファを構成するビット数（データ量）に対して端数であった場合、バッファはフルとはならないため、このバッファに対してデータ読み出しリクエストは発行されず、この端数データは出力されない。転送するＰＣＭデータが音楽データであるような場合、端数データが出力されないと、曲の終わり方が不自然になるなどの不都合がある。
【０００３】
したがって、受信バッファに残った端数データを取り出すための種々の方法が提案されている。例えば、特許文献１に記載の方法では、デバイス側から受信したデータを受信バッファに交互に書き込み、書き込まれたデータをＲＡＭに格納する際、受信バッファに端数データが書き込まれた後一定時間が経過すると、有効ビット情報と共にＲＡＭ側にリクエスト（書き込み要求）を出して、端数データがＲＡＭ側に出力されるようにしている。ところがこの方法では、受信バッファに書き込まれた端数データのＲＡＭ側への転送は、受信バッファに一定時間データの書き込みがないことが条件であり、さらに転送データの総量がわかっている必要がある。
【０００４】
しかしながら、例えば３線ＰＣＭ入力データは、ＭＤプレーヤあるいはＦＭラジオ等からの音楽データであり、ユーザがデータの取り込み（録音）を終了するタイミングで受信バッファにおける端数データが発生するものであり、端数データまでのすべてのデータを出力する必要がある。したがって、受信バッファが端数データを受信した後、一定時間データが入力されない状況を待ってデータを出力するようにした場合、その分、ＣＰＵその他の回路が停止状態となり、データ処理速度が低下する。また、音楽データの転送の場合、転送データの総量は、ユーザがどこまでデータの取り込み（録音）をするのかによって決まり、予め機器が送信データの総量を知ることはできない。したがってこの方法は、音楽データの取り込みなどを行う機器では適切ではない。
【０００５】
特許文献２に記載の方法では、データ転送をする場合、バッファ部に端数ビットが生じるとその部分に無効データを付加して転送するようにしている。しかしながら、この方法でも送信データのサイズ設定が必要であり、そのためには端数データのサイズがわかっている必要がある。ところが、上述したように、音楽データなどの取り込みの場合、送信データの総量はユーザの決定にかかっており、予め機器がその総量を知ることはできない。したがって、この方法も、音楽データ等の取り込みを行う場合には適切ではない。
【０００６】
【特許文献１】特開２００４−２３４３４８
【特許文献２】特開２００３−２７１５４９
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、従来のデータ転送制御装置における上記のような問題点を解決する目的で為されたもので、ＰＣＭ入力データが音楽データのような場合であっても、受信バッファ内に書き込まれた端数データの効果的な転送が可能な、データ転送制御装置およびこのような回路を備える電子機器を提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明では、それぞれが複数の記憶領域を有する少なくとも２個のバッファを備え、一のバッファがフルとなった場合に他のバッファを使用するようにして、入力されたデータを前記少なくとも２個のバッファに順次格納し、フルとなったバッファから格納された全データを出力させるデータ転送制御装置において、前記少なくとも２個のバッファに入力されるデータを監視し、データの転送が終了したことを示す信号を検出すると、入力中のバッファに格納されているデータを強制的に出力させるための出力信号を生成する制御部を設け、前記出力信号によって前記入力中のバッファのデータ出力を制御するように構成している。
【０００９】
上記本発明のデータ転送制御装置において、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、データが格納されていない記憶領域に無効データを格納して当該バッファをフルとしデータを出力するようにしても良い。
【００１０】
また、上記本発明のデータ転送制御装置において、前記フルとなり格納された全データを出力したバッファの全記憶領域に一旦無効データを格納しておき、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、当該バッファ内に格納されたデータを前記無効データと共に出力するようにしても良い。
【００１１】
さらに、上記本発明のデータ転送制御装置において、前記入力中のバッファが前記制御部において生成された出力信号を受信すると、当該バッファ内に格納されたデータをシリアルで出力するようにしても良い。
【発明の効果】
【００１２】
本発明のデータ転送制御装置では、例えば曲間信号が入力されることによって、制御部がデータ転送の終了を検出すると、入力中のバッファに格納されているデータを強制的に出力させるための出力信号を生成し、これを入力中のバッファに送出する。そのため、入力中のバッファにいわゆる端数データが残った場合であっても、この端数データが強制的に出力されるので、入力された全てのデータが確実に転送される。その結果、データの再生あるいは録音品質を低下させることなく、ユーザが取り込みたいデータを最後まで取り込むことができる。また、従来技術で行われていたように、端数データの転送のために一定時間の経過を待つ必要がないため、データ処理速度が低下しない。
【発明を実施するための最良の形態】
【００１３】
［実施形態１］
図１は、本発明の実施形態１に係る電子機器の構成を示すブロック図である。例えば、オーディオ信号の再生あるいは録音装置である電子機器２は、３線シリアルインターフェース４等を介してＭＤプレーヤ、ＣＤプレーヤあるいはＦＭラジオ等のデータ再生装置６と接続可能であり、接続された場合、データ再生装置６からＰＣＭデータが入力される。電子機器２は、データ転送制御装置８と、再生、録音などの処理を行うデータ処理部１０とを含んでいる。データ転送制御装置８は、複数の記憶領域を有する少なくとも２個のバッファ（バッファ０、バッファ１）を含む受信バッファ部１２と、制御部１４とを備えている。制御部１４の機能については後述する。
【００１４】
図２は、図１に示すデータ転送制御装置８の機能を説明するための図である。３線シリアルインターフェース等からのＰＣＭデータは受信バッファ部１２に入力され、例えば、バッファ０に格納される。バッファ０の複数の記憶領域の全てにデータが格納されると、入力データは次にバッファ１に格納されるようになる。一方、バッファ０はデータ処理部１０に自身がフルであることを示す信号を送出するので、これに応答してデータ処理部１０がデータ読み出しリクエストをバッファ０に送信し、その結果、バッファ０の内容が転送イネーブルと共にデータ処理部１０に送信される。図２（ｂ）はバッファ０（あるいはバッファ１）からデータ処理部１０に送信される転送イネーブルと転送データとを示している。
【００１５】
制御部１４は、電子機器２に入力されたＰＣＭデータ１６中に転送終了設定信号が含まれているか否かを監視している。この転送終了設定信号は、ユーザによる転送終了設定に基づいて生成される信号であっても、あるいは、入力データが音楽プログラムに関するものである場合等、１曲のデータの終わりに付加されている曲間信号であってもよい。制御部１４がＰＣＭデータ１６中に曲間信号等の転送終了設定信号を検出すると、データの押し出し信号１８を生成してこれを受信バッファ部１２に送信する。
【００１６】
なお、ＰＣＭデータ１６中にデータの転送終了設定信号が含まれている場合、この信号以降にはデータ入力がないため、最終データの入力の時点でバッファの全ての記憶領域にデータが格納されている場合を除き、バッファの一部の記憶領域にのみデータが格納された状態、即ち端数データが発生する。この場合には、バッファはフル信号をデータ処理部１０に送出しないため、データ処理部１０はデータ読み出しリクエストを発行せず、したがってバッファ内に端数データが残ったままとなる。しかしながら、本実施形態では、受信バッファ部１２は、押し出し信号１８を受信することにより、バッファ０または１に残った端数データを押し出す処理を実行することが可能になる。
【００１７】
図３は、受信バッファ部１２が、押し出し信号１８の受信によって端数データを押し出すために実行する手順を示すフローチャートである。ステップＳ２で、受信バッファ部１２の例えばバッファ０と制御部１４にＰＣＭデータが入力される。ステップＳ４では、制御部１４において、入力されたＰＣＭデータ中に転送終了設定信号、例えば曲間信号が含まれるか否かが判定される。曲間信号が含まれない場合（ステップＳ４のＮＯ）、ステップＳ６でバッファ０がフルであるか否かが検出され、フルでない場合（ステップＳ６のＮＯ）、ステップＳ２に戻って新たなデータをバッファに入力する。
【００１８】
このようにしてバッファ０の全ての記憶領域にデータが格納されると（ステップＳ６のＹＥＳ）、ステップＳ８でバッファ０内のデータをデータ処理部１０に出力する。ステップＳ４において、入力データ中に曲間信号が検出されると（ステップＳ４のＹＥＳ）、制御部１４はデータの押し出し信号を生成し、これをバッファ０に送信する（ステップＳ１０）。受信バッファ０は、押し出し信号の受信によってバッファがフルとなるまで“０”信号を空いている記憶領域に埋め込む（ステップＳ１２、ステップＳ１４）。この結果、バッファ０がフルとなるので、バッファ０内の全データ、即ち、端数データと埋め込まれた“０”データとがデータ処理部１０に転送される。なお、音楽データの場合、“０”データは無音データであり音質に何らの影響を及ぼさないので、端数データに“０”データが付加されたことによって再生、録音時に音質劣化が発生することはない。
【００１９】
図４の（ａ）〜（ｄ）は、図３に示した端数データの押し出し処理時のバッファおよびデータ処理部１０の状態を示す図である。図（ａ）に示すように、ＰＣＭデータ１６としてデータ（０ＸＡＡＡＡ）が入力されると、このデータは、空いているバッファ、例えばバッファ０に格納される。バッファ０がフルとなると、次に入力されたデータ（０ＸＢＢＢＢ）は、図（ｂ）に示すようにバッファ１に格納される。このとき、バッファ０に格納されていたデータ（０ＸＡＡＡＡ）はデータ処理部１０に転送され、バッファ０は再び空状態となる。
【００２０】
次に、図（ｃ）に示すように、例えば１つの曲の最終データＣ（０ＸＣ）が入力され、それ以降、少なくとも次の曲のデータ入力が始まるまでデータ入力が途切れると、そのデータは空いているバッファ０の一部の記憶領域に格納される。なお、バッファ１がデータ（０ＸＢＢＢＢ）によってフルとなった時点で、バッファ１の内容はデータ処理部１０に転送されている。最終データの入力によって、制御部１４からデータ押し出し信号１８が出力されるので、バッファ０はその空領域に“０”データを埋め込む。これによって、バッファ０がフルとなると、図（ｄ）に示すように、バッファ０の内容がデータ処理部１０に転送される。
【００２１】
以上によって、バッファ内の端数データが確実にかつ速やかに、データ処理部に転送される。
【００２２】
［実施形態２］
図５は、本発明の実施形態２に係るデータ転送制御装置の動作を示すフローチャートであり、図６は各処理段階における受信バッファ部１２およびデータ処理部１０の状態を示す図である。なお、本実施形態および以降の実施形態にかかるデータ転送制御装置の基本的な構成は、図１および図２に示すものと概略同じであるため、以降では、図１および２を援用して説明する。
【００２３】
本実施形態のステップＳ２２からステップＳ２８は、実施形態１のステップＳ２からステップＳ８に相当し、データ入力を空いているバッファ内に格納し、バッファがフルとなった時点で格納されたデータをデータ処理部１０に転送する処理を実行する。本実施形態では、バッファ内のデータ出力（ステップＳ２８）の後、出力後のバッファをゼロクリアし、バッファ内の全ての記憶領域に“０”データを書き込んでおく（ステップＳ３２）。この処理によって、バッファに端数データが入力された場合であっても、バッファは端数データで構成される有効データと、ゼロクリア時の“０”データとによって、全ての記憶領域が占有されていることになる。
【００２４】
そのため、ステップＳ２４で入力信号中に曲間信号が検出された場合（ステップＳ２４のＹＥＳ）、制御部１４でデータの押し出し信号１８が生成される（ステップＳ３０）ことによって、バッファ内のデータがデータ処理部１０に出力される（ステップＳ２８）。データの出力後は、再びそのバッファをゼロクリアする（ステップＳ３２）。
【００２５】
図６を参照して以上の操作を具体的に説明する。図６の（ａ）において、ＰＣＭデータ１６としてデータ（０ＸＡＡＡＡ）が入力されると、このデータはバッファ０に格納される。次に、図（ｂ）に示すように、データ（０ＸＢＢＢＢ）が入力されると、このデータは他方のバッファ１に格納され、一方バッファ０の内容はデータ処理部１０に転送される。転送と同時にバッファ０はゼロクリアされ、全ての記憶領域に“０”データが格納される。このようにして、バッファ０にはデータ（０Ｘ００００）が格納される。次に、図（ｃ）に示すように、曲間信号の発生に伴って端数データ（０ＸＣ）が入力されるとこのデータはバッファ０に格納されるが、端数データが格納された記憶領域以外には“０”データが残った状態となる。即ち、バッファ０の全ての記憶領域は有効データかあるいは“０”データで占有されている。なお、他方のバッファ１の内容はデータ処理部１０に転送され、バッファ１はデータの転送後ゼロクリアされる。
【００２６】
制御部１４は、曲間信号の検出によってデータの押し出し信号１８を生成するため、図（ｄ）に示すように次のデータの入力が途絶えた場合であっても、バッファ０の内容（０ＸＣ０００）がデータ処理部１０に転送される。データの転送後は、バッファ０はゼロクリアされる。これによって、データ処理部１０には、無音データである“０”データと共に端数データ（０ＸＣ）が確実にかつ速やかに転送される。
【００２７】
なお、通常、ＰＣＭ入力データの最初の部分に曲間信号が含まれることはないので、図５および６の例では、バッファ０および１を初期段階でゼロクリアしていないが、必要であれば、ＰＣＭ入力データが導入される前にバッファ０および１をゼロクリアするようにしておいても良い。
【００２８】
［実施形態３］
図７は、実施形態３のデータ転送制御装置における端数データ押し出し処理を説明するための図面である。本実施形態の回路では、バッファ０および１に順次格納されたＰＣＭデータが、実施形態１の場合と同様の手順で、データ処理部１０に転送される（図７の（ａ）および（ｂ）参照）。曲間信号の入力によって、バッファ０に端数データ（０ＸＣ）が残ると（図（ｃ）参照）、制御部１４が曲間信号の検出により形成したデータの押し出し信号１８に基づいて、バッファ０はデータ処理部１０に対してシリアルで格納されたデータの転送を開始する。図（ｅ）は、バッファ０のシリアルデータ転送のための転送イネーブル信号、クロック信号および転送されるデータ（データＣ）の波形を示している。
【００２９】
このように、本実施形態では、押し出し信号１８が生成された場合、受信バッファ部１２は、端数データを格納したバッファに対してのみ、データのシリアル転送を開始する。そのため、バッファの全ての記憶領域にデータが格納されていない場合であっても、ゼロ埋めすることなく、端数データが確実にかつ速やかにデータ処理部１０に転送される。
【００３０】
なお、他の本実施形態として、図７に示した実施形態において、バッファに予め定義された最終データが格納された場合、そのバッファに端数データが残っているか否かにかかわらず、そのバッファに対してシリアルでデータ転送を行わせるようにしても良い。これによって、ゼロ埋めすることなく、端数データが確実にかつ速やかにデータ処理部に転送される。また、ＰＣＭデータのバッファへの入力時、例えば無音データである“０”が１００回続いて入力された場合、無音状態と判断し、バッファからデータ処理部へデータ転送自体を行わないようにしても良い。この場合、“０”以外のデータが入力された場合は、転送を開始する。これによって、ＣＰＵ等他の処理を行うモジュールの負荷低減、メモリ量の削減が期待される。さらに、上記実施形態１乃至３において、バッファにユーザが設定した値以上の端数データが残った場合にのみ、データ転送を行うようにしても良い。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態にかかる電子機器の構成を示すブロック図。
【図２】本発明の一実施形態にかかるデータ転送制御装置の構成および機能を説明するための図。
【図３】図２に示すデータ転送制御装置の動作手順を示す図。
【図４】図２に示すデータ転送制御装置の動作説明に供する図。
【図５】本発明の他の実施形態にかかるデータ転送制御装置の動作手順を示す図。
【図６】図５のデータ転送制御装置の動作説明に供する図。
【図７】本発明のさらに他の実施形態にかかるデータ転送制御装置の動作説明に供する図。
【符号の説明】
【００３２】
２    電子機器
４    ３線シリアルインターフェース
６    データ再生装置
８    データ転送制御装置
１０    データ処理部
１２    受信バッファ部
１４    制御部
１６    ＰＣＭデータ
１８    押し出し信号
【図１】
2008033538.tif 000003
【図２】
2008033538.tif 000004
【図３】
2008033538.tif 000005
【図４】
2008033538.tif 000006
【図５】
2008033538.tif 000007
【図６】
2008033538.tif 000008
【図７】
2008033538.tif 000009