JP5999532B2 - Pll回路 - Google Patents
Pll回路 Download PDFInfo
- Publication number
- JP5999532B2 JP5999532B2 JP2015183458A JP2015183458A JP5999532B2 JP 5999532 B2 JP5999532 B2 JP 5999532B2 JP 2015183458 A JP2015183458 A JP 2015183458A JP 2015183458 A JP2015183458 A JP 2015183458A JP 5999532 B2 JP5999532 B2 JP 5999532B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- time
- value
- phase difference
- timing
- 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
Links
Images
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Manipulation Of Pulses (AREA)
Description
この発明は、動作クロックにより決まる通常の精度よりも高精度で位相差を検出できるPLL回路に関する。
PLL(Phase Locked Loop)回路は、入力された周期的な信号と位相が同期した信号を生成・出力する電子回路である。下記特許文献1は、オーディオ用のデジタルPLL回路で、外部クロックが変化したら、参照クロックを内部クロックに切り替えて動作を継続するものを開示している。
半導体上に形成される集積回路として提供されるデジタルPLL(特に完全デジタル位相同期回路(ADPLL))では、そのデジタルPLLを構成するロジック回路が、1つの動作クロックを時間単位として動作している。その場合、位相差の検出精度は、その動作クロックに応じた精度となる。例えば、動作クロックが100MHzであれば、時間分解能は1/100000000=10n秒である。そして、位相差の検出精度を上げることにより、デジタルPLLのジッタを低減させることができる。
しかしながら、集積回路では、その製造プロセスに応じて、動作可能な最大の動作クロックが決まっており、それ以上に動作クロックを上げることが容易ではない。従って、デジタルPLLの位相差の検出精度も、その動作クロックの上限に応じた精度が上限となる。
本発明は、動作クロックにより決まる通常の精度より、高い精度で位相差を検出できる、デジタルPLL回路を提供することを目的とする。
上記目的を達成するため、請求項1に係る発明は、動作クロックに同期して動作し、入力した略一定の周期のクロック信号である外部クロックに同期する生成クロックを生成して出力するPLL回路であって、同じ周波数でそれぞれ位相の異なるn個の多相クロックであって、前記動作クロックを含むn個の多相クロックを生成する多相クロック発生部と、位相比較器からの位相差信号に基づく値の周波数ナンバを出力する周波数ナンバ生成部と、前記周波数ナンバを前記動作クロック毎に累算することにより、該周波数ナンバに応じた周波数で発振するクロックを生成し出力する発振部と、入力した外部クロックの立ち上りまたは立ち下りの時刻である第1タイミングを、前記n個の多相クロックに基づいて計測するとともに、前記発振部で生成したクロックの立ち上りまたは立ち下りの時刻である第2タイミングを、前記発振部においてクロックが生成されたときの累算値であるあふれ残値と、前記周波数ナンバ生成部からの周波数ナンバとに基づいて算出し、さらに、それら第1、第2タイミングの時刻差を算出して、該算出結果から前記動作クロックのn倍の時間精度で表現された時刻差を示す位相差信号を出力する前記位相比較器と、を備えることを特徴とする。
請求項2に係る発明は、請求項1に記載のPLL回路において、前記位相比較器は、前記動作クロックをカウントするカウンタを有しており、前記第1タイミングを、前記n個の多相クロックと当該カウンタのカウント値とに基づき計測するとともに、前記第2タイミングを、前記あふれ残値と前記周波数ナンバと当該カウンタのカウント値とに基づき算出することを特徴とする。
請求項3に係る発明は、請求項1に記載のPLL回路において、前記周波数ナンバ生成部は、時定数に対応する速さで、前記第2タイミングが前記第1タイミングに追従するよう、前記位相差信号に基づき周波数ナンバを増減して出力するローパスフィルタであることを特徴とする。
本発明によれば、同じ周波数でそれぞれ位相の異なるn個の多相クロックを使用してクロックのタイミングの時刻・時間を計測するので、動作クロックより高い時刻精度で、外部クロックと生成クロックとの位相差を検出し、安定したクロックを生成することができる。
以下、図面を用いて本発明の実施の形態を説明する。
図1は、本発明の第1の実施形態であるPLL回路の構成図である。このPLL回路は、回路の全てをデジタル化した完全デジタル位相同期回路(ADPLL:All Digital Phase-Locked Loop)である。図2は、図1のPLL回路における各部のタイミング等の説明図である。まず図1を参照してこのPLL回路の各部の機能の概要を説明し、その後、図2を参照して各部の動作の詳細を説明する。
図1において、多相クロック発生部101は、同じ周波数でそれぞれ位相の異なる8個の多相クロックを発生する。8個の多相クロックのうちの1つを動作クロックとする。動作クロックは本回路内の各部に供給され、回路内の各部は該動作クロックのタイミングを基準としてそれぞれの動作を行う。8個の多相クロックのうち、動作クロックとして使用するクロックを第1クロックと呼び、位相がずれていく順(各クロックの立ち上がりまたは立ち下がりのタイミングの時間的な順)に、第2クロック、第3クロック、…、第8クロックと呼ぶ。第1クロックと第2クロックとの位相差、第2クロックと第3クロックとの位相差、…、および、第8クロックと次の第1クロックとの位相差は、全て同じである。
8位相ラッチ102は、入力した外部クロックを、多相クロック発生部101からの第1から第8クロックの各立ち上がりのタイミングでラッチする。ラッチ結果は、8個の1または0の数字列で表現される。例えば、第1クロックの立ち上がりのタイミングで外部クロックの値が「0」、第2クロックの立ち上がりのタイミングで外部クロックの値が「0」、以下同様で、最後の第8クロックの立ち上がりのタイミングでも外部クロックの値が「0」の場合、それらの値を順番に並べて、そのラッチ結果を(0,0,0,0,0,0,0,0)と表現するものとする。例えば、第1〜第5クロックの各立ち上がりタイミングで外部クロックの値が「0」、第5クロックの立ち上がりから第6クロックの立ち上がりの間に外部クロックが「1」に立ち上がり、第6〜第8クロックの各立ち上がりタイミングで外部クロックの値が「1」の場合、ラッチ結果は(0,0,0,0,0,1,1,1)となる。
動作クロックカウンタ103は、動作クロックの立ち上がりタイミングで順次カウントアップを行い、そのカウント値(=時刻整数値−1)を出力するカウンタである。「カウント値=時刻整数値−1」は、例えば動作クロックのある立ち上がりタイミングから次の立ち上がりタイミングまでの1周期で動作クロックカウンタ103の値が「i」であったとき、当該1周期を特定する時刻整数値が「i+1」であることを意味する。動作クロックカウンタ103は、ここでは16ビットのカウンタとする。8位相ラッチ102は、入力した外部クロックが「0」から「1」に立ち上がったことを検出したとき、次の動作クロックの立ち上がりタイミングで反転信号を出力する。この反転信号が出力されたときは、次の動作クロックの立ち下がりタイミングで、中位ビットラッチ104は動作クロックカウンタ103の値をラッチする。中位ビットラッチ104がラッチしたカウント値は、外部クロックの立ち上がりタイミングの時刻を、動作クロック刻みの分解能で、表現したものとなる。
一方、ある動作クロックの1周期内のどこかのタイミングで外部クロックが「0」から「1」に立ち上がった場合、当該動作クロックの1周期の終わりのタイミング(終端)では、上記反転信号が出力されるが、その時、8位相ラッチ102におけるラッチ結果は、以下の[0]〜[7]の8つのうちの何れかとなる。
[0](0,0,0,0,0,0,0,0)
[1](0,0,0,0,0,0,0,1)
[2](0,0,0,0,0,0,1,1)
[3](0,0,0,0,0,1,1,1)
[4](0,0,0,0,1,1,1,1)
[5](0,0,0,1,1,1,1,1)
[6](0,0,1,1,1,1,1,1)
[7](0,1,1,1,1,1,1,1)
[0](0,0,0,0,0,0,0,0)
[1](0,0,0,0,0,0,0,1)
[2](0,0,0,0,0,0,1,1)
[3](0,0,0,0,0,1,1,1)
[4](0,0,0,0,1,1,1,1)
[5](0,0,0,1,1,1,1,1)
[6](0,0,1,1,1,1,1,1)
[7](0,1,1,1,1,1,1,1)
詳しくは図2のタイミング図で説明するが、この[0]〜[7]は、動作クロックの1周期を8つに等分割した各分割期間のどこで外部クロックが「0」から「1」に立ち上がったかを示すものである。そこで、8位相ラッチ102は、外部クロックの立ち上がりがあった周期の次の1周期に、これらの各ラッチ結果に対応する3ビットデータとして、[0]の場合は000B(10進の0)を、[1]の場合は001B(10進の1)を、[2]の場合は010B(10進の2)を、[3]の場合は011B(10進の3)を、[4]の場合は100B(10進の4)を、[5]の場合は101B(10進の5)を、[6]の場合は110B(10進の6)を、[7]の場合は111B(10進の7)を、それぞれ出力する。この3ビットデータは、外部クロックの立ち上がりタイミングの時刻差(小数値)を、動作クロックの1周期を8つに等分割した分解能で表現した差分値である。
詳しく言うと、外部クロックの立ち上がりがあった1周期の終端(すなわち、上記中位ビットラッチ104へのラッチが行われた1周期の開始端)の時刻から上記3ビットデータの値だけ戻った分割期間で外部クロックが「0」から「1」に立ち上がっていたということである。例えば、上記[0]の場合は、外部クロックの立ち上がりがあった動作クロックの1周期を8分割したうちの最後の分割期間(第8クロックから次の第1クロックの間であり、先頭から数えると8番目の分割期間)で外部クロックが「0」から「1」に立ち上がっていたことを示す。上記[1]の場合は、外部クロックの立ち上がりがあった動作クロックの1周期を8分割したうちの7番目の分割期間(第7クロックから第8クロックの間)で外部クロックが「0」から「1」に立ち上がっていたことを示す。
そこで、外部クロックの立ち上がりがあった1周期を特定する時刻整数値を求め、該時刻整数値と上記3ビットデータをビット反転した時刻小数値とを結合することで、その時刻整数値で特定される1周期の先頭の時刻から上記ビット反転した時刻小数値の分だけ進んだ時刻(当該周期の終端の時刻から上記3ビットデータの示す差分値分だけ前に戻った時刻)、すなわち、動作クロックの8倍の分解能を有する外部クロックの立ち上がり時刻(外部クロック時刻)を得ることができる。ここで「外部クロックの立ち上がりがあった1周期を特定する時刻整数値を求める処理」は、中位ビットラッチ104にラッチされたカウント値をそのまま時刻整数値とするだけの処理である。「カウント値=時刻整数値−1」の関係があり、かつ、外部クロックの立ち上がりがあった周期の次の周期でカウント値の中位ビットラッチ104へのラッチを行っているからである。また、ビット反転は、8位相ラッチ102にて行われる。この外部クロック時刻は、位相差検出部105に入力する。
発振部107は、ローパスフィルタ(周波数信号生成部)106から出力される周波数ナンバを動作クロックの立ち上がりタイミング毎に累算する32ビットの累算器である。周波数ナンバを累算していくと、あるタイミングであふれ(累算器の32ビットを超えるあふれ)が生じるので、発振部107の出力である累算値は鋸波の波形となる。その鋸波の立ち下がりから立ち下がりの期間が、生成クロックの1周期となる。
生成クロック時刻算出部108は、動作クロックカウンタ103からのカウント値と、ローパスフィルタ106からの周波数ナンバと、発振部107からのあふれ残値とを入力する。発振部107からの「あふれ残値」とは、発振部107の累算値があふれたときの累算器の値である。周波数ナンバを累算していってあふれを起こすので、あふれ残値は、周波数ナンバ未満の値となる。
発振部107は動作クロックの立ち上がり毎に周波数ナンバを累算していくので、実際には階段状に増加していく。しかし、仮想的に連続して滑らかに増加するものと考えた場合、ある動作クロックの立ち上がりタイミングで発振部107の累算値があふれたということは、その1つ前の動作クロックの立ち上がりタイミングからあふれを検出した動作クロックの立ち上がりタイミングまでの1周期の期間内に、「仮想的なあふれ点」が存在するということになる。ここで「仮想的な」というのは、実際には階段状に増加していくものを仮想的に滑らかであるものと仮定して求めたあふれ点であることを意味しているが、逆に考えればこの「仮想的なあふれ点」こそが真にその時刻を求めるべき「真のあふれ点」であり、あふれを検出した動作クロックの立ち上がりタイミングは「見かけ上のあふれ点」といえる。そして、その「真のあふれ点」から「見かけ上のあふれ点」までの期間で、発振部107の累算器があふれ残値だけ増加したことになる。動作クロックの1周期で周波数ナンバの値が累算されるのであるから、比例配分することで、あふれ残値の分だけ増加した時間がわかる。「見かけ上のあふれ点」のタイミングからその時間分戻った時刻が、上記「真のあふれ点」の時刻であり、生成クロックの立ち上がりタイミングである生成クロック時刻となる。なお、あふれを検出した動作クロックの立ち上がりタイミングである「見かけ上のあふれ点」から「真のあふれ点」までの戻り時間を「あふれ点戻り時間」と呼ぶ。
生成クロック時刻算出部108は、上記生成クロック時刻を算出する。具体的には、まず、あふれを検出した動作クロックの立ち上がりタイミング(見かけ上のあふれ点)における動作クロックカウンタ103のカウント値(=時刻整数値−1)を取得する。このカウント値の取得は、真のあふれ点の時刻である生成クロック時刻が属する動作クロックの1周期の次の周期(の先頭)で実行され、かつ、カウント値=時刻整数値−1であるので、ここで取得したカウント値が生成クロック時刻が属する動作クロックの1周期の時刻整数値となる。次に、生成クロック時刻算出部108は、発振部107からのあふれ残値を周波数ナンバで割って、あふれ点戻り時間(差分値)を求める。さらに、上記取得した時刻整数値に、あふれ点戻り時間の上位3ビットをビット反転した時刻小数値を、結合する。これにより、真のあふれ点を含む1周期の先頭の時刻から上記あふれ点戻り時間の上位3ビットをビット反転した時刻小数値の分だけ進んだ時刻(当該周期の終端の時刻から上記あふれ点戻り時間の上位3ビットが示す差分値分だけ前に戻った時刻、すなわち、動作クロックの8倍の分解能を有する生成クロックの立ち上がり時刻(生成クロック時刻)を求める。
なお、あふれ点戻り時間の算出は高精度に行うこともできるが、上述したように、外部クロック時刻は動作クロックの1周期を8分割した分解能で表現しているので、あふれ点戻り時間も同程度の精度(3ビット)で算出している。
なお、発振部107が32ビット長(31番ビット〜0番ビット)の場合、周波数ナンバは22ビット(21番ビット〜0番ビット)あれば、192kHzのレンジに対応できる。その場合、あふれ点戻り時間を表現するための3ビット(生成クロック時刻の下位3ビット)は、発振部107の出力の32ビット中の中位16ビット(21番ビット〜6番ビット)と、周波数ナンバの上位16ビット(21番ビット〜6番ビット)に基づいて算出すればよい。
位相差検出部(位相比較器)105は、上記外部クロック時刻と生成クロック時刻とに基づいて位相差信号を算出する。具体的には、外部クロック時刻から生成クロック時刻を減算した値を位相差信号として出力する。ここで出力される位相差信号は、負の1/2周期長から正の1/2周期長(この「周期長」は外部クロック乃至生成クロックの周期長)の範囲である。なお、外部クロック時刻が発生しない間に生成クロック時刻が複数回発生している場合は、生成クロックの周波数が大幅に高すぎるということなので、上記減算した値の代わりに、該正の1/2周期長以上の所定値を位相差信号として出力し、逆に、生成クロック時刻が発生しない間に外部クロック時刻が複数回発生している場合は、生成クロックの周波数が大幅に低すぎるということなので、上記減算した値の代わりに、該負の1/2周期長以下の所定値を位相差信号として出力するようにすればよい。ローパスフィルタ106は、該位相差信号に基づき、その位相差が減少するように(すなわち外部クロック時刻と生成クロック時刻とが近づくように)現状の周波数ナンバを増減する。具体的には、外部クロック時刻から生成クロック時刻を減算した位相差が正値であった場合は、生成クロック時刻の方が外部クロック時刻より早いということであるから、生成クロック時刻を遅らせるため、周波数ナンバを位相差信号に応じた値だけ減少させる。逆に、外部クロック時刻から生成クロック時刻を減算した位相差が負値であった場合は、生成クロック時刻の方が外部クロック時刻より遅れているということであるから、生成クロック時刻を早めるため、周波数ナンバを位相差信号に応じた値だけ増加させる。
周波数判定部110は、予め44.1kHz,48kHz,96kHz等の1つ以上の追従すべき周波数の指定を受け付けておき、入力した外部クロックの周波数を検出し、上記指定された周波数の範囲に入るとき、その周波数に対応する周波数ナンバの初期値をローパスフィルタ106に出力する。ローパスフィルタ106は、該初期値の周波数ナンバから同期の動作を開始する。
ロック判定部109は、上述の生成クロックと外部クロックのタイミング差の変動が所定値以下か否か、すなわち、生成クロックが外部クロックにロック(同期)しているか否かを判定する。直接比較する代わりに、位相差検出部105が出力する位相差信号に基づいて判定しても良い。ロック判定部109は、複数クロックにわたり継続的な同期が確認されているとき、ロック信号「1」を出力し、そうでないときロック信号「0」を出力する。ローパスフィルタ106は、ロック信号「0」が入力されている間は、(生成クロックと外部クロックの位相差の絶対値が大きいということであるから)ローパスフィルタの時定数を変えて、できるだけ早く生成クロック時刻が外部クロック時刻に近づくように、周波数ナンバを比較的大きく変化させるものとする。逆に、ローパスフィルタ106は、ロック信号「1」が入力されている間は、(生成クロックと外部クロックの位相差の絶対値が小さく同期しているということであるから)ローパスフィルタの時定数を変えて、生成クロック時刻が外部クロック時刻にゆっくり追従するようにする。
なお、本実施形態では、ロックがかかった後も、外部クロックと生成クロックの位相差を検出し該位相差に基づいて周波数ナンバを制御する動作を継続するが、ロックがかかった後は、外部クロックが入力しなくても、ロックした時点の周波数の生成クロックを出し続けるように構成しても良い。
ミュート判定部111は、ロック判定部109からロック信号「1」が入力している間は、オーディオ信号のミュートを解除する「0」のミュート信号を出力し、ロック信号「0」が入力している間は、オーディオ信号のミュートを指示する「1」のミュート信号を出力する。このミュート信号は、後述する図5のオーディオ装置内で使用される。
図2のタイミング図を参照して、図1のPLL回路における各信号のタイミングを説明する。
矢印Tは時間の経過方向を示す。201は外部クロック、202は生成クロックを示す。203−1〜203−8は、多相クロック発生部101が発生する8個の多相クロックを第1〜第8クロックの順に示すものである。203−1は動作クロックである。204−1は動作クロックカウンタ103のカウント値、204−2は動作クロックの各周期を特定する時刻整数値を示す。カウント値204−1は、動作クロックが立ち上がる毎に、i,i+1,i+2,…とカウントアップされている。これらのカウント値204−1で特定される各期間を、期間i、期間i+1、期間i+2、…と呼ぶものとする。205は外部クロックの立ち上がりタイミング、206は生成クロックの立ち上がりタイミングである。
207は、期間iにおける8位相ラッチ102のラッチ結果、期間i+1における8位相ラッチ102のラッチ結果、…を順に示す。期間iでは、外部クロック201はずっと「0」であるので、ラッチ結果は(0,0,0,0,0,0,0,0)である。期間i+1では、外部クロック201は多相クロックのうち第5クロックの立ち上がりと第6クロックの立ち上がりの間で「1」に立ち上がっているので、ラッチ結果は(0,0,0,0,0,1,1,1)である。期間i+2,i+3,i+4では、外部クロック201はずっと「1」であるので、ラッチ結果は(1,1,1,1,1,1,1,1)である。
図の下側の点線211−1〜211−6は、累算値の値が増加していく様子を示す。これらの各点線間が、周波数ナンバ212に相当する。213は、発振部107から出力される累算値を示す。この累算値213は、実際には動作クロック203−1の立ち上がりタイミング毎に周波数ナンバだけ増加していく階段状のグラフになるものであるが、ここでは仮想的に連続して滑らかに増加するグラフ213で表現している。
外部クロックの立ち上がりタイミング205の時刻である外部クロック時刻の取得方法を説明する。いま期間i+1の間で外部クロックが立ち上がっているので、8位相ラッチ102は、次の期間i+2の先頭のタイミング214に反転信号を出力し、中位ビットラッチ104は、該反転信号に応じて、その次の動作クロック立ち下がりタイミング(期間i+2の中間)でカウント値i+2をラッチする。また、期間i+1の第5クロックと第6クロックの間で外部クロックが立ち上がっているので(時点205)、8位相ラッチ102は、期間i+2において、そのラッチ結果(0,0,0,0,0,1,1,1)に対応する3ビットデータ011B(10進の3)を出力する。この3ビットデータ011B(10進の3)は、時点214から外部クロックの立ち上がり時点205までの戻り値、すなわち216に示す時間を示すものである。
以上により、期間i+2で中位ビットラッチ104にラッチした値をそのまま時刻整数値i+2とし、さらにその下位ビットに、期間216に対応する3ビットデータ011B(8位相ラッチのラッチした値、10進数の3)を反転した時刻小数値100B(10進数の4)を付加することで、外部クロックの立ち上がり時刻、すなわち時点215の時刻を算出できる。なお、期間216に対応する3ビットデータ011Bを反転した時刻小数値100Bは、期間i+1の開始端から時点215までの時間(正確に言うと、3ビットデータの表現では外部クロック201の立ち上がり時点205が第6クロックの立ち上がり時点215に丸められているのに対し、3ビットデータを反転した表現では、外部クロックの立ち上がり時点205が第5クロックの立ち上がり時点に丸められたことになるので、その分のずれはある)に相当する。以上のように求めた時点215の時刻を外部クロック時刻として、位相差検出部105に入力する。
次に、生成クロックの(真の)立ち上がりタイミング223の時刻である生成クロック時刻の取得方法を説明する。発振部107から出力される生成クロックの(見掛け上の)立ち上がり206は、動作クロックの分解能に丸め込まれた分解能となるが、生成クロックの(真の)立ち上がり223は、その時点で累算器に残っている「あふれ残値」分だけ戻ったタイミングである。いま期間i+4の開始端206の時点で、発振部107のあふれを検出したとする。220は、発振部107の累算値が最大値を超えて「0」に戻るレベル(あふれ点のレベル)を示す。矢印221は、あふれが検出された時点206で、発振部107の累算器に残っている「あふれ残値」を示す。213は、動作クロックの立ち上がり時点(各期間の先頭)における、発振部107の累算値を直線で接続して滑らかにした、仮想的な累算値のグラフである。この仮想的累算値213が、あふれ点のレベル220を横切るタイミング223が、生成クロックの本当の立ち上がりのタイミングということになる。見掛け上の累算値213は、動作クロックの1周期で周波数ナンバ212だけ増加するので、「あふれ残値」221を周波数ナンバで除算することにより、時間222を求めることができる。この時間222が、図1で説明した「あふれ点戻り時間」であり、ここでは、外部クロック時刻と同じ時間分解能とするため、その上位3ビットだけが使用される。
以上により、時点206の時刻を示す動作クロックカウンタ値i+4をそのまま時刻整数値i+4(期間i+3の開始端の時刻整数値)とし、その下位ビットに、あふれ点戻り時間222の上位3ビットデータを反転した3ビットの時刻小数値を付加することで、生成クロックの(真の)立ち上がり時刻(あふれ点223)、すなわち時点224の時刻を算出できる。なお、あふれ点戻り時間222の上位3ビットデータを反転した3ビットの時刻小数値は、期間i+3の開始端から時点223までの時間に相当する。以上のように求めた時点224の時刻を生成クロック時刻として、位相差検出部105に入力する。
以上のように、動作クロックを基準として計測した時刻よりも下位に3ビット分を拡張した高精度な時刻で外部クロック時刻や生成クロック時刻を求め、その位相差から周波数ナンバを求めて、外部クロックに生成クロックを同期させるので、高精度な同期が実現できる。図2中の231は、動作クロックを基準として検出する外部クロックと生成クロックの位相差である。動作クロックで決まる分解能しかないので、動作クロックの周期を単位とする時間差でしか位相差を表現できない。232は本実施形態のPLL回路における外部クロックと生成クロックの位相差である。この位相差232は、動作クロックで決まる分解能の8倍の分解能で表現されているので、より高精度な同期が実現される。
図3は、本発明の第2の実施形態であるPLL回路の構成図である。このPLL回路は、図1のフルデジタルのPLL回路の一部をアナログ回路で構成したものである。図4は、図3のPLL回路における各部のタイミング等の説明図である。
図3において、多相クロック発生部301は、図1の多相クロック発生部101と同様の多相クロックを発生する。8位相ラッチ302は、8位相ラッチ102と同様に多相クロックによる入力信号のラッチを行う。ただし、8位相ラッチ302には、後述するSRラッチ324から出力される差分(アナログ位相差)が入力されるので、8位相ラッチ302の入力部分は動作クロックに同期しない処理をしている。位相差検出部305は、外部クロックと生成クロックとの位相差信号を出力する点は図1の位相差検出部105と同じであるが、該位相差信号の生成方法は異なる。ローパスフィルタ306は、図1のローパスフィルタ106と同様に、位相差信号に基づく周波数ナンバを出力する。発振部307は、図1の発振部107と同様に、周波数ナンバを累算して生成クロックを含む鋸波形状の累算値を出力する。
DAC321は、発振部307から出力される累算値の鋸波を三角波に変換(例えば、累算値の最上位ビットで、該最上位ビット以外のビットのXORを求めることで、三角波に変換できる)した後、アナログ信号に変換する。該アナログ信号の三角波を、ローパスフィルタ322で滑らかなアナログ信号の波形とした後、2値化処理部323で所定の閾値に基づいて0/1に2値化する。これにより発振部307の出力から生成クロックが取得できる。なお、3角波に変換してからD/A変換することは必須ではない。変換テーブルを用いて、累算値を、任意形状(正弦波等)に変換してD/A変換してもよいし、変換せずに鋸波形状のままD/A変換してもよい。
SR(セット−リセット)ラッチ324は、外部クロックが「1」のとき「1」にセットされ、生成クロックが「1」のとき「0」にリセットされるラッチである。SRラッチ324の出力は、外部クロックの立ち上がり時点から生成クロックの立ち上がり時点までの時間的な差分(アナログ位相差)を示す信号となる。すなわち、この差分信号が「1」の期間の長さが、外部クロックの立ち上がりから生成クロックの立ち上がりまでの位相差であり、「0」の期間の長さが、生成クロックの立ち上がりから外部クロックの立ち上がりまでの位相差である。ここでは、前者を正の位相差と呼び、後者を負の位相差と呼び、ここでは、何れか絶対値の小さい方の位相差を測定するものとする。外部クロックと生成クロックの周波数が位相差を測定できる程度に近いとき、正の位相差の絶対値と負の位相差の絶対値の和はその何れかないし平均の周波数に対応する周期長(基準周期長)であり、何れか一方が測定すれば、他方は算出できる。
この差分信号の立ち上がりと立ち下がりを、8位相ラッチ302で、多相クロック発生部301からの多相クロックに基づいてラッチする。8位相ラッチ302は、ラッチ結果がオール「0」すなわち(0,0,0,0,0,0,0,0)またはオール「1」すなわち(1,1,1,1,1,1,1,1)であった場合は、そのオール「0」を示すオール「0」信号ないしオール「1」を示すオール「1」信号を出力する。上位位相差検出部325は、上記基準周期ごとに、動作クロックに基づいて(動作クロックの時間分解能で)、オール「0」の期間長と、オール「1」の期間長とをそれぞれカウントする。そして、上位位相差検出部325は、測定されたオール「0」期間長とオール「1」期間長とを比較し、オール「0」期間長の方が長い場合は、正の符号を有し、かつ、絶対値がオール「1」期間長の上位位相差情報(正の整数値)を出力し、オール「1」期間長の方が長い場合は、負の符号を有し、かつ、絶対値がオール「0」期間長の上位位相差情報(負の整数値)を出力する。上位位相差検出部325で検出された上位位相差情報は、ロック判定部309と位相差検出部305に入力する。
さらに、8位相ラッチ302は、動作クロックの1周期内のラッチ結果がオール「0」でもオール「1」でもなかった場合は、そのラッチ結果中の「1」の個数を示す3ビットデータを下位位相差情報として位相差検出部305に出力する。なお、下位位相差情報は「0」の数を示す3ビットデータとしても良いが、両者は1の補数の関係にあり、基本的に等価である。また、ここでラッチ結果の「1」ないし「0」の連続性をチェックし、連続性が無いときにエラー警告するようにしてもよい。上記下位位相差情報は、生成クロックおよび外部クロックのタイミングに応じて、上記基準周期内に、0乃至2回、出力される。位相差検出部305は、上記基準周期毎に、上位位相差検出部325からの1の上位位相差情報(整数値)と、8位相ラッチ302からの0乃至2の下位位相差情報(小数値)とを合算することにより、1の位相差信号を得る。上位位相差信号が正の整数値である場合は、該正の整数値に上記0乃至2の下位位相差情報が示す正の小数値を加算することにより、正の値の位相差信号が算出され、また、上位位相差信号が負の整数値である場合は、該負の整数値に下位位相差情報が示す負の小数値を加算することにより、負の値の位相差信号が算出される。位相差検出部305により合成された位相差信号は、ローパスフィルタ306に入力される。ローパスフィルタ306と発振部307の動作は、図1と同様である。
周波数判定部310は、図1の周波数判定部110と同様の動作を行う。ロック判定部309は、図1のロック判定部109と同様のロック信号を出力するものであるが、そのロック信号は上位位相差情報に基づいて「0」か「1」かを決定するものである。例えば、上位位相差情報が継続的に「−1以上、1以下」の範囲に入っているときは、生成クロックが外部クロックに同期しているものとしてロック信号「1」を出力し、入っていないときは、生成クロックが外部クロックに同期していないものとしてロック信号「0」を出力する。なお、上位位相差信号が「−1以上、1以下」の範囲に入っている場合には、上記オール「0」期間長と上記オール「1」期間長の何れか一方が「0」となる。また、生成クロックと外部クロックの周波数が大きく異なることにより、オール「0」ないしオール「1」が継続するケースが考えられるが、その場合は、周波数判定部310で判定される周波数が現在の周波数ナンバの値に整合しないので、ロック判定部309からロック信号「0」が出力されるとともに、ローパスフィルタ306に、該判定された周波数に対応する周波数ナンバ初期値を再設定し、該初期値の周波数ナンバからの動作を開始させる。ミュート判定部311は、図1のミュート判定部111と同様の動作を行う。
図4のタイミング図を参照して、図3の第2の実施形態のPLL回路における各信号のタイミングを説明する。
矢印Tは時間の経過方向を示す。401は外部クロック、402は生成クロックを示す。403−1〜403−8は、多相クロック発生部301が発生する8個の多相クロックを第1〜第8クロックの順に示すものである。403−1は動作クロックである。404は動作クロックカウンタのカウント値を示す。405は外部クロックの立ち上がりタイミング、406は生成クロックの立ち上がりタイミングである。
408はSRラッチ324が出力する差分信号(アナログ位相差)を示す。この差分信号は、外部クロック401の立ち上がり時点405で「1」にセットされ、生成クロック402の立ち上がり時点406で「0」にリセットされる。407は、期間iにおける上記差分信号408の8位相ラッチ302によるラッチ結果、期間i+1における上記差分信号408の8位相ラッチ302によるラッチ結果、…を順に示す。期間i+1では、差分信号408が多相クロックのうち第5クロックの立ち上がりと第6クロックの立ち上がりの間で「1」に立ち上がっているので、ラッチ結果は(0,0,0,0,0,1,1,1)である。期間i+2では、差分信号408がずっと「1」であるので、ラッチ結果は(1,1,1,1,1,1,1,1)である。期間i+3では、差分信号408が多相クロックのうち第4クロックの立ち上がりと第5クロックの立ち上がりの間で「0」に立ち下がっているので、ラッチ結果は(1,1,1,1,0,0,0,0)である。
差分信号408が「1」の期間中、8位相ラッチ302によるラッチ結果がオール「1」になっている動作クロックの周期は、期間i+2の1周期だけである。従って、上位位相差検出部325では、オール「1」期間長よりオール「0」期間長が長いと判定され、カウントされたオール「1」の期間長「1」が、上位位相差情報(正の整数値)として出力される。また、8位相ラッチ302は、期間i+2の開始端のタイミングに、期間i+1のラッチ結果(0,0,0,0,0,1,1,1)に基づいて、値が「3/8」(011B)の下位位相差情報(416に示す時間を表している)を生成して位相差検出部305に出力し、さらに期間i+4の開始端のタイミングに、期間i+3のラッチ結果(1,1,1,1,0,0,0,0)に基づいて、値が「4/8」(100B)の下位位相差情報(422に示す時間を表している)を生成して位相差検出部305に出力する。位相差検出部305は、入力した上位位相差情報「1」と下位位相差情報「3/8」および「4/8」(それぞれ正値)を合算して、値が「1+7/8」の位相差情報(位相差432に相当)を得、ローパスフィルタ306に出力する。
上記はオール「1」期間長よりオール「0」期間長が長いケースを説明したが、オール「0」期間長よりオール「1」期間長が長いケースも同様である。例えば、図4で、402を外部クロック、401を内部クロックと読み替え、SRラッチ324の出力が期間432だけ「0」となる場合(差分信号408の「0」と「1」を入れ替える)を想定すればよい。この場合、上位位相差検出部325では、オール「0」期間長よりオール「1」期間長が長いと判定され、カウントされたオール「0」の期間長「1」を負値とした「−1」が、上位位相差情報(負の整数値)として出力される。また、8位相ラッチ302は、期間i+2およびi+4の各開始端のタイミングに、値が「5/8」(101B)および「4/8」(100B)の下位位相差情報をそれぞれ出力する。位相差検出部305は、上位位相差情報「−1」と下位位相差情報「−3/8」および「−4/8」(それぞれ負値に換算している)を合算して、値が「−1−7/8」の位相差情報を得、ローパスフィルタ306に出力する。
以上の第2の実施形態でも、動作クロックを基準として計測した時刻よりも下位に3ビット分を拡張した高精度な分解能で差分信号408が「1」の期間の長さ(外部クロックと生成クロックとの位相差)を求め、その位相差から周波数ナンバを求めて、外部クロックに生成クロックを同期させるので、高精度な同期が実現できる。図4中の431は、動作クロックを基準として検出する外部クロックと生成クロックの位相差である。動作クロックで決まる分解能しかないので、動作クロックの周期を単位とする時間差でしか位相差を表現できない。432は本第2の実施形態のPLL回路における外部クロックと生成クロックの位相差である。この位相差432は、動作クロックで決まる分解能の8倍の分解能で表現されているので、より高精度な同期が実現される。
図5は、上記第1および第2の実施形態のPLL回路を適用したオーディオ装置の全体図である。501は、標本化クロックに同期したデジタルのオーディオ信号を出力するオーディオソースであり、出力されるオーディオ信号は、該標本化クロックを伴う。例えば、マイク等からのアナログのオーディオ信号をデジタルに変換して出力するA/D変換器、録音されているデジタルのオーディオ信号を再生する再生器などである。502は、オーディオソース501から受け取ったオーディオ信号に種々の信号処理を施して出力するオーディオ装置である。503は、オーディオ装置502から出力されるオーディオ信号を受信するオーディオシンクであり、例えば受信したオーディオ信号をDA変換してスピーカやヘッドフォンなどで放音する装置である。
オーディオ装置502は、上述の第1または第2の実施形態のPLL回路511を備える。PLL回路511は、オーディオ信号に付随する標本化クロックを外部クロックとして入力し、その外部クロックに追従する生成クロックを出力する。また、PLL511からは、生成クロックの位相が外部クロックに対して未だ安定的に同期していないとき(ロック信号「0」)、ミュート信号「1」が出力され、安定的に同期しているとき(ロック信号「1」)、ミュート信号「1」が出力される。信号処理部512は、PLL回路511からの生成クロックに同期して種々の信号処理を行う。ミュート回路513は、ミュート信号が「1」のとき信号処理部512からのオーディオ信号をミュートし、ミュート信号が「0」のとき信号処理部512からのオーディオ信号をスルーしてオーディオシンク503に出力する。ロックがかかり(ロック信号「1」)、オーディオ信号が生成クロックに正確に同期している場合は、オーディオ信号に対し、信号処理部512がサンプリング周波数変換することなくそのまま信号処理を施しても、ノイズ等の不都合は発生しない。その場合、ミュート信号は「0」とされ、信号処理部512が出力するオーディオ信号は、ミュート回路513を通過してオーディオシンク503に供給される。一方、ロックが外れたとき(ロック信号「0」)は、信号処理部512のオーディオ信号にノイズが含まれるので、ミュート信号が「1」とされ、該オーディオ信号のオーディオシンクへの供給がブロックされる。
なお、上記実施形態では、動作クロック基準で求めた時間位置から8倍の分解能で高精度な時刻や時間を算出したが、この算出方法は任意である。要するに、動作クロック基準の分解能で求めた時刻・時間と、8位相ラッチ102,302のラッチ結果から8倍の分解能で求めた時刻・時間とを使って、高精度に時刻・時間を算出すればよい。また、上記実施形態では、動作クロックの1周期を8分割して、分解能を8倍とする(下位に3ビット拡張する)ケースで説明したが、幾つの分割期間に分割し、どれだけ分解能を上げるかは任意である。4分割して下位に2ビット拡張してもよいし、16分割して下位に4ビット拡張してもよい。また、必ずしも2のべき乗個に分割する必要はなく、例えば10分割して、分解能を10倍とする構成にしてもよい。
上記実施形態では、各クロックの立ち上がりのタイミングを基準として動作する例を説明したが、立ち上がりの代わりに立ち下がりのタイミングを利用しても良い。
上記実施形態では、ローパスフィルタ106ないし306により「位相差信号に基づいて周波数ナンバ(周波数信号)を出力する周波数信号生成部」を構成したが、周波数信号生成部の構成はこれに限らない。位相差信号に応じたフィードバックをかけることができ、かつ、値が急激に変化することのない周波数信号を発生できる構成であれば、どのような処理ブロックであっても良い。また、発振部は、上記実施形態における発振部107ないし307(32ビット累算器)には限らない。所望の精度を実現できる任意のビット数の累算器として良い。また、累算値のあふれが、そのビット数での最大値より小さい所定値で起こるような構成としてもよい。また、上記実施形態では正の周波数ナンバを累算する累算器としたが、負の値を累算し、累算値が徐々に減少する累算器としてもよい。その場合のあふれは、累算値が「0」を下回る時点で発生するものとすればよい。
101…多相クロック発生部、102…8位相ラッチ、103…動作クロックカウンタ、104…中位ビットラッチ、105…位相差検出部、106…ローパスフィルタ、107…発振部、108…生成クロック時刻算出部、109…ロック判定部、110…周波数判定部、111…ミュート判定部。
Claims (3)
- 動作クロックに同期して動作し、入力した略一定の周期のクロック信号である外部クロックに同期する生成クロックを生成して出力するPLL回路であって、
同じ周波数でそれぞれ位相の異なるn個の多相クロックであって、前記動作クロックを含むn個の多相クロックを生成する多相クロック発生部と、
位相比較器からの位相差信号に基づく値の周波数ナンバを出力する周波数ナンバ生成部と、
前記周波数ナンバを前記動作クロック毎に累算することにより、該周波数ナンバに応じた周波数で発振するクロックを生成し出力する発振部と、
入力した外部クロックの立ち上りまたは立ち下りの時刻である第1タイミングを、前記n個の多相クロックに基づいて計測するとともに、前記発振部で生成したクロックの立ち上りまたは立ち下りの時刻である第2タイミングを、前記発振部においてクロックが生成されたときの累算値であるあふれ残値と、前記周波数ナンバ生成部からの周波数ナンバとに基づいて算出し、さらに、それら第1、第2タイミングの時刻差を算出して、該算出結果から前記動作クロックのn倍の時間精度で表現された時刻差を示す位相差信号を出力する前記位相比較器と、
を備えることを特徴とするPLL回路。 - 請求項1に記載のPLL回路において、
前記位相比較器は、前記動作クロックをカウントするカウンタを有しており、前記第1タイミングを、前記n個の多相クロックと当該カウンタのカウント値とに基づき計測するとともに、前記第2タイミングを、前記あふれ残値と前記周波数ナンバと当該カウンタのカウント値とに基づき算出することを特徴とするPLL回路。 - 請求項1に記載のPLL回路において、
前記周波数ナンバ生成部は、時定数に対応する速さで、前記第2タイミングが前記第1タイミングに追従するよう、前記位相差信号に基づき周波数ナンバを増減して出力するローパスフィルタであることを特徴とするPLL回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015183458A JP5999532B2 (ja) | 2015-09-16 | 2015-09-16 | Pll回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015183458A JP5999532B2 (ja) | 2015-09-16 | 2015-09-16 | Pll回路 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013062078A Division JP5839291B2 (ja) | 2013-03-25 | 2013-03-25 | Pll回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016027736A JP2016027736A (ja) | 2016-02-18 |
JP5999532B2 true JP5999532B2 (ja) | 2016-09-28 |
Family
ID=55352910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015183458A Expired - Fee Related JP5999532B2 (ja) | 2015-09-16 | 2015-09-16 | Pll回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5999532B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058191B2 (en) * | 2010-03-22 | 2015-06-16 | Qualcomm Incorporated | Direct transfer of executable software image to memory allocated by target processor based on transferred image header |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3141760B2 (ja) * | 1995-12-06 | 2001-03-05 | ヤマハ株式会社 | デジタルpll回路 |
JP2006229417A (ja) * | 2005-02-16 | 2006-08-31 | Ricoh Co Ltd | デジタルpll装置 |
US7917797B2 (en) * | 2008-05-22 | 2011-03-29 | Xilinx, Inc. | Clock generation using a fractional phase detector |
US8184762B2 (en) * | 2008-11-06 | 2012-05-22 | Iwatt, Inc. | Digital phase lock loop with multi-phase master clock |
-
2015
- 2015-09-16 JP JP2015183458A patent/JP5999532B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016027736A (ja) | 2016-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI568187B (zh) | 與可變頻率成比例之多相位脈衝寬度調變之產生 | |
JP5839291B2 (ja) | Pll回路 | |
JP5783098B2 (ja) | Pll回路、pll回路の制御方法、及びデジタル回路 | |
US9824673B2 (en) | Apparatus for tracking the fundamental frequency of a signal with harmonic components stronger than the fundamental | |
JP6481533B2 (ja) | デジタル制御発振回路 | |
JPH0661851A (ja) | 周波数シンセサイザ | |
US9685964B1 (en) | Fast-locking frequency synthesizer | |
JP6844368B2 (ja) | 時間デジタル変換器 | |
JP5601292B2 (ja) | デジタル位相同期回路および物理量検出センサ | |
JP2012005022A (ja) | デジタル位相差検出器およびそれを備えた周波数シンセサイザ | |
JP5999532B2 (ja) | Pll回路 | |
JP2024023650A (ja) | A/d変換回路 | |
JP6564378B2 (ja) | アナログデジタル変換器、電子装置、および、アナログデジタル変換器の制御方法 | |
JP4955196B2 (ja) | 交流信号測定装置 | |
JP2010273185A (ja) | デジタルフェーズロックドループ回路 | |
KR101107722B1 (ko) | 광대역 디지털 주파수 합성기 | |
JP3665512B2 (ja) | 二値信号の比較装置及びこれを用いたpll回路 | |
JP5579099B2 (ja) | クロック生成装置及びDLL(DigitalLockedLoop)回路及びクロック生成方法 | |
JP6733237B2 (ja) | 周波数デルタシグマ変調信号出力装置 | |
JP2008098790A (ja) | 発振装置および周波数検出装置 | |
JP2007198763A (ja) | 高調波解析装置 | |
KR100282478B1 (ko) | 디지털 프로세서 위상 고정루프 위상검출 제어방법 및 그 장치 | |
JP6284727B2 (ja) | クロック位相シフト回路 | |
JP4681667B2 (ja) | Pll回路 | |
JP2007108289A (ja) | ドットクロック再生回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160728 |
|
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: 20160805 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160818 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5999532 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |