JP4735268B2 - サンプリング周波数変換装置 - Google Patents

サンプリング周波数変換装置 Download PDF

Info

Publication number
JP4735268B2
JP4735268B2 JP2006003088A JP2006003088A JP4735268B2 JP 4735268 B2 JP4735268 B2 JP 4735268B2 JP 2006003088 A JP2006003088 A JP 2006003088A JP 2006003088 A JP2006003088 A JP 2006003088A JP 4735268 B2 JP4735268 B2 JP 4735268B2
Authority
JP
Japan
Prior art keywords
frequency
control information
data
frequency control
sampling frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006003088A
Other languages
English (en)
Other versions
JP2007184881A (ja
Inventor
裕行 戸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006003088A priority Critical patent/JP4735268B2/ja
Publication of JP2007184881A publication Critical patent/JP2007184881A/ja
Application granted granted Critical
Publication of JP4735268B2 publication Critical patent/JP4735268B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

この発明は、デジタルオーディオ機器等に好適なサンプリング周波数変換装置に関する。
デジタルオーディオ等の分野では、様々なサンプリング周波数に対応した装置が提供されているため、サンプリング周波数の異なる装置同士が接続される場合も多い。そのような場合、前段の装置から後段の装置に供給されるデータのサンプリング周波数を後段の装置のサンプリング周波数に合わせるサンプリング周波数変換装置が両装置間に設けられる。この場合において、前段の装置と後段の装置は各々独立したクロックに同期して動作する。このため、一般的にサンプリング周波数変換装置には、サンプリング周波数変換前のデータの一時記憶またはサンプリング周波数変換後のデータの一時記憶を行うためのFIFO(First−In First−Out;先入れ先出し方式のバッファ)が設けられ、前段および後段の装置間のデータ伝送はこのFIFOを介して行われる。また、サンプリング周波数変換装置では、FIFO内の読み出し未了の残存データ量が監視され、残存データ量が適正値を維持するように、残存データ量の変動に応じて、FIFOにおけるデータ出力速度またはデータ入力速度を増減するPLL(Phase Locked Loop)制御が行われる。このサンプリング周波数変換装置によれば、前段の装置のデータの送信速度または後段の装置のデータの受信速度に微妙な変動があったとしても、その変動をPLL制御により吸収し、FIFOのオーバフローあるいはアンダフローを発生させることなくサンプリング周波数変換を行うことができる。なお、この種のサンプリング周波数変換装置は、例えば特許文献1に開示されている。
特開2005−192714号公報
ところで、デジタルオーディオ等では、前段の装置および後段の装置間でデータの伝送が行われている期間に、前段の装置が後段の装置に供給するデータのサンプリング周波数を変更し、あるいは後段の装置が前段の装置から受け取るデータのサンプリング周波数を変更する必要が生じる場合がある。しかしながら、上述した従来のサンプリング周波数変換装置は、このようなサンプリング周波数の変更が行われた場合、その変更の程度によっては、上述したPLL制御がサンプリング周波数の変更に追従することができず、FIFOのオーバフローまたはアンダフローを引き起こす場合があるという問題があった。
この発明は上述した事情に鑑みてなされたものであり、前段の装置が後段の装置に供給するデータのサンプリング周波数を変更し、あるいは後段の装置が前段の装置から受け取るデータのサンプリング周波数を変更する場合であっても、FIFOのオーバフローまたはアンダフローを発生させることなく安定したサンプリング周波数変換を行うことができるサンプリング周波数変換装置を提供することを目的としている。
この発明は、前段の装置から供給される第1のサンプリング周波数のデータを第2のサンプリング周波数のデータに変換して後段の装置に出力するサンプリング周波数変換装置において、前段の装置から第1のサンプリング周波数のデータを順次取り込んで補間演算用入力データ列として記憶し、前記補間演算用入力データ列を用いた補間演算により第2のサンプリング周波数のデータを生成して出力する補間手段と、前記補間手段から出力される第2のサンプリング周波数のデータを記憶し、記憶したデータを古いものから順に読み出して出力する先入れ先出し方式の記憶手段と、前記記憶手段に記憶された読み出し未了のデータの残存データ量を検出する残存データ量検出手段と、前記第2のサンプリング周波数のデータを前記補間手段に出力させ、前記記憶手段に記憶させるための制御信号を周波数制御情報に応じた時間密度で発生する可変周波数発振手段と、前記残存データ量検出手段により検出される残存データ量が適正値となるように、前記可変周波数発振手段に与える周波数制御情報の増減を行なう周波数制御手段と、第2のサンプリング周波数のデータの出力を要求するクロックの周波数測定を行い、第2のサンプリング周波数を求める周波数測定手段と、前記周波数測定手段により求められた第2のサンプリング周波数に適した周波数制御情報を生成する周波数制御情報生成手段と、前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がある場合に、前記可変周波数発振手段に与えられる周波数制御情報を前記周波数制御情報生成手段により生成された周波数制御情報に置き換える周波数制御情報適正化手段とを具備することを特徴とするサンプリング周波数変換装置を提供する。
また、この発明は、前段の装置から供給される第1のサンプリング周波数のデータを第2のサンプリング周波数のデータに変換して後段の装置に出力するサンプリング周波数変換装置において、前段の装置から第1のサンプリング周波数のデータを順次取り込んで記憶し、記憶したデータを古いものから順に読み出して出力する先入れ先出し方式の記憶手段と、前記記憶手段から出力されるデータを順次取り込んで補間演算用入力データ列として記憶し、前記補間演算用入力データ列を用いた補間演算により第2のサンプリング周波数のデータを生成して出力する補間手段と、前記記憶手段に記憶された読み出し未了のデータの残存データ量を検出する残存データ量検出手段と、前記記憶手段からデータを出力させて前記補間手段に与え、前記第2のサンプリング周波数のデータを前記補間手段に出力させるための制御信号を周波数制御情報に応じた時間密度で発生する可変周波数発振手段と、前記残存データ量検出手段により検出される残存データ量が適正値となるように、前記可変周波数発振手段に与える周波数制御情報の増減を行なう周波数制御手段と、第1のサンプリング周波数のデータの入力を要求するクロックの周波数測定を行い、第1のサンプリング周波数を求める周波数測定手段と、前記周波数測定手段により求められた第1のサンプリング周波数に適した周波数制御情報を生成する周波数制御情報生成手段と、前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がある場合に、前記可変周波数発振手段に与えられる周波数制御情報を前記周波数制御情報生成手段により生成された周波数制御情報に置き換える周波数制御情報適正化手段とを具備することを特徴とするサンプリング周波数変換装置を提供する。
これらのサンプリング周波数変換装置によれば、後段の装置が第2のサンプリング周波数を変更した場合または前段の装置が第1のサンプリング周波数を変更した場合に、周波数制御情報が変更後の第1または第2のサンプリング周波数に応じた適正値に置換され、この周波数制御情報に基づいてサンプリング周波数変換のための動作が行われる。従って、先入れ先出し方式の記憶手段をオーバフローまたはアンダフローさせることなく、安定したサンプリング周波数変換を行うことができる。
以下、図面を参照して、本発明の最良な実施の形態について説明する。
<第1実施形態>
図1は、この発明の第1実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。このサンプリング周波数変換装置は、前段の装置が出力する第1のサンプリング周波数のデータを後段の装置が要求する第2のサンプリング周波数のデータに変換して出力する装置であり、大別すると、伝送制御装置100Aと、補間部200Aと、インタフェース300Aにより構成されている。
補間部200Aは、図2に示すように、n段のシフトレジスタ201と、補間係数発生部202と、畳み込み演算部203とを有している。ここで、シフトレジスタ201は、補間部200Aの前段部から第1のサンプリング周波数のデータを順次取り込み、取り込んだ過去n個分のデータ列を補間演算用入力データ列として保持する。
補間係数発生部202には、伝送制御装置100Aから補間比Δtが供給される。この補間比Δtは、補間部200Aにおいて生成すべきデータのサンプリング点の位相を示している。さらに詳述すると、本実施形態において、補間部200Aは、図3に例示するように、シフトレジスタ201に保持された補間演算用入力データ列D〜Dn−1におけるデータDm+1とデータDとの間に存在するデータPを補間演算により求めるものであり、補間比Δtは、時間軸上においてデータDm+1のサンプリング点とデータDのサンプリング点との間のどの位置に補間演算により求めるべきデータPのサンプリング点があるかを示している。補間係数発生部202は、例えば各種の補間比Δtに対応した補間係数列を記憶したROMであり、伝送制御装置100Aから与えられる補間比Δtに対応した補間係数列a〜an−1を出力する。
畳み込み演算部203は、伝送制御装置100Aからメインクロックφに同期したデータ入力許可信号IEが与えられるのに応じて、シフトレジスタ201に保持された補間演算用入力データ列D〜Dn−1に補間係数発生部202から出力された補間係数列a〜an−1を畳み込み、第2のサンプリング周波数のデータPを出力する。ここで、メインクロックφは、第1のサンプリング周波数と同一の周波数を有するクロックであるが、伝送制御装置100Aは、このメインクロックφに同期したデータ入力許可信号IEを第2のサンプリング周波数に相当する時間密度で補間部200Aに供給する。なお、このような時間密度でデータ入力許可信号IEを発生するための構成については後述する。
補間演算により求めるべきデータのサンプリング点は、第2のサンプリング周波数に対応した速度で時間軸上を移動する。この結果、図3に例示するように、現在、補間演算により求めたデータPの次に求めるべきデータPk−1の位相がシフトレジスタ201に記憶されたデータDの位相よりも進むことが起こりうる。この場合には、データPの補間演算後、次のデータPk−1の補間演算に備えて、新たなデータD−1が前段の装置からシフトレジスタ201に取り込まれ、シフトレジスタ201内の最も古いデータDn−1は廃棄される。補間演算により求めるデータの位相を逐次進める操作は、現状の補間比Δtに対し、第1のサンプリング周波数と第2のサンプリング周波数との比に基づいて決定される周波数制御情報yを加える、という操作の繰り返しにより行われる。この操作は、伝送制御装置100Aにより行われるものであるが、詳細は後述する。
図1における伝送制御装置100Aは、以上説明した補間部200Aから第2のサンプリング周波数のデータ列を受け取って保存し、これをインタフェース300Aからの読み出し要求信号RRに同期したタイミングで出力する装置である。インタフェース300Aは、後段の装置からのワードクロックLRCKに応じて、読み出し要求RRを伝送制御装置100Aに出力し、これに応じて伝送制御装置100Aから出力されるデータを受け取る。そして、受け取ったデータをシリアルなビット列SDOに変換し、ビット列SDOの各ビットを後段の装置から供給されるビットクロックBCLKに同期して出力する。ワードクロックLRCKは、第2のサンプリング周波数と同じ周波数の信号である。後段の装置は、サンプリング周波数変換装置を介して受け取るデータのサンプリング周波数を変更する場合には、それに合わせてワードクロックLRCKの周波数を変更する。
次に、伝送制御装置100Aの構成について説明する。
FIFO10は、RAM(Random Access Memory)などにより構成される先入れ先出し形式のバッファであり、本実施形態のものは所定ビット数の入力データを最大8個記憶することができる。FIFO10は、補間部200Aから供給されるデータPを順次保存し、古いものから順にインタフェース300Aに出力する。書き込み制御部30は、メインクロックφがANDゲート101を通過して書き込み要求信号WRとして与えられたとき書き込みアドレスおよび書き込み要求信号WEを生成し、FIFO10に供給する。FIFO10に供給される入力データPは、書き込み要求信号WEにより、FIFO10内の書き込みアドレスによって指定されるエリアに書き込まれる。読み出し制御部40は、インタフェース300Aからの読み出し要求信号RRに応じて、読み出しアドレスおよび読み出し要求信号REを生成し、FIFO10へ供給する。ここで、読み出しアドレスは、FIFO10内に残存している読み出し未了の入力データのうち最も古いものを指定するように制御される。この読み出しアドレスにより指定された入力データは、読み出し要求信号REによりFIFO10から読み出され、インタフェース300Aに供給される。
残存データ量検出部50は、ANDゲート102を介してメインクロックφが与えられたとき、書き込み制御部30が発生している書き込みアドレスと読み出し制御部40が発生している読み出しアドレスとの差分、すなわち、現時点においてFIFO10に残存する読み出し未了の入力データの個数である残存データ量ΔSを検出する回路である。ベクトル検出回路51は、残存データ量検出部50から出力される残存データ量ΔSの時間的変化を表すベクトルを検出する回路である。
ここで、ベクトル検出回路51は、3個のポインタValid_0、Valid_1およびValid_ptrを有している。ポインタValid_ptrには、現在の残存データ量ΔSが格納される。このポインタValid_ptrの値は、ポインタValid_0と異なる値になると、ポインタValid_0に代入され、それまでのポインタValid_0の値はポインタValid_1に代入される。
従って、一般的には、Valid_0>Valid_1の関係にあれば、FIFO10の残存データ量ΔSは増加中であり、Valid_0<Valid_1であれば、FIFO10の残存データ量ΔSは減少中であるといえる。しかし、残存データ量ΔSが増加状態から減少状態に転じたり、減少状態から増加状態に転じたりすることがあり、そのような変化は、ポインタValid_0およびValid_1のみから判断することはできない。そこで、本実施形態において、ベクトル検出回路51は、3個のポインタValid_0、Valid_1およびValid_ptrを参照し、残存データ量ΔSの時間的変化の態様を示すベクトルを検出するようにしている。
残存データ量検出部50から出力される残存データ量ΔSは、FIFO10内のデータの残存データ量を示すと同時に、最後に書き込まれたデータPと、読み出し要求信号RRによって最後に読み出されたデータPとの位相差を示している。そして、上述した読み出し制御部40と、書き込み制御部30と、残存データ量検出部50と、ベクトル検出回路51と、周波数制御部60と、可変周波数発振部70は、この位相差を適正値に収束させるPLL80を構成している。
周波数制御部60は、変換部61、全加算器62、セレクタ63およびラッチ回路64から構成されている。変換部61は、残存データ量ΔSを修正量ΔTに変換するテーブルを有している。変換部61は、このテーブルとベクトル検出回路51からの指示に基づき、残存データ量検出部50から出力される現在の残存データ量ΔSを修正量ΔTに変換する。図4は、このベクトル検出回路51と変換部61とにより行われる変換内容を示している。また、図5(a)〜(d)は、「0」以外の修正量ΔTが変換部61から出力される場合の残存データ量ΔSの変化の態様を示している。
図5(a)に示すように、残存データ量ΔSが増加中(Valid_1<Valid_0<Valid_ptr)であり、かつ、残存データ量ΔSの現在値であるポインタValid_ptrの値が適正値である「4」を越えている場合(図4に示す例ではValid_ptr=5および6)、ベクトル検出回路51は、周波数制御情報を増加させる修正量ΔTの出力指示を変換部61に送る。この結果、変換部61は、現在の残存データ量ΔSと適正値「4」との差分に相当する大きさを有する正の修正量ΔTを出力する。また、図5(c)に示すように、現在の残存データ量ΔSが上限である「7」に達している場合には、その時点までの残存データ量ΔSの変化の態様とは無関係に、変換部61は、現在の残存データ量ΔSと適正値「4」との差分に相当する大きさを有する正の修正量ΔT(この例の場合、ΔT=+3)を出力する。従って、残存データ量ΔSとして上限値「7」が検出されて正の修正量ΔT=+3が出力された後、再び上限値「7」が検出された場合には、残存データ量ΔSは増加中であるとはいえないが、残存データ量ΔSが上限値「7」であることのみをもって、正の修正量ΔT=+3が再び出力される。
一方、図5(b)に示すように、残存データ量ΔSが減少中(Valid_1>Valid_0>Valid_ptr)であり、かつ、残存データ量ΔSの現在値であるポインタValid_ptrの値が適正値である「4」より少ない場合(図4に示す例ではValid_ptr=3、2および1)、ベクトル検出回路51は、周波数制御情報を減少させる修正量ΔTの出力指示を変換部61に送る。この結果、変換部61は、現在の残存データ量ΔSと適正値「4」との差分に相当する大きさを有する負の修正量ΔTを出力する。また、図5(d)に示すように、現在の残存データ量ΔSが下限である「0」に達している場合には、その時点までの残存データ量ΔSの変化の態様とは無関係に、変換部61は、負の修正量ΔT(この例の場合、ΔT=−3)を出力する。
そして、残存データ量ΔSが以上の挙動以外の挙動を示している場合、ベクトル検出回路51は、周波数制御情報の現状維持を変換部61に指示する。この場合、変換部61は、修正量ΔTとして「0」を出力する。
以上が残存データ量検出部50、ベクトル検出回路51および変換部61によって行われる処理の詳細である。
全加算器62、セレクタ63およびラッチ回路64は、周波数制御情報yを更新する手段を構成している。ここで、ラッチ回路64は、現在における周波数制御情報yを保持する手段である。全加算器62は、現在の周波数制御情報yと変換部61から供給される修正量ΔTとに基づき、下記式(1)に示す演算を行う。
y←y+ΔT・・・・・(1)
セレクタ63は、入力端Aと入力端Bと選択信号入力端Sを有している。入力端Aには全加算器62の出力信号が入力される。また、入力端Bには、後述する周波数制御情報発生部402から出力される周波数制御情報yaが入力される。第2のサンプリング周波数に変更がない通常の動作においては、選択信号入力端Sに対し、入力端Aの入力信号の選択を指示する選択信号SELが与えられる。このため、セレクタ63は、入力端Aに与えられる全加算器62の出力情報を選択し、ラッチ回路64に供給する。このセレクタ63を介して与えられる情報は、ANDゲート103を介してメインクロックφがラッチ回路64に与えられるとき、ラッチ回路64によりラッチされ、周波数制御情報yとして可変周波数発振部70に供給される。
ラッチ回路64は、初期設定が可能な構成となっている。このサンプリング周波数変換装置が動作を開始するとき、ラッチ回路64には、周波数制御情報の初期値yとして次式で示される値が設定される。
y=定数×(f1/f2) ・・・・・(2)
ここで、f1はサンプリング周波数変換前の第1のサンプリング周波数、f2は後段の装置が要求するサンプリング周波数変換後の第2のサンプリング周波数である。
可変周波数発振部70は、全加算器71と、ラッチ回路72と、ANDゲート73と、ダウンカウンタ74と、イネーブル信号発生回路75と、ラッチ回路76とにより構成されている。全加算器71は、周波数制御部60から出力される周波数制御情報yとラッチ回路72の出力データの小数部である補間比Δtとを加算して出力する。この周波数制御情報yと補間比Δtとの加算により、上述した「補間演算により求めるデータの位相を逐次進める操作」が行われる。
ラッチ回路72は、ANDゲート73を介してメインクロックφが与えられたとき、全加算器71の出力データをラッチして出力する。ダウンカウンタ74には、このラッチ回路72の出力データの整数部から「1」を減じた値がプリセットデータとして与えられる。ダウンカウンタ74は、後述するイネーブル信号ENがアサートされているとき、メインクロックφに同期して、このプリセットデータをカウント値として取り込み、以後、メインクロックφによるダウンカウントを行う。
イネーブル信号発生回路75は、例えばラッチ回路により構成されており、ダウンカウンタ74のカウント値が「0」になったとき、メインクロックφに同期してイネーブル信号ENをアサートする。なお、イネーブル信号発生回路75は、上述したラッチ回路64の初期設定が行われるときに同時に初期設定され、この初期設定の際にはダウンカウンタ74のカウント値の如何に拘わらずイネーブル信号ENをアサートするように構成されている。
イネーブル信号ENがアサートされることにより、ラッチ回路76は、ラッチ回路72の出力データの小数部をラッチして補間比Δtとして補間部200Aに出力する。また、イネーブル信号ENがアサートされているとき、ANDゲート101は、メインクロックφを書き込み要求信号WRとして書き込み制御部30に出力し、ANDゲート104はメインクロックφをデータ入力許可信号IEとして補間部200Aに出力する。さらにANDゲート73、102および103は、イネーブル信号ENがアサートされているときに、ラッチ回路72、残存データ量検出部50およびラッチ回路64にメインクロックφを供給する。ANDゲート73を介してラッチ回路72にメインクロックφが与えられたとき、ラッチ回路72に格納されるデータの整数部が2以上増加する場合がある。これは、図3を参照して説明したように、この次に補間部200Aにおいて求めるべきデータの位相が、現在、シフトレジスタ201に保持されているデータDの位相よりも進んでいることを意味する。従って、その場合にはダウンカウンタ74により数クロックのカウントダウンが行われた後、補間部200Aでは補間演算に必要な新たなデータを前段の装置からシフトレジスタ201に取り込む動作が行われる。
ところで、本実施形態では、インタフェース300Aに接続された後段の装置が第2のサンプリング周波数f2を変更する場合がある。この場合、後段の装置は、ワードクロックLRCKの周波数を変更後のサンプリング周波数f2と同じ周波数に変更する。本実施形態におけるサンプリング周波数変換装置には、このようなサンプリング周波数f2の変更があった場合に、上述した周波数制御情報yを変更後のサンプリング周波数f2に合った適正値に置き換えるための装置が設けられている。以下、その構成を説明する。
まず、周波数測定部401は、ワードクロックLRCKに基づいて第2のサンプリング周波数f2を測定する装置である。この周波数測定部401は、例えばワードクロックLRCKの1周期の間に発生する所定周波数のクロックのカウントを行うカウンタと、このカウンタのカウント値からワードクロックLRCKの周波数である第2のサンプリング周波数を演算する演算回路とにより構成されている。
周波数制御情報発生部402は、周波数測定部401により測定された第2のサンプリング周波数と、固定値である第1のサンプリング周波数f1とに基づいて周波数制御情報yaを算出して出力する装置である。第1のサンプリング周波数f1および第2のサンプリング周波数f2から周波数制御情報yaを求めるための演算式は、周波数制御情報yの初期値を求めるための演算式(前掲式(2)参照)と同様である。周波数制御情報発生部402から出力された周波数制御情報yaは、周波数制御部60におけるセレクタ63の入力端Bに与えられるとともに、減算器403に与えられる。この減算器403と、絶対値回路404と、比較器405は、周波数制御情報生成部402により生成された周波数制御情報yaと可変周波数発振部70に与えられている周波数制御情報yとの間に所定の限度を越える差がある場合に、可変周波数発振部70に与えられる周波数制御情報yを周波数制御情報生成部402により生成された周波数制御情報yaに置き換える周波数制御情報適正化手段を構成している。
さらに詳述すると、減算器403は、周波数制御部60から出力された周波数制御情報yと周波数制御情報発生部402から出力された周波数制御情報yaとの差分y−yaを出力する。絶対値回路404は、この差分の絶対値|y−ya|を出力する。そして、比較器405は、差分の絶対値|y−ya|を所定の閾値thと比較し、|y−ya|≦thであるときは全加算器62の出力情報の選択を指示する選択信号SELをセレクタ63に与える一方、|y−ya|>thであるときは周波数制御情報yaの選択を指示する選択信号SELをセレクタ63に与え、セレクタ63を介してラッチ回路64に周波数制御情報yaを与えるのである。
以上が本実施形態におけるサンプリング周波数変換装置の構成の詳細である。
次に本実施形態の動作を説明する。
このサンプリング周波数変換装置の動作が開始されるとき、初期設定動作が行われる。この初期設定動作では、伝送制御装置100A内のラッチ回路64に前掲式(2)により与えられる周波数制御情報の初期値yが書き込まれる。また、初期設定動作では、イネーブル信号発生回路75によってイネーブル信号ENがアサートされる。このため、ラッチ回路64に書き込まれた周波数制御情報yは、全加算器71を介してラッチ回路72に書き込まれ、このラッチ回路72に書き込まれた周波数制御情報yの整数部は、ダウンカウンタ74にプリセットされる。その後、ダウンカウンタ74では、メインクロックφに基づくダウンカウントが行われる。そして、ダウンカウンタ74のカウント値が「0」になると、イネーブル信号発生回路75によってイネーブル信号ENがアサートされる。この結果、メインクロックφがANDゲート73を介してラッチ回路72に供給され、その時点における全加算器71の出力データ、すなわち、周波数制御部60から出力される周波数制御情報とラッチ回路72の出力データの小数部との加算結果がラッチ回路72に書き込まれる。そして、ラッチ回路72の出力データの整数部はダウンカウンタ74にプリセットされ、小数部は補間比Δtとしてラッチ回路76に書き込まれる。このような動作が繰り返される結果、周波数制御情報に応じた平均的な時間密度でイネーブル信号ENが発生されるとともに周波数制御情報に応じた速度で変化する補間比Δtが発生される。
メインクロックφは、イネーブル信号ENが発生される度に、ANDゲート101および104を各々通過し、書き込み要求信号WRおよびデータ入力許可信号IEとして書き込み制御部30および補間部200Aに各々与えられる。また、メインクロックφは、イネーブル信号ENが発生される度に、ANDゲート102〜103を通過し、残存データ量検出部50およびラッチ回路64に与えられる。
補間部200Aでは、データ入力許可信号IEが与えられたとき、その時点において記憶されている過去n個の入力データに補間比Δtに応じた補間係数列が畳み込まれ、この補間演算の結果は、第2のサンプリング周波数のデータPとして出力される。
書き込み制御部30は、書き込み要求信号WRが与えられたとき、書き込みアドレスをインクリメントして、書き込み要求信号WEをFIFO10に供給する。この結果、補間部200Aの出力データがFIFO10における書き込みアドレスにより指定されるエリアに書き込まれる。
一方、インタフェース300Aは、後段の装置からワードクロックLRCKが供給されるのに応じて、読み出し要求信号RRを出力する。読み出し制御部40は、この読み出し要求信号RRに応じて、FIFO10に記憶された最も古いデータを指定する読み出しアドレスを読み出し要求信号REとともにFIFO10に供給する。この結果、最も古いデータがFIFO10から読み出され、インタフェース300Aに供給される。
残存データ量検出部50は、イネーブル信号ENがアサートされ、ANDゲート102を介してメインクロックφが与えられたとき、その時点においてFIFO10に最後に供給された書き込みアドレスと読み出しアドレスとの差分を残存データ量ΔSとして求める。この残存データ量ΔSを求める動作は、イネーブル信号ENがアサートされる度に行われる。残存データ量検出部50により求められた残存データ量ΔSは、ポインタValid_ptrに格納される。そして、ポインタValid_ptrの値がポインタValid_0と異なる値になると、ポインタValid_ptrの値がポインタValid_0に代入され、それまでのポインタValid_0の値はポインタValid_1に代入される。
ベクトル検出回路51は、ポインタValid_ptr、Valid_0およびVaild_1に基づき、周波数制御情報を増加させるか減少させるか現状値を維持させるかの指示を変換部61に送る。変換部61は、この指示に従い、残存データ量検出部50から供給される残存データ量ΔS(=Valid_ptr)を修正量ΔTに変換する。この結果、次のような修正量ΔTが出力される。まず、残存データ量ΔSが増加中であり、かつ、残存データ量ΔSの現在値が適正値「4」を越えている場合には、現在の残存データ量ΔSと適正値「4」との差分に相当する大きさを有する正の修正量ΔTが出力される。また、残存データ量ΔSが上限値「7」である場合には、正の修正量「3」が出力される。一方、残存データ量ΔSが減少中であり、かつ、残存データ量ΔSの現在値が適正値「4」より少ない場合には、現在の残存データ量ΔSと適正値「4」との差分に相当する大きさを有する負の修正量ΔTが出力される。また、残存データ量ΔSが下限値「0」である場合には、負の修正量「−3」が出力される。そして、これら以外の場合には修正量ΔTとして「0」が出力される。
このようにして出力される修正量ΔTとラッチ回路64に記憶された現在の周波数制御情報yとが全加算器62により加算され、ANDゲート103からのメインクロックφにより、新たな周波数制御情報yとしてラッチ回路64に書き込まれる。この結果、正の修正量ΔTが出力されているときには周波数制御情報yが増加し、負の修正量ΔTが出力されているときには周波数制御情報yが減少し、修正量ΔTとして「0」が出力されているときには周波数制御情報yは現状値を維持する。
周波数制御部60では、このように修正量ΔTに基づく周波数制御情報yの増減の調整が行われ、可変周波数発振部70では、このような調整を経た周波数制御情報yに基づきイネーブル信号ENが出力される。ここで、周波数制御情報yが増加する場合には、ダウンカウンタ74がプリセットされてからカウント値が「0」になるまでに必要な平均的なメインクロックφの個数が増加し、イネーブル信号ENの平均的な時間密度が減少する。このため、FIFO10に対するデータの書き込み速度が低下する。逆に、周波数制御情報yが減少する場合には、イネーブル信号ENの平均的な時間密度が増加するため、FIFO10に対するデータの書き込み速度が上昇する。
そして、FIFO10におけるデータの書き込み速度(すなわち、イネーブル信号ENの周波数)が読み出し速度(すなわち、読み出し要求信号RRの周波数)よりも低い場合には残存データ量ΔSが減少し、この減少過程において負の修正量ΔTが発生されると、周波数制御情報yが減少し、データの書き込み速度は上昇することとなる。逆にFIFO10におけるデータの書き込み速度が読み出し速度よりも高い場合には残存データ量ΔSが増加し、この増加過程において正の修正量ΔTが発生されると、周波数制御情報yが増加し、データの書き込み速度は低下することとなる。このように残存データ量ΔSの増減に応じたPLL制御が行われる結果、FIFO10における書き込み速度は読み出し速度に追従し、FIFO10内の残存データ量ΔSは適正値「4」に収束することとなる。
本実施形態では、以上のような処理がサンプリング周波数変換装置により行われている期間に、後段の装置が第2のサンプリング周波数f2を変更する場合がある。その場合、ワードクロックLRCKの周波数が新たな第2のサンプリング周波数f2と同じ周波数に切り換えられる。この結果、周波数測定部401では、変更後の新たな第2のサンプリング周波数f2が求められ、制御情報発生部402では、この新たな第2のサンプリングf2に対応した周波数制御情報yaが出力される。
そして、現状における周波数制御情報yと新たなサンプリング周波数f2に対応した周波数制御情報yaとの差分の絶対値|y−ya|が閾値thを越えている場合には、周波数制御情報yaの選択を指示する選択信号SELがセレクタ63に与えられる。この結果、周波数制御情報yaがセレクタ63によって選択され、ラッチ回路64に与えられる。この周波数制御情報yaは、その後、ANDゲート103を介してメインクロックφがラッチ回路64に与えられたときに、新たな周波数制御情報yとしてラッチ回路64に書き込まれる。このようにしてy=yaとなると、|y−ya|=0となることから、比較器405は、全加算器62の出力情報の選択を指示する選択信号SELをセレクタ63に与える。この結果、周波数制御部60では、修正量ΔTに基づいて周波数制御情報yを修正する動作が再開される。
周波数制御部60から出力される周波数制御情報yが新たなサンプリング周波数f2に対応した値になると、可変周波数発振部70では、この周波数制御情報yに基づいてイネーブル信号ENおよび補間比Δtを発生する処理が行われる。この結果、補間器200Aでは、変更後の新たなサンプリング周波数f2のデータが補間演算により求められて出力される。このデータは、その後、FIFO10およびインタフェース300Aを介して後段の装置に供給される。
以上のように、本実施形態によれば、第2のサンプリング周波数f2が後段の装置によって変更された場合、周波数制御情報yが変更後のサンプリング周波数f2に適した周波数制御情報yaに置き換えられ、この新たな周波数制御情報y=yaに基づいてイネーブル信号ENおよび補間比Δtを発生する動作が直ちに開始される。従って、第2のサンプリング周波数f2が変更される場合においても、FIFO10にオーバフローまたはアンダフローを発生させることなくサンプリング周波数変換を行うことができる。
<第2実施形態>
図6は、この発明の第2実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。本実施形態では、伝送制御装置100Bの前段にインタフェース300Bが、後段に補間部200Bが設けられている。インタフェース300Bには、前段の装置から第1のサンプリング周波数f1と同じ周波数のワードクロックLRCKが与えられるとともに、ワードクロックLRCKの1周期の間にビットクロックBCLKとこれに同期したシリアルビット列SDIとが与えられる。インタフェース300Bは、ワードクロックLRCKが与えられる都度、ビットクロックBCLKによりシリアルビット列SDIを取り込み、パラレルデータであるデータDinに変換し、書き込み要求信号WRとともに伝送制御装置100Bに供給する。
補間部200Bは、第1実施形態における補間部200Aと同様な構成を有する。この補間部200Bは、内蔵のシフトレジスタにFIFO10から取り込んだ過去一定個数のデータ列を保持し、上記第1実施形態と同様、ラッチ回路76から供給される補間比Δtに応じた補間用係数列をこのデータ列に畳み込み、この畳み込み演算の結果である出力データPを、第2のサンプリング周波数を有する出力クロックCKoutに同期したタイミングで出力する。
伝送制御装置100Bの構成は、次の点において第1実施形態に係る伝送制御装置100Aと異なる。まず、書き込み制御部30には、インタフェース300Bから第1のサンプリング周波数と同一周波数の書き込み要求信号WRが直接供給される。また、第1実施形態におけるANDゲート101および104に代えて、読み出し要求信号RRを発生する読み出し要求信号発生部105が設けられており、イネーブル信号発生回路75から出力されるイネーブル信号ENがこの読み出し要求信号発生部105と補間部200Bに供給される。ここで、補間部200Bに供給されるイネーブル信号ENは、第2のサンプリング周波数のデータの補間演算および出力を許可するデータ出力許可信号としての役割を果たす。
また、上記第1実施形態では、後段の装置が第2のサンプリング周波数f2を変更したのに対し、本実施形態では、前段の装置が第1のサンプリング周波数f1を変更する。このため、本実施形態において、周波数測定部401は、インタフェース300Bに与えられるワードクロックLRCKに基づき、第1のサンプリング周波数f1を測定する。そして、周波数制御情報発生部402は、この周波数測定部401により測定される第1のサンプリング周波数f1と、固定の値である第2のサンプリング周波数f2に基づいて周波数制御情報yaを演算する。
伝送制御装置100Bでは、第2のサンプリング周波数と同一周波数のメインクロックφに同期して、残存データ量ΔSを安定化するためのPLL制御が行われ、この制御の過程において、メインクロックφに同期し、かつ、第1のサンプリング周波数に対応した時間密度でイネーブル信号ENがアサートされる。補間部200Bは、イネーブル信号ENがアサートされた場合に、出力クロックCKoutに同期したタイミングで読み出し要求許可信号RREを出力する。読み出し要求信号発生部105は、イネーブル信号ENがアサートされた後、読み出し要求許可信号RREが出力された場合に、読み出し要求信号RRを読み出し制御部40に出力する。これにより、読み出し制御部40は、読み出しアドレスを「1」だけ増加させて、読み出し要求信号REを出力する。この結果、FIFO10における読み出し未了のデータのうち最も古いものが読み出され、補間部200Bに供給される。補間部200Bでは、このようにしてFIFO10から供給されるデータがシフトレジスタの初段に書き込まれ、シフトレジスタ内の既存のデータは順次後段にシフトされ、最終段のデータは廃棄される。そして、出力クロックCKoutの発生に合わせて、シフトレジスタに保持されたデータ列と補間比Δtに応じた補間係数列とを用いた補間演算が行われ、演算結果である第2のサンプリング周波数のデータが出力クロックCKoutに同期して出力される。
上記第1実施形態では、サンプリング周波数変換の過程において、FIFO10におけるデータ入力速度をデータ出力速度に追従させるためのPLL制御が行われたが、本実施形態ではFIFO10におけるデータ出力速度をデータ入力速度に追従させるためのPLL制御が行われる。このPLL制御は、上記第1実施形態と同様な方法により行われる。そして、前段の装置によって第1のサンプリング周波数f1が変更された場合には、上記第1実施形態と同様、変更後の新たなサンプリング周波数f1に適した周波数制御情報yaが周波数制御情報発生部402から出力され、現状の周波数制御情報yがこの周波数制御情報yaによって置き換えられる。そして、新たな周波数制御情報y=yaを用いて、新たな第1のサンプリング周波数f1に対応したサンプリング周波数変換が開始される。従って、本実施形態においても上記第1実施形態と同様な効果が得られる。
この発明の第1実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。 同実施形態における補間部の構成例を示すブロック図である。 同補間部の動作を説明する波形図である。 同実施形態における修正量の発生方法を示す図である。 同実施形態において修正量として「0」以外の値が発生される場合を示す図である。 この発明の第2実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。
符号の説明
100A,100B…伝送制御装置、200A,200B…補間部、201…シフトレジスタ、202…補間係数発生部、201…畳み込み演算部、300A,300B…インタフェース、10…FIFO、30…書き込み制御部、40…読み出し制御部、50…残存データ量検出部、51…ベクトル検出回路、60…周波数制御部、70…可変周波数発振部、80…PLL(位相同期ループ)。401…周波数測定部、402…周波数制御情報発生部、403…減算器、404…絶対値回路、405…比較器。

Claims (2)

  1. 前段の装置から供給される第1のサンプリング周波数のデータを第2のサンプリング周波数のデータに変換して後段の装置に出力するサンプリング周波数変換装置において、
    前段の装置から第1のサンプリング周波数のデータを順次取り込んで補間演算用入力データ列として記憶し、前記補間演算用入力データ列を用いた補間演算により第2のサンプリング周波数のデータを生成して出力する補間手段と、
    前記補間手段から出力される第2のサンプリング周波数のデータを記憶し、記憶したデータを古いものから順に読み出して出力する先入れ先出し方式の記憶手段と、
    前記記憶手段に記憶された読み出し未了のデータの残存データ量を検出する残存データ量検出手段と、
    前記第2のサンプリング周波数のデータを前記補間手段に出力させ、前記記憶手段に記憶させるための制御信号を周波数制御情報に応じた時間密度で発生する可変周波数発振手段と、
    前記残存データ量検出手段により検出される残存データ量が適正値となるように、前記可変周波数発振手段に与える周波数制御情報の増減を行なう周波数制御手段と、
    第2のサンプリング周波数のデータの出力を要求するクロックの周波数測定を行い、第2のサンプリング周波数を求める周波数測定手段と、
    前記周波数測定手段により求められた第2のサンプリング周波数に適した周波数制御情報を生成する周波数制御情報生成手段と、
    前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がない場合に、前記可変周波数発振手段において制御信号を発生させる時間密度の元となる周波数制御情報として、前記周波数制御手段において増減された周波数制御情報を前記可変周波数発振手段に供給し、前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がある場合に、前記可変周波数発振手段において制御信号を発生させる時間密度の元となる周波数制御情報として、前記周波数制御手段において増減された周波数制御情報に代えて、前記周波数制御情報生成手段により生成された第2のサンプリング周波数に適した周波数制御情報を前記可変周波数発振手段に供給する周波数制御情報適正化手段と
    を具備することを特徴とするサンプリング周波数変換装置。
  2. 前段の装置から供給される第1のサンプリング周波数のデータを第2のサンプリング周波数のデータに変換して後段の装置に出力するサンプリング周波数変換装置において、
    前段の装置から第1のサンプリング周波数のデータを順次取り込んで記憶し、記憶したデータを古いものから順に読み出して出力する先入れ先出し方式の記憶手段と、
    前記記憶手段から出力されるデータを順次取り込んで補間演算用入力データ列として記憶し、前記補間演算用入力データ列を用いた補間演算により第2のサンプリング周波数のデータを生成して出力する補間手段と、
    前記記憶手段に記憶された読み出し未了のデータの残存データ量を検出する残存データ量検出手段と、
    前記記憶手段からデータを出力させて前記補間手段に与え、前記第2のサンプリング周波数のデータを前記補間手段に出力させるための制御信号を周波数制御情報に応じた時間密度で発生する可変周波数発振手段と、
    前記残存データ量検出手段により検出される残存データ量が適正値となるように、前記可変周波数発振手段に与える周波数制御情報の増減を行なう周波数制御手段と、
    第1のサンプリング周波数のデータの入力を要求するクロックの周波数測定を行い、第1のサンプリング周波数を求める周波数測定手段と、
    前記周波数測定手段により求められた第1のサンプリング周波数に適した周波数制御情報を生成する周波数制御情報生成手段と、
    前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がない場合に、前記可変周波数発振手段において制御信号を発生させる時間密度の元となる周波数制御情報として、前記周波数制御手段において増減された周波数制御情報を前記可変周波数発振手段に供給し、前記周波数制御情報生成手段により生成された周波数制御情報と前記可変周波数発振手段に与えられている周波数制御情報との間に所定の限度を越える差がある場合に、前記可変周波数発振手段において制御信号を発生させる時間密度の元となる周波数制御情報として、前記周波数制御手段において増減された周波数制御情報に代えて、前記周波数制御情報生成手段により生成された第1のサンプリング周波数に適した周波数制御情報を前記可変周波数発振手段に供給する周波数制御情報適正化手段と
    を具備することを特徴とするサンプリング周波数変換装置。
JP2006003088A 2006-01-10 2006-01-10 サンプリング周波数変換装置 Expired - Fee Related JP4735268B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006003088A JP4735268B2 (ja) 2006-01-10 2006-01-10 サンプリング周波数変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006003088A JP4735268B2 (ja) 2006-01-10 2006-01-10 サンプリング周波数変換装置

Publications (2)

Publication Number Publication Date
JP2007184881A JP2007184881A (ja) 2007-07-19
JP4735268B2 true JP4735268B2 (ja) 2011-07-27

Family

ID=38340562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006003088A Expired - Fee Related JP4735268B2 (ja) 2006-01-10 2006-01-10 サンプリング周波数変換装置

Country Status (1)

Country Link
JP (1) JP4735268B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178601A (ja) * 2015-03-23 2016-10-06 セイコーエプソン株式会社 データ処理回路、物理量検出用回路、物理量検出装置、電子機器及び移動体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192174A (ja) * 2003-12-04 2005-07-14 Yamaha Corp 非同期信号入力装置およびサンプリング周波数変換装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192174A (ja) * 2003-12-04 2005-07-14 Yamaha Corp 非同期信号入力装置およびサンプリング周波数変換装置

Also Published As

Publication number Publication date
JP2007184881A (ja) 2007-07-19

Similar Documents

Publication Publication Date Title
JP5223627B2 (ja) データ復元回路、データ復元方法、及びデータ受信装置
JP4760052B2 (ja) 伝送制御装置およびサンプリング周波数変換装置
JP4251094B2 (ja) 非同期信号入力装置およびサンプリング周波数変換装置
US7602875B2 (en) Sampling rate conversion method and apparatus
TW201301124A (zh) 對於由一資料串流中所重新產生之時脈訊號之調整
JP2011176615A (ja) クロック制御回路及びこれを備える半導体装置
KR20160033916A (ko) 샘플링 레이트 컨버터 및 그 방법
JP4661284B2 (ja) 伝送制御装置
KR100684245B1 (ko) 데이터 전송 제어기 및 샘플링 주파수 변환기
JP4735268B2 (ja) サンプリング周波数変換装置
WO2018214856A1 (zh) 一种数据处理的方法和设备
JP4386079B2 (ja) サンプリング周波数変換装置
US20120054454A1 (en) Sampling frequency converter
JP4198068B2 (ja) デジタル周波数変換のための方法および装置
JP2003091923A (ja) 再標本化アドレスジェネレータ回路
JP4371113B2 (ja) デジタルdll回路
JP4778872B2 (ja) 楽音出力装置
TWI543597B (zh) 訊號取樣方法、資料加解密方法、以及使用這些方法的電子裝置
JP4442199B2 (ja) 非同期信号入力装置及びサンプリング周波数変換装置
JP2005101771A (ja) クロック乗せ替え回路および方法
JP2006279106A (ja) サンプリング周波数変換装置
JP2008085964A (ja) サンプリング周波数変換装置
KR20140082339A (ko) 반도체 장치
JP2000031947A (ja) 標本化周波数変換装置およびこれを具備した電子機器
JP5258039B2 (ja) インタフェース回路およびクロック/データ供給方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

R150 Certificate of patent or registration of utility model

Ref document number: 4735268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees