(57)【特許請求の範囲】
【請求項１】
クロック信号を入力して該クロック信号のパルス数をカウントし、互いに位相が同期した同値の第１及び第２のカウント値を出力する位相同期回路と、前記第１のカウント値に基づくクロック信号に応じて所定動作を行う第１の回路コアと、前記第２のカウント値に基づくクロック信号に応じて所定動作を行う第２の回路コアと、前記第１の回路コアから出力される信号と前記第２の回路コアから出力される信号とを合成する合成部と、を含む半導体装置であって、
前記位相同期回路は、
第１の制御信号に基づき起動し、前記クロック信号のパルス数をカウントして前記第１のカウント値を得る第１のカウンタ部と、
前記第１の制御信号とは異なる外部から供給される第２の制御信号に基づき起動し、前記クロック信号のパルス数をカウントして前記第２のカウント値を得る第２のカウンタ部と、
前記第１のカウント値と前記第２のカウント値とが不一致の場合に前記第１の制御信号を非活性レベルにして前記第１のカウンタ部のカウント値の歩進を停止させる制御部と、を備えた
ことを特徴とする半導体装置。
【請求項２】
前記合成部は、前記第１の回路コアから出力される信号と前記第２の回路コアから出力される信号とを時分割で合成することを特徴とする請求項１に記載された半導体装置。
【請求項３】
前記第１の回路コアと前記第２の回路コアは、一方が音源コアであり他方がＤＴＭＦコアであることを特徴とする請求項１又は２の何れか１項に記載された半導体装置。
【請求項４】
前記第１及び第２のカウンタ部は、
カウント値の各ビットに対応する従属接続された加算器と、
前記各加算器の出力をそれぞれ格納するフリップフロップと、
を有し、
前記各加算器は、入力されたキャリーと該加算器に対応する前記フリップフロップの出力とを加算して加算結果を該フリップフロップに出力し、
前記制御部は、
前記第１のカウント値と前記第２のカウント値とを比較し、カウント値が一致の場合、前記第１の制御信号を活性レベルとする出力信号を出力し、カウント値が不一致の場合、前記第１の制御信号を非活性レベルとする出力信号を出力する比較器と、
前記比較器の出力信号を入力し、前記第１のカウンタ部の前記加算器であってカウント値の最下位ビットに対応する加算器のキャリーを生成して該加算器に供給するゲート回路と、
を有することを特徴とする請求項１から３の何れか１項に記載された半導体装置。
【請求項５】
前記第１及び第２のカウンタ部がフリーラン・カウンタであることを特徴とする請求項１から４の何れか１項に記載された半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、クロック信号のパルス数をカウントし、位相が同期した二つの同値のカウント値を出力する位相同期回路に関し、詳しくは、外乱等により乱された二つのカウント値の位相関係を回復させるための技術に関する。
【０００２】
【従来の技術】
携帯電話用の音源ＬＳＩには、メロディー音を発生するための音源コアと、ＤＴＭＦトーン(DTMF:Dual Tone Multiplexed Frequency)を発生するためのＤＴＭＦコアと、これらのコアを駆動するためのタイミングジェネレータ（ＴＧ）を一体的に内蔵したものがある。この種の音源ＬＳＩでは、タイミングジェネレータがクロック信号をカウントし、そのカウント値を各コアに供給することにより、各コアを駆動制御している。これらコアに供給すべきカウント値を生成するため、タイミングジェネレータには２つのカウンタが内蔵されている。また、この種の音源ＬＳＩでは、音源コア及びＤＴＭＦコアの各出力を適切なタイミングで時分割して出力することにより、これらコアの出力を１つの信号に合成している。このため、各コアの出力のタイミングを予め整合させておく必要があり、従って各コアに供給されるカウント値の位相を同期させている。
【０００３】
ところで、上述の各コアに供給されるカウント値の位相が外乱等により乱れ、これらの位相が同期しなくなる場合がある。この場合、各コアの出力のタイミングにずれを生じ、各出力を１つの信号に合成する際に不適切なタイミングで時分割が行われ、最終的に合成された信号の品質が低下することになる。このようなカウント値の位相のずれを修正するための従来技術として、カウンタのクロック周期を制御することにより各カウンタ値の位相差をゼロとする技術が知られている（特許文献１参照）。この従来技術では、２つのカウント値に位相差が発生した場合、分周したパルスで一方のカウンタを駆動することによりカウンタ値の位相差をなくしている。
【０００４】
【特許文献１】
特開昭５５−１２４０７５号公報（第２頁右上欄、図１）
【０００５】
【発明が解決しようとする課題】
しかしながら、上述の従来技術によれば、各カウント値の位相が同期した状態からずれた場合に、その位相を元の同期した状態に回復させることはできるものの、２つのカウンタを静止状態から起動した際に生じるカウント値の位相のずれを防止することはできず、カウント値の位相がずれた状態で各カウンタがそれぞれ起動する。従って、この従来技術を上述の音源ＬＳＩのタイミングジェネレータに適用した場合、２つのカウンタを起動した直後の一定期間、各カウンタの出力の時分割が適切に行われなくなり、これら出力を合成して得られる信号の品質が低下する虞がある。
【０００６】
この発明は、上記事情に鑑みてなされたもので、起動時に位相がずれたカウント値の出力を防止することができ、しかも、外乱等により乱れたカウント値の位相関係を回復させることが可能な位相同期回路を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
即ち、この発明に係る半導体装置は、クロック信号を入力して該クロック信号のパルス数をカウントし、互いに位相が同期した同値の第１及び第２のカウント値を出力する位相同期回路と、前記第１のカウント値に基づくクロック信号に応じて所定動作を行う第１の回路コアと、前記第２のカウント値に基づくクロック信号に応じて所定動作を行う第２の回路コアと、前記第１の回路コアから出力される信号と前記第２の回路コアから出力される信号とを合成する合成部と、を含む半導体装置であって、前記位相同期回路は、第１の制御信号に基づき起動し、前記クロック信号のパルス数をカウントして前記第１のカウント値を得る第１のカウンタ部と、前記第１の制御信号とは異なる外部から供給される第２の制御信号に基づき起動し、前記クロック信号のパルス数をカウントして前記第２のカウント値を得る第２のカウンタ部と、前記第１のカウント値と前記第２のカウント値とが不一致の場合に前記第１の制御信号を非活性レベルにして前記第１のカウンタ部のカウント値の歩進を停止させる制御部と、を備える。
【０００８】
この構成によれば、第１のカウンタのカウント値と第２のカウンタのカウント値とが不一致であれば、何れか一方のカウンタのカウント値の歩進が停止される。従って、起動の際、仮に各カウンタのカウント値が不一致であれば、他方のカウンタのみが起動し、カウント値を出力する。そして、このカウント値が一方の停止状態にあるカウント値に到達すると、これらカウント値が一致し、一方のカウント値が他方のカウント値と同期して歩進する。従って、起動時に位相がずれたカウント値の出力を防止することが可能になる。
【０００９】
上記半導体装置において、例えば、前記合成部は、前記第１の回路コアから出力される信号と前記第２の回路コアから出力される信号とを時分割で合成することを特徴とする。
また、例えば、前記第１の回路コアと前記第２の回路コアは、一方が音源コアであり他方がＤＴＭＦコアであることを特徴とする。
また、例えば、前記第１及び第２のカウンタ部は、カウント値の各ビットに対応する従属接続された加算器と、前記各加算器の出力をそれぞれ格納するフリップフロップと、を有し、前記各加算器は、入力されたキャリーと該加算器に対応する前記フリップフロップの出力とを加算して加算結果を該フリップフロップに出力し、前記制御部は、前記第１のカウント値と前記第２のカウント値とを比較し、カウント値が一致の場合、前記第１の制御信号を活性レベルとする出力信号を出力し、カウント値が不一致の場合、前記第１の制御信号を非活性レベルとする出力信号を出力する比較器（例えば後述する比較器３０に相当する構成要素）と、前記比較器の出力信号を入力し、前記第１のカウンタ部の前記加算器であってカウント値の最下位ビットに対応する加算器のキャリーを生成して該加算器に供給するゲート回路（例えば後述するゲート回路４０に相当する構成要素）と、を有することを特徴とする。
また、例えば、前記第１及び第２のカウンタ部がフリーラン・カウンタ（Ｆｒｅｅ  Ｒｕｎ  Ｃｏｕｎｔｅｒ）であることを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施形態を説明する。
（第１の実施形態）
図１は、この発明の第１の実施形態に係る位相同期回路の構成を概略的に示すブロック図である。この位相同期回路は、クロック信号ＣＬＫを入力して該クロック信号のパルス数をカウントし、互いに位相が同期した同値の第１及び第２のカウント値ＣＮＴ１，ＣＮＴ２を出力するものであって、カウンタ１０，２０、比較器３０、ゲート回路４０を備えて構成される。ここで、カウンタ１０，２０はいわゆるフリーラン・カウンタであり、これらカウンタ１０，２０の各クロック入力部には、クロック信号ＣＬＫが共通に入力されると共に、各リセット入力部にはリセット信号ＲＳＴが入力される。クロック信号ＣＬＫは、外部から入力されるもので、例えば、この位相同期回路が組み込まれたデバイスを搭載するシステムで生成されるものである。
【００１１】
カウンタ２０には、この位相同期回路が組み込まれたデバイスを制御する外部のＣＰＵからカウントイネーブル信号ＣＥ２が供給され、このカウントイネーブル信号ＣＥ２がハイレベルになると、カウンタ２０がカウント動作を開始してカウント値ＣＮＴ２を出力する。一方、カウンタ１０には、ゲート回路４０から、カウントイネーブル信号ＣＥ３が供給され、このカウントイネーブル信号ＣＥ３がハイレベルになると、カウンタ１０がカウントを開始してカウント値ＣＮＴ１を出力する。これらカウンタ１０，２０の出力であるカウント値ＣＮＴ１，ＣＮＴ２は、比較器３０に入力され、この比較器３０の比較結果を表す信号ＣＭＰはゲート回路４０に入力される。この比較結果である信号ＣＭＰは、カウント値ＣＮＴ１とＣＮＴ２とが一致する場合にハイレベルとなり、不一致の場合にロウレベルとなる。ゲート回路４０は、論理積ゲート回路であり、上述の信号ＣＭＰと、外部のＣＰＵからのカウントイネーブル信号ＣＥ１と、上述のカウンタ２０に入力されるカウントイネーブル信号ＣＥ２とを入力し、これらの論理積を演算してカウントイネーブル信号ＣＥ３をカウンタ１０に出力する。カウント値ＣＮＴ１とＣＮＴ２とが一致し且つカウントイネーブル信号ＣＥ１がハイレベルの場合にカウンタ１０がカウント動作を行い、これによって、カウント値ＣＮＴ１とＣＮＴ２とが同期した状態となる。
【００１２】
図２に、カウンタ１０の構成例を示す。
このカウントタ１０の構成例は、カウント値ＣＮＴ１が３ビットのデータで表現される場合のものであり、同図に示すように、従属接続された加算器１０１〜１０３、および加算器の各出力を格納するためのフリップフロップ１１１〜１１３から構成される。加算器１０１，１０２，１０３は、入力（ｘ）とキャリー入力（Ｃｉ）とを加算し、加算結果（ｓ）とキャリー出力（Ｃｏ）を出力するものである。ここで、加算器１０１およびフリップフロップ１１１は、カウント値ＣＮＴ１の最下位ビット（ＬＳＢ）を演算するものであり、加算器１０１の加算結果（ｓ）はフリップフロップ１１１に与えられ、このフリップフロップ１１１の出力は加算器１０１の入力部（ｘ）に戻される。また、加算器１０２およびフリップフロップ１１２は、カウント値ＣＮＴ１の２ビット目を演算するものであり、加算器１０２の加算結果（ｓ）はフリップフロップ１１２に与えられ、このフリップフロップ１１２の出力は加算器１０２の入力部（ｘ）に戻される。
【００１３】
さらに、加算器１０３およびフリップフロップ１１３は、カウント値ＣＮＴ１の最上位ビット（ＭＳＢ）を演算するものであり、加算器１０３の加算結果（ｓ）はフリップフロップ１１３に与えられ、このフリップフロップ１１３の出力は加算器１０３の入力部（ｘ）に戻される。また、加算器１０１のキャリー入力部（Ｃｉ）には上述のカウントイネーブル信号ＣＥ３が入力され、この全加算器１０１のキャリー出力部（Ｃｏ）は後段の加算器１０２のキャリー入力部（Ｃｉ）に接続され、この加算器１０２のキャリー出力部（Ｃｏ）はその後段の加算器１０３のキャリー入力部（Ｃｉ）に接続される。フリップフロップ１１１，１１２，１１３は、クロック信号ＣＬＫによって動作する。例えば、クロック信号ＣＬＫの立ち上がりで加算器の出力を取り込んで出力する。以上によりカウンタ１０が構成される。
【００１４】
このカウンタ１０によれば、カウントイネーブル信号ＣＥ３が「１」になると、加算器１０１〜１０３がそれまでフリップフロップ１１１〜１１３に格納されていた前のカウント値に「１」を加算し、この加算結果を新たにカウント値ＣＮＴ１としてフリップフロップ１１１〜１１３に格納する。これにより、カウントイネーブル信号ＣＥ３が「１」になる度にカウント値ＣＮＴ１が「１」だけ歩進し、クロック信号ＣＬＫのパルス数がカウントされることになる。なお、カウンタ２０の構成も上述のカウンタ１０と同様である。
【００１５】
次に、この実施形態の動作を説明する。
先ず、図３を参照して、起動時の動作を説明する。
ここでは、説明を簡略化するため、外部から供給されるカウントイネーブル信号ＣＥ２を予めハイレベル「Ｈ」に固定しておき、このカウントイネーブル信号ＣＥ２に基づきカウンタ２０が予め起動された状態にあるものとする。この状態では、カウンタ２０はクロック信号ＣＬＫのパルス数をカウントし、このカウンタ２０のカウント値ＣＮＴ２が値「０」〜「７」を巡回するように歩進している状態にある。また、カウントイネーブル信号ＣＥ１はロウレベルにあり、これを入力するカウンタ１０のカウント値ＣＮＴ１は、リセット信号ＲＳＴにより「０」に初期化された状態にある。
【００１６】
上述の状態から、時刻ｔ１で、カウントイネーブル信号ＣＥ１がハイレベルに遷移すると、ゲート回路４０から出力されるカウントイネーブル信号ＣＥ３の信号レベルが、比較器３０から出力される信号ＣＭＰの信号レベルに応じたものになる。時刻ｔ１ではカウント値ＣＮＴ１とカウント値ＣＮＴ２とが一致していないから、これらカウント値を比較する比較器３０は、信号ＣＭＰとしてロウレベルを出力した状態となっている。時刻ｔ２に至り、カウント値ＣＮＴ２がカウント値ＣＮＴ１と同じ値「０」になると、これらカウント値が一致し、比較器３０は信号ＣＭＰとしてハイレベルを出力する。これを受けて、ゲート回路４０がカウントイネーブル信号ＣＥ３としてハイレベルをカウンタ１０に出力する。そして、このカウントイネーブル信号ＣＥ３を受けてカウンタ１０が起動し、時刻ｔ３からカウントを開始する。このとき、時刻ｔ３では、同一のクロック信号ＣＬＫに基づきカウンタ２０のカウント値ＣＮＴ２も同位相で歩進するから、これ以降、カウント値ＣＮＴ１とカウント値ＣＮＴ２は、その位相が同期した状態で歩進する。
【００１７】
上述のように、起動時には、時刻ｔ３以前はカウント値ＣＮＴ２のみが歩進し、カウント値ＣＮＴ１は固定された状態にあり、この場合、これらカウント値を入力する外部装置は例えば停止状態とされる。また、時刻ｔ３以降は、カウント値ＣＮＴ１とカウント値ＣＮＴ２は、位相が同期した状態で歩進する。従って、起動時において位相のずれが発生せず、同位相でカウント値ＣＮＴ１，ＣＮＴ２が出力されることになる。以上で起動時の動作を説明した。
【００１８】
次に、図４を参照して、外乱によりカウント値ＣＮＴ１とカウント値ＣＮＴ２との位相が同期した状態になくなった場合を説明する。
ここでは、初期状態では、カウントイネーブル信号ＣＥ１，ＣＥ２がハイレベルに固定されてカウンタ１０，２０の双方が起動された状態にあり、しかもカウント値ＣＮＴ１とカウント値ＣＮＴ２の位相が同期した状態にあるものとする。従って比較器３０から出力される信号ＣＭＰはハイレベルにある。
この状態から、時刻ｔ１１〜ｔ１２の期間において、外乱によりカウント値ＣＮＴ１，ＣＮＴ２の各値が不安定になり、これらカウント値の位相が同期した状態になくなると、比較器３０から出力される信号ＣＭＰがロウレベルになる。
【００１９】
ロウレベルの信号ＣＭＰを入力するゲート回路４０は、カウントイネーブル信号ＣＥ３としてロウレベルをカウンタ１０に出力し、カウント値ＣＮＴ１の歩進を停止させる。即ち、比較器３０は、カウント値ＣＮＴ１とカウント値ＣＮＴ２とが不一致の場合、カウンタ１０，２０のうち、一方のカウンタ１０のカウント値ＣＮＴ１の歩進を停止させる。図４に示す例では、外乱が消失した時刻ｔ１２の後、カウント値ＣＮＴ１が「３」で停止している。これに対し、カウンタ２０はそのままカウントを継続し、カウント値ＣＮＴ２が歩進する。図４に示す例では、時刻ｔ１２の後、カウント値ＣＮＴ２は、「２」から歩進している。
【００２０】
そして、時刻ｔ１３において、カウント値ＣＮＴ２が停止状態のカウントＣＮＴ１と同値になり、これらカウント値が一致すると、比較器３０から出力される信号ＣＭＰがハイレベルになり、これを入力するゲート回路４０から出力されるカウントイネーブル信号ＣＥ３もハイレベルになる。このカウントイネーブル信号ＣＥ３を受けてカウンタ１０が時刻ｔ１４からカウントを再開し、カウント値ＣＮＴ１を歩進させる。図４に示す例では、時刻ｔ１４の後、カウント値ＣＮＴ２は、カウント値ＣＮＴ２の位相に同期して「４」から歩進している。
【００２１】
ここで、仮に、外乱の後、カウント値ＣＮＴ１を停止させずに、そのまま歩進させるものとした場合、図４に示す例では、カウント値ＣＮＴ１がカウント値ＣＮＴ２よりも常に「１」だけ進み、これらカウント値の位相が１周期分だけずれた状態に保持され、これらの位相関係は回復しない。これに対し、この実施形態によれば、カウント値が一致しない場合に、一方のカウンタ１０のカウント値ＣＮＴ１の歩進を停止させ、巡回する他方のカウンタ２０のカウント値ＣＮＴ２が停止状態のカウント値ＣＮＴ１に達した時点でカウンタ１０のカウントを再開させることにより、その後の２つのカウント値ＣＮＴ１，ＣＮＴ２の位相を一致させている。以上により、外乱を受けた場合の動作を説明した。
【００２２】
次に、図５を参照して、この実施形態に係る位相同期回路の適用例を説明する。図５に示す例は、携帯電話用の音源ＬＳＩであり、インタフェース２００、レジスタ２０１、タイミングジェネレータ２０３、音源コア２０４、ＤＴＭＦコア２０５、時分割処理部２０６、Ｄ／Ａ変換器（ＤＡＣ）２０７から構成される。この内、タイミングジェネレータ２０３は、上述の図１に示したものと同様の位相同期回路２０３Ａを内蔵したもので、この位相同期回路２０３Ａが出力する上述のカウント値ＣＮＴ１，ＣＮＴ２からクロックＣＫ１，ＣＫ２を出力する。例えば、カウント値ＣＮＴ１，ＣＮＴ２の各ＬＳＢを使えば、クロック信号ＣＬＫを２分の１に分周したものがクロックＣＫ１，ＣＫ２となる。また、組み合わせ回路を使って、音源コア２０４およびＤＴＭＦコア２０５に必要なクロック信号を出力する。ただし、この組み合わせ回路は、タイミングジェネレータ２０３の内部に設ける必要はなく、その後段に設けてもよい。これらクロックＣＫ１，ＣＫ２はそれぞれ音源コア２０４およびＤＴＭＦコアに入力され、各コアはこのクロックＣＫ１，ＣＫ２に基づき所定の処理動作を行い信号Ｓ１，Ｓ２を出力する。これら各コアから出力される信号Ｓ１，Ｓ２は時分割処理部２０６に入力され、適切なタイミングで時分割されて１つの信号Ｓ３に合成される。この合成された信号Ｓ３はＤ／Ａ変換器２０７でアナログ信号に変換され、図示しない外部のスピーカ等の放音手段を駆動する。
【００２３】
音源コア２０４は、着信時における着信音（例えばメロディ音）を発生するもので、消費電力が比較的大きい。これに対し、ＤＴＭＦコア２０５は、発呼時におけるダイヤルトーンを発生するもので、回路規模が小さく低消費電力である。携帯電話においては、待機時に電池の消費を減らす必要上、音源コア２０４とＤＴＭＦコア２０５とを共に動作を停止させる使用方が一般的である（ＣＥ１，ＣＥ２が共にロウレベル）。また、使用状態において、ＤＴＭＦコア２０５については、発呼時に動作状態となる必要があるが（ＣＥ２がハイレベル）、音源コア２０４については、発音が必要となるまでは休止状態（ＣＥ１がロウレベル）を維持する使い方が一般的である。すなわち、動作時には、まず、カウントイネーブル信号ＣＥ２がハイレベルになり、その後、必要に応じてカウントイネーブル信号ＣＥ１がハイレベルに制御される。
【００２４】
ここで、タイミングジェネレータ２０３を起動する際には、上述のように、クロックＣＫ２（カウント値ＣＮＴ２）が巡回してクロックＣＫ１（カウント値ＣＮＴ１）と一致するまで、クロックＣＫ１の値は固定され、カウント値が一致した場合は同期するので、これらクロックの位相は一定に維持される。従って、音源コア２０４の出力Ｓ１とＤＴＭＦコア２０５の出力Ｓ２は同期して出力されることになる。このため、時分割処理部２０６では、実質的にクロックＣＫ２に基づく信号Ｓ１と信号Ｓ２のみから信号Ｓ３を合成することになり、従ってこれらクロックの位相のずれが信号Ｓ３の品質に反映されることがなくなり、この信号の品質を維持することができる。また、外乱が発生した場合には、位相が一致するまでクロックＣＫ１が停止状態とされ、その後、位相が一致した状態で双方のクロックＣＫ１，ＣＫ２が発生されるので、位相が乱されても、元の位相状態に回復する。従って、その後の時分割処理部２０６での処理が適切なタイミングで行われることになり、信号Ｓ３の品質も回復することになる。
以上、この発明の一実施形態を説明したが、この発明は、上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲で変形が可能である。
【００２５】
【発明の効果】
以上説明したように、この発明によれば、第１のカウント値と第２のカウント値とが不一致の場合に第１及び第２のカウンタ部の何れか一方のカウント値の歩進を停止させるようにしたので、起動時に位相がずれたカウント値の出力を防止することができ、しかも、外乱等によりずれたカウント値の位相関係を回復させることが可能になる。
【図面の簡単な説明】
【図１】  この発明の実施形態に係る位相同期回路の構成を示すブロック図である。
【図２】  この発明の実施形態に係るカウンタの構成例を示すブロック図である。
【図３】  この発明の実施形態に係る位相同期回路の動作（起動時）を説明するためのタイミングチャートである。
【図４】  この発明の実施形態に係る位相同期回路の動作（外乱発生時）を説明するためのタイミングチャートである。
【図５】  この発明の実施形態に係る位相同期回路の適用例を説明するための図である。
【符号の説明】
１０，２０；カウンタ、３０；比較器、４０；ゲート回路（ＡＮＤ）、１０１〜１０３；全加算器、１１１〜１１３；フリップフロップ、２０３Ａ；位相同期回路。
【図１】
0004715080.tif 000002
【図２】
0004715080.tif 000003
【図３】
0004715080.tif 000004
【図４】
0004715080.tif 000005
【図５】
0004715080.tif 000006