(57)【特許請求の範囲】
【請求項１】
計時データを生成する計時回路と、
前記計時データを格納する計時データ格納部と、
前記計時データ格納部の機能を設定する制御データを格納する制御データ格納部と、
前記制御データに基づいて、イベントの検出に応答して生成される第１のトリガー信号と、リードコマンドに応答して生成される第２のトリガー信号との内の一方を選択し、選択された第１又は第２のトリガー信号に応答して前記計時データ格納部に前記計時データを格納させるタイミング制御回路と、
外部からコマンドを受信すると共に、前記計時データ格納部から読み出された前記計時データを外部に送信するインターフェースと、
外部からイベント検出信号が供給される入力端子と、
を備え、
前記タイミング制御回路が、前記イベント検出信号が活性化されたときに前記第１のトリガー信号を生成する、計時装置。
【請求項２】
計時データを生成する計時回路と、
前記計時データを格納する計時データ格納部と、
前記計時データ格納部の機能を設定する制御データを格納する制御データ格納部と、
前記制御データに基づいて、イベントの検出に応答して生成される第１のトリガー信号と、リードコマンドに応答して生成される第２のトリガー信号との内の一方を選択し、選択された第１又は第２のトリガー信号に応答して前記計時データ格納部に前記計時データを格納させるタイミング制御回路と、
外部からコマンドを受信すると共に、前記計時データ格納部から読み出された前記計時データを外部に送信するインターフェースと、
前記第１のトリガー信号に応答して前記計時データを格納する第２の計時データ格納部と、
前記第２の計時データ格納部に前記計時データが格納された履歴に関する履歴データを格納する履歴データ格納部と、
を備え、
前記タイミング制御回路が、前記履歴データに従って、前記第１のトリガー信号に応答して前記計時データ格納部に前記計時データを格納させるか否かを制御する、計時装置。
【請求項３】
計時データを生成する計時回路と、
前記計時データを格納する計時データ格納部と、
前記計時データ格納部の機能を設定する制御データを格納する制御データ格納部と、
前記制御データに基づいて、イベントの検出に応答して生成される第１のトリガー信号と、リードコマンドに応答して生成される第２のトリガー信号との内の一方を選択し、選択された第１又は第２のトリガー信号に応答して前記計時データ格納部に前記計時データを格納させるタイミング制御回路と、
外部からコマンドを受信すると共に、前記計時データ格納部から読み出された前記計時データを外部に送信するインターフェースと、
前記インターフェースが、イベントトリガーコマンドとして設定されたコマンドを受信したときに所定の信号を活性化し、
前記タイミング制御回路が、前記所定の信号が活性化されたときに前記第１のトリガー信号を生成する、計時装置。
【請求項４】
前記インターフェースが、イベントトリガーコマンドとして設定されたコマンドを受信したときに所定の信号を活性化し、
前記タイミング制御回路が、前記所定の信号が活性化されたときに前記第１のトリガー信号を生成する、請求項１又は２記載の計時装置。
【請求項５】
外部からイベント検出信号が供給される入力端子をさらに備え、
前記タイミング制御回路が、前記イベント検出信号が活性化されたときに前記第１のトリガー信号を生成する、請求項２記載の計時装置。
【請求項６】
バックアップ電源をさらに備え、
前記インターフェースが、前記バックアップ電源から供給される電源電圧で動作しているときに、複数の外部接続端子の内の１つに供給される第２のイベント検出信号を前記タイミング制御回路に出力し、
前記タイミング制御回路が、前記第２のイベント検出信号が活性化されたときに前記第１のトリガー信号を生成する、請求項１又は５記載の計時装置。
【請求項７】
請求項１〜６のいずれか１項記載の計時装置を備える電子機器。
【請求項８】
請求項１〜６のいずれか１項記載の計時装置を備える移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号に同期して計時動作を行うことにより計時データを生成する計時装置に関する。さらに、本発明は、そのような計時装置を用いた電子機器及び移動体等に関する。
【背景技術】
【０００２】
例えば、電力メーターにおいて用いられる計時装置は、電力メーターが操作された際に生成されるイベント検出信号に応答してイベント検出時の計時データ（タイムスタンプデータ）をレジスター等のバッファーに格納するタイムスタンプ機能を有している。
【０００３】
一方、高精度の計時装置において、計時装置を構成する半導体装置（ＩＣ）のチップサイズを小さくすることと、計時データを格納するバッファーの段数を増やすこととは、トレードオフの関係にあり、それらの両立が困難である。
【０００４】
関連する技術として、非特許文献１には、２つのイベント入力端子と、イベント検出時の計時データを格納するバッファーとを有するリアルタイムクロックモジュールが開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Real Time Clock Module（リアルタイムクロックモジュール）ＲＸ−８０３５ＳＡ／ＬＣのアプリケーションマニュアル（セイコーエプソン株式会社、第１−２ページ）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、タイムスタンプ機能のためだけに計時データを格納するバッファーを設けると、計時装置を構成する半導体装置のチップサイズの拡大やコストの上昇を招いてしまう。また、計時装置が搭載されるシステムの中には、イベント検出信号を発生しないシステムも存在する。
【０００７】
そこで、上記の点に鑑み、本発明の第１の目的は、回路リソースを効率的に利用してタイムスタンプ機能を実現することが可能な計時装置を提供することである。また、本発明の第２の目的は、イベント検出信号を用いなくてもタイムスタンプ機能を実現することが可能な計時装置を提供することである。さらに、本発明の第３の目的は、そのような計時装置を用いた電子機器及び移動体等を提供することである。
【課題を解決するための手段】
【０００８】
以上の課題の少なくとも一部を解決するために、本発明の第１の観点に係る計時装置は、計時データを生成する計時回路と、計時回路によって生成される計時データを格納する計時データ格納部と、計時データ格納部の機能を設定する制御データを格納する制御データ格納部と、少なくとも制御データに従って、イベントの検出に応答して生成される第１のトリガー信号と、リードコマンドに応答して生成される第２のトリガー信号との内の一方を選択し、選択された第１又は第２のトリガー信号に応答して計時データ格納部に計時データを格納させるタイミング制御回路と、外部からコマンドを受信すると共に、計時データ格納部から読み出された計時データを外部に送信するインターフェースとを備える。
【０００９】
本発明の第１の観点によれば、計時データ格納部をリードバッファー及びタイムスタンプ用のバッファーとして兼用するので、回路リソースを効率的に利用してタイムスタンプ機能を実現することが可能になる。従って、リードバッファー及びタイムスタンプ用のバッファーを設ける場合と比較して、計時装置を構成する半導体装置のチップサイズやコストを削減することができる。あるいは、リードバッファーを設けない場合と比較して、計時装置から計時データを読み出す際の手順を簡素化することができる。
【００１０】
ここで、計時装置が、第１のトリガー信号に応答して計時データを格納する第２の計時データ格納部と、第２の計時データ格納部に計時データが格納された履歴に関する履歴データを格納する履歴データ格納部とをさらに備え、タイミング制御回路が、履歴データに従って、第１のトリガー信号に応答して計時データ格納部に計時データを格納させるか否かを制御するようにしても良い。このように、計時装置が２つの計時データ格納部を備える場合に、一方の計時データ格納部の履歴に従ってタイムスタンプデータの格納を制御するようにしたので、複数のイベント検出時のタイムスタンプデータを格納することができる。
【００１１】
また、インターフェースが、イベントトリガーコマンドとして設定されたコマンドを受信したときに所定の信号を活性化し、タイミング制御回路が、所定の信号が活性化されたときに第１のトリガー信号を生成するようにしても良い。それにより、イベント検出信号を用いなくてもタイムスタンプ機能を実現して、イベント検出信号を発生しないシステムに対する互換性を高めることができる。
【００１２】
以上において、計時装置が、外部からイベント検出信号が供給される入力端子をさらに備え、タイミング制御回路が、イベント検出信号が活性化されたときに第１のトリガー信号を生成するようにしても良い。それにより、イベント検出信号を発生するシステムにおいて、タイムスタンプ機能を簡単に実現することができる。
【００１３】
その場合に、計時装置が、バックアップ電源をさらに備え、インターフェースが、バックアップ電源から供給される電源電圧で動作しているときに、複数の外部接続端子の内の１つに供給される第２のイベント検出信号をタイミング制御回路に出力し、タイミング制御回路が、第２のイベント検出信号が活性化されたときに第１のトリガー信号を生成するようにしても良い。それにより、ホストＣＰＵ等が停止しているバックアップモードにおいて、複数の外部接続端子の内の１つを第２のイベント検出信号の入力端子として使用することができる。
【００１４】
本発明の第２の観点に係る電子機器は、上記いずれかの計時装置を備える。また、本発明の第３の観点に係る移動体は、上記いずれかの計時装置を備える。本発明の第２又は第３の観点によれば、計時装置の回路リソースを効率的に利用してタイムスタンプ機能を実現したり、あるいは、イベント検出信号を用いなくてもタイムスタンプ機能を実現することが可能な電子機器又は移動体を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る計時装置の構成例を示す図。
【図２】図１に示す発振回路の構成例を示す回路図。
【図３】図１に示す分周回路の構成例を示す回路図。
【図４】図１に示す下位計時回路の構成例を示す図。
【図５】図１に示す上位計時回路の構成例を示す図。
【図６】図１に示す計時装置における単発書き込み動作を説明するための波形図。
【図７】図１に示す計時装置における単発読み出し動作を説明するための波形図。
【図８】本発明の第２の実施形態に係る計時装置の構成例を示す図。
【図９】図８に示す計時装置における連続読み出し動作を説明するための波形図。
【図１０】本発明の一実施形態に係る電子機器の構成例を示すブロック図。
【図１１】本発明の一実施形態に係る移動体の構成例を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、同一の構成要素には同一の参照符号を付して、重複する説明を省略する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る計時装置の構成例を示す図である。図１に示すように、この計時装置は、発振回路１０と、分周回路２０と、下位計時回路３０と、上位計時回路４０とを含んでいる。
【００１７】
また、計時装置は、電圧低下検出回路５１と、発振停止検出回路５２と、バックアップ電源５３と、フィルター５４と、ホストインターフェース６０と、制御データ格納部６１と、タイミング制御回路７０と、調停回路８１と、バッファー８２と、履歴データ格納部８３と、出力制御回路８４とを含んでいる。なお、計時装置の主要部は、半導体装置（ＩＣ）に内蔵されても良い。
【００１８】
発振回路１０は、発振動作を行うことにより、例えば、３２７６８Ｈｚ（２１５Ｈｚ）の周波数を有する原振クロック信号ＣＬ０を生成する。発振回路１０としては、例えば、水晶振動子を用いた水晶発振回路が用いられる。
【００１９】
図２は、図１に示す発振回路の構成例を示す回路図である。図２に示すように、発振回路１０は、水晶振動体１００と、インバーター１０１と、制御回路１０２と、キャパシターＣＰ１及びＣＰ２と、抵抗Ｒ１とを含んでいる。キャパシターＣＰ１及びＣＰ２は、インバーター１０１の入力端子及び出力端子と基準電位ＶＳＳの配線との間にそれぞれ接続されている。抵抗Ｒ１は、インバーター１０１の出力端子と入力端子との間に接続されている。
【００２０】
インバーター１０１は反転増幅動作を行い、出力端子に生成される原振クロック信号ＣＬ０が、水晶振動体１００等を介して入力端子にフィードバックされる。その際に、水晶振動体１００は、インバーター１０１によって印加される交流電圧によって振動する。その振動は固有の共振周波数において大きく励起されて、水晶振動体１００が負性抵抗として動作する。その結果、発振回路１０は、主に水晶振動体１００の共振周波数によって決定される発振周波数で発振する。
【００２１】
ただし、キャパシターＣＰ１又はＣＰ２の容量値を変更することによって、発振回路１０の発振周波数を微調整することができる。そこで、図２に示す例においては、キャパシターＣＰ１が、例えば、複数のキャパシターと、それらのキャパシターにそれぞれ接続された複数の電子スイッチを含むスイッチ回路とで構成される。
【００２２】
制御回路１０２には、発振回路１０の発振周波数を制御する制御信号が入力される。制御回路１０２は、例えば、不揮発性メモリー等のメモリーを含んでおり、入力される制御信号に従って、発振回路１０の発振周波数を制御するデータをメモリーに格納する。また、制御回路１０２は、メモリーに格納されているデータに基づいて、複数の電子スイッチをオン又はオフするようにスイッチ回路を制御する。それにより、発振回路１０の発振周波数を外部から制御することができる。
【００２３】
図１に示す発振回路１０としては、水晶発振回路以外にも、圧電素子、ＳＡＷ（表面弾性波）共振子、又は、静電容量タイプのレゾネーター等を用いた発振回路を使用することができる。あるいは、発振回路１０を省略して、外部の回路から分周回路２０に原振クロック信号ＣＬ０が供給されるようにしても良い。
【００２４】
分周回路２０は、原振クロック信号ＣＬ０を分周することにより、４０９６Ｈｚ（２１２Ｈｚ）の周波数を有する分周クロック信号ＣＬ１を生成する。分周クロック信号ＣＬ１は、下位計時回路３０に供給される。
【００２５】
図３は、図１に示す分周回路の構成例を示す回路図である。図３に示すように、分周回路２０は、例えば、複数のＴ（トグル）型フリップフロップ２０１〜２０３を直列に接続して構成される。各々のＴ型フリップフロップは、入力端子Ｔに入力される信号が１周期変化する毎に出力信号を反転することにより、入力端子Ｔに入力される信号を１／２分周する。それにより、分周回路２０は、例えば、３２７６８Ｈｚ（２１５Ｈｚ）の周波数を有する原振クロック信号ＣＬ０を１／２３分周して、４０９６Ｈｚ（２１２Ｈｚ）の周波数を有する分周クロック信号ＣＬ１を生成する。
【００２６】
再び図１を参照すると、下位計時回路３０及び上位計時回路４０は、クロック信号に同期して計時動作を行うことにより計時データを生成する計時回路を構成している。下位計時回路３０は、分周クロック信号ＣＬ１に同期して計時動作を行うことにより、１／１０００秒単位の時刻を表す計時データＴ０、及び、１／１００秒単位の時刻を表す計時データＴ１を生成する。また、上位計時回路４０は、下位計時回路３０から出力されるキャリー信号ＣＡ２に同期して計時動作を行うことにより、例えば、秒単位の時刻を表す計時データＴ２〜年単位の時刻を表す計時データＴ８を生成する。
【００２７】
図４は、図１に示す下位計時回路の構成例を示す図である。図４に示すように、下位計時回路３０は、第１のカウンター３１と、カウント制御データ格納部３２と、カウント制御回路３３と、第２のカウンター３４とを含んでいる。
【００２８】
第１のカウンター３１は、例えば、６ビットバイナリーカウンターで構成される。第１のカウンター３１は、１／１００秒単位の計時動作を行うために、４０９６Ｈｚの周波数を有する分周クロック信号ＣＬ１のパルスに同期してカウント動作を行うことにより、各々のカウントサイクルにおいて、十進数の「０」から「３９」までを表す６ビットのカウント値Ｃ５〜Ｃ０を生成する。ここで、Ｃ５は最上位ビットであり、Ｃ０は最下位ビットである。
【００２９】
第１のカウンター３１によって生成されるカウント値の上位４ビットＣ５〜Ｃ２は、１／１０００秒単位の時刻を表す４ビットの計時データＴ０として用いられる。分周クロック信号ＣＬ１の１周期は約２４４μ秒であるので、第１のカウンター３１のカウント値の上位４ビットＣ５〜Ｃ２を下位方向に２ビット分シフトしてカウント値を４で割ることにより、１／１０００秒単位の時刻を表す計時データＴ０が生成される。ただし、分周クロック信号ＣＬ１の４周期は、１／１０００秒に対して約−２３．４μ秒の誤差を含んでいる。
【００３０】
このようにすれば、１／１００秒単位の計時動作を行うために生成される６ビットのカウント値「００００００」〜「１００１１１」の上位４ビット「００００」〜「１００１」を下位方向に２ビット分シフトすることにより、簡単な回路構成によって消費電流も殆ど増加させずに、１／１０００秒単位の時刻として十進数の「０」〜「９」を表す４ビットの計時データＴ０を生成することができる。
【００３１】
第１のカウンター３１によって行われるカウント動作には、カウント値が「０」〜「３９」に順次変化した後に「０」に戻る４０カウントのサイクルと、カウント値が２回続けて「３９」になった後に「０」に戻る４１カウントのサイクルとが含まれている。そこで、下位計時回路３０には、第４０カウントの情報を表す１ビットのカウント制御データ（フラグ）Ｆ１を格納するカウント制御データ格納部３２が設けられている。カウント制御データ格納部３２は、例えば、Ｄ型フリップフロップ等で構成される。
【００３２】
カウント制御回路３３は、初期状態設定時に、ホストインターフェース６０から供給されるカウント初期値を第１のカウンター３１及び第２のカウンター３４に設定すると共に、カウント制御データ格納部３２に格納されているカウント制御データＦ１を「０」にリセットする。カウント制御回路３３は、例えば、順序回路を含むステートマシンで構成される。
【００３３】
第１のカウンター３１によって生成されるカウント値Ｃ５〜Ｃ０は、カウント制御回路３３にも供給される。カウントサイクルが所定の回数である場合に、カウント制御回路３３は、第１のカウンター３１によって生成されるカウント値が十進数の「３９」を表す値に等しくなると、カウント制御データＦ１を「１」に設定する。それにより、分周クロック信号ＣＬ１の次のパルスが到来してもカウント値を維持し、分周クロック信号ＣＬ１のさらに次のパルスに同期してカウント値を「０」にリセットする第１の状態遷移が設定される。
【００３４】
一方、カウントサイクルが所定の回数でない場合に、カウント制御回路３３は、第１のカウンター３１によって生成されるカウント値が十進数の「３９」を表す値に等しくなっても、カウント制御データＦ１を「０」に維持する。それにより、分周クロック信号ＣＬ１の次のパルスに同期してカウント値を「０」にリセットする第２の状態遷移が設定される。
【００３５】
上記の構成によれば、第１のカウンター３１によって生成されるカウント値を「１００１１１」以内としながら、カウントサイクルの期間を調節することができる。分周クロック信号ＣＬ１が４０９６Ｈｚの周波数を有する場合に、カウント制御回路３３は、連続する１００回のカウントサイクルの内で、第１の状態遷移を９６回設定すると共に、第２の状態遷移を４回設定して、各々のカウントサイクルが終了するときにキャリー信号ＣＡ１を出力する。
【００３６】
４１カウントのサイクルにおいては、１カウントサイクルの期間が、分周クロック信号ＣＬ１の４１周期に相当し、約１０．０１ｍ秒となる。一方、４０カウントのサイクルにおいては、１カウントサイクルの期間が、分周クロック信号ＣＬ１の４０周期に相当し、約９．７７ｍ秒となる。従って、４１カウントのサイクルと４０カウントのサイクルとを適切な順序で設定することにより、計時データによって表される時刻の誤差を低減することができる。
【００３７】
例えば、連続する１００回のサイクルの内で、第１３回、第３８回、第６３回、及び、第８８回以外のサイクルにおいて、カウント制御回路３３は、第１のカウンター３１によって生成されるカウント値が十進数の「３９」を表す値に等しくなると、カウント制御データＦ１を「１」に設定することによって第１の状態遷移を設定する。
【００３８】
第１の状態遷移において、カウント制御回路３３は、第１のカウンター３１のカウント動作を停止すると共に、分周クロック信号ＣＬ１の次のパルスに同期して、カウント制御データＦ１を「０」にリセットする。また、カウント制御回路３３は、分周クロック信号ＣＬ１のさらに次のパルスに同期して、第１のカウンター３１のカウント動作の停止を解除してカウント値を「０」にリセットすると共に、キャリー信号ＣＡ１を出力する。それにより、４１カウントのサイクルが実現される。
【００３９】
一方、連続する１００回のサイクルの内で、第１３回、第３８回、第６３回、及び、第８８回のサイクルにおいて、カウント制御回路３３は、第１のカウンター３１によって生成されるカウント値が十進数の「３９」を表す値に等しくなると、カウント制御データＦ１を「０」に維持することによって第２の状態遷移を設定する。
【００４０】
第２の状態遷移において、カウント制御回路３３は、分周クロック信号ＣＬ１の次のパルスに同期して、第１のカウンター３１のカウント値を「０」にリセットすると共に、キャリー信号ＣＡ１を出力する。それにより、４０カウントのサイクルが実現される。このようにすれば、４１カウントのサイクルと４０カウントのサイクルとにおける誤差が緩和されて、計時データによって表される時刻の誤差を低減することができる。
【００４１】
カウント制御回路３３から出力されるキャリー信号ＣＡ１は、第２のカウンター３４に供給される。第２のカウンター３４は、カウント制御回路３３から出力されるキャリー信号ＣＡ１に同期してカウント動作を行うことにより、１／１００秒単位の時刻を表すカウント値を生成し、カウント値が「０」に移行するときにキャリー信号ＣＡ２を出力する。
【００４２】
第２のカウンター３４は、例えば、８ビット１０進ＢＣＤ（バイナリー・コーデッド・デシマル）カウンターで構成される。第２のカウンター３４によって生成されるＢＣＤカウント値は、十進数の１／１００秒の位を表す４ビットＢ０〜Ｂ３と、十進数の１／１０秒の位を表す４ビットＢ４〜Ｂ７とを含んでいる。
【００４３】
第２のカウンター３４は、キャリー信号ＣＡ１のパルスに同期して、十進数の「０」〜「９９」を表すカウント値を順次生成する。カウント値が十進数の「９９」を表す値に等しくなると、第２のカウンター３４は、キャリー信号ＣＡ１の次のパルスに同期して、カウント値を「０」にリセットすると共に、キャリー信号ＣＡ２を出力する。
【００４４】
第２のカウンター３４の１００カウントの期間は、次式で示すように１秒となる。
４０９６−１×（４１×９６＋４０×４）＝１
従って、キャリー信号ＣＡ２は、１Ｈｚの周波数を有している。また、第２のカウンター３４の１カウントの期間は、最大で約±１１７μ秒の誤差を含むものの、長期的には１／１００秒の期間に正確に対応している。第２のカウンター３４によって生成されるカウント値は、１／１００秒単位の時刻を表す計時データＴ１として用いられる。
【００４５】
図５は、図１に示す上位計時回路の構成例を示す図である。上位計時回路４０は、キャリー信号ＣＡ２に同期してカウント動作を行うことにより、秒単位以上の時刻を表す複数のカウント値をそれぞれ生成する複数の上位カウンター４１等を含んでいる。
【００４６】
例えば、図５に示すように、上位計時回路４０は、第３のカウンター４１〜第６のカウンター４４と、曜日データ生成部４５と、第７のカウンター４６及び第８のカウンター４７とを含んでいる。
【００４７】
第３のカウンター４１は、キャリー信号ＣＡ２に同期してカウント動作を行うことにより、秒単位の時刻を表すカウント値を生成する。例えば、第３のカウンター４１は、６０進ＢＣＤカウンターで構成され、キャリー信号ＣＡ２のパルスに同期して、十進数の「０」〜「５９」を表すＢＣＤカウント値を順次生成する。
【００４８】
カウント値が十進数の「５９」を表す値に等しくなると、第３のカウンター４１は、キャリー信号ＣＡ２の次のパルスに同期して、カウント値を「０」にリセットすると共に、キャリー信号ＣＡ３を出力する。第３のカウンター４１によって生成されるカウント値は、秒単位の時刻を表す計時データＴ２として用いられる。
【００４９】
第４のカウンター４２は、キャリー信号ＣＡ３に同期してカウント動作を行うことにより、分単位の時刻を表すカウント値を生成する。例えば、第４のカウンター４２は、６０進ＢＣＤカウンターで構成され、キャリー信号ＣＡ３のパルスに同期して、十進数の「０」〜「５９」を表すＢＣＤカウント値を順次生成する。
【００５０】
カウント値が十進数の「５９」を表す値に等しくなると、第４のカウンター４２は、キャリー信号ＣＡ３の次のパルスに同期して、カウント値を「０」にリセットすると共に、キャリー信号ＣＡ４を出力する。第４のカウンター４２によって生成されるカウント値は、分単位の時刻を表す計時データＴ３として用いられる。
【００５１】
第５のカウンター４３は、キャリー信号ＣＡ４に同期してカウント動作を行うことにより、時単位の時刻を表すカウント値を生成する。例えば、第５のカウンター４３は、２４進ＢＣＤカウンターで構成され、キャリー信号ＣＡ４のパルスに同期して、十進数の「０」〜「２３」を表すＢＣＤカウント値を順次生成する。
【００５２】
カウント値が十進数の「２３」を表す値に等しくなると、第５のカウンター４３は、キャリー信号ＣＡ４の次のパルスに同期して、カウント値を「０」にリセットすると共に、キャリー信号ＣＡ５を出力する。第５のカウンター４３によって生成されるカウント値は、時単位の時刻を表す計時データＴ４として用いられる。
【００５３】
第６のカウンター４４は、キャリー信号ＣＡ５に同期してカウント動作を行うことにより、日単位の時刻を表すカウント値を生成する。例えば、第６のカウンター４４は、１０進ＢＣＤカウンターで構成され、キャリー信号ＣＡ５のパルスに同期して、十進数の「１」〜「３１」を表すＢＣＤカウント値を順次生成する。
【００５４】
ただし、月によっては、月の最後の日を「２８」又は「３０」とする必要があり、うるう年の２月の場合には、月の最後の日を「２９」とする必要がある。そこで、第６のカウンター４４は、日単位の時刻を表すカウント値を、月単位の時刻を表すカウント値及び年単位の時刻を表すカウント値に基づいて設定されたカウント上限値と比較する。
【００５５】
カウント値がカウント上限値に等しくなると、第６のカウンター４４は、キャリー信号ＣＡ５の次のパルスに同期して、カウント値を「１」にリセットすると共に、キャリー信号ＣＡ６を出力する。第６のカウンター４４によって生成されるカウント値は、日単位の時刻を表す計時データＴ５として用いられる。
【００５６】
曜日データ生成部４５は、キャリー信号ＣＡ５に同期して、曜日を表す計時データＴ６を生成する。例えば、曜日データ生成部４５は、リング状に接続された７つのＤ型フリップフロップを含む７ビットシフトレジスターで構成される。７つのフリップフロップは、日曜〜土曜の７つの曜日に対応している。
【００５７】
初期状態設定時に、ホストインターフェース６０は、ホストＣＰＵから供給される７ビットの初期値データに従って、１つのフリップフロップのデータを「１」にセットすると共に、他のフリップフロップのデータを「０」にリセットする。その後、シフトレジスターは、キャリー信号ＣＡ５に同期して曜日データを一方向にシフトする。従って、シフトレジスターの７つのフリップフロップにおけるデータ「１」の位置によって、現在の曜日が表される。曜日データ生成部４５によって生成される曜日データは、曜日を表す計時データＴ６として用いられる。
【００５８】
第７のカウンター４６は、キャリー信号ＣＡ６に同期してカウント動作を行うことにより、月単位の時刻を表すカウント値を生成する。例えば、第７のカウンター４６は、１２進ＢＣＤカウンターで構成され、キャリー信号ＣＡ６のパルスに同期して、十進数の「１」〜「１２」を表すＢＣＤカウント値を順次生成する。
【００５９】
カウント値が十進数の「１２」を表す値に等しくなると、第７のカウンター４６は、キャリー信号ＣＡ６の次のパルスに同期して、カウント値を「１」にリセットすると共に、キャリー信号ＣＡ７を出力する。第７のカウンター４６によって生成されるカウント値は、月単位の時刻を表す計時データＴ７として用いられる。
【００６０】
第８のカウンター４７は、キャリー信号ＣＡ７に同期してカウント動作を行うことにより、年単位の時刻を表すカウント値を生成する。例えば、第８のカウンター４７は、１０進ＢＣＤカウンターで構成され、キャリー信号ＣＡ７のパルスに同期して、西暦年号の場合に、十進数の「２０１５」、「２０１６」、「２０１７」・・・の下２桁を表すＢＣＤカウント値を順次生成する。第８のカウンター４７によって生成されるカウント値は、年単位の時刻を表す計時データＴ８として用いられる。
【００６１】
再び図１を参照すると、下位計時回路３０及び上位計時回路４０によって生成される計時データＴ０〜Ｔ８は、バッファー８２に供給される。バッファー８２は、下位計時回路３０及び上位計時回路４０によって生成される計時データＴ０〜Ｔ８を格納する計時データ格納部に該当し、リードバッファー及びタイムスタンプ用のバッファーとして兼用される。例えば、バッファー８２は、レジスターで構成され、アドレス００ｈ〜０８ｈを有している。
【００６２】
計時データＴ０〜Ｔ８が変化しないタイミングでバッファー８２が計時データＴ０〜Ｔ８を格納するために、調停回路８１が設けられている。調停回路８１は、タイミング制御回路７０によって生成されるトリガー信号ＴＧ３の立ち上がりエッジが分周クロック信号ＣＬ１の立ち上がりエッジに重ならないように、必要に応じてトリガー信号ＴＧ３を遅延させる。調停回路８１は、例えば、組み合わせ回路又は順序回路を含む論理回路等で構成される。
【００６３】
バッファー８２は、調停回路８１から供給されるトリガー信号ＴＧ３に応答して計時データＴ０〜Ｔ８を格納する。なお、計時データＴ０〜Ｔ８の内で必要な計時データのみを生成して、バッファー８２に格納するようにしても良い。また、ホストＣＰＵは、調停回路８１がトリガー信号ＴＧ３を出力しないように設定することができる。
【００６４】
履歴データ格納部８３は、バッファー８２に計時データが格納された履歴に関する１ビットの履歴データ（フラグ）ＥＶＦ１を格納する。履歴データ格納部８３は、例えば、レジスターの一部又はＤ型フリップフロップ等で構成される。バッファー８２に計時データが格納されると、同時に、履歴データＥＶＦ１が「０」から「１」に変化する。履歴データＥＶＦ１のクリアーは、ホストＣＰＵが、履歴データ格納部８３に「０」を書き込むライトコマンド（書き込みコマンド）をホストインターフェース６０に送信することによって行われる。
【００６５】
出力制御回路８４は、例えば、複数のトランスミッションゲート等で構成される。出力制御回路８４は、リードイネーブル信号Ｅ００〜Ｅ０８の各々が活性化されると、バッファー８２に格納されている計時データＴ０〜Ｔ８のそれぞれを、リードデータバスを介してホストインターフェース６０に出力する。
【００６６】
電圧低下検出回路５１は、外部から計時装置に供給される電源電圧が所定の値よりも低下したことを検出すると、１ビットの低電圧検出フラグＶＤＥＴを「０」から「１」に変化させる。また、発振停止検出回路５２は、発振回路１０の発振動作が停止したことを検出すると、１ビットの発振停止フラグＶＬＦを「０」から「１」に変化させる。
【００６７】
バックアップ電源５３は、例えば、キャパシター又はバッテリー等で構成される。低電圧検出フラグＶＤＥＴが「０」から「１」に変化すると、バックアップ電源５３が、計時装置の各部に電源電圧を供給する。それにより、計時装置は、外部からの電源供給が停止されても、計時動作又はタイムスタンプ動作を継続することができる。
【００６８】
低電圧検出フラグＶＤＥＴ及び発振停止フラグＶＬＦは、計時データの一部としてバッファー８２に格納される。即ち、バッファー８２においては、計時データＴ０〜Ｔ８の各々を格納するために８ビットの格納領域が確保されているが、計時データＴ０〜Ｔ８の中には８ビットよりも小さいビット数を有するデータが存在する。そこで、余った格納領域に低電圧検出フラグＶＤＥＴ及び発振停止フラグＶＬＦを格納することができる。
【００６９】
入力端子Ｐ１には、イベントが検出されたときに活性化されるイベント検出信号ＥＶ１が外部から供給される。イベントとは、例えば、ストップウォッチのストップボタンが押されたり、電力メーターが操作されたり、電気錠が開錠されたりした場合が該当する。フィルター５４は、例えば、ローパスフィルター及びシュミットトリガー回路等で構成され、イベント検出信号ＥＶ１を平滑化してからそのレベルを検出することにより、イベント検出信号ＥＶ１からチャタリングの影響を除去する。
【００７０】
フィルター５４は、チャタリングの影響が除去されたイベント検出信号ＥＶ１'をタイミング制御回路７０に出力する。タイミング制御回路７０は、イベント検出信号ＥＶ１'が活性化されたときにトリガー信号ＴＧ１を生成する。それにより、イベント検出信号を発生するシステムにおいて、タイムスタンプ機能を簡単に実現することができる。
【００７１】
ホストインターフェース６０は、外部のホストＣＰＵとの間で通信を行うことにより、外部からコマンドを受信して計時装置の各部を制御すると共に、バッファー８２から読み出された計時データを外部に送信する。ホストインターフェース６０は、例えば、デジタル回路及びアナログ回路で構成される。ホストインターフェース６０とホストＣＰＵとの間でシリアル通信が行われる場合には、ＳＰＩ規格又はＩ２Ｃ規格等のシリアルバスを用いることができる。
【００７２】
例えば、ＳＰＩ規格の場合には、スレーブセレクト信号ＳＳが供給される外部接続端子Ｐ２と、シリアルクロック信号ＳＣＬが供給される外部接続端子Ｐ３と、マスターアウト・スレーブイン信号ＭＯＳＩが供給される外部接続端子Ｐ４と、マスターイン・スレーブアウト信号ＭＩＳＯを出力するための外部接続端子Ｐ５とが、計時装置に設けられる。
【００７３】
初期状態設定時に、ホストインターフェース６０は、アドレスを指定したライトコマンドをカウント初期値又は初期値データと共にホストＣＰＵから受信すると、受信したライトコマンドに従って、カウント初期値又は初期値データを下位計時回路３０及び上位計時回路４０に設定する。
【００７４】
図６は、図１に示す計時装置における単発書き込み動作を説明するための波形図である。ホストインターフェース６０は、スレーブセレクト信号ＳＳがハイレベルに活性化されると、シリアルクロック信号ＳＣＬに同期してマスターアウト・スレーブイン信号ＭＯＳＩを受信する。その間、マスターイン・スレーブアウト信号ＭＩＳＯは、ハイ・インピーダンス状態（Ｈｉ−Ｚ）となっている。
【００７５】
例えば、ホストインターフェース６０は、マスターアウト・スレーブイン信号ＭＯＳＩとして、４ビットのモード信号「０００ｘ」及び４ビットのアドレス信号Ａ３〜Ａ０を含むライトコマンドと、８ビットの入力データＤ７〜Ｄ０とを受信する。モード信号の第１ビット「０」は、書き込みモードを表している。ホストインターフェース６０は、シリアルの入力データＤ７〜Ｄ０によって表されるカウント初期値等をシリアル／パラレル変換し、モード信号及びアドレス信号に従って下位計時回路３０及び上位計時回路４０に設定する。
【００７６】
一方、計時データ読み出し時に、ホストインターフェース６０は、バッファー８２を指定したリードコマンド（読み出しコマンド）をホストＣＰＵから受信すると、受信したリードコマンドに従って、リードイネーブル信号Ｅ００〜Ｅ０８の内の１つを活性化する。
【００７７】
図７は、図１に示す計時装置における単発読み出し動作を説明するための波形図である。ホストインターフェース６０は、スレーブセレクト信号ＳＳがハイレベルに活性化されると、シリアルクロック信号ＳＣＬに同期してマスターアウト・スレーブイン信号ＭＯＳＩを受信する。その間、マスターイン・スレーブアウト信号ＭＩＳＯは、ハイ・インピーダンス状態（Ｈｉ−Ｚ）となっている。
【００７８】
例えば、ホストインターフェース６０は、マスターアウト・スレーブイン信号ＭＯＳＩとして、４ビットのモード信号「１００ｘ」及び４ビットのアドレス信号Ａ３〜Ａ０を含むリードコマンドを受信する。モード信号の第１ビット「１」は、読み出しモードを表している。また、モード信号の第４ビットが「０」である場合は、バッファー８２を表している。
【００７９】
ホストインターフェース６０は、モード信号「１０００」が確定すると、予め計時データをバッファー８２に取り込むために、リードプリパルスＲＰを生成する。リードプリパルスＲＰは、図１に示すトリガー信号ＴＧ２として用いられる。さらに、ホストインターフェース６０は、アドレス信号が確定すると、モード信号及びアドレス信号に対応するリードイネーブル信号を活性化する。例えば、モード信号が「１０００」で、アドレス信号が「００００」である場合に、ホストインターフェース６０は、バッファー８２のアドレス００ｈに格納されているデータを読み出すためのリードイネーブル信号Ｅ００を活性化する。
【００８０】
それにより、図１に示す出力制御回路８４は、バッファー８２のアドレス００ｈに格納されている８ビットの計時データを、リードデータバスを介してホストインターフェース６０に出力する。ホストインターフェース６０は、バッファー８２のアドレス００ｈから読み出された８ビットの計時データを送信バッファーにラッチし、シリアルクロック信号ＳＣＬに同期してパラレル／シリアル変換することにより、シリアルの出力データＤ７〜Ｄ０をマスターイン・スレーブアウト信号ＭＩＳＯとして送信する。
【００８１】
ホストインターフェース６０は、モード信号が「１００１」である場合には、リードプリパルスＲＰを生成しないが、アドレス信号が確定すると、モード信号及びアドレス信号に対応するリードイネーブル信号を活性化する。そこで、ホストＣＰＵは、何らかのイベントを検出すると、イベントトリガーコマンドとして設定されたコマンドをホストインターフェース６０に送信する。例えば、イベントトリガーコマンドとしては、計時装置において存在しないアドレス「１Ｆｈ」をモード信号「１００１」及びアドレス信号「１１１１」によって指定したダミーのリードコマンドが用いられる。
【００８２】
再び図１を参照すると、ホストインターフェース６０は、イベントトリガーコマンドとして設定されたコマンドを受信したときに、所定の信号を活性化する。例えば、ホストインターフェース６０は、ダミーのリードコマンドに含まれているアドレス信号「１１１１」が確定すると、モード信号「１００１」及びアドレス信号「１１１１」に対応するリードイネーブル信号Ｅ１Ｆを活性化してタイミング制御回路７０に出力する。
【００８３】
タイミング制御回路７０は、所定の信号（この例においては、リードイネーブル信号Ｅ１Ｆ）が活性化されたときにトリガー信号ＴＧ１を生成する。それにより、イベント検出信号を用いなくてもタイムスタンプ機能を実現して、イベント検出信号を発生しないシステムに対する互換性を高めることができる。
【００８４】
入力端子Ｐ１に供給されるイベント検出信号ＥＶ１とホストＣＰＵからのイベントトリガーコマンドとを併用する場合には、イベント検出信号の入力端子が１つでも、２系統の異なるイベント検出情報を受け付けることが可能になる。それにより、ピン数が少ないモジュールが一般的であるタイミングデバイスにおいて、ピン数の削減やパッケージの小型化と併せてタイムスタンプ機能の充実を図ることができる。また、ホストＣＰＵが複数の計時装置を同時に制御することも可能になる。
【００８５】
また、ホストインターフェース６０は、低電圧検出フラグＶＤＥＴが「１」になって、バックアップ電源５３から供給される電源電圧で動作しているときに、複数の外部接続端子Ｐ２〜Ｐ５の内の１つに供給される第２のイベント検出信号ＥＶ２をタイミング制御回路７０に出力する。タイミング制御回路７０は、第２のイベント検出信号ＥＶ２が活性化されたときにトリガー信号ＴＧ１を生成する。
【００８６】
それにより、ホストＣＰＵ等が停止しているバックアップモードにおいて、複数の外部接続端子Ｐ２〜Ｐ５の内の１つを第２のイベント検出信号ＥＶ２の入力端子として使用することができる。なお、ホストインターフェース６０は、イベント検出信号ＥＶ２からチャタリングの影響を除去しても良い。
【００８７】
さらに、ホストインターフェース６０は、バッファー８２の機能を設定する制御データＵＲＢをホストＣＰＵから受信して制御データ格納部６１に格納する。制御データ格納部６１は、例えば、レジスターの一部又はＤ型フリップフロップ等で構成され、バッファー８２の機能を設定する制御データＵＲＢを格納する。例えば、制御データＵＲＢは、バッファー８２をリードバッファーとして使用する場合に「０」に設定され、バッファー８２をタイムスタンプ用のバッファーとして使用する場合に「１」に設定される。
【００８８】
タイミング制御回路７０は、少なくとも制御データＵＲＢに従って、イベントの検出に応答して生成されるトリガー信号ＴＧ１と、リードコマンドに応答して生成されるトリガー信号ＴＧ２との内の一方を選択し、選択されたトリガー信号ＴＧ１又はＴＧ２に応答してバッファー８２に計時データを格納させる。
【００８９】
図１に示す例において、タイミング制御回路７０は、ＯＲ回路７１及び７６と、インバーター７２と、ＡＮＤ回路７４及び７５とを含んでいる。ＯＲ回路７１の第１の入力端子には、イベント検出信号ＥＶ１'が供給され、第２の入力端子には、イベント検出信号ＥＶ２が供給され、第３の入力端子には、リードイネーブル信号Ｅ１Ｆが供給される。ＯＲ回路７１は、イベント検出信号ＥＶ１'、イベント検出信号ＥＶ２、又は、リードイネーブル信号Ｅ１Ｆがハイレベルに活性化されたときに、ハイレベルのトリガー信号ＴＧ１を生成する。
【００９０】
ＡＮＤ回路７４の一方の入力端子には、ＯＲ回路７１から出力されるトリガー信号ＴＧ１が供給され、ＡＮＤ回路７４の他方の入力端子には、制御データ格納部６１から出力される制御データＵＲＢが供給される。ＡＮＤ回路７４は、制御データＵＲＢが「１」（ハイレベル）であるときに、トリガー信号ＴＧ１を出力する。
【００９１】
ＡＮＤ回路７５の一方の入力端子には、インバーター７２によって反転された制御データＵＲＢが供給され、ＡＮＤ回路７５の他方の入力端子には、ホストインターフェース６０から出力されるトリガー信号ＴＧ２（図７に示すリードプリパルスＲＰ）が供給される。ＡＮＤ回路７５は、制御データＵＲＢが「０」（ローレベル）であるときに、トリガー信号ＴＧ２を出力する。
【００９２】
ＯＲ回路７６は、ＡＮＤ回路７４又は７５からハイレベルのトリガー信号ＴＧ１又はＴＧ２が供給されると、トリガー信号ＴＧ１又はＴＧ２をトリガー信号ＴＧ３として出力する。このように、タイミング制御回路７０は、制御データＵＲＢが「０」に設定されているときにトリガー信号ＴＧ２を選択し、制御データＵＲＢが「１」に設定されているときにトリガー信号ＴＧ１を選択する。
【００９３】
その結果、制御データＵＲＢが「０」に設定されているときに、バッファー８２は、トリガー信号ＴＧ２に応答して計時データを格納するリードバッファーとして使用される。一方、ホストＣＰＵが停止しているバックアップモード等において、制御データＵＲＢが「１」に設定されているときに、バッファー８２は、トリガー信号ＴＧ１に応答して計時データ（タイムスタンプデータ）を格納するタイムスタンプ用バッファーとして使用される。
【００９４】
なお、バッファー８２は、最新のタイムスタンプデータを格納しても良い。あるいは、ホストＣＰＵが、履歴データ格納部８３に格納される履歴データＥＶＦ１に基づいて調停回路８１を設定することにより、バッファー８２が、第１回以降の所望の回のタイムスタンプデータを格納しても良い。
【００９５】
第１の実施形態によれば、バッファー８２をリードバッファー及びタイムスタンプ用のバッファーとして兼用できるので、回路リソースを効率的に利用してタイムスタンプ機能を実現することが可能になる。従って、リードバッファー及びタイムスタンプ用のバッファーを設ける場合と比較して、計時装置を構成する半導体装置のチップサイズやコストを削減することができる。あるいは、リードバッファーを設けない場合と比較して、計時装置から計時データを読み出す際の手順を簡素化することができる。
【００９６】
＜第２の実施形態＞
図８は、本発明の第２の実施形態に係る計時装置の構成例を示す図である。図８に示すように、第２の実施形態においては、図１に示す第１の実施形態におけるタイミング制御回路７０の替りにタイミング制御回路７０ａが用いられ、第１の実施形態に対して、調停回路９１と、バッファー９２と、履歴データ格納部９３と、出力制御回路９４とが追加されている。その他の点に関しては、第２の実施形態は、第１の実施形態と同様でも良い。
【００９７】
下位計時回路３０及び上位計時回路４０によって生成される計時データＴ０〜Ｔ８は、バッファー９２にも供給される。バッファー９２は、トリガー信号ＴＧ１に応答して計時データを格納する第２の計時データ格納部に該当し、タイムスタンプ専用のバッファーとして用いられる。例えば、バッファー９２は、レジスターで構成され、アドレス１０ｈ〜１８ｈを有している。
【００９８】
計時データＴ０〜Ｔ８が変化しないタイミングでバッファー９２が計時データＴ０〜Ｔ８を格納するために、調停回路９１が設けられている。調停回路９１は、タイミング制御回路７０ａによって生成されるトリガー信号ＴＧ１の立ち上がりエッジが分周クロック信号ＣＬ１の立ち上がりエッジに重ならないように、必要に応じてトリガー信号ＴＧ１を遅延させる。また、調停回路９１は、履歴データ格納部９３に格納されている履歴データ（フラグ）ＥＶＦ０が「１」になると、トリガー信号ＴＧ１の出力を停止する。調停回路９１は、例えば、組み合わせ回路又は順序回路を含む論理回路等で構成される。
【００９９】
バッファー９２は、調停回路９１から供給されるトリガー信号ＴＧ１に応答して計時データ（タイムスタンプデ−タ）Ｔ０〜Ｔ８を格納する。なお、計時データＴ０〜Ｔ８の内で必要な計時データのみを生成して、バッファー９２に格納するようにしても良い。また、低電圧検出フラグＶＤＥＴ及び発振停止フラグＶＬＦは、計時データの一部としてバッファー９２に格納される。
【０１００】
履歴データ格納部９３は、バッファー９２に計時データが格納された履歴に関する履歴データ（フラグ）ＥＶＦ０を格納する。例えば、履歴データ格納部９３は、レジスターの一部又はＤ型フリップフロップ等で構成される。バッファー９２に計時データが格納されると、同時に、履歴データＥＶＦ０が「０」から「１」に変化する。履歴データＥＶＦ０のクリアーは、ホストＣＰＵが、履歴データ格納部９３に「０」を書き込むライトコマンドをホストインターフェース６０に送信することによって行われる。
【０１０１】
出力制御回路９４は、例えば、複数のトランスミッションゲート等で構成される。出力制御回路９４は、リードイネーブル信号Ｅ１０〜Ｅ１８の各々が活性化されると、バッファー９２に格納されている計時データＴ０〜Ｔ８のそれぞれを、リードデータバスを介してホストインターフェース６０に出力する。
【０１０２】
ホストインターフェース６０は、バッファー９２から読み出された計時データを外部に送信する。計時データ読み出し時に、ホストインターフェース６０は、バッファー９２を指定したリードコマンドをホストＣＰＵから受信すると、受信したリードコマンドに従って、リードイネーブル信号Ｅ１０〜Ｅ１８を順次活性化する。
【０１０３】
図９は、図８に示す計時装置における連続読み出し動作を説明するための波形図である。ホストインターフェース６０は、スレーブセレクト信号ＳＳがハイレベルに活性化されると、シリアルクロック信号ＳＣＬに同期してマスターアウト・スレーブイン信号ＭＯＳＩを受信する。その間、マスターイン・スレーブアウト信号ＭＩＳＯは、ハイ・インピーダンス状態（Ｈｉ−Ｚ）となっている。
【０１０４】
例えば、ホストインターフェース６０は、マスターアウト・スレーブイン信号ＭＯＳＩとして、４ビットのモード信号「１００ｘ」及び４ビットのアドレス信号Ａ３〜Ａ０を含むリードコマンドを受信する。モード信号の第１ビット「１」は、読み出しモードを表している。また、モード信号の第４ビットが「１」である場合は、バッファー９２を表している。
【０１０５】
ホストインターフェース６０は、モード信号が「１００１」である場合には、リードプリパルスＲＰを生成しないが、アドレス信号が確定すると、モード信号及びアドレス信号に対応するリードイネーブル信号を活性化する。その後、ホストインターフェース６０は、アドレスを循環させて、バッファー９２に格納されている一連のデータを読み出す。
【０１０６】
ホストＣＰＵは、バッファー９２から計時データを読み出す際に、例えば、計時装置において存在しないアドレス「１Ｆｈ」をモード信号「１００１」及びアドレス信号「１１１１」によって指定したダミーのリードコマンドをホストインターフェース６０に送信する。
【０１０７】
ホストインターフェース６０は、アドレス信号「１１１１」が確定すると、リードイネーブル信号Ｅ１Ｆを活性化する。また、ホストインターフェース６０は、アドレス「１Ｆｈ」に対応するダミーデータである８ビットのデータを送信バッファーにラッチし、シリアルクロック信号ＳＣＬに同期してパラレル／シリアル変換することにより、シリアルの出力データＤ７〜Ｄ０をマスターイン・スレーブアウト信号ＭＩＳＯとして送信する。
【０１０８】
その後、ホストインターフェース６０は、アドレスを循環させて、リードイネーブル信号Ｅ１０、Ｅ１１、・・・を順次活性化する。それにより、出力制御回路９４は、バッファー９２のアドレス１０ｈ、１１ｈ、・・・の各々に格納されている８ビットのデータを、リードデータバスを介してホストインターフェース６０に順次出力する。
【０１０９】
ホストインターフェース６０は、バッファー９２のアドレス１０ｈ、１１ｈ、・・・の各々から順次読み出される８ビットのデータを送信バッファーにラッチし、シリアルクロック信号ＳＣＬに同期してパラレル／シリアル変換することにより、シリアルの出力データＤ７〜Ｄ０をマスターイン・スレーブアウト信号ＭＩＳＯとして送信する。
【０１１０】
再び図８を参照すると、ホストインターフェース６０は、バッファー８２の機能を設定する制御データＵＲＢをホストＣＰＵから受信して、制御データ格納部６１に格納する。例えば、制御データＵＲＢは、バッファー８２をリードバッファーとして使用する場合に「０」に設定され、バッファー８２をタイムスタンプ用のバッファーとして使用する場合に「１」に設定される。
【０１１１】
タイミング制御回路７０ａは、制御データＵＲＢ及び履歴データＥＶＦ０に従って、イベントの検出に応答して生成されるトリガー信号ＴＧ１と、リードコマンドに応答して生成されるトリガー信号ＴＧ２との内の一方を選択し、選択されたトリガー信号ＴＧ１又はＴＧ２に応答してバッファー９２又は８２に計時データを格納させる。その際に、タイミング制御回路７０ａは、履歴データＵＲＢに従って、トリガー信号ＴＧ１に応答してバッファー８２に計時データを格納させるか否かを制御する。
【０１１２】
図８に示す例において、タイミング制御回路７０ａは、ＯＲ回路７１及び７６と、インバーター７２と、ＡＮＤ回路７３〜７５とを含んでいる。ＯＲ回路７１の第１の入力端子には、イベント検出信号ＥＶ１'が供給され、第２の入力端子には、イベント検出信号ＥＶ２が供給され、第３の入力端子には、リードイネーブル信号Ｅ１Ｆが供給される。ＯＲ回路７１は、イベント検出信号ＥＶ１'、イベント検出信号ＥＶ２、又は、リードイネーブル信号Ｅ１Ｆがハイレベルに活性化されたときに、ハイレベルのトリガー信号ＴＧ１を生成する。
【０１１３】
バッファー９２は、トリガー信号ＴＧ１に応答して計時データを格納する。バッファー９２に計時データが格納されると、履歴データ格納部９３に格納されている履歴データＥＶＦ０が「０」から「１」に変化して、調停回路９１が、バッファー９２に対するオーバーライトを禁止する。それにより、バッファー９２において、第１回のタイムスタンプデータが維持される。
【０１１４】
ＡＮＤ回路７３の一方の入力端子には、履歴データ格納部９３から出力される履歴データＥＶＦ０が供給され、ＡＮＤ回路７３の他方の入力端子には、制御データ格納部６１から出力される制御データＵＲＢが供給される。ＡＮＤ回路７３は、履歴データＥＶＦ０及び制御データＵＲＢが「１」（ハイレベル）であるときに、ハイレベルの出力信号を生成する。
【０１１５】
ＡＮＤ回路７４の一方の入力端子には、ＯＲ回路７１から出力されるトリガー信号ＴＧ１が供給され、ＡＮＤ回路７４の他方の入力端子には、ＡＮＤ回路７３の出力信号が供給される。ＡＮＤ回路７４は、ＡＮＤ回路７３の出力信号がハイレベルであるときに、トリガー信号ＴＧ１を出力する。
【０１１６】
ＡＮＤ回路７５の一方の入力端子には、インバーター７２によって反転された制御データＵＲＢが供給され、ＡＮＤ回路７５の他方の入力端子には、ホストインターフェース６０によって生成されるトリガー信号ＴＧ２（図７に示すリードプリパルスＲＰ）が供給される。ＡＮＤ回路７５は、制御データＵＲＢが「０」（ローレベル）であるときに、トリガー信号ＴＧ２を出力する。
【０１１７】
ＯＲ回路７６は、ＡＮＤ回路７４又は７５からハイレベルのトリガー信号ＴＧ１又はＴＧ２が供給されると、トリガー信号ＴＧ１又はＴＧ２をトリガー信号ＴＧ３として出力する。このように、タイミング制御回路７０ａは、制御データＵＲＢが「０」に設定されているときにトリガー信号ＴＧ２を選択し、制御データＵＲＢが「１」に設定されて履歴データＥＶＦ０が「１」になったときにトリガー信号ＴＧ１を選択する。
【０１１８】
その結果、制御データＵＲＢが「０」に設定されているときに、バッファー８２は、トリガー信号ＴＧ２に応答して計時データを格納するリードバッファーとして使用される。一方、ホストＣＰＵが停止しているバックアップモード等において、制御データＵＲＢが「１」に設定されているときに、バッファー９２にタイムスタンプデ−タが格納されて履歴データＥＶＦ０が「１」になると、バッファー８２は、トリガー信号ＴＧ１に応答して計時データ（タイムスタンプデータ）を格納するタイムスタンプ用バッファーとして使用される。
【０１１９】
なお、バッファー８２は、最新のタイムスタンプデータを格納しても良い。あるいは、ホストＣＰＵが、履歴データ格納部８３に格納される履歴データＥＶＦ１に基づいて調停回路８１を設定することにより、バッファー８２が、第２回以降の所望の回のタイムスタンプデータを格納しても良い。
【０１２０】
第２の実施形態によれば、計時装置が２つのバッファー９２及び８２を備える場合に、一方のバッファー９２の履歴に従ってタイムスタンプデータの格納を制御するようにしたので、複数のイベント検出時のタイムスタンプデータを格納することができる。また、第２回以降のスタンプデータの上書き禁止と上書き許可とを自由に設定することができるので、タイムスタンプを使用するシステムの設計の自由度が増加する。
【０１２１】
＜電子機器＞
次に、本発明のいずれかの実施形態に係る計時装置を用いた電子機器の実施形態について説明する。
図１０は、本発明の一実施形態に係る電子機器の構成例を示すブロック図である。図１０に示すように、この電子機器は、本発明のいずれかの実施形態に係る計時装置１１０と、制御部１２０と、操作部１３０と、通信部１４０と、表示部１５０と、音声出力部１６０とを含んでいる。なお、図１０に示す構成要素の一部を省略又は変更しても良いし、あるいは、図１０に示す構成要素に他の構成要素を付加しても良い。
【０１２２】
制御部１２０は、ホストＣＰＵ（中央演算装置）１２１と、格納部１２２とを含んでいる。ホストＣＰＵ１２１は、格納部１２２の記録媒体に記録されているソフトウェア（計時プログラム等）に基づいて動作する。記録媒体としては、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、各種のメモリー、ＣＤ−ＲＯＭ、又は、ＤＶＤ−ＲＯＭ等を用いることができる。
【０１２３】
ホストＣＰＵ１２１は、初期状態設定時に、ライトコマンド及びカウント初期値又は初期値データを計時装置１１０に送信することにより、計時装置１１０に初期状態を設定する。また、ホストＣＰＵ１２１は、リードコマンドを計時装置１１０に送信することにより、現在時刻やイベント検出時刻を計時装置１１０から読み出す。
【０１２４】
制御部１２０は、計時装置１１０から送信される計時データに基づいて、現在時刻やイベント検出時刻を表す表示信号を生成したり、イベントが検出された場合に、メッセージを発生するための音声信号を生成する。また、制御部１２０は、例えば、電気錠が開錠された時刻を表すタイムスタンプデータを含むログファイルを出力したり、電気錠が開錠された時刻を表示部１５０に表示させる。
【０１２５】
操作部１３０は、例えば、操作キーやボタンスイッチ等を含む入力装置であり、ユーザーによる操作に応じた操作信号をホストＣＰＵ１２１に出力する。ユーザーが操作部１３０を操作することにより、現在時刻、アラーム時刻、又は、タイマー時刻を設定することができる。通信部１４０は、例えば、アナログ回路及びデジタル回路で構成され、ホストＣＰＵ１２１と外部装置との間のデータ通信を行う。
【０１２６】
表示部１５０は、例えば、ＬＣＤ（液晶表示装置）等を含み、ホストＣＰＵ１２１から供給される表示信号に基づいて、現在時刻やイベント検出時刻を表示する。音声出力部１６０は、例えば、スピーカー等を含み、ホストＣＰＵ１２１から供給される音声信号に基づいてメッセージを発生する。
【０１２７】
上記の電子機器としては、例えば、ストップウォッチや腕時計や置時計等の時計、タイマー、シーケンサー、電力メーター、電気錠、携帯電話機等の移動端末、デジタルスチルカメラ、デジタルムービー、テレビ、テレビ電話、防犯用テレビモニター、ヘッドマウント・ディスプレイ、パーソナルコンピューター、プリンター、ネットワーク機器、複合機、車載装置（ナビゲーション装置等）、電卓、電子辞書、電子ゲーム機器、ロボット、測定機器、及び、医療機器（例えば、電子体温計、血圧計、血糖計、心電図計測装置、超音波診断装置、及び、電子内視鏡）等が該当する。
【０１２８】
本実施形態によれば、計時装置１１０の回路リソースを効率的に利用してタイムスタンプ機能を実現したり、あるいは、イベント検出信号を用いなくてもタイムスタンプ機能を実現することが可能な電子機器を提供することができる。
【０１２９】
＜移動体＞
次に、本発明のいずれかの実施形態に係る計時装置を用いた移動体の実施形態について説明する。移動体としては、例えば、自動車、自走式ロボット、自走式搬送機器、列車、船舶、飛行機、又は、人工衛星等が該当する。
【０１３０】
図１１は、本発明の一実施形態に係る移動体の構成例を示すブロック図である。図１１に示すように、この移動体は、本発明のいずれかの実施形態に係る計時装置１１０と、制御部１２０と、操作部１３０と、表示部１５０と、音声出力部１６０とを含み、さらに、電子制御式燃料噴射装置２１０、電子制御式ＡＢＳ装置２２０、又は、電子制御式一定速度走行装置２３０等の各種の電子制御式装置を搭載している。なお、図１１に示す構成要素の一部を省略又は変更しても良いし、あるいは、図１１に示す構成要素に他の構成要素を付加しても良い。
【０１３１】
例えば、計時装置１１０は、制御部１２０のホストＣＰＵ１２１からのリードコマンドに応じて、計時データをホストＣＰＵ１２１に送信する。制御部１２０は、計時装置１１０から送信される計時データに基づいて、現在時刻やイベント検出時刻を表す表示信号を生成したり、イベントが検出された場合に、メッセージを発生するための音声信号を生成する。それにより、表示部１５０が、表示信号に基づいて現在時刻やイベント検出時刻を表示し、音声出力部１６０が、音声信号に基づいてメッセージを発生する。
【０１３２】
また、計時装置１１０は、図１又は図８に示す発振回路１０又は分周回路２０等によって生成されるクロック信号を、制御部１２０を介して、電子制御式燃料噴射装置２１０、電子制御式ＡＢＳ装置２２０、又は、電子制御式一定速度走行装置２３０等に供給する。
【０１３３】
例えば、電子制御式燃料噴射装置２１０は、計時装置１１０から供給されるクロック信号に同期して動作し、ガソリンエンジン等の予混合燃焼機関において、所定のタイミングで液体の燃料を吸入空気に霧状に噴射する。電子制御式ＡＢＳ（アンチロック・ブレーキ・システム）装置２２０は、計時装置１１０から供給されるクロック信号に同期して動作し、ブレーキをかけるように操作が行われた際に、ブレーキを徐々に強力に駆動して、移動体が滑り始めたらブレーキを一旦緩めてから再び駆動することを繰り返す。電子制御式一定速度走行装置２３０は、計時装置１１０から供給されるクロック信号に同期して動作し、移動体の速度を監視しながら、移動体の速度が一定となるようにアクセル又はブレーキ等を制御する。
【０１３４】
本実施形態によれば、計時装置１１０の回路リソースを効率的に利用してタイムスタンプ機能を実現したり、あるいは、イベント検出信号を用いなくてもタイムスタンプ機能を実現することが可能な移動体を提供することができる。本発明は、以上説明した実施形態に限定されるものではなく、当該技術分野において通常の知識を有する者によって、本発明の技術的思想内で多くの変形が可能である。
【符号の説明】
【０１３５】
１０…発振回路、１００…水晶振動体、１０１…インバーター、１０２…制御回路、２０…分周回路、２０１〜２０３…Ｔ型フリップフロップ、３０…下位計時回路、３１…第１のカウンター、３２…カウント制御データ格納部、３３…カウント制御回路、３４…第２のカウンター、４０…上位計時回路、４１…第３のカウンター、４２…第４のカウンター、４３…第５のカウンター、４４…第６のカウンター、４５…曜日データ生成部、４６…第７のカウンター、４７…第８のカウンター、５１…電圧低下検出回路、５２…発振停止検出回路、５３…バックアップ電源、５４…フィルター、６０…ホストインターフェース、６１…制御データ格納部、７０、７０ａ…タイミング制御回路、７１、７６…ＯＲ回路、７２…インバーター、７３〜７５…ＡＮＤ回路、８１、９１…調停回路、８２、９２…バッファー、８３、９３…履歴データ格納部、８４、９４…出力制御回路、１１０…計時装置、１２０…制御部、１２１…ホストＣＰＵ、１２２…格納部、１３０…操作部、１４０…通信部、１５０…表示部、１６０…音声出力部、２１０…電子制御式燃料噴射装置、２２０…電子制御式ＡＢＳ装置、２３０…電子制御式一定速度走行装置、Ｐ１…入力端子、Ｐ２〜Ｐ５…外部接続端子、ＣＰ１、ＣＰ２…キャパシター、Ｒ１…抵抗
【図１】
0006540478.tif 000002
【図２】
0006540478.tif 000003
【図３】
0006540478.tif 000004
【図４】
0006540478.tif 000005
【図５】
0006540478.tif 000006
【図６】
0006540478.tif 000007
【図７】
0006540478.tif 000008
【図８】
0006540478.tif 000009
【図９】
0006540478.tif 000010
【図１０】
0006540478.tif 000011
【図１１】
0006540478.tif 000012