(57)【要約】【課題】Ｉ２Ｃバスを介して接続された時計デバイスからＣＰＵへの時刻データ取得に、ＣＰＵの制御時間を大幅に短縮してその負荷を大幅に軽減する。【解決手段】ＣＰＵ１１のソフトウェア処理によってＩ２Ｃバスを直接制御し、Ｉ２Ｃバスに接続される時計ＩＣデバイス（ＲＴＣ）１５から取得する時刻データを基にディジタル処理を行う装置において、装置の起動時に、時計デバイスからＩ２Ｃバス経由で時刻データを取得して、時刻データを内部メモリ１３に保存し、内蔵タイマ１１Ａからの一定周期の割り込みの都度、該周期に相当する時間だけ内部メモリに保存する時刻データをインクリメントし、時刻データを必要とする時に内部メモリに保存する時刻データを読み出す。  一定時間毎または特定される時刻に、時計デバイスから時刻データを取得し、該時刻データで内部メモリに保存されている時刻データを書替えることも含む。【選択図】  図１
2006172030.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル処理装置本体に搭載するＣＰＵのソフトウェア処理によってＩ２Ｃバスを直接制御し、Ｉ２Ｃバスに接続されるデバイスとの間でデータを入出力し、前記デバイスの１つになる時計デバイスから前記Ｉ２Ｃバス経由で取得する時刻データを基にディジタル処理を行うディジタル処理装置において、
前記ＣＰＵは、
ディジタル処理装置の起動時に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得する過程と、
前記過程で取得した前記時刻データを前記ディジタル処理装置の内部メモリに保存する過程と、
内蔵タイマからの一定周期の割り込みの都度、該周期に相当する時間だけ前記内部メモリに保存する時刻データをインクリメントする過程と、
前記時刻データを必要とする時に前記内部メモリに保存する時刻データを読み出す過程と、
を備えたことを特徴とするディジタル処理装置における時刻データ取得方法。
【請求項２】
ディジタル処理装置本体に搭載するＣＰＵのソフトウェア処理によってＩ２Ｃバスを直接制御し、Ｉ２Ｃバスに接続されるデバイスとの間でデータを入出力し、前記デバイスの１つになる時計デバイスから前記Ｉ２Ｃバス経由で取得する時刻データを基にディジタル処理を行うディジタル処理装置において、
前記ＣＰＵは、
ディジタル処理装置の起動時に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得する過程と、
前記過程で取得した前記時刻データを前記ディジタル処理装置の内部メモリに保存する過程と、
内蔵タイマからの一定周期の割り込みの都度、該周期に相当する時間だけ前記内部メモリに保存する時刻データをインクリメントする過程と、
前記時刻データを必要とする時に前記内部メモリに保存する時刻データを読み出す過程と、
一定時間毎または特定される時刻に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得し、該時刻データで前記内部メモリに保存されている時刻データを書替える過程と、
を備えたことを特徴とするディジタル処理装置における時刻データ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ２Ｃバスを介して入出力デバイスを接続したディジタル処理装置において、時計デバイスがもつ時刻データをＩ２Ｃバス経由でディジタル処理装置のＣＰＵ側に取得する方法に関する。
【背景技術】
【０００２】
Ｉ２Ｃバス（商品名）は、フィリップス社が１９８０年代に提唱したもので、２本の信号線ＳＣＬ（Serial Clock）とＳＤＡ（Serial Data）によって、どちらかというと比較的近い場所にあるデバイス間の情報伝達を行うためのシリアルインターフェースである。マスタ／スレーブの関係性を持ち、２本の信号線だけで接続が可能、複数のデバイスが接続可能などの特徴を持ち、従来は家電中心で発展したが、近年はディジタルリレーにも採用されている。
【０００３】
Ｉ２Ｃバスに接続されるデバイスにはメモリ、ＬＣＤ（液晶）ドライバ、スイッチなど多種多様なものが揃っており、その中の一つのデバイスとして時計ＩＣ（ＲＴＣ）がある。時計ＩＣは日時データの歩進が主な処理であり、その日時データの取得や設定を、Ｉ２Ｃバスを介して行うことになる。
【０００４】
Ｉ２Ｃバスは、図５に示すように、Ｉ２Ｃバス・コントローラＩＣ１をバスのマスタとして接続し、その他のデバイス２、３、４、５、…をスレーブとして接続し、ディジタル処理装置本体６との間で種々のデータを入出力するのが一般的である（例えば、非特許文献１参照）。
【０００５】
しかし、より安価な製品を求められる昨今、Ｉ２Ｃバス・コントローラＩＣ１を省き、ディジタル処理装置本体６に搭載するＣＰＵのソフトウェア処理によってＩ２Ｃバスを直接制御する方式もある。
【非特許文献１】インターネットＵＲＬ（http://jp.semiconducters.philips.com/buses/i2c/facts/index.html）、検索日（２００４年９月１０日）。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
Ｉ２Ｃバス・コントローラを省き、簡易的にＣＰＵに直結したＩ２Ｃバスを構成した場合、そのバス制御をソフトウェアで行うと、以下の問題がある。
【０００７】
Ｉ２Ｃバスで定められた幅（バスの速度により異なり、通常は数μｓ）のクロック信号（ＳＣＬ）を生成し、データ（ＳＤＡ）の出力／取得を行うが、この幅の信号を連続して生成した場合、１バイトあたり数十μｓ程度の信号制御時間が必要となり、入出力するデータ数が多くなるほど、その制御時間も比例して長くなる。
【０００８】
ＲＴＣからの時刻データ取得に、Ｉ２Ｃバス制御をソフトウェアで実行すると、複数バイトのデータ（例えば年、月、日、時、分、秒、曜日を各１バイトとすると７バイト）を入出力するのに、数十μｓ〜数百μｓの制御時間が必要となる。
【０００９】
近年の高機能ＣＰＵにとっては、上記の数十μｓ〜数百μｓに渡る信号制御時間はＲＴＣからの時刻データ取得にだけ用いるには多すぎる時間であり、処理の無駄でもある。また、日時情報のようなデータは、常に更新されるべきデータであり、常時歩進される日時データを頻繁にＲＴＣから取得していたのでは、前述の処理の無駄が比例して多くなる。
【００１０】
本発明の目的は、Ｉ２Ｃバスを介して接続された時計デバイスからＣＰＵへの時刻データ取得に、ＣＰＵの制御時間を大幅に短縮してその負荷を大幅に軽減できる時刻データ取得方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、前記の課題を解決するため、Ｉ２Ｃバスを介して接続された時計デバイスへのアクセスは装置の起動時に１回だけ行い、このとき取得した時刻データを内部メモリに保存し、その後はＣＰＵがもつ内部タイマによるＣＰＵへの一定周期の割り込みの都度、該周期に相当する時間だけ内部メモリに保存する時刻データをインクリメントしておき、ＣＰＵが時刻データを必要とするときに内部メモリから取得するようにしたもので、以下の方法を特徴とする。
【００１２】
（１）ディジタル処理装置本体に搭載するＣＰＵのソフトウェア処理によってＩ２Ｃバスを直接制御し、Ｉ２Ｃバスに接続されるデバイスとの間でデータを入出力し、前記デバイスの１つになる時計デバイスから前記Ｉ２Ｃバス経由で取得する時刻データを基にディジタル処理を行うディジタル処理装置において、
前記ＣＰＵは、
ディジタル処理装置の起動時に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得する過程と、
前記過程で取得した前記時刻データを前記ディジタル処理装置の内部メモリに保存する過程と、
内蔵タイマからの一定周期の割り込みの都度、該周期に相当する時間だけ前記内部メモリに保存する時刻データをインクリメントする過程と、
前記時刻データを必要とする時に前記内部メモリに保存する時刻データを読み出す過程と、
を備えたことを特徴とする。
【００１３】
（２）ディジタル処理装置本体に搭載するＣＰＵのソフトウェア処理によってＩ２Ｃバスを直接制御し、Ｉ２Ｃバスに接続されるデバイスとの間でデータを入出力し、前記デバイスの１つになる時計デバイスから前記Ｉ２Ｃバス経由で取得する時刻データを基にディジタル処理を行うディジタル処理装置において、
前記ＣＰＵは、
ディジタル処理装置の起動時に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得する過程と、
前記過程で取得した前記時刻データを前記ディジタル処理装置の内部メモリに保存する過程と、
内蔵タイマからの一定周期の割り込みの都度、該周期に相当する時間だけ前記内部メモリに保存する時刻データをインクリメントする過程と、
前記時刻データを必要とする時に前記内部メモリに保存する時刻データを読み出す過程と、
一定時間毎または特定される時刻に、前記時計デバイスから前記Ｉ２Ｃバス経由で時刻データを取得し、該時刻データで前記内部メモリに保存されている時刻データを書替える過程と、
を備えたことを特徴とする。
【発明の効果】
【００１４】
以上のとおり、本発明によれば、Ｉ２Ｃバスを介して接続された時計デバイスへのアクセスは装置の起動時に１回だけ行い、このとき取得した時刻データを内部メモリに保存し、その後はＣＰＵがもつ内部タイマによるＣＰＵへの一定周期の割り込みの都度、該周期に相当する時間だけ内部メモリに保存する時刻データをインクリメントしておき、ＣＰＵが時刻データを必要とするときに内部メモリから取得するようにしたため、時計デバイスからＣＰＵへの時刻データ取得に、ＣＰＵの制御時間を大幅に短縮してその負荷を大幅に軽減できる。
【００１５】
さらに、一定時間毎または特定される時刻に、時計デバイスから時刻データを取得し、該時刻データで内部メモリに保存されている時刻データを書替えることにより、内部タイマの誤差による時刻データのズレを補正することができる。
【発明を実施するための最良の形態】
【００１６】
（実施形態１）
図１は、本発明の実施形態を示すディジタル処理装置の構成図であり、ディジタルリレーに適用した場合である。
【００１７】
ディジタルリレーの基本構成は、マイクロコンピュータ構成で保護リレー演算をするディジタル演算部１０と、保護対象からの電流や電圧信号をディジタルデータで取得するアナログ入力部２０と、保護演算の整定値入力や保護対象のしゃ断器トリップ出力等のためのディジタル入出力部３０と、上位コンピュータ等とのデータ通信のための伝送制御部４０とをシステムバスで接続し、さらに外部装置として保護対象の動作状態等を表示するためのパネルディスプレイ装置５０が接続される。
【００１８】
ディジタル演算部１０は、同図にＣＰＵボード構成例で示すように、ＣＰＵ１１と、保護演算プログラムを保存するフラッシュＲＯＭ１２と、内部データを保存するメモリ（ＲＡＭ）１３とを内部バスで接続する。ＣＰＵ１１は、直接接続したＩ２Ｃバスを介して、設定値等を保存する不揮発性メモリ１４と、時刻データの歩進動作をするＲＴＣ（時計ＩＣ）１５と、ＬＣＤ（液晶）ドライバやスイッチなどその他のデバイス１６との間のデータ入出力を可能にする。
【００１９】
以上までの基本構成になるディジタルリレーにおいて、本実施形態では、ＣＰＵ１１に内蔵するタイマ１１Ａなどの資源を利用して、フラッシュＲＯＭ１２等にプログラムとして保存しておく時刻データ取得制御ソフトウェアの実行によって時刻データを取得する。
【００２０】
上記の時刻データ取得制御ソフトウェアは、図２に時刻データ取得を主要処理として示すフローチャートに対応した構成とる。同図において、ディジタルリレーを起動したとき、メモリ１３のクリアなど、各部および各種デバイスに必要な初期化を行う（Ｓ１）。次に、ＣＰＵ１１の命令実行により、Ｉ２Ｃバス経由でＲＴＣ１５から時刻データをＣＰＵ１１側に読み出し、この時刻データをメモリ１３へ保存する（Ｓ２）。その後は、ＣＰＵ１１によるリレーデータ取得やリレー演算など、ディジタルリレーがもつ本来の処理を実行する（Ｓ３）。この処理（Ｓ３）に際して、時刻データが必要な場合は、ＲＴＣ１５からの取得に代えて、メモリ１３に保存されている時刻データを読み出す。
【００２１】
ここで、メモリ１３に保存されている時刻データは、内部タイマ１１ＡによるＣＰＵ１１への割り込みで更新されている（Ｓ４）。例えば、内部タイマ１１Ａは、１秒などの一定周期でＣＰＵ１１に割り込みを発生し、この割り込みでＣＰＵ１１がメモリ１３に保存されている時刻データを更新（時分秒などの時刻データを一定周期の時間分に相当する値だけインクリメント）する。
【００２２】
したがって、ＲＴＣ１５へのアクセスは最初の処理（Ｓ２）の一回のみ行い、取得した時刻データをメモリ１３に展開しておき、その後は、ＣＰＵ１１の内部タイマ１１Ａで割り込み処理を実行させ、メモリ１３に展開された時刻データをソフトウェア的に歩進させておく。そして、ＣＰＵ１１が時刻データを取得する際は当該メモリ１３の時刻データから取得する。
【００２３】
図２に示す本実施形態のフローチャートと対比させるため、図３に従来の時刻データ取得処理のフローチャートを示す。図３では繰り返し行われる処理の１つとして、ＣＰＵ１１からＲＴＣ１５へアクセスして時刻データを取得、メモリ１３への保存を行う（Ｓ３Ｂ）。リレー演算などに時刻データが必要な場合は、メモリ１３に保存された時刻データを用いて処理を行う（Ｓ３Ａ）。繰り返し行われるＲＴＣ１５へのアクセス（Ｓ３Ｂ）は、前記のように、１回の読み出しに数十μｓ〜数百μｓに渡る信号制御時間を要し、ＣＰＵの負荷を高めてしまう。
【００２４】
以上のとおり、本実施形態では、ＲＴＣ１５に対する時刻データの初期設定と最初の１回の読み出しを行う場合以外はアクセスを行う必要がなく、これにより、Ｉ２Ｃバス経由のＲＴＣ１５へのアクセス頻度、回数を極力削減することができ、ＣＰＵ１１の制御時間の大幅な削減及び無駄な処理を無くすことができる。
【００２５】
（実施形態２）
本実施形態のフローチャートを図４に示し、実施形態１の処理に加えて、定周期でＲＴＣから時刻データを取得して内部メモリの時刻データを書替える方法とする。
【００２６】
実施形態１では時刻データの設定を行う場合以外は、初期化時の一回のみしかアクセスを行わないが、本実施形態では一定時間（例えば１時間）の経過を待ち（Ｓ５）、この時刻に一回だけＲＴＣ１５から時刻データを読み出し、初期化時に展開したメモリ１３へ再度、展開する（Ｓ６）。
【００２７】
本実施形態によれば、内部タイマ１１Ａの誤差による時刻データのズレを一定周期（またはＣＰＵ１１における特定の処理終了時など）で補正することが可能になる。
【００２８】
なお、以上までの実施形態はディジタルリレーに適用した場合を示すが、本発明は時刻データを必要とする他のディジタル処理装置に適用して同等の作用効果を得ることができる。例えば、定周期に監視情報を取得する遠方監視制御装置、時刻データを基に機器の制御内容や処理内容を切り替えるプログラマブルコントローラや自動制御装置などに適用できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態１を示すディジタルリレー基本構成およびＣＰＵボード例。
【図２】実施形態１における時刻データ取得方法のフローチャート。
【図３】従来のＲＴＣアクセス例のフローチャート。
【図４】本発明の実施形態２における時刻データ取得方法のフローチャート。
【図５】Ｉ２Ｃバスの接続構成例。
【符号の説明】
【００３０】
１０  演算部
１１  ＣＰＵ
１１Ａ  内部タイマ
１２  フラッシュＲＯＭ
１３  内部メモリ（ＲＡＭ）
１４  不揮発性メモリ
１５  ＲＴＣ（時計ＩＣデバイス）
１６  その他デバイス
【図１】
2006172030.tif 000003
【図２】
2006172030.tif 000004
【図３】
2006172030.tif 000005
【図４】
2006172030.tif 000006
【図５】
2006172030.tif 000007