JP2011053057A - 時刻修正回路及び電子機器 - Google Patents

時刻修正回路及び電子機器 Download PDF

Info

Publication number
JP2011053057A
JP2011053057A JP2009201626A JP2009201626A JP2011053057A JP 2011053057 A JP2011053057 A JP 2011053057A JP 2009201626 A JP2009201626 A JP 2009201626A JP 2009201626 A JP2009201626 A JP 2009201626A JP 2011053057 A JP2011053057 A JP 2011053057A
Authority
JP
Japan
Prior art keywords
time
predetermined
baseband signal
pulse
asynchronous
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.)
Withdrawn
Application number
JP2009201626A
Other languages
English (en)
Inventor
Nobuo Karaki
信雄 唐木
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009201626A priority Critical patent/JP2011053057A/ja
Priority to US12/870,312 priority patent/US8253456B2/en
Publication of JP2011053057A publication Critical patent/JP2011053057A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electric Clocks (AREA)
  • Electromechanical Clocks (AREA)

Abstract

【課題】低コスト化を図りつつ、消費電力を低減させることができるとともに、ノイズを減少させることのできる時刻修正回路及び電子機器を提供する。
【解決手段】時刻修正回路1は、時間を計測するタイマー20と、時刻に関する時刻情報を含み、パルス幅変調方式によって符号化されたベースバンド信号に基づく電磁波Aを受信し、該受信した電磁波Aに基づいてベースバンド信号Bを出力する受信器30と、ベースバンド信号Bに基づいて時刻を修正する非同期回路40と、を備え、非同期回路40は、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、タイマー20により計測された時間に基づいてベースバンド信号Bから時刻情報を取り出すための所定の処理を実行し、該所定の処理を実行後に待機状態になる。
【選択図】図1

Description

本発明に係るいくつかの態様は、例えば外部から受信した電磁波に基づいて時刻を修正する時刻修正回路及び電子機器に関する。
従来、この種の時刻修正回路を備えた電波時計として、受信された電気信号に基づいて時刻情報を読み取るCPUを有する電波時計受信モジュールと、32kHzのクロックパルスを出力する発振器、クロックパルスを分周して1Hzの計時パルスを出力する分周回路、及び所定数の計時パルスが入力されると各ビットが繰り上がる計時カウンターを有するリアルタイムクロックと、を備えたものが知られている。この電波時計は、電波時計受信モジュールで読み取られた時刻情報がリアルタイムクロックの計時カウンターに反映され、外部から受信した正確な時刻に自動修正して表示することができる。(例えば特許文献1参照)。
特開2008−211352号公報
ところで、従来の電波時計受信モジュールはCPUによって制御される同期回路であった。同期回路では各回路ブロックがクロック信号によって駆動されるので、各回路ブロック間の同期をとるために、電波時計受信モジュールは全体の基準クロック信号であるグローバルクロックによって駆動されていた。一方、電波時計受信モジュールにおける低コスト化を図るために処理能力の低いCPUを用いる場合、グローバルクロックの周波数を上げることにより、CPUの動作速度を上げ、時間あたりの処理量を増加させるようにしていた。
しかしながら、各回路ブロックにおける消費電流はクロック信号の周波数に比例して増加するので、CPUの動作速度を上げるためにグローバルクロックの周波数を上げると、CPU以外の消費電力も増加してしまうという問題があった。また、クロック信号は、周波数を上げると電磁放射によるノイズが増加してしまうという問題もあった。
本発明のいくつかの態様は前述の問題に鑑みてなされたものであり、低コスト化を図りつつ、消費電力を低減させることができるとともに、ノイズを減少させることのできる時刻修正回路及び電子機器を提供することを目的の1つとする。
本発明に係る時刻修正回路は、時間を計測する計時手段と、時刻に関する時刻情報を含み、パルス幅変調方式によって符号化された第1ベースバンド信号について、第1ベースバンド信号に基づく電磁波を受信し、受信した電磁波に基づいて第2ベースバンド信号を出力する受信手段と、第2ベースバンド信号に基づいて時刻を修正する非同期回路と、を備え、前述の非同期回路は、第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、計測された時間に基づいて第2ベースバンド信号から時刻情報を取り出すための所定の処理を実行し、前述の所定の処理を実行後に待機状態になる。
かかる構成によれば、非同期回路は、第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、前述の所定の処理を実行し、該所定の処理を実行後に待機状態になる。ここで、受信手段により出力された第2ベースバンド信号はパルス幅変調方式で符号化されているので、第2ベースバンド信号に含まれるパルスのパルス幅の長さに基づいて、第2ベースバンド信号から時刻情報を取り出すことが可能となる。パルス幅の長さは、パルスの先端部及び後端部、すなわち、第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときに、計時手段により計測された時間に基づいて得ることが可能である。よって、第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、非同期回路が前述の所定の処理を実行することにより、計測された時間に基づいて、第2ベースバンド信号から時刻情報を取り出すことができ、取り出された時刻情報に基づいて時刻を修正することができる。
また、受信手段により出力された第2ベースバンド信号がハイレベルからローレベルに変化するイベントとローレベルからハイレベルに変化するイベントによって、非同期回路が駆動されるので、受信手段と非同期回路とは同期せずに動作することが可能となる。さらに、非同期回路は、この2つのイベントの発生時に計時手段から読み出した時間の差からパルス幅の長さを算出することができるので、計時手段と非同期回路とは同期せずに動作することが可能となる。これにより、計時手段、受信手段、及び非同期回路は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路は、グローバルクロック(基準クロック)を必要とせずに動作することができる。これにより、非同期回路の動作速度を上げても非同期回路以外の消費電流には影響せず、グローバルクロックを用いる場合と比較して、非同期回路以外における消費電力を低減させることができる。
さらに、非同期回路は、待機状態(スタンバイ状態)になると、リーク電流以外のダイナミックな電流が流れなくなる一方、処理が実行可能になるまでの待ち時間(レイテンシ)は少なく、待機状態から俊敏に起動することが可能である。これにより、第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、待機状態の非同期回路は俊敏に起動して前述の所定の処理を実行することができる。また、非同期回路が前述の所定の処理を実行後に待機状態になることにより、所定の処理を実行中以外の間に流れる電流を減らすことができ、非同期回路における消費電力を低減させることができるとともに、電磁放射を抑制してノイズを減少させることができる。
好ましくは、所定周波数の信号を発振する発振回路を備え、計時手段は、所定周波数の信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする所定ビットのカウンターであり、非同期回路は、所定ビットのカウンターによりカウントされた数値に基づいて所定の処理を実行する。
かかる構成によれば、計時手段は、所定周波数の信号に基づいてゼロから設定値までの数値を循環しながらカウントする所定ビットのカウンターであり、非同期回路は、所定ビットのカウンターによりカウントされた数値に基づいて所定の処理を実行する。ここで、所定ビットのカウンターは、所定周波数の信号に基づいてカウントするので、発振回路が発振する信号の周期の整数倍の時間を簡素な構成の回路で計測することができる。これにより、計時手段における消費電力を低減させることができる。
また、所定ビットのカウンターは、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期回路は、前述の2つのイベントの発生時に所定ビットのカウンターから読み出した数値の差からパルス幅の長さを算出することができるので、所定ビットのカウンターと非同期回路とは同期せずに動作することが可能となる。これにより、所定ビットのカウンター、受信手段、及び非同期回路は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路は、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
好ましくは、設定値として所定の数値の2の補数を所定ビットのカウンターに設定する。
かかる構成によれば、設定値として、所定ビットのカウンターに所定の数値の2の補数を設定する。ここで、設定値として所定の数値をそのまま所定ビットのカウンターに設定してカウントアップする場合、カウントした数値が設定値に達したか否かを判定し、設定値に達した状態でカウントしたときにカウントした数値をリセットするための比較器が必要となる。これに対し、設定値として所定の数値の2の補数を所定ビットのカウンターに設定してカウントアップすると、所定の数値までカウントアップしたときに所定ビットのカウンターから出力されるキャリー信号を用いて設定値のリセット(再設定)を行うことができるので比較器は不要となる。よって、設定値として所定の数値の2の補数を所定ビットのカウンターに設定することにより、比較器の分だけ消費電力を低減することができる。
好ましくは、所定周波数は2n(nは正の整数)ヘルツであり、所定ビットは、n+1ビットである。
かかる構成によれば、発振回路が発振する信号の周波数は2nヘルツであり、計時手段はn+1ビットのカウンターである。これにより、n+1ビットのカウンターは、1/2n以上から2n+1/2n、すなわち2秒未満までの時間を計測することができる。
好ましくは、所定周波数は215ヘルツであり、所定ビットは、16ビットである。
かかる構成によれば、発振回路が発振する信号の周波数は215ヘルツであり、計時手段は16ビットのカウンターである。これにより、16ビットのカウンターは、1/215以上から216/215、すなわち2秒未満までの時間を計測することができる。
好ましくは、計時手段は、発振回路から入力される信号の周波数を1/2m(mは1以上8以下の整数)にした信号を出力する8ビットのプリスケーラーと、8ビットのプリスケーラーから入力される信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする8ビットのカウンターとを有し、非同期回路は、8ビットのカウンターによりカウントされた数値に基づいて前述の所定の処理を実行する。
かかる構成によれば、計時手段は、発振回路から入力される信号の周波数を1/2mにした信号を出力する8ビットのプリスケーラーと、8ビットプリスケーラーから入力される信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする8ビットのカウンターとを有し、非同期回路は、8ビットのカウンターによりカウントされた数値に基づいて前述の所定の処理を実行する。ここで、8ビットのプリスケーラーは、発振回路から入力される信号の所定周波数、すなわち215ヘルツを1/2mに分周し、8ビットのカウンターは1/2mに分周された信号に基づいてカウントするので、計時手段は、1/214以上から2秒未満までの時間を簡素な構成の回路で計測することができる。これにより、計時手段における消費電力を低減させることができる。
また、8ビットのカウンターは、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期回路は、前述の2つのイベントの発生時に8ビットのカウンターから読み出した数値の差からパルス幅の長さを算出することができるので、8ビットのカウンターと非同期回路とは同期せずに動作することが可能となる。これにより、8ビットのカウンター、受信手段、及び非同期回路は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路は、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
好ましくは、設定値として所定の数値の2の補数を8ビットのカウンターに設定する。
かかる構成によれば、設定値として、8ビットのカウンターに所定の数値の2の補数を設定する。ここで、設定値として所定の数値をそのまま8ビットのカウンターに設定してカウントアップする場合、カウントした数値が設定値に達したか否かを判定し、設定値に達した状態でカウントしたときにリセットするための比較器が必要となる。これに対し、設定値として所定の数値の2の補数を8ビットのカウンターに設定してカウントアップすると、所定の数値までカウントアップしたときに8ビットのカウンターから出力されるキャリー信号を用いて設定値のリセット(再設定)を行うことができるので比較器は不要となる。よって、設定値として所定の数値の2の補数を8ビットのカウンターに設定することにより、比較器がない分だけ8ビットのカウンターにおける消費電力を低減することができる。
好ましくは、前述の所定の処理は、計時手段により計測された時間に基づいて、第2ベースバンド信号に含まれるパルスを所定のシンボルに変換する変換ステップを含む。
かかる構成によれば、前述の所定の処理は、計時手段により計測された時間に基づいて、第2ベースバンド信号に含まれるパルスを所定のシンボルに変換する変換ステップを含む。これにより、計時手段により計測された時間に基づいて、受信手段により出力された第2ベースバンド信号に含まれるパルスが所定のシンボル、すなわち、時刻情報を構成するシンボルに変換されるので、第2ベースバンド信号から時刻情報に取り出すことができる。
好ましくは、前述の変換ステップは、変換された所定のシンボルに基づいて、第2ベースバンド信号の単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含む。
かかる構成によれば、前述の変換ステップは、変換された所定のシンボルに基づいて、第2ベースバンド信号の単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含む。ここで、受信手段から連続して出力される第2ベースバンド信号において、単位長(1レコード)の第2ベースバンド信号の境界、すなわち、1つ前の単位長における最後尾のパルスと次の単位長における先頭のパルスとを切り分ける(区別する)必要がある。このため、従来は、単位長の第2ベースバンド信号に含まれるパルスから変換された全てのシンボルを、複数レコード分記憶しておき、記憶されたシンボルに基づいて単位長の第2ベースバンド信号の境界を検出していた。この場合、シンボルを記憶するメモリーは、複数レコードから変換された全てのシンボル分、例えばx×60シンボル分(xは2以上の整数)の記憶容量が必要となる。これに対し、第2ベースバンド信号に含まれるパルスを所定のシンボルに変換するとともに、変換された所定のシンボルに基づいて単位長の第2ベースバンド信号の境界を検出するようにすれば、メモリーの記憶容量は1レコード分の第2ベースバンド信号から変換されたシンボル、例えば60シンボル分だけで済む。よって、変換ステップが、変換された所定のシンボルに基づいて、第2ベースバンド信号の単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含むことにより、単位長の第2ベースバンド信号の境界を検出することができるとともに、メモリーの記憶容量を減少させることができる。これにより、記憶容量が少ない分だけメモリーにおける回路コストと消費電力を低減させることができる。
好ましくは、前述の所定の処理は、変換ステップの前に、計測された時間に基づいてパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含む。
かかる構成によれば、前述の所定の処理は、変換ステップの前に、計測された時間に基づいてパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップが含む。ここで、受信手段により出力された第2ベースバンド信号には、ノイズなどの影響により、時間軸方向のずれ、すなわちジッターが生じ得る。そのため、第2ベースバンド信号に含まれるパルスの周期やパルス幅には、時間のずれが生じている可能性がある。すなわち、第2ベースバンド信号に含まれるパルスの先端部と後端部のうち少なくとも一方に、位相のずれが生じ得る。特に、パルスの先端部の位相は、計時手段により計測された時間に基づいて当該パルスのパルス幅を算出(検出)するための基準点となるので、変換ステップへの影響が大きい。よって、第2ベースバンド信号に含まれるパルスを所定のシンボルに変換する変換ステップの前に、計時手段により計測された時間に基づいて、パルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含むことにより、第2ベースバンド信号に含まれるパルスの位相のずれが、変換ステップにおいて許容可能な時間範囲内であることを確認してから変換ステップを実行することができ、変換ステップにおける所定のシンボルへの変換精度を高めることができる。
好ましくは、変換ステップは、連続する複数のパルスについて前述の判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、実行される。
かかる構成によれば、変換ステップは、連続する複数のパルスについて前述の判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、実行される。ここで、受信手段により出力された第2ベースバンド信号に含まれる連続する複数のパルスについて、各パルスの位相のずれが全て変換ステップにおいて許容可能な時間範囲内である場合には、電磁波の受信状態が安定していると考えられる。よって、受信手段により出力された第2ベースバンド信号に含まれる連続する複数のパルスについて、判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、変換ステップを実行することにより、変換ステップにおける所定のシンボルへの変換精度を更に高めることができる。
好ましくは、非同期回路は、第2ベースバンド信号の単位長あたりに含まれる全てのパルスが前述の変換ステップにより所定のシンボルに変換されたときに、該変換された全ての所定のシンボルから時刻情報を取り出し、該取り出された時刻情報に基づいて時刻を修正する時刻修正処理を実行する。
かかる構成によれば、非同期回路は、第2ベースバンド信号の単位長あたりに含まれる全てのパルスが変換ステップにより所定のシンボルに変換されたときに、該変換された全ての所定のシンボルから時刻情報を取り出し、該取り出された時刻情報に基づいて時刻を修正する時刻修正処理を実行する。これにより、第2ベースバンド信号の単位長あたりに含まれる全てのパルスが変換ステップにより所定のシンボルに変換されたときに、該全ての所定のシンボルから時刻情報が取り出され、時刻が修正されるので、第2ベースバンド信号の単位長あたりに含まれる全てのパルスのうち、1つでも所定のシンボルに変換できなかった場合には、該第2ベースバンド信号に基づいて時刻を修正しない。これにより、修正される時刻の信頼性を高めることができる。
本発明に係る電子機器は、前述した本発明に係る時刻修正回路を備える。
かかる構成によれば、前述した本発明に係る時刻修正回路を備えるので、従来の電子機器と比較して、消費電力を低減させることができるとともに、電磁放射を抑制してノイズを減少させることができる。これにより、低消費電力による長い稼働時間を有し、低ノイズによる高い信頼性を有する電子機器を実現することができる。
本発明に係る時刻修正回路の第1実施形態の構成を説明するブロック図である。 図1に示したカウンターに設定する設定値を説明する図である。 図1に示した電磁波により伝送されるベースバンド信号の一例を説明するデータ構成図である。 図1に示した非同期CPUの状態遷移図である。 図1に示した受信器が出力するベースバンド信号を説明する図である。 図4に示したメイン処理実行状態において実行されるメイン処理のフローチャートである。 図4に示した例外処理実行状態において実行される立ち下がり処理のフローチャートである。 図4に示した例外処理実行状態において実行される立ち上がり処理のフローチャートである。 ベースバンド信号と非同期CPUの状態との関係を説明する図である。 ベースバンド信号と非同期CPUの状態との関係を説明する図である。 本発明に係る時刻修正回路の第2実施形態の構成を説明するブロック図である。 本発明に係る電子機器の一例を説明するブロック図である。 図12に示した非同期CPUに入力される割り込み信号の割り込みレベルを説明する図である。
以下、本発明の一実施形態について図面を参照しながら説明する。
<時刻修正回路>
(第1実施形態)
図1乃至図10は、本発明に係る時刻修正回路の第1実施形態を示すものであり、図1は、本発明に係る時刻修正回路の第1実施形態の構成を説明するブロック図である。
図1に示すように、時刻修正回路1は、外部から受信した電磁波Aに基づいて時刻を修正するためのものであり、発振回路10と、タイマー20と、受信器30と、非同期回路40と、メモリー50と、を備える。発振回路10はタイマー20に接続されており、タイマー20、受信器30、非同期回路40、及びメモリー50は、非同期バス60を介してデータや制御信号を相互に送受信可能に接続されている。また、非同期バス60には外部の表示装置70が接続されており、時刻修正回路1は、外部から受信した電磁波Aに基づく時刻を表示装置70に表示することにより、時刻を修正する。
発振回路10は、所定周波数fの周期的な信号を発振するためのものである。発振回路10は、水晶振動子などの振動子11を有しており、振動子11に電圧が印加されると所定周波数fの信号を発振する。発振回路10が発振する所定周波数fの信号は、発振回路10からタイマー20に出力される。本実施形態では、発振回路10が発振する周期的な信号として、パルス信号が出力される。
タイマー20は、時間を計測するためのもの(計時手段)であり、発振回路10から入力される所定周波数fの信号に基づいて動作する。すなわち、発振回路10から入力される所定周波数fの信号は、タイマー20を駆動するクロック信号となる。本実施形態では、計時手段の一例として、タイマー20が、プリスケーラー21と、カウンター26と、を含んで構成されている。
プリスケーラー21は、カウンター26の前段に配置され、入力される信号の周波数を1/mにしたものをカウンター26に出力する。すなわち、プリスケーラー21は、分周比mの分周器として機能するカウンターである。分周比mは、非同期バス60を介して後述の非同期CPU42によってあらかじめ設定される数値である。
カウンター26は、プリスケーラー21から入力される信号に基づいて、ゼロから所定の設定値Cまでの数値を循環しながらカウントする。例えば、カウンター26は、プリスケーラー21から入力される信号の一周期(一パルス)ごとに、1つずつカウントアップ(計数)し、ゼロからカウントアップした数値が所定の設定値Cに達した状態でカウントアップしたときに、ゼロにリセットされるようになっている。所定の設定値Cは、非同期バス60を介して非同期CPU42によってあらかじめ設定される数値である。
前述の例では、カウンター26がゼロから所定の設定値Cまでの数値をカウントアップするようにしたが、これに限定されず、設定値Cからゼロまでの数値をカウントダウンするようにしてもよい。この場合、カウントダウンした数値がゼロに達した状態でカウントダウンしたときに、設定値Cにリセットされる。
また、カウンター26はゼロからカウントを始める場合に限定されない。ゼロから所定の設定値Cまでの数値を循環しながらカウントする限り、カウンター26は、例えば、ゼロと設定値Cとの間の数値からカウントを始めるようにしてもよい。
このように構成されたタイマー20は、以下の式(1)で表される時間T秒までの時間を計測することができる。
T=m×C/f …(1)
発振回路10は所定周波数fの信号として215、すなわち32768ヘルツのパルス信号を発振する場合、タイマー20には、8ビットのプリスケーラー21と、8ビットのカウンター26とが用いられる。この場合、8ビットのプリスケーラー21には、分周比mとして1以上256以下の整数値を設定可能であり、8ビットのカウンター26には、設定値Cとして1以上255以下の整数値を設定可能である。これにより、式(1)から、タイマー20は1/215以上から216/215、すなわち2秒未満までの時間T(1/215≦T<2)を計測することができる。
なお、分周比mとして2のべき乗の数値を設定する場合、分周比2k(kは1以上8以下の整数)の8ビット(段)のプリスケーラー21を用いるのが好ましい。これにより、簡素な構成の回路で分周することができ、タイマー20における消費電力を低減させることができる。
図2は、図1に示したカウンターに設定する設定値を説明する図である。8ビットのカウンター26に設定する設定値Cとして、非同期CPU42は、所定の数値の2の補数を設定することが好ましい。図2に示すように、例えば、8ビットのカウンター26でゼロから4まで循環しながら1つずつカウントアップする場合、所望の数値である「4」の2の補数、すなわち「11111100」を設定値Cとして8ビットのカウンター26の各ビットに設定する。次に、ゼロから4まで「0」→「1」→「2」→「3」→「4」とカウントアップすると、8ビットのカウンター26は、「11111100」→「11111101」→「11111110」→「11111111」→「000000000」と変化する。すなわち、「4」までカウントしたときに8ビットのカウンター26にはオーバーフロー(キャリー信号)が発生し、全てのビットがゼロになる。その後、8ビットのカウンター26はリセットされ、「4」の2の補数がカウンター26の各ビットに再度設定される。ここで、設定値Cとして所定の数値をそのまま8ビットのカウンター26に設定してカウントアップする場合、カウントした数値が設定値Cに達したか否かを判定し、設定値Cに達した状態でカウントしたときにリセットするための比較器が必要となる。これに対し、設定値Cとして所定の数値の2の補数を8ビットのカウンター26に設定してカウントアップすると、所定の数値までカウントアップしたときに8ビットのカウンター26から出力されるキャリー信号を用いて設定値Cのリセット(再設定)を行うことができるので比較器は不要となる。
図1に示す受信器30は、後述のベースバンド信号b(第1ベースバンド信号)に基づく電磁波Aを受信し、受信した電磁波Aに基づいてベースバンド信号B(第2ベースバンド信号)を出力するためのもの(受信手段)である。電磁波Aは、ベースバンド信号bを、所定周波数、例えば40キロヘルツや60キロヘルツの搬送波による振幅変調(AM:Amplitude Modulation)方式で変調し、伝送するものである。受信器30は、外部の送信局から送信される電磁波Aを受信するためのアンテナ31を有しており、アンテナ31で受信した電磁波Aの増幅や振幅復調などを行い、非同期バス60を介して非同期回路40にベースバンド信号Bを出力する。
図3は、図1に示した電磁波により伝送されるベースバンド信号の一例を説明するデータ構成図である。図3では、ベースバンド信号bを正論理で表したものをPL、負論理で表したものをNLとして示す。ベースバンド信号bは、例えば、時刻修正回路1の外部の無線局により生成され、電磁波Aによって送信さている。図3に示すように、ベースバンド信号bは、1秒周期で発生する所定のパルス幅のパルスから構成されている。すなわち、ベースバンド信号bは、生成されたパルス信号における各パルスのパルス幅の長さをパルス幅変調(PWM:Pulse Width Modulation)方式で符号化(以下、PWM符号化という)し、例えば、「1」、「0」、「M」(マーカー)の3つのシンボルに対応付けしたものである。なお、本発明において、シンボルとは、符号、記号、又はしるしのいずれかを意味するものであってもよい。本発明においては、所定のシンボル(「1」、「0」、「M」)は、PWM符号化によって符号、すなわちパルス幅を変調したパルスに対応付けされている。図3に示すように、例えば、シンボル「1」はパルス幅が0.5秒のパルスを表す符号に、シンボル「0」はパルス幅が0.8秒のパルスを表す符号に、シンボル「M」はパルス幅が0.2秒のパルスを表す符号に、それぞれ対応(相当)する。ベースバンド信号bは、時刻に関する時刻情報を含んでおり、1分、すなわち、60個のパルスを単位長(1レコード)とする信号である。例えば、第2パルスから第9パルスまで(1秒から9秒まで)の8つのパルスは「分」に関する情報であり、第13パルスから第20パルスまで(12秒から20秒まで)の8つのパルスは「時」に関する情報である。また、ベースバンド信号bは、第1パルス(0秒から1秒まで)及び第60パルス(59秒から60秒まで)にシンボル「M」のパルスを含んでいる。
なお、ベースバンド信号bは、時刻情報を含んでいればよく、図3に示すように、「年」、「曜日」などの他の情報や、パリティなどの誤り検出情報を含んでいてもよい。また、本実施形態では、時刻情報として「時」及び「分」の情報のみを含み、「秒」については「00」秒で固定する方式を採用しているが、これに限定されず、時刻情報として「秒」を含むようにしてもよい。
非同期回路40は、受信器30により出力されたベースバンド信号Bに基づいて、時刻を修正するためのものである。非同期回路40は、判別器41と、非同期CPU42と、を含んで構成されている。
なお、本明細書において、受信器30により出力されたベースバンド信号を、元のベースバンド信号b(第1ベースバンド信号)と区別するため、特にベースバンド信号B(第2ベースバンド信号)とする。また、ベースバンド信号b及びベースバンド信号Bは、負論理で表されたものとして説明する。よって、ベースバンド信号b及びベースバンド信号Bの信号レベルは、各パルスの先端部(立ち下がりエッジ)でハイレベルからローレベルに変化し、各パルスの後端部(立ち上がりエッジ)でローレベルからハイレベルに変化する。
判別器41は、入力された信号のレベルがハイレベルからローレベルに変化したか、又はローレベルからハイレベルに変化したかを判別するためのものである。判別器41には、非同期バス60を介して受信器30からベースバンド信号Bが入力される。判別器41は、ベースバンド信号Bがハイレベルからローレベルに変化したとき、すなわちパルスの先端部を検出したときに、立ち下がりの割り込み信号W1を非同期CPU42に出力する。また、判別器41は、ベースバンド信号Bがローレベルからハイレベルに変化したとき、すなわちパルスの後端部を検出したときに、立ち上がりの割り込み信号W2を非同期CPU42に出力する。
非同期CPU42は、非同期回路40のコア部であり、タイマー20により計測された時間に基づいてベースバンド信号Bを時刻情報に復号化するための所定の処理を、実行するためのものである。非同期CPU42は、非同期バス60を介してカウンター26の数値を読み込むことにより、タイマー20により計測された時間を取得する。また、非同期CPU42は、後述の所定の処理を実行することによりベースバンド信号Bから取り出した時刻情報を、非同期バス60を介して外部の表示装置70に出力し、ベースバンド信号Bに基づく正確な時刻に修正する。
メモリー50は、非同期CPU42が使用するプログラムやデータなどを格納するためのものである。メモリー50は、非同期バス60を介して非同期CPU42にアクセス(読み込み/書き出し)される。
なお、本明細書において、「同期回路」とは、回路の中央制御用のグローバルクロックを基準に回路動作をすることを目的として設計された回路をいう。一方、「非同期回路」とは、グローバルクロックを用いないで各々の最小機能回路(プロセス)が自律的に又は他律的に局所的な協調をとりながら分散制御を行うことを目的として設計された回路をいう。非同期回路においては、最小機能回路はイベント駆動によって制御され、自律的に動作する必要があると判断した場合と、他律的に動作する必要があると判断した場合にのみ動作する。つまり、各々の最小機能回路は他の最小機能回路とは独立して並列動作が可能であり、他の最小機能回路の処理が完了するまで処理待ちする必要がない。最小機能回路は所望の処理を実行する準備が完了した段階で処理を進めることができる。
非同期回路は、グローバルクロックが不要であり、動作が変化するときだけ回路電流が流れるので、消費電力を低減させることができる。また、消費電力が少ないことから電源部を大幅に小さくすることができ、クロック信号が不要なことから発振回路のための部品点数を減らすことができる。また、電源部や部品を小さくしたり不要にしたりできるので、コストを低減させることができる。さらに、非同期回路の特徴としてクロック信号の第二次高調波対策が不要であり、クロックスキューが理論的に存在せず、薄膜素子などの素子特性バラツキが大きく比較的動作速度の遅い素子を利用したり大きな配線遅延が存在したりしても、最大限度まで高速化可能である。
本実施形態において、前述したタイマー20は同期回路に含まれ、前述した非同期回路40(非同期CPU42)は非同期回路に含まれる。また、非同期回路は、当該回路に含まれる全ての回路ブロックを非同期にする場合に限定されず、一部の回路ブロックを非同期回路にする場合も含む。例えば、固有のクロック信号によって駆動される同期回路ブロックが、非同期バスを介して非同期回路ブロックと接続する場合、グローバルクロックを用いていない意味で、全体として非同期回路に該当する。よって、本実施形態の時刻修正回路1は、非同期回路に含まれる。
図4は、図1に示した非同期CPUの状態遷移図である。図4に示すように、非同期CPU42は、システムリセット状態M0、メイン処理実行状態M1、待機状態(スタンバイ状態)M2、及び例外処理実行状態M3の4つの状態に遷移する。すなわち、非同期CPU42は、システムリセットの信号が入力されると、メイン処理実行状態M1、待機状態M2、又は例外処理実行状態M3からシステムリセット状態M0に移行する。システムリセット状態M0の非同期CPU42は、システムリセットの信号が解除されると、メイン処理実行状態M1に移行する。なお、システムリセットの信号は、通常、ベースバンド信号Bに含まれるパルスのタイミングに同期せずに(無関係に)解除される。
メイン処理実行状態M1において、非同期CPU42は後述のメイン処理S100を実行する。メイン処理S100においてホールト命令を実行すると、非同期CPU42は待機状態M2に移行する。待機状態M2の非同期CPU42は、割り込み信号が入力されるまで待機(停止)する。判別器41から立ち下がりの割り込み信号W1又は立ち上がりの割り込み信号W2が入力されると、非同期CPU42は例外処理実行状態M3に移行する。例外処理実行状態M3において、非同期CPU42は、タイマー20により計測された時間に基づいてベースバンド信号Bから時刻情報を取り出すための所定の処理を実行する。
ここで、受信器30により出力されたベースバンド信号Bはパルス幅変調方式で符号化(PWM符号化)されているので、ベースバンド信号Bに含まれるパルスのパルス幅の長さに基づいて、ベースバンド信号Bの復号化が可能となる。パルス幅の長さは、パルスの先端部及び後端部、すなわち、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときに、タイマー20により計測された時間に基づいて得ることが可能である。よって、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、すなわち、例外処理実行状態M3において、非同期CPU42がタイマー20により計測された時間に基づいてベースバンド信号Bから時刻情報を取り出すための所定の処理を実行することにより、ベースバンド信号Bから時刻情報を取り出すことができ、取り出された時刻情報に基づいて時刻を修正することができる。
また、ベースバンド信号Bがハイレベルからローレベルに変化するイベントとローレベルからハイレベルに変化するイベントによって、非同期CPU42が駆動されるので、受信器30と非同期CPU42とは同期せずに動作することが可能となる。さらに、非同期CPU42は、この2つのイベントの発生時にタイマー20から読み出した時間の差からパルス幅の長さを算出することができるので、タイマー20と非同期CPU42とは同期せずに動作することが可能となる。これにより、タイマー20、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1は、グローバルクロック(基準クロック)を必要とせずに動作することができる。
ここで、8ビットのプリスケーラー21は、発振回路10から入力される信号の所定周波数、すなわち215ヘルツを1/2m(mは1以上8以下の整数)に分周し、8ビットのカウンター26は1/2mに分周された信号に基づいてカウントするので、タイマー20は、1/214秒以上から2秒未満までの時間を簡素な構成の回路で計測することができる。
また、8ビットのカウンター26は、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期CPU42は、前述の2つのイベントの発生時に8ビットのカウンター26から読み出した数値の差からパルス幅の長さを算出することができるので、8ビットのカウンター26と非同期CPU42とは同期せずに動作することが可能となる。これにより、8ビットのカウンター26、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1は、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
さらに、非同期CPU42は、待機状態M2になると、リーク電流以外のダイナミックな電流が流れなくなり停止する一方、処理が実行可能になるまでの待ち時間(レイテンシ)は少なく、待機状態M2から俊敏に起動することが可能である。
前述の所定の処理は、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスをパルス幅に応じた所定のシンボルに変換する変換ステップを含む。これにより、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスが時刻情報を構成する所定のシンボル(「M」、「1」、「0」)に変換される。
変換ステップは、変換された所定のシンボルに基づいて、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含む。
ここで、受信器30から連続して出力されるベースバンド信号Bにおいて、単位長(1レコード)のベースバンド信号Bの境界、すなわち、1つ前の単位長における最後尾シンボルの付与されたパルスと次の単位長における先頭シンボルの付与されたパルスとを切り分ける(区別する)必要がある。このため、従来は、単位長のベースバンド信号に含まれるパルスから変換された全てのシンボルを、複数レコード分記憶しておき、記憶されたシンボルに基づいて単位長のベースバンド信号Bの境界を検出していた。この場合、シンボルを記憶するメモリーは、複数レコードから変換された全てのシンボル分、例えばx×60シンボル分(xは2以上の整数)の記憶容量が必要となる。これに対し、ベースバンド信号Bに含まれるパルスを所定のシンボルに変換するとともに、変換された所定のシンボルに基づいて単位長のベースバンド信号Bの境界を検出するようにすれば、メモリーの記憶容量は1レコード分のベースバンド信号Bから変換されたシンボル、例えば60シンボル分だけで済む。よって、変換ステップが、変換された所定のシンボルに基づいて、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含むことが好ましい。
また、前述の所定の処理は、変換ステップの前に、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含む。
図5は、図1に示した受信器が出力するベースバンド信号を説明する図である。図5では、信号のレベルがハイレベルのときを「H」、信号のレベルがローレベルのときを「L」として表す。ここで、ベースバンド信号Bには、電磁波伝送路におけるノイズなどの影響により、時間軸方向のずれ(ゆらぎ)、すなわちジッターが生じ得る。そのため、ベースバンド信号Bに含まれるパルスの周期やパルス幅には、時間のずれが生じる可能性がある。図5に示すように、例えば、ベースバンド信号Bに含まれるパルスの先端部又は後端部は、ジッターによりベースバンド信号bに含まれるパルスに対して遅れたり進んだりする(図5における矢印を参照)。その結果、ベースバンド信号Bに含まれるパルスのパルス幅や周期が、ベースバンド信号bに含まれるパルスのパルス幅や周期と異なることがある(b1<a1、b2>a2、B1<A1<B2)。すなわち、ベースバンド信号Bに含まれるパルスの先端部と後端部のうち少なくとも一方に、位相のずれが生じ得る。この場合、変換ステップによりベースバンド信号Bに含まれるパルスを所定のシンボルに変換すると、正しいシンボルに変換できないおそれがある。特に、パルスの先端部の位相は、タイマー20により計測された時間に基づいて当該パルスのパルス幅を算出(検出)するための基準点となるので、変換ステップへの影響が大きい。よって、前述の所定の処理が、変換ステップの前に、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含むことが好ましい。
本実施形態において、例外処理実行状態M3の非同期CPU42は、前述の所定の処理として、割り込み信号の種類に応じて後述の立ち下がり処理S200又は立ち上がり処理S300を実行する。
図4に示したように、立ち下がり処理S200又は立ち上がり処理S300を終了すると、非同期CPU42はメイン処理実行状態M1に移行する。メイン処理実行状態M1において、非同期CPU42はメイン処理S100における前述のホールト命令の続きから処理を再開する。
図6は、図4に示したメイン処理実行状態において実行されるメイン処理のフローチャートである。図6に示すように、システムリセットの信号が解除されてメイン処理S100を開始すると、非同期CPU42は、最初に初期設定を行う(S101)。初期設定において、非同期CPU42は、例えば、プリスケーラー21に分周比mを設定したり、カウンター26に設定値Cを設定したり、タイマー20を駆動して時間の計測を開始したり、プログラムに用いる変数やフラグなどを初期化したりする。
次に、非同期CPU42はホールト命令を実行し(S102)、図4に示す待機状態M2に移行する。
次に、図4に示す例外処理実行状態M3において立ち下がり処理S200又は立ち上がり処理S300が終了し、再びメイン処理実行状態M1に移行すると、非同期CPU42は、S102のホールト命令の続き、すなわち、ベースバンド信号Bに含まれるパルスの位相が位相ロック状態か否か(パルス位相ロック状態か否か)を判定する(S103)。ベースバンド信号Bに含まれるパルスの位相が位相ロック状態でない場合に、非同期CPU42は、S102のホールト命令を再度実行し、ベースバンド信号Bに含まれるパルスの位相が位相ロック状態になるまでS102〜S103を繰り返す。
S103の判定の結果、ベースバンド信号Bに含まれるパルスの位相が位相ロック状態である場合に、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが所定のシンボルに変換済であるか否か(全パルス変換済か否か)を判定する(S104)。ベースバンド信号Bの単位長あたりに含まれる全てのパルスが所定のシンボルに変換済でない場合に、非同期CPU42は、S102のホールト命令を再度実行し、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが所定のシンボルに変換されるまでS102〜S104を繰り返す。
S104の判定の結果、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが所定のシンボルに変換済である場合(全パルス変換済の場合)に、非同期CPU42は時刻修正処理S105を実行する。すなわち、非同期CPU42は、前述の変換ステップにより変換された全ての所定のシンボルから時刻情報を取り出し、取り出された時刻情報を表示装置70に出力して時刻を修正する(S105)。これにより、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが前述の変換ステップにより所定のシンボルに変換されたときに、該全ての所定のシンボルから時刻情報が取り出され、時刻が修正されるので、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち、1つでも所定のシンボルに変換できなかった場合には、該ベースバンド信号Bに基づいて時刻を修正しない。
S105の後、非同期CPU42は、システムリセットの信号が入力されてシステムリセット状態M0に移行するまで、再度S102〜S105を繰り返す。
図7は、図4に示した例外処理実行状態において実行される立ち下がり処理のフローチャートである。図7に示すように、判別器41から立ち下がりの割り込み信号W1が入力されて立ち下がり処理S200を開始すると、非同期CPU42は、ベースバンド信号Bに含まれるパルスの位相チェックが完了しているか否か(パルス位相チェック完了か否か)を判定する(S201)。
S201の判定の結果、ベースバンド信号Bに含まれるパルスの位相チェックが完了していない場合に、非同期CPU42は前述の判定ステップを実行する。すなわち、非同期CPU42は、カウンター26の数値を読み込み(S202)、読み込んだ数値に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内であるか否かを判定する(S203)。
S203の判定の結果、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内である場合に、非同期CPU42は、ベースバンド信号Bに含まれるパルスの位相チェックを完了済にする。(S204)。このとき、ベースバンド信号Bに含まれるパルスの位相が位相ロック状態になる。一方、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内でない場合に、非同期CPU42は、ベースバンド信号Bに含まれるパルスの位相チェックを未完了にする(又は未完了のままにする)(S205)。
一方、S201の判定の結果、ベースバンド信号Bに含まれるパルスの位相チェックが完了している場合、非同期CPU42は、変換ステップを実行するパルスの先端部が未検出であるか否か(パルス先端部未検出か否か)を判定する(S206)。
S206の判定の結果、変換ステップを実行するパルスの先端部が未検出である場合に、非同期CPU42は、カウンター26の数値を読み込み(S207)、読み込んだ数値に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内か否かを判定する(S208)。
S208の判定の結果、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内である場合に、変換ステップを実行するパルスの先端部を検出済にする(S209)。
一方、S206の判定の結果、変換ステップを実行するパルスの先端部が未検出でない、すなわち検出済である場合と、S208の判定の結果、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内でない場合に、何もせずに(変換ステップを実行するパルスの先端部を検出済にせずに)、立ち下がり処理S200を終了する。
図8は、図4に示した例外処理実行状態において実行される立ち上がり処理のフローチャートである。図8に示すように、判別器41から立ち上がりの割り込み信号W2が入力されて立ち上がり処理S300を開始すると、非同期CPU42は、変換ステップを実行するパルスの先端部が検出済であるか否かを判定する(S301)。
S301の判定の結果、変換ステップを実行するパルスの先端部が検出済である場合に、非同期CPU42は前述の変換ステップを実行する。すなわち、非同期CPU42は、カウンター26の数値を読み込み(S302)、読み込んだ数値に基づいて、ベースバンド信号Bに含まれるパルスのパルス幅が0.2秒、すなわちシンボル「M」に対応する長さであるか否か(パルス幅が「M」に対応するか否か)を判定する(S303)。
S303の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「M」に対応する長さである場合に、非同期CPU42は前述の検出ステップを実行する。すなわち、非同期CPU42は、直前のパルスがシンボル「M」に変換済であるか否か(直前パルスが「M」変換済か否か)を判定する(S304)。ここで、図3に示したように、ベースバンド信号bにおいてシンボル「M」に対応するパルスが連続するのは、単位長のベースバンド信号bにおける第60パルス(59秒から60秒まで)と、次の単位長のベースバンド信号bにおける第1パルス(0秒から1秒まで)の場合だけである。よって、直前のパルス及び当該パルスがシンボル「M」に対応する場合、すなわち、シンボル「M」に対応するパルスが連続するときは、単位長のベースバンド信号Bにおける第1パルス(先頭のパルス)を検出したことを意味する。
S304の判定の結果、直前のパルスがシンボル「M」に変換済である場合に、非同期CPU42は、変換したシンボルを格納する配列の添字(ポインタ)を先頭にするとともに、次の単位長のベースバンド信号Bにおける第1パルス(先頭のパルス)を検出するために、リセット、すなわち直前のパルスをシンボル「M」に未変換にする(S305)。なお、変換したシンボルを格納する配列はメモリー50に記憶される。一方、直前のパルスがシンボル「M」に変換済でない場合に、次のパルスにおいてS304の判定をするために、非同期CPU42は、直前のパルスをシンボル「M」に変換済にする(S306)。
S305又はS306の後に、非同期CPU42は、配列にシンボル「M」を格納し、格納後に、配列の添字に1を加算する(S307)。これにより、当該パルスがシンボル「M」に変換される。
次に、非同期CPU42は、配列の添字が最後尾に達したか否か(配列最後尾か否か)を判定する(S308)。配列の添字が最後尾に達した場合に、非同期CPU42は、添字を先頭にするとともに、全パルス変換済にする(S309)。配列の添字が最後尾に達していない場合に、非同期CPU42は、何もしない(S309を行わない)。
一方、S303の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「M」に対応する長さでない場合に、非同期CPU42は、S302においてカウンター26から読み込んだ数値に基づいて、ベースバンド信号Bに含まれるパルスのパルス幅が0.5秒、すなわちシンボル「1」に対応する長さであるか否か(パルス幅が「1」に対応するか否か)を判定する(S310)。
S310の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「1」に対応する長さである場合に、非同期CPU42は、配列にシンボル「1」を格納し、格納後に、配列の添字に1を加算する(S311)。これにより、当該パルスがシンボル「1」に変換される。
また、次のパルスにおいてS304の判定をするために、非同期CPU42は、直前のパルスをシンボル「M」に未変換にする(S312)。
一方、S310の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「1」に対応する長さでない場合に、非同期CPU42は、S302においてカウンター26から読み込んだ数値に基づいて、ベースバンド信号Bに含まれるパルスのパルス幅が0.8秒、すなわちシンボル「0」に対応する長さであるか否か(パルス幅が「0」に対応するか否か)を判定する(S313)。
S313の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「0」に対応する長さである場合に、非同期CPU42は、配列にシンボル「0」を格納し、格納後に、配列の添字に1を加算する(S314)。これにより、当該パルスがシンボル「0」に変換される。
また、S314の後、次のパルスにおいてS304の判定をするために、非同期CPU42はS312を実行する。
一方、S313の判定の結果、ベースバンド信号Bに含まれるパルスのパルス幅がシンボル「0」に対応する長さでない場合、すなわちパルス幅がシンボル「M」、シンボル「1」、及びシンボル「0」の何れにも対応しない場合に、ジッターの影響によりパルス幅が変化したものと考えられる。よって、非同期CPU42は、次のパルスにおいてS201の判定により再度判定ステップを実行するために、ベースバンド信号Bに含まれるパルスの位相チェックを未完了にする(S315)。このとき、ベースバンド信号Bに含まれるパルスの位相が位相ロック状態だった場合には、位相ロック状態が解除される(位相ロック状態でなくなる)。
なお、S315において、非同期CPU42は、分周比m、設定値Cの変更や、受信器30のコンフィギュレーションの変更、例えば送信局の切り替え、受信周波数、その他の設定の変更を行ってもよい。
また、S315の後、次のパルスにおいてS304の判定をするために、非同期CPU42はS312を実行する。
S309の後、S308の判定の結果、配列の添字が最後尾に達していない場合、及びS312の後に、非同期CPU42は、次のパルスにおいてS206の判定をするために、変換ステップを実行するパルスの先端部を未検出にし(S316)、立ち上がり処理S300を終了する。
一方、S301の判定の結果、変換ステップを実行するパルスの先端部が検出済でない場合、すなわち変換ステップを実行するパルスの先端部が未検出である場合に、非同期CPU42は何もせずに立ち上がり処理S300を終了する。
次に、前述した図7及び図8に示したフローチャートについて、さらに図9及び図10の具体例を用いて詳細に説明する。
<判定ステップの具体例>
図9は、ベースバンド信号と非同期CPUの状態との関係を説明する図である。図9では、信号のレベルがハイレベルのときを「H」、信号のレベルがローレベルのときを「L」として表す。図9に示すように、非同期CPU42が待機状態M2のときに、ベースバンド信号Bがハイレベルからローレベルに変化すると、非同期CPU42に立ち下がりの割り込み信号W1が入力され、非同期CPU42は例外処理実行状態M3に移行する(P2)。P2において、例外処理実行状態M3の非同期CPU42は、図7に示した立ち下がり処理S200のS201〜S205を実行する。
S201〜S205では、例えば、未チェック回数を示す変数DPLLをあらかじめ用意しておき、ベースバンド信号に含まれるパルスの位相のずれが所定の時間範囲内であるときに変数DPLLから1を減じる(デクリメントする)ようにする。具体的には、図7に示したS201において、非同期CPU42は、変数DPLLに基づいてベースバンド信号Bに含まれるパルスの位相チェックが完了しているか否かを判定する(例えばDPLL=0?)。また、変数Told及びTnewをあらかじめ用意しておき、S202において、非同期CPU42は、変数Tnewの値を変数Toldに代入した後、読み込んだカウンター26の数値をTnewに代入する。この結果、変数Toldには直前のパルスの先端部で読み込んだカウンター26の数値が、変数Tnewには当該パルスの先端部で読み込んだカウンター26の数値が、それぞれ格納されることになる。ここで、直前のパルスの先端部におけるカウンター26の数値と、当該パルスの先端部におけるカウンター26の数値とが同一又は略同一、すなわち当該パルスの先端部の位相のずれが所定の時間範囲内であれば、前述のジッターが無いか又は小さいと考えられる。よって、S203において、非同期CPU42は、変数Tnewと変数Toldとの差の絶対値を算出し、算出された絶対値がしきい値を示す変数dTより小さいか否かを判定する(|Tnew−Told|<dT)。この場合、図6に示したS101の初期設定において、変数DPLL、Told、及びTnewに初期値(例えば、それぞれ「1」、「0」、「0」)を設定しておく。
また、前述の例の場合、S204において、非同期CPU42は、変数DPLLをデクリメントする(DPLL=DPLL−1)。これにより、パルスの位相チェックが完了済になる。一方、S205において、非同期CPU42は、変数DPLLをリセットする(例えばDPLL=1)。これにより、ベースバンド信号Bに含まれるパルスの位相チェックが未完了になる。
立ち下がり処理S200を終了すると、例外処理実行状態M3の非同期CPU42は、メイン処理実行状態M1に移行し、メイン処理実行状態M1の非同期CPU42は、S102のホールト命令の続きからメイン処理S100を再開する。しかしながら、図6に示したS103において位相ロック状態であると判定され、S104において全パルス変換済であると判定されるまで、非同期CPU42はすぐに再度S102のホールト命令を実行する。よって、図9に示すように、非同期CPU42は、実質的にP2(例外処理実行状態M3)から待機状態M2に移行する。
この場合、ベースバンド信号Bの単位長あたりに含まれる全パルスの変換状態を示すフラグCapturedをあらかじめ用意しておき、図6に示したS101の初期設定において、非同期CPU42はフラグCapturedに未変換(例えば「0」)を設定する。また、S103において、非同期CPU42は、変数DPLLに基づいてベースバンド信号Bに含まれるパルスの位相が位相ロック状態であるか否かを判定する(例えばDPLL=0?)。さらに、S104において、非同期CPU42は、フラグCapturedに基づいてベースバンド信号Bの単位長あたりに含まれる全てのパルスが所定のシンボルに変換済であるか否かを判定する(例えばCaptured=1?)。
次に、ベースバンド信号Bがローレベルからハイレベルに変化すると、待機状態M2の非同期CPU42に立ち上がりの割り込み信号W2が入力され、非同期CPU42は例外処理実行状態M3に移行する。例外処理実行状態M3の非同期CPU42は、図8に示した立ち上がり処理S300を実行する。しかしながら、図7に示したS209において、変換ステップを実行するパルスの先端部を検出済にするまでは、S301において、変換ステップを実行するパルスの先端部が未検出であると判定され、非同期CPU42はすぐに立ち上がり処理S300を終了する。よって、図9に示すように、非同期CPU42は、ベースバンド信号Bがローレベルからハイレベルに変化しても、実質的に待機状態M2のままである。
この場合、変換ステップを実行するパルスの先端部の検出状態を示すフラグPonをあらかじめ用意しておき、図6に示したS101の初期設定において、フラグPonに未検出(例えば「0」)を設定する。
また、例えば、変数DPLLの初期値として2以上の数値(例えば「5」)を設定する場合、図9に示すように、ベースバンド信号Bがハイレベルからローレベルに変化して例外処理実行状態M3に移行したP2、P3、P4、P5、及びP6において、ベースバンド信号Bに含まれる連続する複数のパルスについて、各パルスの位相のずれが全て所定の時間範囲内であるか否かを判定することが可能となる。すなわち、図7に示したS204において、非同期CPU42は、変数DPLLをデクリメントする(DPLL=DPLL−1)。この場合、DPLL=0になったときにベースバンド信号Bに含まれるパルスの位相が位相ロック状態になる。一方、S205において、非同期CPU42は、変数DPLLをリセットする(例えばDPLL=5)。これにより、ベースバンド信号Bに含まれる連続する5つのパルスについて、各パルスの位相のずれが1つでも所定の時間範囲内でない場合には、S205において変数DPLLがリセットされる。
ここで、ベースバンド信号Bに含まれる連続する複数のパルスについて、各パルスの位相のずれが全て変換ステップにおいて許容可能な時間範囲内である場合には、電磁波Aの受信状態が安定していると考えられる。よって、ベースバンド信号Bに含まれる連続する複数のパルスについて、判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判断されたときに、変換ステップを実行することが好ましい。
<変換ステップの具体例>
図10は、ベースバンド信号と非同期CPUの状態との関係を説明する図である。図10では、信号のレベルがハイレベルのときを「H」、信号のレベルがローレベルのときを「L」として表す。図10に示すように、非同期CPU42が待機状態M2のときに、ベースバンド信号Bがハイレベルからローレベルに変化すると、非同期CPU42に立ち下がりの割り込み信号W1が入力され、非同期CPU42は例外処理実行状態M3に移行する(P7)。P7において、例外処理実行状態M3の非同期CPU42は、図7に示したS201でベースバンド信号Bに含まれるパルスの位相チェックが完了していると判定すると、S206〜S209を実行する。
S206〜S209では、前述の例の場合、S206において、非同期CPU42はフラグPonに基づいて変換ステップを実行するパルスの先端部が未検出であるか否かを判定する(例えばPon=0?)。また、前述のS202及びS203と同様に、S207において、非同期CPU42は、変数Tnewの値を変数Toldに代入した後、読み込んだカウンター26の数値をTnewに代入する。ここで、直前のパルスの先端部におけるカウンター26の数値と、当該パルスの先端部におけるカウンター26の数値とが同一又は略同一、すなわち当該パルスの先端部の位相のずれが所定の時間範囲内であれば、当該パルスの先端部で読み込んだカウンター26の数値が当該パルスの先端部の位相であると考えることができ、パルスの先端部の位相を基準にして当該パルスの幅の長さを算出(検出)することが可能となる。よって、S208において、非同期CPU42は、変数Tnewと変数Toldとの差の絶対値を算出し、算出された絶対値がしきい値を示す変数dTより小さいか否かを判定する(|Tnew−Told|<dT)。さらに、S209において、非同期CPU42は、フラグPonを検出済(例えば「1」)にする。なお、S209において、非同期CPU42は、フラグPonを検出済にするとともに、カウンター26を再起動させ、タウンター26の数値をリセットする(例えば、カウントした数値をゼロにする)ようにしてもよい。
次に、ベースバンド信号Bがローレベルからハイレベルに変化すると、待機状態M2の非同期CPU42に立ち上がりの割り込み信号W2が入力され、非同期CPU42は例外処理実行状態M3に移行する(P8)。P8において、例外処理実行状態M3の非同期CPU42は、図8に示したS301で変換ステップを実行するパルスの先端部が検出済であると判定すると、S302〜S316を実行する。
S302〜S316では、前述の例の場合、前述のS202と同様に、S302において、変数Tnewの値を変数Toldに代入した後、読み込んだカウンター26の数値をTnewに代入する。この結果、変数Toldには当該パルスの先端部でS207において読み込んだカウンター26の数値が、変数Tnewには当該パルスの後端部で読み込んだカウンター26の数値が、それぞれ格納されることになる。これにより、当該パルスのパルス幅の長さを算出することができる。S303において、非同期CPU42は、変数Tnewと変数Toldとの差の絶対値を算出し、算出された絶対値がシンボル「M」に対応する所定の数値範囲内であるか否かを判定する。具体的には、0.2秒に対応するカウンター26の数値が30である場合、算出された絶対値が15以上45以下か否かを判定する(15≦|Tnew−Told|≦45?)。
また、前述の例の場合、直前のパルスをシンボル「M」に変換状態を示すフラグTmarkをあらかじめ用意しておき、S304において、非同期CPU42は、フラグTmarkに基づいて直前のパルスをシンボル「M」に変換済であるか否かを判定する(例えばTmark=1?)。さらに、配列の添字を示す変数Pointerをあらかじめ用意しておき、S305において、非同期CPU42は、変数Pointerを先頭(例えばPointer=0)にするとともに、フラグTmarkを未変換(例えば「0」)にする。一方、S306において、非同期CPU42はフラグTmarkを変換済(例えば「1」)にする。この場合、図6に示したS101の初期設定において、フラグTmarkを未変換(例えば「0」)に設定し、変数Pointerを先頭(例えばPointer=0)にしておく。
また、前述の例の場合、単位長あたりのベースバンド信号bに含まれる全パルス数、すなわち60個の配列Bufferをあらかじめ用意しておき、S307において、非同期CPU42は、変数Pointerが指し示す配列Bufferに「M」を格納し(Buffer[Pointer]=「M」)、格納した後に変数Pointerをインクリメントする(Pointer=Pointer+1)。この場合、図6に示したS101の初期設定において、非同期CPU42は、全ての配列Bufferをクリア(例えばゼロに)しておく。
また、前述の例の場合、S308において、非同期CPU42は、変数Pointerに基づいて、配列の添字が最後尾に達したか否かを判定する。具体的には、60個の配列Bufferの添字として0から59を使用する場合に、非同期CPU42は、変数Pointerが60か否かで判定する(Pointer=60?)。さらに、S309において、非同期CPU42は、変数Pointerを先頭(例えばPointer=0)にするとともに、フラグCapturedを変換済(例えば「1」)にする。
また、前述の例の場合、S303と同様に、S310において、非同期CPU42は、変数Tnewと変数Toldとの差の絶対値を算出し、算出された絶対値がシンボル「1」に対応する所定の数値範囲内か否かを判定する。具体的には、0.5秒に対応するカウンター26の数値が75である場合、算出された絶対値が60以上90以下か否かで判定する(60≦|Tnew−Told|≦90?)。また、S311において、非同期CPU42は、変数Pointerが指し示す配列Bufferに「1」を格納し(Buffer[Pointer]=「1」)、格納した後に変数Pointerをインクリメントする(Pointer=Pointer+1)。さらに、S312において、非同期CPU42は、フラグTmarkを未変換(例えば「0」)にする。
また、前述の例の場合、S303と同様に、S313において、非同期CPU42は、変数Tnewと変数Toldとの差の絶対値を算出し、算出された絶対値がシンボル「0」に対応する所定の数値範囲内か否かを判定する。具体的には、0.8秒に対応するカウンター26の数値が120である場合、算出された絶対値が105以上135以下か否かで判定する(105≦|Tnew−Told|≦135?)。また、S314において、非同期CPU42は、変数Pointerが指し示す配列Bufferに「0」を格納し(Buffer[Pointer]=「0」)、格納した後に変数Pointerをインクリメントする(Pointer=Pointer+1)。一方、S315において、非同期CPU42は、変数DPLLをリセットする(例えばDPLL=5)。
さらに、前述の例の場合、S316において、非同期CPU42は、フラグPonを未検出(例えば「0」)にする。
以後、ベースバンド信号Bに含まれる各パルスについて、非同期CPU42は、フラグCapturedが変換済(例えば「1」)になるまで、P7及びP8と同様の処理を繰り返す。
単位長のベースバンド信号Bにおいて、第1パルスから第59パルスまでに対応する所定のシンボルをそれぞれ配列Bufferに格納後、第60パルス(最後尾)に対応する所定のシンボルを配列Bufferに格納するときに、ベースバンド信号Bがローレベルからハイレベルに変化すると、待機状態M2の非同期CPU42は例外処理実行状態M3に移行する。図8に示した立ち上がり処理S300において、S309でフラグCapturedが変換済(例えば「1」)になる。
立ち上がり処理S300を終了すると、非同期CPU42は、メイン処理実行状態M1に移行し、S102のホールト命令の続きからメイン処理S100を再開する。図6に示したメイン処理S100では、P6において変数DPLLが「0」になるので、S103で位相ロック状態であると判定される。また、前述したようにフラグCapturedが変換済(例えば「1」)になるので、S104で全パルス変換済であると判定される。これにより、非同期CPU42は、S105の時刻修正処理を実行することができる。S105の時刻修正処理では、非同期CPU42は、全ての配列Buffer(例えばBuffer[0]〜Buffer[59])に格納された所定のシンボルをメモリー50から読み出し、読み出した所定のシンボルを時刻情報を含む情報に復号化し、復号化された時刻情報を表示装置70に出力して時刻を修正する。
<検出ステップの具体例>
なお、受信器30により単位長のベースバンド信号Bの途中から出力される場合、シンボル「M」に対応するパルスが連続するときに、ベースバンド信号Bがローレベルからハイレベルに変化すると、待機状態M2の非同期CPU42は例外処理実行状態M3に移行する。図8に示す立ち下がり処理S300において、S305で変数Pointerが先頭(例えばPointer=0)になり、単位長のベースバンド信号Bの第1パルス(先頭)からパルスに対応する所定のシンボルを配列Bufferに格納し直す(上書きする)。
本実施形態では、非同期回路40が判別器41を含んで構成され、判別器41が、受信器30から入力されるベースバンド信号Bに基づいて、立ち下がりの割り込み信号W1又は立ち上がりの割り込み信号W2を非同期CPU42に出力するようにしたが、これに限定されない。例えば、メモリーマップドI/O方式を用いてメモリー50のメモリー空間内に受信器30に対応するアドレスを割り当てておき、非同期CPU42は、受信器30から入力されるベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときに、受信器30に割り当てられたアドレスを読み込んで、ベースバンド信号Bがハイレベルからローレベルに変化したか、又はローレベルからハイレベルに変化したかを判別し、立ち下がり処理S200又は立ち下がり処理S300を実行するようにしてもよい。
このように、本実施形態における時刻修正回路1によれば、非同期CPU42は、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、前述の所定の処理を実行し、該所定の処理を実行後に待機状態M2になる。ここで、受信器30により出力されたベースバンド信号Bはパルス幅変調方式で符号化(PWM符号化)されているので、ベースバンド信号Bに含まれるパルスのパルス幅の長さに基づいて、ベースバンド信号Bから時刻情報を取り出すことが可能となる。パルス幅の長さは、パルスの先端部及び後端部、すなわち、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときに、タイマー20により計測された時間に基づいて得ることが可能である。よって、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、すなわち、例外処理実行状態M3において、非同期CPU42がタイマー20により計測された時間に基づいてベースバンド信号Bから時刻情報を取り出すための所定の処理を実行することにより、ベースバンド信号Bから時刻情報を取り出すことができ、取り出された時刻情報に基づいて時刻を修正することができる。
また、ベースバンド信号Bがハイレベルからローレベルに変化するイベントとローレベルからハイレベルに変化するイベントによって、非同期CPU42が駆動されるので、受信器30と非同期CPU42とは同期せずに動作することが可能となる。さらに、非同期CPU42は、この2つのイベントの発生時にタイマー20から読み出した時間の差からパルス幅の長さを算出することができるので、タイマー20と非同期CPU42とは同期せずに動作することが可能となる。これにより、タイマー20、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1は、グローバルクロック(基準クロック)を必要とせずに動作することができる。これにより、非同期CPU42の動作速度を上げても非同期CPU42以外の消費電流には影響せず、グローバルクロックを用いる場合と比較して、非同期CPU42以外における消費電力を低減させることができる。
さらに、非同期CPU42は、待機状態(スタンバイ状態)M2になると、リーク電流以外のダイナミックな電流が流れなくなり停止する一方、処理が実行可能になるまでの待ち時間(レイテンシ)は少なく、待機状態M2から俊敏に起動することが可能である。これにより、ベースバンド信号Bがハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、待機状態の非同期CPU42は俊敏に起動、すなわち、例外処理実行状態M3に移行して前述の所定の処理を実行することができる。また、非同期CPU42が前述の所定の処理を実行後に待機状態M2になることにより、所定の処理を実行中以外の間に流れる電流を減らすことができ、非同期CPU42における消費電力を低減させることができるとともに、電磁放射を抑制してノイズを減少させることができる。
また、本実施形態における時刻修正回路1によれば、タイマー20は、発振回路10から入力される信号の周波数を1/2m(mは1以上8以下の整数)にした信号を出力する8ビットのプリスケーラー21と、8ビットのプリスケーラー21から入力される信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする8ビットのカウンター26とを有し、非同期CPU42は、8ビットのカウンター26によりカウントされた数値に基づいて、前述の所定の処理を実行する。ここで、8ビットのプリスケーラー21は、発振回路10から入力される信号の所定周波数、すなわち215ヘルツを1/2mに分周し、8ビットのカウンター26は1/2mに分周された信号に基づいてカウントするので、タイマー20は、1/214以上から2秒未満までの時間を簡素な構成の回路で計測することができる。これにより、タイマー20における消費電力を低減させることができる。
また、8ビットのカウンター26は、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期CPU42は、前述の2つのイベントの発生時に8ビットのカウンター26から読み出した数値の差からパルス幅の長さを算出することができるので、8ビットのカウンター26と非同期CPU42とは同期せずに動作することが可能となる。これにより、8ビットのカウンター26、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1は、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
また、本実施形態における時刻修正回路1によれば、8ビットのカウンター26に設定する設定値Cとして、所定の数値の2の補数を設定する。ここで、設定値Cとして所定の数値をそのまま8ビットのカウンター26に設定してカウントアップする場合、カウントした数値が設定値Cに達したか否かを判定し、設定値Cに達した状態でカウントしたときにリセットするための比較器が必要となる。これに対し、設定値Cとして所定の数値の2の補数を8ビットのカウンター26に設定してカウントアップすると、所定の数値までカウントアップしたときに8ビットのカウンター26から出力されるキャリー信号を用いて設定値Cのリセット(再設定)を行うことができるので比較器は不要となる。よって、設定値Cとして所定の数値の2の補数を8ビットのカウンター26に設定することにより、比較器がない分だけ8ビットのカウンター26における消費電力を低減することができる。
また、本実施形態における時刻修正回路1によれば、前述の所定の処理は、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスを所定のシンボルに変換する変換ステップを含む。これにより、タイマー20により計測された時間に基づいて、ベースバンド信号Bに含まれるパルスが所定のシンボル、すなわち、時刻情報を構成するシンボル(「M」、「1」、「0」)に変換されるので、ベースバンド信号Bから時刻情報を取り出すことができる。
また、本実施形態における時刻修正回路1によれば、前述の変換ステップは、変換された所定のシンボルに基づいて、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含む。ここで、受信器30から連続して出力されるベースバンド信号Bにおいて、単位長(1レコード)のベースバンド信号Bの境界、すなわち、1つ前の単位長における最後尾のパルスと次の単位長における先頭のパルスとを切り分ける(区別する)必要がある。このため、従来は、単位長のベースバンド信号に含まれるパルスから変換された全てのシンボルを、複数レコード分記憶しておき、記憶されたシンボルに基づいて単位長のベースバンド信号Bの境界を検出していた。この場合、シンボルを記憶するメモリーは、複数レコードから変換された全てのシンボル分、例えばx×60シンボル分(xは2以上の整数)の記憶容量が必要となる。これに対し、ベースバンド信号Bに含まれるパルスを所定のシンボルに変換するとともに、変換された所定のシンボルに基づいて単位長のベースバンド信号Bの境界を検出するようにすれば、メモリーの記憶容量は1レコード分のベースバンド信号Bから変換されたシンボル、例えば60シンボル分だけで済む。よって、変換ステップが、変換された所定のシンボルに基づいて、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち先頭のパルスを検出する検出ステップを含むことにより、単位長のベースバンド信号Bの境界を検出することができるとともに、メモリー50の記憶容量を減少させることができる。これにより、記憶容量が少ない分だけメモリー50における回路コストと消費電力を低減させることができる。
また、本実施形態における時刻修正回路1によれば、前述の所定の処理は、変換ステップの前に、計測された時間に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップが含む。ここで、ベースバンド信号Bには、ノイズなどの影響により、時間軸方向のずれ(ゆらぎ)、すなわちジッターが生じ得る。そのため、ベースバンド信号Bに含まれるパルスの周期やパルス幅には、時間のずれが生じる可能性がある。すなわち、ベースバンド信号Bに含まれるパルスの先端部と後端部のうち少なくとも一方に、位相のずれが生じ得る。特に、パルスの先端部の位相は、タイマー20により計測された時間に基づいて当該パルスのパルス幅を算出(検出)するための基準点となるので、変換ステップへの影響が大きい。よって、前述の所定の処理が、変換ステップの前に、計測された時間に基づいて、ベースバンド信号Bに含まれるパルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含むことにより、ベースバンド信号Bに含まれるパルスの位相のずれが、変換ステップにおいて許容可能な時間範囲内であることを確認してから変換ステップを実行することができ、変換ステップにおける所定のシンボルへの変換精度を高めることができる。
また、本実施形態における時刻修正回路1によれば、変換ステップは、連続する複数のパルスについて判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、実行される。ここで、ベースバンド信号Bに含まれる連続する複数のパルスについて、各パルスの位相のずれが全て変換ステップにおいて許容可能な時間範囲内である場合には、電磁波Aの受信状態が安定していると考えられる。よって、ベースバンド信号Bに含まれる連続する複数のパルスについて、判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、変換ステップを実行することにより、変換ステップにおける所定のシンボルへの変換精度を更に高めることができる。
また、本実施形態における時刻修正回路1によれば、非同期CPU42は、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが前述の変換ステップにより所定のシンボルに変換されたときに、該変換された全ての所定のシンボルから時刻情報を取り出し、該取り出された時刻情報に基づいて時刻を修正する時刻修正処理S105を実行する。これにより、ベースバンド信号Bの単位長あたりに含まれる全てのパルスが前述の変換ステップにより所定のシンボルに変換されたときに、該全ての所定のシンボルから時刻情報が取り出され、時刻が修正されるので、ベースバンド信号Bの単位長あたりに含まれる全てのパルスのうち、1つでも所定のシンボルに変換できなかった場合には、該ベースバンド信号Bに基づいて時刻を修正しない。これにより、修正される時刻の信頼性を高めることができる。
(第2実施形態)
図11は、本発明に係る時刻修正回路の第2実施形態を示すものであり、同図は、本発明に係る時刻修正回路の第2実施形態を説明するブロック図である。なお、特に記載がない限り、前述した第1実施形態と同一構成部分は同一符号をもって表し、その説明を省略する。また、図示しない構成部分は、前述した第1実施形態と同一とする。
図11に示すように、時刻修正回路1Aは、計時手段として、図1に示したタイマー20に代えて所定ビットのカウンター20Aを用いている。所定ビットのカウンター20Aは、発振回路10から入力される所定周波数fの信号に基づいて、ゼロから所定の設定値Cまでの数値を循環しながらカウントする。例えば、所定ビットのカウンター20Aは、発振回路10から入力される信号の一周期(一パルス)ごとに、1つずつカウントアップ(計数)し、ゼロからカウントアップした数値が所定の設定値Cに達した状態でカウントアップしたときに、ゼロにリセットされるようになっている。所定の設定値Cは、非同期バス60を介して非同期CPU42によってあらかじめ設定される数値である。なお、第1実施形態のカウンター26と同様に、所定ビットのカウンター20Aは、カウントアップする場合に限定されず、カウントダウンするようにしてもよい。
所定ビットのカウンター20Aに設定する設定値Cは、第1実施形態のカウンター26と同様に、所定の数値の2の補数を設定することが好ましい。ここで、設定値Cとして所定の数値をそのまま所定ビットのカウンター20Aに設定してカウントアップする場合、カウントした数値が設定値Cに達したか否かを判定し、設定値Cに達した状態でカウントしたときにリセットするための比較器が必要となる。これに対し、設定値Cとして所定の数値の2の補数を所定ビットのカウンター20Aに設定してカウントアップすると、所定の数値までカウントアップしたときにカウンター20Aから出力されるキャリー信号を用いて設定値Cのリセット(再設定)を行うことができるので比較器は不要となる。
非同期CPU42は、非同期バス60を介して所定ビットのカウンター20Aの数値を読み込むことにより、所定ビットのカウンター20Aにより計測された時間を取得する。すなわち、非同期CPU42は、所定ビットのカウンター20Aによりカウントされた数値に基づいて前述の所定の処理を実行する。
ここで、所定ビットのカウンター20Aは、所定周波数fの信号に基づいてカウントするので、発振回路10が発振する信号の周期の整数倍の時間を簡素な構成の回路で計測することができる。また、所定ビットのカウンター20Aは、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期CPU42は、前述の2つのイベントの発生時に所定ビットのカウンター20Aから読み出した数値の差からパルス幅の長さを算出することができるので、所定ビットのカウンター20Aと非同期回路42とは同期せずに動作することが可能となる。これにより、所定ビットのカウンター20A、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1は、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
所定ビットのカウンター20Aのビット数は、発振回路10から入力される信号の所定周波数fに基づいて定められる。すなわち、発振回路10は所定周波数fの信号として2n(nは正の整数)ヘルツの信号を発振する場合、所定ビットのカウンター20Aは、以下の式(2)で表される時間T秒までの時間を計測することができる。
T=C/2n …(2)
この場合、所定ビットはn+1ビットであることが好ましい。n+1ビットのカウンター20Aは、設定値Cとして1以上2n+1−1以下の整数値を設定可能である。これにより、第1実施形態と同様に、式(2)から、n+1ビットのカウンター20Aは1/2n以上から2n+1/2n、すなわち2秒未満までの時間T(1/2n≦T<2)を計測することができる。
また、発振回路10は所定周波数fの信号として215、すなわち32768ヘルツの信号を発振する場合、所定ビットのカウンター20Aは、以下の式(3)で表される時間T秒までの時間を計測することができる。
T=C/215 …(3)
この場合、所定ビットは16ビットであることが好ましい。16ビットのカウンター20Aは、設定値Cとして1以上216−1以下の整数値を設定可能である。これにより、第1実施形態と同様に、式(3)から、16ビットのカウンター20Aは1/215以上から216/215、すなわち2秒未満までの時間T(1/215≦T<2)を計測することができる。
このように、本実施形態における時刻修正回路1Aによれば、計時手段は、所定周波数fの信号に基づいてゼロから設定値Cまでの数値を循環しながらカウントする所定ビットのカウンター20Aであり、非同期CPU42は、所定ビットのカウンター20Aによりカウントされた数値に基づいて前述の所定の処理を実行する。ここで、所定ビットのカウンター20Aは、所定周波数fの信号に基づいてカウントするので、発振回路10が発振する信号の周期の整数倍の時間を簡素な構成の回路で計測することができる。これにより、計時手段として、例えばタイムウォッチなどの複雑な構成の回路で時間を計測する場合と比較して、所定ビットのカウンター20Aによって、計時手段における消費電力を低減させることができる。
また、所定ビットのカウンター20Aは、ゼロから設定値までの数値を循環しながらカウントするので、カウント開始後はフリーランニングとなる。一方、非同期CPU42は、前述の2つのイベントの発生時に所定ビットのカウンター20Aから読み出した数値の差からパルス幅の長さを算出することができるので、所定ビットのカウンター20Aと非同期回路42とは同期せずに動作することが可能となる。これにより、所定ビットのカウンター20A、受信器30、及び非同期CPU42は、相互に同期せずに、すなわち、非同期に動作することが可能であるから、時刻修正回路1Aは、かかる構成によってもグローバルクロック(基準クロック)を必要とせずに動作することができる。
また、本実施形態における時刻修正回路1Aによれば、設定値Cとして、所定ビットのカウンター20Aに所定の数値の2の補数を設定する。ここで、設定値Cとして所定の数値をそのまま所定ビットのカウンター20Aに設定してカウントアップする場合、カウントした数値が設定値に達したか否かを判定し、設定値に達した状態でカウントしたときにカウントした数値をリセットするための比較器が必要となる。これに対し、設定値として所定の数値の2の補数を所定ビットのカウンター20Aに設定してカウントアップすると、所定の数値までカウントアップしたときにカウンター20Aから出力されるキャリー信号を用いて設定値Cのリセット(再設定)を行うことができるので比較器は不要となる。よって、設定値Cとして所定の数値の2の補数を所定ビットのカウンター20Aに設定することにより、比較器がない分だけ所定ビットのカウンター20Aにおける消費電力を低減することができる。
また、本実施形態における時刻修正回路1Aによれば、発振回路10が発振する信号の周波数は2nヘルツであり、計時手段はn+1ビットのカウンター20Aである。これにより、n+1ビットのカウンター20Aは、1/2n以上から2n+1/2n、すなわち2秒未満までの時間Tを計測することができる。
また、本実施形態における時刻修正回路1Aによれば、発振回路10が発振する信号の周波数は215ヘルツであり、計時手段は16ビットのカウンター20Aである。これにより、16ビットのカウンター20Aは、1/215以上から216/215、すなわち2秒未満までの時間Tを計測することができる。
(電子機器)
次に、図12及び図13を参照して本発明に係る電子機器について説明する。図12は、本発明に係る電子機器の一例を説明するブロック図である。なお、特に記載がない限り、前述した時刻修正回路の第1実施形態と同一構成部分は同一符号をもって表し、その説明を省略する。また、図示しない構成部分は、前述した時刻修正回路の第1実施形態と同一とする。
図12に示すように、時計100は、本発明に係る時刻修正回路1と、表示装置70と、を備える。本実施形態では、時計100は、第1実施形態の時刻修正回路1を備えるようにしたが、第2実施形態の時刻修正回路1Aであってもよい。
図9及び図10に示したように、非同期CPU42は、ベースバンド信号Bに対して停止している、すなわち、待機状態M2である時間が長いので、時刻修正以外の演算処理、例えば刻時処理S400を行わせることができる。
第1実施形態の時刻修正回路1と同様に、発振回路10は所定周波数fの信号として215、すなわち32768ヘルツのパルス信号を発振する場合、タイマー20には、8ビットのプリスケーラー21と、8ビットのカウンター26とが用いられる。この場合、タイマー20は、前述の式(1)で表される時間T秒までの時間を計測することができるので、分周比mとして「28」、設定値Cとして「128」を設定すると、タイマー20は1/215以上から28×27/215、すなわち1秒までの時間T(1/215≦T≦1)を計測することができる。
カウンター26は、設定値C、すなわち「128」に達したときに、刻時の割り込み信号W3を非同期CPU42に出力する。これにより、タイマー20は1秒周期で刻時の割り込み信号W3を出力することができ、非同期CPU42は、新たな回路を付加することなく、1秒ごとに刻時する刻時処理S400を実行するができる。
なお、設定値Cとして、「128」の2の補数をカウンター26に設定する場合には、カウンター26に発生するオーバーフロー(キャリー信号)が刻時の割り込み信号W3となる。
図13は、非同期CPUに入力される割り込み信号の割り込みレベルを説明する図である。図13では、メイン処理S100におけるS101〜S105の処理を「メインルーチン」として表す。時計100における刻時は、メインルーチンと刻時処理S400とによって行われる。図13に示すように、メインルーチンの実行中に刻時の割り込み信号W3が入力されると、非同期CPU42は刻時処理S400を開始する。刻時の割り込み信号W3の割り込みレベルは、立ち下がりの割り込み信号W1及び立ち上がりの割り込み信号W2の割り込みレベルよりも低く設定されている。すなわち、刻時処理S400の実行中により割り込みレベルの高い割り込み信号、例えば立ち下がりの割り込み信号W1が入力されると、非同期CPU42は刻時処理S400を中断して立ち下がり処理S200を開始する。そして、立ち下がり処理S200の終了後、非同期CPU42は、刻時処理S400を再開し、刻時処理S400の終了後にメインルーチンを実行する。また、メインルーチンの実行中に割り込みレベルの高い割り込み信号、例えば立ち上がりの割り込み信号W2が入力されると、非同期CPU42は立ち上がり処理S300を開始する。そして、立ち上がり処理S300の終了後、非同期CPU42はメインルーチンを実行する。
本実施形態では、時刻修正回路1のタイマー20が刻時の割り込み信号W3を出力するようにしたが、これに限定されない。刻時の割り込み信号W3を1秒周期で非同期CPU42に出力する限り、例えば、時刻修正回路1のタイマー20以外のタイマーを設け、当該タイマーが1秒周期で刻時の割り込み信号W3を出力するようにしてもよい。
また、本発明に係る時刻修正回路1,1Aは、時計100以外の電子機器、例えば卓上表示装置、携帯表示措置、各種センシング装置などにも適用することができる。
このように、本実施形態における時計100によれば、前述した本発明に係る時刻修正回路1を備えるので、従来の電子機器と比較して、消費電力を低減させることができるとともに、電磁放射を抑制してノイズを減少させることができる。これにより、低消費電力による長い稼働時間を有し、低ノイズによる高い信頼性を有する電子機器を実現することができる。
なお、前述の各実施形態の構成を組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は、前述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
1…時刻修正回路、10…発振回路、11…振動子、20…タイマー、21…プリスケーラー、26…カウンター、30…受信器、31…アンテナ、40…非同期回路、41…判別器、42…非同期CPU、50…メモリー、60…非同期バス、70…表示装置、A…電磁波、b,B…ベースバンド信号、W1…立ち下がりの割り込み信号、W2…立ち上がりの割り込み信号。

Claims (13)

  1. 時間を計測する計時手段と、
    時刻に関する時刻情報を含み、パルス幅変調方式によって符号化された第1ベースバンド信号について、前記第1ベースバンド信号に基づく電磁波を受信し、前記受信した電磁波に基づいて第2ベースバンド信号を出力する受信手段と、
    前記第2ベースバンド信号に基づいて時刻を修正する非同期回路と、を備え、
    前記非同期回路は、前記第2ベースバンド信号がハイレベルからローレベルに変化したときとローレベルからハイレベルに変化したときのうち少なくとも一方のときに、前記計測された時間に基づいて前記第2ベースバンド信号から前記時刻情報を取り出すための所定の処理を実行し、前記所定の処理を実行後に待機状態になる
    ことを特徴とする時刻修正回路。
  2. 所定周波数の信号を発振する発振回路を備え、
    前記計時手段は、前記所定周波数の信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする所定ビットのカウンターであり、
    前記非同期回路は、前記所定ビットのカウンターによりカウントされた数値に基づいて前記所定の処理を実行する
    ことを特徴とする請求項1に記載の時刻修正回路。
  3. 前記設定値として所定の数値の2の補数を前記所定ビットのカウンターに設定する
    ことを特徴とする請求項2に記載の時刻修正回路。
  4. 前記所定周波数は2n(nは正の整数)ヘルツであり、
    前記所定ビットは、n+1ビットである
    ことを特徴とする請求項2又は3に記載の時刻修正回路。
  5. 前記所定周波数は215ヘルツであり、
    前記所定ビットは、16ビットである
    ことを特徴とする請求項2乃至4の何れか一項に記載の時刻修正回路。
  6. 前記計時手段は、前記発振回路から入力される信号の周波数を1/2m(mは1以上8以下の整数)にした信号を出力する8ビットのプリスケーラーと、前記8ビットのプリスケーラーから入力される信号に基づいて、ゼロから設定値までの数値を循環しながらカウントする8ビットのカウンターとを有し、
    前記非同期回路は、前記8ビットのカウンターによりカウントされた数値に基づいて前記所定の処理を実行する
    ことを特徴とする請求項5に記載の時刻修正回路。
  7. 前記設定値として所定の数値の2の補数を前記8ビットのカウンターに設定する
    ことを特徴とする請求項6に記載の時刻修正回路。
  8. 前記所定の処理は、前記計時手段により計測された時間に基づいて、前記第2ベースバンド信号に含まれるパルスを所定のシンボルに変換する変換ステップを含む
    ことを特徴とする請求項1乃至7の何れか一項に記載の時刻修正回路。
  9. 前記変換ステップは、前記変換された所定のシンボルに基づいて、前記第2ベースバンド信号の単位長あたりに含まれる全ての前記パルスのうち先頭のパルスを検出する検出ステップを含む
    ことを特徴とする請求項8に記載の時刻修正回路。
  10. 前記所定の処理は、前記変換ステップの前に、前記計測された時間に基づいて、前記パルスの位相のずれが所定の時間範囲内であるか否かを判定する判定ステップを含む
    ことを特徴とする請求項8又は9に記載の時刻修正回路。
  11. 前記変換ステップは、連続する複数の前記パルスについて前記判定ステップにより各パルスの位相のずれが全て所定の時間範囲内であると判定されたときに、実行される
    ことを特徴とする請求項10に記載の時刻修正回路。
  12. 前記非同期回路は、前記第2ベースバンド信号の単位長あたりに含まれる全ての前記パルスが前記変換ステップにより前記所定のシンボルに変換されたときに、該変換された全ての所定のシンボルから前記時刻情報を取り出し、該取り出された時刻情報に基づいて時刻を修正する時刻修正処理を実行する
    ことを特徴とする請求項8乃至11の何れか一項に記載の時刻修正回路。
  13. 請求項1乃至12の何れかに記載の時刻修正回路を備える
    ことを特徴とする電子機器。
JP2009201626A 2009-09-01 2009-09-01 時刻修正回路及び電子機器 Withdrawn JP2011053057A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009201626A JP2011053057A (ja) 2009-09-01 2009-09-01 時刻修正回路及び電子機器
US12/870,312 US8253456B2 (en) 2009-09-01 2010-08-27 Time correction circuit and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009201626A JP2011053057A (ja) 2009-09-01 2009-09-01 時刻修正回路及び電子機器

Publications (1)

Publication Number Publication Date
JP2011053057A true JP2011053057A (ja) 2011-03-17

Family

ID=43623928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009201626A Withdrawn JP2011053057A (ja) 2009-09-01 2009-09-01 時刻修正回路及び電子機器

Country Status (2)

Country Link
US (1) US8253456B2 (ja)
JP (1) JP2011053057A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4678057B2 (ja) * 2009-01-09 2011-04-27 カシオ計算機株式会社 時刻情報受信装置、電波時計およびプログラム
CN103116385B (zh) * 2013-03-01 2015-11-25 华为技术有限公司 校正电路及实时时钟电路
US10557932B1 (en) * 2018-11-28 2020-02-11 Qualcomm Incorporated Clock oscillator detection
CN112787755B (zh) * 2020-12-30 2022-12-02 北京千方科技股份有限公司 一种基于后向纠错机制的解码方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1082875A (ja) * 1996-09-09 1998-03-31 Furuno Electric Co Ltd 電子時計および計時内容補正方法
JP2005083990A (ja) * 2003-09-10 2005-03-31 Seiko Precision Inc 時刻情報検出方法、時刻情報検出装置および電波修正時計

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008211352A (ja) 2007-02-23 2008-09-11 Seiko Epson Corp 圧電振動子、発振器、リアルタイムクロック、および、電波時計受信モジュール
US8064861B2 (en) * 2008-04-14 2011-11-22 Silicon Laboratories Inc. Circuit and method for antenna selection in an antenna diversity receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1082875A (ja) * 1996-09-09 1998-03-31 Furuno Electric Co Ltd 電子時計および計時内容補正方法
JP2005083990A (ja) * 2003-09-10 2005-03-31 Seiko Precision Inc 時刻情報検出方法、時刻情報検出装置および電波修正時計

Also Published As

Publication number Publication date
US20110050306A1 (en) 2011-03-03
US8253456B2 (en) 2012-08-28

Similar Documents

Publication Publication Date Title
KR100687230B1 (ko) 알티씨 장치 및 알티씨 장치의 현재시각 보정 방법
US9134752B2 (en) Time measurement device, micro-controller and method of measuring time
JP2011053057A (ja) 時刻修正回路及び電子機器
JP2006309479A (ja) クロック補正回路及びクロック補正方法並びにマイクロコントローラ
JP5114218B2 (ja) 周波数補正回路及びこれを用いた時計装置
KR20150007522A (ko) 클럭 지연 검출회로 및 이를 이용하는 반도체 장치
JP2008172574A (ja) クロック位相シフト回路
JP2007194711A (ja) マイクロコンピュータ
JP2008258861A (ja) クロック監視回路及びルビジウム原子発振器
JP6853093B2 (ja) カウンタ回路
JP2014178180A (ja) 電子時計
JP5307532B2 (ja) 周波数等変化測定法及びその装置
CN108063619B (zh) 原子频标频率修正装置及原子频标
JP5408028B2 (ja) 計時機能付き電子機器およびその制御方法
JP5119002B2 (ja) 時計回路および電子時計
JP2021182808A (ja) 同期制御システム
JP2002286876A (ja) 時刻情報検出方法、時刻情報検出装置および電波修正時計
JP6814660B2 (ja) システムタイマおよび同システムタイマを備えた測量機
JPH0221824Y2 (ja)
JP2016184366A (ja) タイマ補正装置、タイマ補正方法及びタイマ補正プログラム
JP2002217713A (ja) 基準周波数発生装置
JP2004354314A (ja) 時刻情報取得装置、それを備えた電波修正時計及び電子機器
JP3783323B2 (ja) ディジタルpll回路
JP2014033413A (ja) 半導体装置及び周波数誤差算出プログラム
JPH08320734A (ja) 情報処理装置の内蔵時計

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130701

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20130826