(57)【特許請求の範囲】
【請求項１】
ＵＳＢ準拠の外部インタフェース回路を有し、
前記外部インタフェース回路は、一定周期毎に区切られたデータ列を入出力し、データ入出力の同期化に用いる同期クロック信号を生成するクロック発生回路を有し、前記一定周期毎の区切はフレームの先頭に配置されるＳＯＦパケットによって明示され、
前記クロック発生回路は、前記同期クロック信号の源発振とされる自励発振回路と、前記自励発振回路の発振周波数の製造時トリミング値を格納するトリミングレジスタと、前記自励発振回路の発振周波数を微調整する制御回路とを有し、
前記自励発振回路は、前記トリミングレジスタ内の製造時トリミング値により発振周波数が補正され、
前記制御回路は、前記データ列における一定周期の区切りを検出し、区切りの間隔を前記自励発振回路の発振出力に基づいて計測し、計測値を目標値に一致させる方向に自励発振回路の発振周波数を制御する半導体集積回路であって、
前記制御回路は、前記自励発振回路の発振周波数を制御する制御データが格納される制御データレジスタと、ＳＯＦパケットにより明示される一定周期毎に前記同期クロック信号を計数するカウンタと、前記カウンタによる計数値とその目標範囲とのずれを判定し判定されたずれを小さくする方向に前記制御データレジスタの制御データを修正する判定回路とを有し、
前記制御データレジスタから出力される制御データの初期値は、制御範囲の中央値とされ、
前記判定回路は、前記制御データを修正するための１回の制御量を第１変化量と、それよりも大きな第２変化量とに切り替え可能とされ、制御開始時点では、前記制御量を前記第２変化量として前記制御データを修正し、前記計測値が前記目標範囲に入るか、前記目標範囲を越えた場合には、前記制御量を前記第２変化量から前記第１変化量に切り替えて前記制御データを修正するものであり、
前記自励発振回路は、発振周波数を決定する定電流発生回路と、前記定電流発生回路で生成される電流を動作電流として相互に逆相で容量の充放電を行なって基準レベルへの到達を検出する一対のランプ回路と、前記一方のランプ回路の出力をセット端子に受け他方のランプ回路の出力をリセット端子に受けるフリップフロップとを有し、前記一対のランプ回路は前記フリップフロップの逆相出力に基づいて相互に逆相で充放電動作されることを特徴とする半導体集積回路。
【請求項２】
ＵＳＢ準拠の外部インタフェース回路を有し、
前記外部インタフェース回路は、一定周期毎に区切られたデータ列を入出力し、データ入出力の同期化に用いる同期クロック信号を生成するクロック発生回路を有し、前記一定周期毎の区切はフレームの先頭に配置されるＳＯＦパケットによって明示され、
前記クロック発生回路は、前記同期クロック信号の源発振とされる自励発振回路と、前記自励発振回路の発振周波数の製造時トリミング値を格納するトリミングレジスタと、前記自励発振回路の発振周波数を微調整する制御回路とを有し、
前記自励発振回路は、前記トリミングレジスタ内の製造時トリミング値により発振周波数が補正され、
前記制御回路は、前記データ列における一定周期の区切りを検出し、区切りの間隔を前記自励発振回路の発振出力に基づいて計測し、計測値を目標値に一致させる方向に自励発振回路の発振周波数を制御する半導体集積回路であって、
前記制御回路は、前記自励発振回路の発振周波数を制御する制御データが格納される制御データレジスタと、ＳＯＦパケットにより明示される一定周期毎に前記同期クロック信号を計数するカウンタと、前記カウンタによる計数値とその目標範囲とのずれを判定し判定されたずれを小さくする方向に前記制御データレジスタの制御データを修正する判定回路とを有し、
前記制御データレジスタから出力される制御データの初期値は、制御範囲の中央値とされ、
前記判定回路は、前記制御データを修正するための１回の制御量を第１変化量と、それよりも大きな第２変化量とに切り替え可能とされ、制御開始時点では、前記制御量を前記第２変化量として前記制御データを修正し、前記計測値が前記目標範囲に入るか、前記目標範囲を越えた場合には、前記制御量を前記第２変化量から前記第１変化量に切り替えて前記制御データを修正するものであり、
前記自励発振回路は、発振周波数を決定する定電流発生回路と、前記定電流発生回路で生成される電流を動作電流として容量の充放電を行なって基準レベルへの到達を検出するランプ回路と、前記ランプ回路の出力を遅延させる遅延回路と、遅延回路の出力をクロックとし非反転データ出力をデータ入力とするフリップフロップとを有し、前記ランプ回路は前記遅延回路の出力に基づいて逆相で充放電動作されることを特徴とする半導体集積回路。
【請求項３】
前記クロック発生回路は、前記自励発振回路の発振周波数を逓倍して同期クロック信号を出力するＰＬＬ回路を更に有することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記自励発振回路は、前記トリミングレジスタ内の製造時トリミング値により発振周波数が補正されることでＳＯＦパケットの認識が可能な発振精度を有することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記定電流発生回路は、前記制御データレジスタの制御データに応じた電流を流す第１電流源と、前記トリミングレジスタに格納された制御データにより制御され、前記自励発振回路のプロセスバラツキによる発振周波数の変動を補償する第２電流源とを有することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項６】
前記定電流発生回路は、前記自励発振回路の温度変化による発振周波数の変動を補償する電流を流す第３電流源とを有することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項７】
前記外部インタフェース回路に接続する中央処理装置を有し、前記中央処理装置は前記クロック発生回路で生成されるクロック信号を動作基準クロック信号として用いることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項８】
前記中央処理装置に接続する不揮発性メモリと揮発性メモリとを有することを特徴とする請求項７記載の半導体集積回路。
【請求項９】
前記半導体集積回路は所定の認証機関による認証を受けたＩＣカード用マイクロコンピュータであることを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
外部接続端子を有するカード基板に請求項７乃至９の何れか１項記載の半導体集積回路が搭載され、搭載された前記半導体集積回路の前記外部インタフェース回路に前記外部接続端子が接続されることを特徴とするカードデバイス。
【請求項１１】
請求項１０記載のカードデバイスが着脱可能にされ、装着されたカードデバイスの外部接続端子をＵＳＢホストへ接続可能とする電気的接続経路を有することを特徴とするカードリーダ。
【請求項１２】
発振子が省略されていることを特徴とする請求項１１記載のカードリーダ。
【請求項１３】
請求項７乃至９の何れか１項記載の半導体集積回路を搭載し、前記外部インタフェース回路を介してＵＳＢホストに接続可能にされることを特徴とするＵＳＢインタフェース機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、更にはクロック発振技術に関し、主たる装置に接続され、該主たる装置とＰｌｅｓｉｏｃｈｒｏｎｏｕｓ（プレシオクロナス）通信を行う、従たる装置、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）クライアントに適用して有効な技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）と周辺機器との接続にＵＳＢを用いることが一般的になってきており様々な周辺機器がＵＳＢ対応になっている。  
【０００３】
例えば、特許文献１にはＵＳＢを用いた電話装置のアイソクロナス通信に関する記載がある。即ち、パーソナルコンピュータ（ＰＣ）と電話装置のクロックの差異に起因する音声データのスリップによるノイズ発生を抑制するのに、非同期転送モード時に約１ミリ秒（ｍｓ）周期でＰＣから起こられてくるＳＯＦというフレーム信号をカウントするカウンタと、電話交換網のクロックに同期したフレームをカウントするカウンタとのカウント値の差に基づいて電話装置のクロックを選択する。
【０００４】
ＵＳＢに関しても、ＵＳＢ１．１で定義されていたフルスピードモード（１２ＭＨｚ）に加えてＵＳＢ２．０で新たに定義されたハイスピードモード（４８０ＭＨｚ）の双方に対応するとき、サンプリングクロックを生成するＰＬＬによる電力消費を低減するために、モードに応じてクロックを切り換えるようにした技術が提供される（特許文献２）。
【０００５】
【特許文献１】特開２００１−２３０８３７号公報
【０００６】
【特許文献２】特開２００２−１４１９１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明者はＩＣカードを用いたクレジットカードに対するＵＳＢ対応について検討した。クレジットカードに用いられるＩＣカードは、国際規格ＩＳＯ７８１６によって規定されている。これまで、インターネット等でクレジットカード決済を行う場合には、カード番号や期限を直接インターネットサイトに送る必要があった。もちろん一般的に通信自体は暗号化され、通信経路で番号を盗まれる可能性は問題にならないほど小さいが、インターネットサイトで直接悪用される可能性は防ぐことが出来ない。そこで、ＩＣカードを用いたクレジットカードで、カード番号も含めて暗号化し、よりセキュアなクレジットカード使用を行いたいと言う要求が増えてきている。
【０００８】
しかし、ＩＳＯ７８１６規格では外部との通信にＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）を利用する事になっている。ＵＡＲＴは様々な場所で使用されており、入手が容易で安価であると言う利点があるが、規格として古く自動認識が困難であり、特に個人がＰＣ等で利用する際に利便性の面で問題となる。
【０００９】
そこで、最近のＰＣにほぼ必ず搭載され、利便性の高いＵＳＢの利用が求められている。ＩＳＯ７８１６規格では、２つのＲＦＵ（Ｒｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅ）という使用されない端子が規定されており、これにＵＳＢの通信端子であるＤ＋及びＤ−を割り当てることでＵＳＢに対応することが出来る。
【００１０】
ＵＳＢ機器では、通信を発する側と受け取る側とでそれぞれ独立した基準発振器を持ち、送受信間のクロックのずれを規格で定められた基準以下にすることで、自動的にクロックのずれを補償するＰｌｅｓｉｏｃｈｒｏｎｏｕｓ転送を行っている。ＵＳＢ規格において、例えばＦＳ（Ｆｕｌｌ  Ｓｐｅｅｄ）デバイスにおけるクロックのずれは±２５００ｐｐｍを満たす必要がある。このためＵＳＢを採用した機器では、規格を満たす精度の発振器が必要となり、通常セラミック発振器や水晶発振器を内蔵している。
【００１１】
しかし、ＩＣカードでは物理的なスペースの制約によって、セラミック発振器等を個別に内蔵することが不可能であり、本発明者は基準発振器を半導体集積回路（ＬＳＩ）に内蔵することの必要性について見出した。  
【００１２】
また、その他のＵＳＢ機器においても発振器をＬＳＩに内蔵する方が都合の良い場合のあることが本発明者によって見出された。例えば、ゲーム用の入力機器など安価であることが要求される機器では、外付け部品は１つでも少ない方が良い。入力機器などでは、機器自体には±２５００ｐｐｍ以上の精度は必要とされないため、ＵＳＢ通信用チップに基準発振回路が内蔵される場合、他の基準発振回路も不用になり、極めて安価なシステムを構成することが可能である。
【００１３】
しかしながら、自励発振による基準発振器をＬＳＩチップ内に集積しようとすると、プロセスばらつき、電源電圧、温度変化等に対して、例えば±２５００ｐｐｍの規格を満たすには、別途周波数調整が必要になる。
【００１４】
本発明の目的は、振動子を用いずＳＯＦ（Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ）パケット等により一定周期毎に区切られたデータ列を用いて所要の周波数を自励発振することができる半導体集積回路を提供することにある。
【００１５】
本発明の別の目的は、比較的発振周波数精度の高い自励発振が可能な半導体集積回路を提供することにある。
【００１６】
本発明の更に別の目的は、ＵＳＢのＳＯＦパケットの精度が±５００ｐｐｍであるとき、ＵＳＢ機器に要求される±２５００ｐｐｍの精度で自励発振を行なうことが可能な半導体集積回路を提供することにある。
【００１７】
本発明の更に別の目的は、ＩＣカードに代表されるカードデバイスをＵＳＢホストに接続するカードリーダ並びにその他のＵＳＢ機器のコストを低減することにある。
【００１８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００２０】
〔１〕本発明に係る半導体集積回路は外部インタフェース回路を有し、前記外部インタフェース回路は、一定周期毎に区切られたデータ列を入出力し、データ入出力の同期化に用いる同期クロック信号を生成するクロック発生回路（１００）を有する。前記クロック発生回路は、前記同期クロック信号の源発振とされる自励発振回路（１２０）と、前記自励発振回路の発振周波数を微調整する制御回路（１１０）とを有し、前記制御回路は、前記データ列における一定周期の区切りを検出し、区切りの間隔を前記自励発振回路の発振出力に基づいて計測し、計測値を目標値に一致させる方向に自励発振回路の発振周波数を制御する。
【００２１】
上記より、振動子を用いずＳＯＦパケット等により一定周期毎に区切られたデータ列を用いて所要の周波数を自励発振することができる。
【００２２】
本発明の具体的な形態として、前記外部インタフェース回路はＵＳＢ準拠のインタフェース回路（９１８）であり、一定周期毎の区切はフレームの先頭に配置されるＳＯＦパケットによって明示される。ＵＳＢ機器では、バス中に必ず１つのＵＳＢホスト（通常はＰＣ）と、０〜１２７個のＵＳＢデバイスが存在する。各ＵＳＢデバイスは、必ずＵＳＢホストのみと通信を行い、ＵＳＢデバイス同士で通信を行うことはない。例えばＵＳＢ接続のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）同士でファイル転送を行う場合でも、第１のＨＤＤ→ＰＣ→第２のＨＤＤのように通信が行われる。このため、ＵＳＢホストに対する精度要求はＵＳＡＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｙｎｃｈｒｏｎｏｕｓ  ａｎｄ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｂｕｓ）デバイスに対する精度要求と比較して厳しくなっており、ＵＳＢデバイスの±２５００ｐｐｍに対してＵＳＢホストは±５００ｐｐｍが要求されている。ＵＳＢ規格は、データフローを１ｍｓ毎にＦｒａｍｅ（フレーム）として区切っている。そして各Ｆｒａｍｅの先頭において、ＵＳＢホストからＳＯＦパケットが送られる。ＵＳＢホストのクロック精度は±５００ｐｐｍが要求されているため、ＳＯＦの間隔も１ｍｓ±５００ｐｐｍとなる。このＳＯＦを基準にＵＳＢデバイスの基準クロック周波数を補正する。ＳＯＦの精度は±５００ｐｐｍ精度が期待できるため、ＳＯＦ基準で２０００ｐｐｍの周波数補正をかけることが出来れば、全体として発振周波数に±２５００ｐｐｍの補正が実現できる。この補正法を利用することで、半導体集積回路に内蔵された発振器でも±２５００ｐｐｍを実現することが出来る。
【００２３】
本発明のさらに具体的な形態として、前記クロック発生回路は、前記自励発振回路の発振周波数を逓倍して同期クロック信号を出力するＰＬＬ回路（１３０）を更に有し、前記制御回路は、前記自励発振回路の発振周波数を制御する制御データが格納される制御データレジスタ（１１４）と、ＳＯＦパケットにより明示される一定周期毎に前記同期クロック信号を計数するカウンタ（１１２）と、前記カウンタによる計数値とその目標範囲とのずれを判定し判定されたずれを小さくする方向に前記制御データレジスタの制御データを修正する判定回路（１１３）とを有する。
【００２４】
上記自励発振の周波数補正にはＳＯＦパケット等による所定の区切りの認識が不可欠である。この意味において、自励発振回路はＳＯＦパケット等による所定の区切りの認識が可能な発振精度を有する。
【００２５】
必要な発振精度を得るという点に関し、例えば前記自励発振回路は発振周波数を決定する定電流発生回路を有する。この定電流発生回路は、前記制御データレジスタの制御データに応じた電流を流す第１電流源（４１１）と、前記自励発振回路のプロセスバラツキによる発振周波数の変動を補償する制御データを受けて電流を流す第２電流源（４１２）とを有する。
【００２６】
前記定電流発生回路は、例えば前記自励発振回路の温度変化による発振周波数の変動を補償する電流を流す第３電流源（４１３）とを有する。
【００２７】
必要な発振精度を得るという点に関し、例えば前記自励発振回路は、前記定電流発生回路で生成される電流を動作電流として相互に逆相で容量の充放電を行なって基準レベルへの到達を検出する一対のランプ回路（４２０，４３０）と、前記一方のランプ回路の出力をセット端子に受け他方のランプ回路の出力をリセット端子に受けるフリップフロップ（４４０）とを有し、前記一対のランプ回路は前記フリップフロップの逆相出力に基づいて相互に逆相で充放電動作される。容量の充電時間は高精度にコントロールできるが、放電時間については大きな誤差を伴うのが通例である。これを考慮したとき、一対のランプ回路を交互に充電動作させ、前記基準レベルへの到達検出の間隔に基づいて周期を規定するから、比較的大きな誤差を伴う放電動作が充電動作によって見掛け上隠蔽され、高精度のクロック周波数発振に資することができる。
【００２８】
自励発振回路のチップ占有面積低減を考慮する場合にはランプ回路を１個として容量によるチップ占有面積を削減する。ランプ回路を１個にした場合には前記ランプ回路の出力を遅延させる遅延回路と、遅延回路の出力をクロックとし非反転データ出力をデータ入力とするフリップフロップとを採用し、前記ランプ回路は前記遅延回路の出力に基づいて逆相で充放電動作されるようにすればよい。
【００２９】
〔２〕本発明の更に別の具体的な形態として、半導体集積回路は、前記外部インタフェース回路に接続する中央処理装置を有し、前記中央処理装置は前記クロック発生回路で生成されるクロック信号を動作基準クロック信号として用いる。半導体集積回路の動作基準クロックを得るのに水晶振動子などの外付け発振子を必要としない。前記半導体集積回路には中央処理装置に接続する不揮発性メモリと揮発性メモリが搭載されてもよい。このような半導体集積回路は例えば所定の認証機関による認証を受けたＩＣカード用マイクロコンピュータである。
【００３０】
上記半導体集積回路をＩＣカードやマルチファンクションメモリカードなどのカードデバイスに適用する場合には、外部接続端子を有するカード基板に前記半導体集積回路が搭載され、搭載された前記半導体集積回路の前記外部インタフェース回路に前記外部接続端子が接続される。
【００３１】
上記カードデバイスをＵＳＢホストに接続するカードリーダは、カードデバイスが着脱可能にされ、装着されたカードデバイスの外部接続端子をＵＳＢホストへ接続可能とする電気的接続経路を有する。ＵＳＢのサンプリングクロックはカードデバイスに実装された半導体集積回路のオンチップ発振回路で生成するからカードリーダは発振子を備えることを要しない。
【００３２】
上記半導体集積回路をＵＳＢインタフェース機器に適用する場合、半導体集積回路は前記外部インタフェース回路を介してＵＳＢホストに接続可能にされていればよい。
【００３３】
〔３〕本発明に係る発振回路は、定電流発生回路と、前記定電流発生回路で生成される電流を入力して容量を充電し充電レベルを基準レベルと比較し一致を出力する一対の時間計測回路と、前記一方の時間計測回路の出力をセット端子に受け他方の時間計測回路の出力をリセット端子に受けるフリップフロップと、を有し、相互に一の時間計測回路による一致検出に応答して、当該一の時間計測回路の容量を放電開始すると共に他の時間計測回路の充電を開始し、前記一致検出の間隔に基づいて周期が規定されたクロック信号を生成する。比較的大きな誤差を伴う放電動作が充電動作によって見掛け上隠蔽され、高精度のクロック周波数発振に資することができる。
【発明の効果】
【００３４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３５】
振動子を用いずＳＯＦパケットのような一定周期毎に区切られたデータ列を用いて所要の周波数を自励発振することができる。
【００３６】
半導体集積回路に基準発振回路を採用することで、ＩＣカードリーダやＵＳＢ機器のコストを削減することができる。
【発明を実施するための最良の形態】
【００３７】
図１に本発明に係る半導体集積回路に搭載される基準発振回路が例示される。１００はＵＳＢ用基準発振回路、１１０は発振周波数微調整回路、１２０は自励発振回路、１３０はＰＬＬ（Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路、１４０は製造時トリミングレジスタ、１５１は１ＭＨｚクロック、１５２は４８ＭＨｚクロック、１５３は発振周波数微調整信号、１５４は製造時トリミング値、１５５は製造時トリミング設定信号、１５６はＤ＋信号、１５７はＤ−信号である。なお、Ｄ＋信号１５６、Ｄ−信号１５７は、共にＵＳＢのデータの信号である。
【００３８】
特に限定する意図はないが、本実施例における発振回路は、ＵＳＢ規格２．０のフルスピード（Ｆｕｌｌ  Ｓｐｅｅｄ）モード（１２Ｍｂｐｓ）に対応したＵＳＢ送受信回路用の、基準発振回路であるとする。一般的にＵＳＢ受信回路では、４倍オーバーサンプリングを用いるため、フルスピードモード対応のＵＳＢ送受信回路では、４８ＭＨｚの基準クロックが必要となる。
【００３９】
本実施例における発振回路は、たとえば上記発振回路が搭載される半導体集積回路に電源が投入された時、カードリーダに上記半導体集積回路を搭載するカードデバイスが接続された時、ＵＳＢホストからのリセット信号が上記半導体集積回路に入力された時など、半導体集積回路に電源が投入されたあと発振を開始（自励発振を行う）するものである。
【００４０】
まず自励発振回路１２０が、１ＭＨｚクロック１５１を生成する。該１ＭＨｚクロックはＰＬＬ１３０において４８逓倍され、４８ＭＨｚクロック１５２として出力される。
【００４１】
ＰＬＬ回路１３０において、１３１は電圧制御発振回路（ＶＣＯ：Ｖｏｌｔａｇｅ−Ｃｏｎｔｒｏｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）、１３２は分周回路、１３３は位相周波数比較回路（ＰＦＤ：Ｐｈａｓｅ  Ｆｒｅｑｕｅｎｃｙ  Ｄｅｔｅｃｔｏｒ）、１３４は低域通過フィルタ（ＬＰＦ：Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）である。
【００４２】
ＶＣＯ１３１は動作開始時点で自走周波数と呼ばれる周波数で発振している。ＶＣＯ１３１から出力されるクロック１５２を分周回路１３２で分周する。ＰＬＬ回路１３０を逓倍回路として使用する場合、この分周回路１３２の分周比が逓倍比となる。ここでは、１ＭＨｚクロック１５１を４８ＭＨｚクロック１５２へ４８逓倍することが目的のため、分周比は１／４８に設定される。
【００４３】
このように分周されたフィードバッククロック１３６は、ＰＦＤ１３３において、１ＭＨｚクロック１５１と位相及び周波数が比較される。１ＭＨｚクロック１５１と比較して、フィードバッククロック１３６の位相が進んでいるもしくは周波数が高い場合、チャージアップ信号１３７よりもチャージダウン信号１３８のほうが長期間のパルスが出力される。逆に、１ＭＨｚクロック１５１と比較して、フィードバッククロック１３６の位相が遅れているもしくは周波数が低い場合、チャージダウン信号１３８よりもチャージアップ信号１３７のほうが長期間のパルスが出力される。
【００４４】
ＬＰＦ１３４によって、チャージアップ信号１３７及びチャージダウン信号１３８が平滑化され、周波数制御電位１３５が出力される。すなわち、チャージアップ信号１３７がＬＰＦ１３４へ入力された場合、周波数制御電位１３５が上昇し、チャージダウン信号１３７がＬＰＦ１３４へ入力された場合、周波数制御電位１３５が下降する。
【００４５】
この周波数制御電位１３５が上昇すると、ＶＣＯ１３１の周波数が上昇し、周波数制御電位１３５が下降するとＶＣＯ１３１の周波数は下降する。このようにして、フィードバッククロック１３６と１ＭＨｚクロック１５１との周波数及び位相が一致するようにネガティブフィードバック（負帰還）制御が行われる。分周回路１３２の動作から、４８ＭＨｚクロック１５２の周波数は１ＭＨｚクロック１５１の４８倍に制御される。これにより、ＰＬＬ回路１３０はクロックの４８逓倍回路として動作する。
【００４６】
１ＭＨｚクロック１５１を４８逓倍して生成された、該４８ＭＨｚクロック１５２がＵＳＢ用基準クロックになるが、このままでは±２５００ｐｐｍの規格を満足することは出来ない。自励発振回路１２０は製造時にトリミングされており、そのトリミング値１５４は製造時トリミングレジスタ１４０に格納されている。トリミング値１５４自体は製造時に測定され、製造時トリミング信号１５５を通して、製造時トリミングレジスタ１４０に書き込まれる。製造時トリミング信号１５５は、例えば半導体集積回路に搭載されたレーザ溶断ヒューズ回路又はＥＥＰＲＯＭ、ＭＲＡＭ、フラッシュメモリなどの不揮発性メモリから、当該半導体集積回路の電源投入時やリセット時にイニシャルロードされる信号である。
【００４７】
トリミングされた自励発振回路１２０は、プロセスばらつきに対して極めて安定した周波数で発振する事が可能である。しかし、他に発振周波数が変化する要因として、電源電圧と温度が挙げられる。無論、プロセス、電源電圧、温度に対する補償回路を組み込んでおき、それぞれを高精度にトリミングすることも論理上は可能であるが、あるパラメータに対する補償回路が他のパラメータに対して依存性を持つため、高精度に補償を行うことは極めて難しい。例えばプロセスばらつきを補償する回路自体が温度依存性を持つなどが挙げられる。特に温度依存性を製造時にトリミングするためには、温度の上昇／下降を行う必要があるため、テスト時間の増加につながり、テストコストの面から困難である。そこで、発振周波数微調整回路１１０を利用して、温度依存性など製造時にトリミングが難しいばらつきを補償する。
【００４８】
発振周波数微調整回路１１０において、１１１はＳＯＦ検出回路、１１２はクロックパルス計数回路、１１３はクロック数判定回路、１１４は周波数微調整値レジスタである。
【００４９】
ＵＳＢの信号であるＤ＋信号１５６及びＤ−信号１５７から、ＳＯＦ検出回路１１１がＳＯＦパケットを検出する。なお、ＳＯＦパケットはＵＳＢを流れるデータ中でユニークであり、他のデータと容易に区別が出来る。ＳＯＦパケットが入力されるとＳＯＦ検出回路１１１は、ＳＯＦ検出信号１１５を、４８ＭＨｚクロック１５２に同期させて１周期間出力する。またＳＯＦパケットは、たとえばＵＳＢホストに対し複数のＵＳＢファンクションが接続されている状態であっても、各ＵＳＢファンクションそれぞれがＳＯＦパケットを受信可能な状態となっている。
【００５０】
図１０に示す通り、ＳＯＦパケットはＳｙｎｃ−ＰＩＤ−Ｆｒａｍｅ  Ｎｏ．−ＣＲＣ−ＥＯＰという順でデータが送られてくる。このうちＳｙｎｃはデータ本体を取り込むためのタイミングを計るために送られてくるビット列である。ＰＩＤはパケットの種類を指定するビット列であり、ＳＯＦパケットであればＳＯＦパケットを示すビット列が送られてくる。Ｆｒａｍｅ  Ｎｏ．はＦｒａｍｅの番号を示しており、これはＦｒａｍｅ毎に変化する。ＣＲＣはデータエラーを検出するためのビット列である。ＥＯＰは各パケットの終了を示す特殊な状態である。ＵＳＢは２本の信号線Ｄ＋、Ｄ−を使用しディファレンシャル伝送を行っている。通常２つの信号線の電位は互いに逆の関係にあるが、ＥＯＰの場合に限り同電位となる。よって、ＥＯＰは容易に検出できる。実際にＳＯＦパケットを検出するためには、前パケットのＥＯＰ−Ｓｙｎｃ−ＰＩＤを検出することになる。
【００５１】
クロックパルス計数回路１１２は、４８ＭＨｚクロック１５２の立ち上がりエッジが入力される毎に、クロック計数信号１１６に１を加算し、ＳＯＦ検出信号１１５が入力されると、クロック計数信号１１６を０にリセットする。これにより、ＳＯＦパケットからＳＯＦパケットまでのクロックパルスの数を計数することが出来る。
【００５２】
ＵＳＢ規格により、ＳＯＦパケットの間隔は１ｍｓであり、４８ＭＨｚクロック１５２が正確に４８ＭＨｚであるならば、クロック計数信号１１６は４８０００を計数するはずである。これを用いて、４８ＭＨｚクロック１５２の周波数を補正する。
【００５３】
クロック数判定回路１１３は、ＳＯＦ検出信号１１５が出力される直前のクロック計数信号１１６の値を用いる。クロック計数信号１１６の値が４８０４８より大きければ、周波数微調整値レジスタ１１４から出力される周波数微調整信号１５３の値を１減算する。逆に、クロック計数信号１１６の値が４７９５２より小さければ、周波数微調整信号１５３の値を１加算する。１１７は周波数微調整値レジスタ１１４に対する加算指示信号、１１８は周波数微調整値レジスタ１１４に対する減算指示信号である。クロック計数信号１１６の値が４７９５２と４８０４８の間であれば、フィードバック制御の不感帯としてクロック計数信号１１６の値を操作しない。
【００５４】
自励発振回路１２０には周波数微調整機能があり、周波数微調整信号１５３が増加すると１ＭＨｚクロック１５１の周波数が上昇し、周波数微調整信号１５３が減少すると１ＭＨｚクロック１５１の周波数が下降する。これによりネガティブフィードバック制御となっている。周波数微調整信号１５３の初期値を中央値にすることで、１ＭＨｚクロック１５１の初期周波数が高くても低くても対応することが出来る。
【００５５】
ＳＯＦパケットの間隔が正確に１ｍｓであるとすれば、４８ＭＨｚクロック１５２の実周波数は４７．９５２〜４８．０４８ＭＨｚの間で安定する事になる。すなわち４８ＭＨｚ±１０００ｐｐｍである。実際にはＳＯＦパケットの間隔は１ｍｓ±５００ｐｐｍであるため、あわせて４８ＭＨｚ±１５００ｐｐｍの精度を持つクロックが得られる。ＵＳＢの規格では４８ＭＨｚ±２５００ｐｐｍまで許容範囲であるが、１０００ｐｐｍ分はガードバンド（製造時余裕）とする。
【００５６】
これにより、ＵＳＢ規格を満足する精度を有する基準発振回路を構成することは可能である。この制御において、１０００ｐｐｍ未満の精度を目指すフィードバック制御であることから、１回の制御量は５００ｐｐｍ程度で設計する。ここで、自励発振回路１１０の初期発振周波数のずれが５００００ｐｐｍ（５％）程度あったとすると、１００回程度のフィードバック制御を経て制御が収束する。これでは本発明における基準発振回路１００がＵＳＢに接続されてから、実際に通信が可能になるまで１００ｍｓ程度かかってしまう。
【００５７】
これを回避するために次のような制御を行う。図２に本発明における２段階制御方式の概念図を示す。図２において、２１０は４８ＭＨｚクロック１５２の周波数軸、２２０は時間軸、２１１は４８．０４８ＭＨｚ、２１２は４８ＭＨｚ、２１３は４７．９５２ＭＨｚである。
【００５８】
本発明における基準発振回路１００が動作を開始した時点での発振周波数は、図２に示した通り制御目標よりも低い周波数であるとする。ここから、制御目標（２１１〜２１３）に向かって制御を行う。
【００５９】
まず、制御開始時点２３０では１回の制御につき大きな量の制御を行う。すなわち、周波数微調整信号１５３の値を±１ではなく、例えば±９の変化量を与える（制御点２３１〜２３２）。周波数微調整信号１５３の値を１変化させた時の４８ＭＨｚクロック１５２の周波数の変化量を５００ｐｐｍであるとすれば、９変化させた時の変化量は４５００ｐｐｍとなる。その後、４８ＭＨｚクロック１５２の発振周波数が制御目標２１１〜２１３に入るか、制御目標２１１〜２１３を超えた場合（制御点２３２）、周波数微調整信号１５３の変化値を±１にする。もし制御目標２１１〜２１３に入っていれば制御はその時点で安定し、もし制御目標２１１〜２１３を超えていれば逆方向に１〜６回制御を行うことで制御目標２１１〜２１３へ入る（制御点２３３〜２３４）。言うまでもないが、４８ＭＨｚクロック１５２の初期周波数が速い場合でも、最初は±９で制御を行い、制御目標に入るか飛び越すかで±１の制御に切り替える。この場合図２の波形は上下が逆になるが、考え方としては変わらない。
【００６０】
ここで仮定として、４８ＭＨｚクロック１５２の初期周波数が−５０５００ｐｐｍずれていた場合、＋９（＋４５００ｐｐｍ）の制御を１２回行ったところで、制御目標２１１〜２１３を飛び越し＋３５００ｐｐｍとなる。その後−１（−５００ｐｐｍ）の制御を６回行うことで＋５００ｐｐｍとなり、制御目標２１１〜２１３を満足し制御は安定する。すなわち合計１８回の制御で制御目標２１１〜２１３に達する。この条件における制御回数が−５００００ｐｐｍ付近における最悪値である。
【００６１】
−５０５００ｐｐｍの初期周波数から、周波数微調整信号１５３の値を＋１ずつ制御した場合、１００回の制御で−５００ｐｐｍとなり、制御目標２１１〜２１３に達する。このことから、２段階制御を行うことで、大幅に制御が安定する時間を短縮出来ることがわかる。
【００６２】
ところで、ＵＳＢはシリアル半２重通信でありデータ同期用のクロックが存在しないため、受信側でデータ取り込むタイミングを調整する必要がある。図３にデータ取り込みタイミングがずれた場合の例を挙げる。３１０に示したシリアルデータ信号を正しく取り込むには、３２１で示したようなクロックでデータを取り込む必要がある。正確なクロック３２１で取り込んだデータは３２２のようなデータ列となる。
【００６３】
ここで、不正確なクロックで同じシリアルデータ信号３１０を取り込んだ場合について考える。３３１は不正確なクロックを示す。この不正確なクロック３３１でシリアルデータ信号３１０を取り込んだ場合、取り込まれたデータ列は３３２のようになる。図３を見れば明らかなように、クロックのタイミングが不正確であった場合、取り込まれたデータ列が不正確になってしまう。
【００６４】
ＵＳＢ規格では、送信側と受信側とでそれぞれ独立に基準周波数を持ち、送受信間の位相差及び微少な周波数のずれはデータ通信中に適宜補正するという方法をとっている。この送受信間の同期の取り方をＰｌｅｓｉｏｃｈｒｏｎｏｕｓ転送と呼ぶ。
【００６５】
図３に示した通り、Ｐｌｅｓｉｏｃｈｒｏｎｏｕｓ転送では、送受信間のクロック周波数がずれるとデータを正確に読み取れないため、ＵＳＢデータからＳＯＦパケットを検出することが出来なくなってしまう。ゆえに、自励発振回路１２０の初期周波数は、ＵＳＢ規格を満たさないまでも、ＳＯＦパケットを検出することが出来るほどには正確でなければならない。
【００６６】
図４に一般的なＣＭＯＳプロセスで実現可能な、高精度自励発振回路１２０の例を示す。図４において、４１０は定電流発生回路、４２０は正相側ランプ回路、４３０は逆相側ランプ回路、４４０はＲＳフリップフロップ、４５０は比較電位生成回路である。
【００６７】
４１０の定電流発生回路において、４１１は周波数微調整用可変電流源、４１２は主電流源、４１３は温度補償電流源である。夫々の電流源４２１，４１２，４１３は、特に図示はしないが、直列接続された複数個のシリーズ抵抗と各シリーズ抵抗の両端に夫々一端が結合されたシャント抵抗との抵抗網を有し、各シャント抵抗の一端には周波数微調整信号１５３（トリミング値１５４）のような複数ビットの制御情報によってオン・オフされるＣＭＯＳスイッチを介してクランプ電圧が印加される、所謂Ｒ２Ｒ形態回路構成とされる。ＣＭＯＳスイッチは周波数微調整信号１５３（トリミング値１５４）のような複数ビットの制御情報の対応ビットによりスイッチ制御される。前記クランプ電圧は電源電圧変化や温度変化による出力電圧の変動を補償する所謂基準電圧発生回路によって生成された安定な基準電圧とされる。したがって、前記周波数微調整信号１５３（トリミング値１５４）のような複数ビットの制御情報にしたがって前記抵抗網で生成される電圧は温度や電源電圧の変動に対して安定した電圧になる。そのような電圧は夫々の電流源４２１，４１２，４１３を構成する電流源トランジスタをバイアスして定電流を流そうとする。
【００６８】
基本的には、主電流源４１２によって該定電流発生回路４１０の電流値は決定される。詳しくは後述するが、電流値が増加すれば自励発振回路１２０の周波数は上がり、逆に電流値が減少すれば自励発振回路１２０の周波数は下がる。ＣＭＯＳプロセスを用いてＬＳＩを量産するときには、必ず素子のばらつきを考える必要がある。この主電流源４１２の電流値は製造時にトリミングされており、トリミング値１５４の値にしたがって電流値を変化させる。なお、トリミング値１５４は、動作中に変化することはない。
【００６９】
しかし、ＣＭＯＳプロセスを用いた定電流源は基本的に温度依存性を持っており、一般的に温度が上昇すると電流値が下がる。これを補償するのが、温度補償電流源４１３である。この温度補償電流源４１３は、一般的な電流源と異なり温度が上昇すると電流値が上昇するように設計してある。例えば、図６に示した通りバンドギャップ定電圧回路を利用する。図６についての詳しい説明は後述するが、温度補償電位６５６には絶対温度に比例した電位が出力される。６５６の電位から電圧−電流変換回路を用いて電流を生成すれば、温度の上昇に伴い電流値が増加する電流源を設計することが可能である。また、主電流源４１２の温度依存性が一般とは逆に、温度の上昇に伴い電流値が上がるという性質であった場合は、カレントミラーを用いて、温度補償電流源の電流方向を逆転することで、主電流源４１２の温度依存性を打ち消すことが出来る。前記主電流源４１２と温度補償電流源４１３との温度依存性をちょうど打ち消すように、温度補償電流源４１３の電流値を、製造時トリミング値１５４で設定することで、電流の温度依存性を極めて小さくすることが出来る。但し前記の通り、製造時に温度依存性を打ち消すことはテスト時間の関係で困難であり、温度補償電流源４１３だけで温度依存性を打ち消して、ＵＳＢ規格を満足させることは困難である。
【００７０】
そのために発振周波数微調整回路１１０が存在する。発振周波数微調整回路１１０の出力である周波数微調整信号１５３を受けて、周波数微調整用可変電流源４１１は電流値を変化させる。すなわち、周波数微調整信号１５３が増加すれば、周波数微調整用可変電流源４１１の電流値は上昇し、周波数微調整信号１５３が減少すれば、周波数微調整用可変電流源４１１の電流値は下降する。
【００７１】
これら３つの電流源により、定電流発生回路４１０全体の電流値は極めて精度良く一定に保たれる。無論言うまでもないが、最終的に一定に保たれるのは自励発振回路１２０の発振周波数であり、他の回路によって自励発振回路１２０の発振周波数が変化する分は、この定電流発生回路４１０にて補償される。該電流値はバイアス用ＰＭＯＳ４１４によりバイアス電位４５２に変換される。定電流発生回路４１０において生成された電流は、バイアス電位４５２を通し、正相側及び逆相側ランプ回路４２０、４３０に伝送される。
【００７２】
ランプ回路４２０、４３０の動作を図５に示した各ノード電位の遷移を基に説明する。図５において、５１０は正相側及び逆相側ランプ電位４５３、４５４の電位軸、５２０はセット信号４５５及びリセット信号４５６の電位軸、５３０は１ＭＨｚクロック１５１の電位軸、５４０は時間軸、４５３は正相側ランプ電位４５３の電位、４５４は逆相側ランプ電位４５４の電位、４５５はセット信号４５５の電位、４５６はリセット信号４５６の電位、１５１は１ＭＨｚクロック１５１の電位、４５１は比較電位４５１の電位を示している。
【００７３】
まず、正相側ランプ回路４２０がオフ（ＯＦＦ）状態のときから説明を行う。正相側ランプ回路ディセイブル電位４５７がハイ（Ｈｉ）レベルであるため、正相側リセットＮＭＯＳ４２３はＯＮ、正相側スイッチＰＭＯＳ４２２はオフである。よって、正相側ランプ電位４５３はグラウンド電位で安定している。その後、正相側ランプ回路ディセイブル電位４５７がロー（Ｌｏ）レベルに落ちると、正相側リセットＮＭＯＳがオフ、正相側スイッチＰＭＯＳがオン（ＯＮ）になるため、キャパシタ４２４に電荷が注入され、正相側ランプ電位４５３が上昇していく（図５参照）。正相側ランプ電位４５３が比較電位４５１を越えた時、コンパレータ４２５の出力であるセット電位４５５がＬｏレベルからＨｉレベルに立ち上がる。このセット信号４５５の働きで、ＲＳフリップフロップ４４０の状態が反転し、正相側ランプ回路ディセイブル電位４５７がＨｉレベルに立ち上がる。これにより正相側ランプ回路は再びオフ状態に遷移する。
【００７４】
ＲＳフリップフロップ４４０の働きにより、正相側ランプ回路ディセイブル電位４５７がＬｏレベルである時、逆相側ランプ回路ディセイブル電位４５８はＨｉレベルである。このとき、逆相側ランプ回路４３０はオフ状態であるので、逆相側リセットＮＭＯＳ４３３はオン、逆相側スイッチＰＭＯＳ４３２はオフであり、逆相側ランプ電位４５４はグラウンド電位で安定している。正相側ランプ回路４２０の働きにより、ＲＳフリップフロップ４４０が反転することで、逆送側ディセイブル電位４５８がＬｏレベルに落ちる。これにより逆相側リセットＮＭＯＳ４３３がオフ、逆相側スイッチＰＭＯＳ４３２がオンになるため、逆相側ランプ電位４５４が上昇していく（図５参照）。正相側と同様に、逆相側ランプ電位４５４が、比較電位４５１を越えることで、コンパレータ４３５の出力であるリセット電位４５６が立ち上がり、ＲＳフリップフロップ４４０の状態が反転する。
【００７５】
逆相側ランプ回路４３０が動作している時、正相側ランプ回路４２０はオフ状態であり、正相側ランプ電位４５３はグラウンド電位まで落ちている。後は、正相側、逆相側ランプ回路４２０、４３０が交互に動作することで、ＲＳフリップフロップ４４０が定期的に反転する。これを出力として取り出したものが、１ＭＨｚクロック１５１である。
【００７６】
ここで、正相側電流源ＰＭＯＳ４２１と逆相側電流源ＰＭＯＳ４３１とはバイアス用ＰＭＯＳ４１４とゲート長（Ｌｇ）及びゲート幅（Ｗ）が同一に設計されており、定電流発生回路４１０で生成された電流と同じ大きさの電流が、正相側電流源ＰＭＯＳ４２１と逆相側電流源ＰＭＯＳ４３１に流れるように設計されている。この電流値をＩとする。キャパシタ４２４、４３４の容量をＣとおくと、各ランプ回路４２０、４３０がオンになってから時間ｔが経過した時のランプ電位４５３、４５４の電位Ｖは以下の式で現すことが出来る。
【００７７】
【数１】
0004812066.tif 000002
【００７８】
数１から、ランプ回路４２０、４３０がオンになってから、比較電位４５１（Ｖｃ）の電位に達するまでの時間は以下のような式で表すことが出来る。
【００７９】
【数２】
0004812066.tif 000003
【００８０】
コンパレータ４２５、４３５、ＲＳフリップフロップ４４０の反応速度が無視できるほど小さいとすると、数２のｔが０．５μｓになるようＣ、Ｖｃ、Ｉの値を設計することで、１ＭＨｚの発振周波数を得ることが出来る。
【００８１】
この３種類の設計パラメータのうち、ＣはＭＩＭキャパシタ（ＭＩＭ：Ｍｅｔａｌ  Ｉｎｓｕｌａｔｏｒ  Ｍｅｔａｌ  ゲート層や配線層を電極として形成するキャパシタ）を用いることで、温度及び電源電圧に対して安定な容量を得ることが出来る。Ｉの生成法は前記に示した通りである。最後のＶｃの生成法について図６を用いて説明を行う。
【００８２】
図６に比較電位生成回路４５０の回路図を示す。ＰＭＯＳ６０８〜６１１は同じＬｇ、Ｗの値を持っており、ＰＭＯＳゲート電位６５１も共通のため、同じ量の電流が流れている。ＮＰＮトランジスタ６０１と６０２はダイオード接続されており、ＮＰＮトランジスタ６０２のエミッタ面積はＮＰＮトランジスタ６０１と比較して２０倍に設計されている。ＮＰＮトランジスタ６０１に流れる電流をＩｔ１、ノード６５２の電位をＶｔ１、ＮＰＮトランジスタ６０１の逆方向漏れ電流の大きさをＩｓとおくと、これら３つの関係は以下の式で表すことが出来る。下記式において、ｋはボルツマン定数、Ｔは絶対温度、ｑは電気素量である。
【００８３】
【数３】
0004812066.tif 000004
【００８４】
同様にＮＰＮトランジスタ６０２に流れる電流をＩｔ２、ノード６５３の電位をＶｔ２、とすると、ＮＰＮトランジスタ６０２の電流Ｉｔ２は、以下の式で表すことが出来る。
【００８５】
【数４】
0004812066.tif 000005
【００８６】
前記の通りＰＭＯＳ６０８および６０９には同じ電流が流れるため、Ｉｔ１＝Ｉｔ２である。また、ｏｐＡＭＰ６０７によるネガティブフィードバックの結果、ノード６５２とノード６５４の電位はイマジナリショートされており同電位である。また抵抗６０４の大きさをＲ１と置く。これらから以下の２式が得られる。
【００８７】
【数５】
0004812066.tif 000006
【００８８】
【数６】
0004812066.tif 000007
【００８９】
数３から数６をとくと、以下の式が得られる。
【００９０】
【数７】
0004812066.tif 000008
【００９１】
数７に示したように、図６の回路を用いるとＮＰＮトランジスタのエミッタ面積比で決定する電流が得られる。ただし、数７にあるように、この電流Ｉｔ１は絶対温度Ｔに比例するため、温度係数が高いと言う問題がある。
【００９２】
そこでカレントミラーを用い、ＰＭＯＳ６１０にＩｔ１を流す。抵抗６０５の大きさをＲ２とすると、抵抗６０５の両端の電圧は以下の式で表すことが出来る。
【００９３】
【数８】
0004812066.tif 000009
【００９４】
この電圧は、絶対温度Ｔに比例した値となる。すなわち正の温度依存性を持つ電圧である。逆に、ＮＰＮトランジスタ６０３のエミッタ−ベース間電圧は、負の温度依存性を持つことが知られており、両者の値を慎重に選ぶことによって温度依存性を打ち消すことが出来る。
【００９５】
このように回路を構成することで、温度に対して極めて安定した比較電位４５１を得ることが出来る。また、カレントミラーによりＩｔ１をＰＭＯＳ６１１に流す。ＰＭＯＳ６１１に直列接続された抵抗６０６には、絶対温度Ｔに比例した電圧が現れる。よって温度補償電位６５６は、温度に比例した値となり、温度補償回路に使用することが出来る。本自励発振回路１２０では、温度補償を温度補償電流源４１３で行っている。この温度補償電位６５６は、温度補償電流源４１３へ入力されているが、図４では図の簡略化のため省略してある。
【００９６】
図４に示した自励発振回路１２０は２つのランプ回路４２０、４３０を持つことで、ランプ電位４５３、４５４のリセット時間を隠蔽することが出来る。ランプ電位をリセットする時間はＭＯＳの電流駆動力に左右される。ＭＯＳは温度依存性が大きく、また１次特性から大きく外れるため温度補償が困難である。このため、２つのランプ回路４２０、４３０を持つことで、高精度な発振周波数を得ることが出来る。
【００９７】
この図４の自励発振回路１２０を簡略化した回路が、図７に示した自励発振回路１２０＿２である。図７に示した通り、ランプ回路が４２０の１つだけとなり、遅延回路７１０とＤ−フリップフロップ７２０が加えられている。ランプ回路４２０中のキャパシタ４２４は、精度良く製造するためにサイズが大きくなるため、ランプ回路を省くことで回路面積を大幅に縮小することが出来る。
【００９８】
図８に自励発振回路１２０＿２の各ノード電位の遷移を示す。図８を基に自励発振回路１２０＿２の説明を行う。
【００９９】
まず、正相側ランプ回路４２０がオフ状態のときから説明を行う。正相側ランプ回路ディセイブル電位４５７がＨｉレベルであるため、正相側リセットＮＭＯＳ４２３はオン、正相側スイッチＰＭＯＳ４２２はオフである。よって、正相側ランプ電位４５３はグラウンド電位で安定している。その後、正相側ランプ回路ディセイブル電位４５７がＬｏレベルに落ちると、正相側リセットＮＭＯＳがオフ、正相側スイッチＰＭＯＳがオンになるため、キャパシタ４２４に電荷が注入され、正相側ランプ電位４５３が上昇していく（図８参照）。正相側ランプ電位４５３が比較電位４５１を越えた時、コンパレータ４２５の出力であるセット電位４５５がＬｏレベルからＨｉレベルに立ち上がる。ここまでは、図４に示した自励発振回路１２０の動作と同様である。セット電位４５５が遅延回路７１０でｔＤだけ遅延され、正相側ランプ回路ディセイブル電位４５７となる。この間、正相側ランプ電位４５３の電位は上昇しつづける。正相側ランプ回路ディセイブル電位４５７が入力すると、正相側ランプ回路４２０がオフ状態になり、正相側ランプ電位４５３が下降し始める。このため、セット電位４５５は、正相側ランプ電位４５３が比較電位４５１を越えている間Ｈｉレベルを出力し、パルスにある程度の幅が生じる。言うまでもないが、セット電位４５５をｔＤだけ遅延して生成した正相側ランプ回路ディセイブル電位４５７もある程度の幅を持つ。この幅の間正相側ランプ回路４２０はリセットされつづけることとなり、正相側ランプ電位４５３はグラウンドレベルまで下降する。この後、正相側ランプ回路ディセイブル電位４５７がＬｏレベルに落ちると、正相側ランプ回路４２０がオンとなりこれまでの動作を繰り返す。Ｄ−フリップフロップ７２０は、負出力ＱＢが入力Ｄに接続されており、クロック入力が立ち上がる毎に出力を反転する。Ｄ−フリップフロップのクロック入力は、正相側ランプ回路ディセイブル電位４５７となっており、図８に示した通り、Ｄ−フリップフロップの正出力Ｑが１ＭＨｚクロック１５１となる。言うまでもないが、主電流源４１２と温度補償電流源４１３の設定は、自励発振回路１２０と自励発振回路１２０＿２とでは異なる値となる。
【０１００】
この自励発振回路１２０＿２は遅延回路７１０の精度が要求されるため、自励発振回路１２０と比較して設計難易度が高いが、前記の通りレイアウト面積が小さいと言う利点がある。
【０１０１】
このようにして構成されたＵＳＢ用基準発振回路１００をＩＣカード用マイクロコンピュータ（ＩＣカードマイコン）のようなＩＣカード用ＬＳＩに適用する例を図９に示す。ここでのＩＣカードは、接触型ＩＣカードの国際規格であるＩＳＯ７８１６にＵＳＢ通信端子を追加したものを想定している。
【０１０２】
図９において、９００はＩＣカード、９１０はＩＣカード用ＬＳＩ、９１１は電源回路、９１２はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、９１３はＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、９１４はＥＥＰＲＯＭ（Ｅｌｅｃｔｏｒｉｃ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、９１５はＭＲＯＭ（Ｍａｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、９１６はＰＬＬ、９１７はＵＡＲＴ、９１８はＵＳＢインタフェースである。ＵＳＢインタフェース９１８に本発明における基準発振回路１００が搭載される。また、ＩＣカード９００における各端子は、９５１はＶｃｃ端子、９５２はＲｅｓｅｔ端子、９５３はＣｌｏｃｋ端子、９５４はＲＦＵ（Ｒｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅ）端子、９５５はＧｒｏｕｎｄ端子、９５６はＶｐｐ端子、９５７はＩ／Ｏ端子、９５８はＲＦＵ端子である。ＩＣカード９００は多層配線基板もしくは複合配線基板などから成るカード基板に形成される。カード基板の一面には前記カード端子９５１〜９５８が形成され、実装されたＩＣカードマイコンの外部端子が前記カード端子９５１〜９５８に結合され、ＩＣカードマイコンの実装面はキャップ若しくはレジン等で封止される。９２０はＩＣカード用ＬＳＩ９１０が形成される、単結晶シリコンなどの半導体基板（半導体チップ）である。
【０１０３】
ＩＳＯ７８１６では外部とのインタフェースにＵＡＲＴを採用している。ＵＡＲＴとはシリアルデータ転送規格として広く使われおり、例えばＰＣではＲＳ２３２−Ｃと呼ばれるシリアルポートにＵＡＲＴが採用されている。ＵＡＲＴ９１７の半２重通信（受信と送信とを同時に行うことが出来ない双方向通信）でやり取りされたデータは、ＣＰＵ９１２で処理される。この時のワークメモリとしてＳＲＡＭ９１３が用意される。ＭＲＯＭ９１５にはＯＳ等のプログラムといったＩＣカード９００共通のデータが、ＥＥＰＲＯＭ９１４にはＩＣカード９００の識別番号等ＩＣカード９００毎に違ったデータを格納するのに使用される。ＣＰＵ９１２で処理された結果は、再びＵＡＲＴ９１７を通して外部へと出力される。
【０１０４】
なお、電源Ｖｃｃ９５１の電圧は５Ｖと比較的高いため、電源回路９１１において降圧され各回路に分配される。また電源Ｖｐｐは、ＥＥＰＲＯＭへの書き込み時に大電流が必要とされる場合、Ｖｃｃ９５１の電源容量を強化する目的で採用されている端子である。ＰＬＬ９１６はＣｌｏｃｋ９５３からのクロック入力を受けて、ＣＰＵ９１２等に必要なクロックを生成する。
【０１０５】
このようにＩＳＯ７８１６規格に準拠したＩＣカードでは、ＵＡＲＴを利用して外部との通信を行うわけであるが、これをＵＳＢに置きかえることで利用者の利便性を向上させる。そのため、ＵＳＢインタフェース９１８を追加する。本発明における基準発振回路１００は、このＵＳＢインタフェース９１８のコンポーネントとして存在する。このように、ＵＳＢインタフェース９１８内に直接基準発振回路１００を設けることで、ＩＣカード用ＬＳＩ９１０の外部に水晶発振器を取り付けなくともＵＳＢによる通信を行うことが出来る。なお、図９においては説明の簡略化のため、ＰＬＬ９１６を独立して設けたが、基準発振回路１００内部にもＰＬＬ１３０が存在する。そのため、ＰＬＬ９１６を省略しＰＬＬ１３０に兼用させてもかまわない。その場合、ＵＡＲＴで通信を行う場合、ＰＬＬ１３０のリファレンスクロックは、Ｃｌｏｃｋ端子９５３から入力されるクロックに置き換える。
【０１０６】
ＵＳＢの通信端子であるＤ＋、Ｄ−は、ＩＳＯ７８１６規格のＲＦＵである９５４、９５８に割り当てる。ＲＦＵはＲｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅの略であり、ＩＳＯ７８１６規格では特に使用目的を持たないため、このように使用することが可能である。ＵＳＢにはその他に電源端子であるＶｂｕｓおよびＧｒｏｕｎｄ端子が必要であるが、これはそれぞれＶｃｃ９５１、Ｇｒｏｕｎｄ９５５に割り当てることが出来る。
【０１０７】
図１１にはＩＣカードリーダが例示される。ＰＣ９７０はＵＳＢホストとして位置付けられる。ＰＣ９７のＵＳＢインタフェースコネクタにカードリーダ９７１が接続される。カードリーダ９７１は、ＩＣカード９００が着脱可能にされ、装着されたＩＣカード９００の外部接続端子９５１〜９５８をＵＳＢホストとしてのＰＣ９７０へ接続可能とする電気的接続経路を有する。ＵＳＢクライアント側のサンプリングクロックはＩＣカードに実装されたＩＣカードマイコンのオンチップ発振回路で生成するからカードリーダは水晶振動子などの発振子を備えることを要しない。このようにＩＣカード用ＬＳＩに、基準発振器を含めてＵＳＢの機能すべてを集積することで、ＩＣカードリーダは、ＩＣカードとＵＳＢ信号線との電気的接合のみを提供するだけで良く、ＩＣカードリーダの大幅なコスト削減を行うことが出来る。
【０１０８】
現状、ＩＳＯ７８１６に対応したＩＣカードとＵＳＢとを接続するＩＣカードリーダは、ＵＳＢの信号をＵＡＲＴに変換するＩＣ、水晶発振器、ＵＳＢから供給される電源をＩＳＯ７８１６規格に適応させる電源装置等が必要となり、本基準発振回路を内蔵したＩＣカードと比較して、全体のコストが大きくなっている。
【０１０９】
以上説明した半導体集積回路による作用効果を整理する。
【０１１０】
ＩＣカードマイコンなどの半導体集積回路にオンチップした基準発振回路１００は、ＵＳＢ規格によって定められたＳＯＦパケットをデコードし、ＳＯＦパケットの間隔を基準時間単位として、自己の発振周波数にネガティブフィードバック制御をかけるから、ＳＯＦパケットの精度が±５００ｐｐｍであるので、ＵＳＢ機器に要求される±２５００ｐｐｍの精度を達成することが可能になる。
【０１１１】
ＳＯＦパケットを検出するのに±２５００ｐｐｍの精度は必要とされないが、それでもある程度の精度を必要とする。電流源とキャパシタを組み合わせたランプ回路を使用して自励発振回路を構成することで、ＳＯＦパケットを検出するために必要な精度を満たす事が出来る。その際ランプ回路を２つ用い、ランプ回路をリセットする時間をもう一方のランプ回路の動作で隠蔽することで、精度の高い自励発振回路を構成することが可能である。
【０１１２】
ＩＣカードマイコンに基準発振回路を採用することで、ＩＣカードリーダのコストを大幅に削減することができる。
【０１１３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１４】
例えば外部インタフェース回路はＵＳＢインタフェースに限定されない。プレシオナス通信を行なうその他のインタフェース形式にも適用可能である。また、半導体集積回路はＩＣカードマイコンに限定されず、その他の制御用マイクロコンピュータ、システムオンチップのシステムＬＳＩ等の半導体集積回路に広く適用することができる。更に前記半導体集積回路が適用されるカードデバイスはＩＣカードに限定されず、携帯電話用途のＳＩＭカード、セキュリティー機能などの強化を図ったマルチファンクションメモリカード等にも適用することができる。前記半導体集積回路に搭載されるメモリはＥＥＰＲＯＭに限定されず、フラッシュメモリやＭＲＡＭ等の不揮発性メモリであってもよい。ＵＳＢホストと前記半導体集積回路がデータ通信を行っていない場合においても、ＵＳＢホストと接続状態にあれば、発振回路１００は受信されるＳＯＦパケットを利用して発振周波数の調整を行うことが可能となる。ＵＳＢクライアントとされるＵＳＢ機器はＩＣカードのカードリーダに限定されない。ＵＳＢで接続されるハードディスク、キーボード、ディスプレイなどであってもよい。クライアント側のサンプリングクロックを、ＩＣオンチップの前記基準発振回路で生成すればよい。また、発振回路１００はＳＯＦパケットが入力されていない状態でも図４のランプ回路を用いた構成によりＳＯＦパケットの入力を識別できる程度の発振精度を得るようにしている。特性変動に対する補償回路を強化できればそのような発振精度を得るのにリングオシレータを用いることも考慮に値する。
【図面の簡単な説明】
【０１１５】
【図１】本発明の一例に係る基準発振回路のブロック図である。
【図２】図１の基準発振回路の発振周波数微調整回路の動作を示すタイミング図である。
【図３】シリアルデータを間違ったタイミングで取り込んだ場合に起きる誤りを例示する説明図である。
【図４】基準発振回路を構成する自励発振回路を例示する回路図である。
【図５】図４の自励発振回路のノード電位の遷移を示すタイミング図である。
【図６】図４の自励発振回路に含まれる比較電位生成回路を例示する回路図である。
【図７】図４の自励発振回路の構成を簡易化した簡易自励発振回路の回路図である。
【図８】図７の自励発振回路のノード電位の遷移を示すタイミング図である。
【図９】図１の基準発振回路を有するＩＣカードマイコンを採用したＩＣカードの平面図である。
【図１０】ＵＳＢのデータフローを示す説明図である。
【図１１】ＵＳＢホストとしてのＰＣに接続されたＩＣカードリーダを示す説明図である。
【符号の説明】
【０１１６】
１００  基準発振回路
１１０  発振周波数微調整回路
１１１  ＳＯＦ検出回路
１１２  クロックパルス計数回路
１１３  クロック判定回路
１１４  周波数微調整値レジスタ
１１５  ＳＯＦ検出信号
１１６  クロック計数信号
１２０  自励発振回路
１３０  ＰＬＬ回路
１４０  製造時トリミングレジスタ
１５１  １ＭＨｚクロック
１５２  ４８ＭＨｚクロック
１５３  発振周波数微調整信号
４１０  定電流発生回路
４１１  周波数微調整用可変電流源
４１２  主電流源
４１３  温度補償電流源
４２０  正相側ランプ回路
４３０  逆相側ランプ回路
４４０  ＲＳフリップフロップ
４５０  比較電位生成回路
９００  ＩＣカード
９１０  ＩＣカード用ＬＳＩ
９１２  ＣＰＵ
９１３  ＳＲＡＭ
９１４  ＥＥＰＲＯＭ
９１８  ＵＳＢインタフェース
９７０  ＰＣ
９７１  カードリーダ
【図１】
0004812066.tif 000010
【図２】
0004812066.tif 000011
【図３】
0004812066.tif 000012
【図４】
0004812066.tif 000013
【図５】
0004812066.tif 000014
【図６】
0004812066.tif 000015
【図７】
0004812066.tif 000016
【図８】
0004812066.tif 000017
【図９】
0004812066.tif 000018
【図１０】
0004812066.tif 000019
【図１１】
0004812066.tif 000020