なぜ除細動器の時間はズレるのか?
背景
病院機能評価やJCI認証では救急時の対応として救命装置に関して正確な時間を求められることが多い。
その際、特に除細動器が指摘されることが多く、大体どこの病院も「時刻合わせ」なる業務が発生している。
そこでそもそもなぜズレるのか、なんとなく知ってるけど、なんとなくわからない状態だったので、調べたのでまとめる。
あと専門家でないので微妙に違うところがあるかと思いますが、ご承知おきを。
そもそも除細動器の時計の原理って何?
現世で電子的な時刻は大きく2つに大分される(と思っている)
1つはNTP (Network Time Protocol)でもう1つはRTC(Real Time Clock)である。
前者、NTPを詳しくは説明しないが、簡単に言えば「インターネットにつなぐとそのタイミングで時刻合わせをする」という理解でよいと思う。この記事を見ているスマートフォンでもPCでもNTPによって時刻が合わさっているはずだ。今日の日付が1970年1月1日の人はすぐに買い替えをおすすめする。
そこでネットに繋がらない機器は?という問いに対して次のRTCが関わってくる。
RTCの原理(概要)
概要は、RTCはCMOS電池(発音は”しーもすでんち”)という電池によって動作が維持されている内部時計である。一般的にCMOS電池は小型のボタン電池(CR2032など)であり、ハードの電源が入っているときには、システムの主電源から電力が供給されるが、電源がオフになっている際にもRTCを動作させ、日時情報を保持するためにはCMOS電池が必要になる。
(補足だが、技術革新を可能にしたPCとスマートフォンという科学の結晶。PCにはCMOS電池が内蔵されているが、スマートフォンにはどうやらないらしい。スマートフォンはフラッシュメモリとリチウム電池で補っているみたいだ。なるほど、やはり科学はおもしろい。)
RTCの原理(詳細)
ここからは少し解像度を高めて電子の世界に足を入れる。
興味がなければ飛ばしてもいいです。臨床現場にはたぶん役立たない気がします。
1. 発振回路
RTCは一定の周波数でクロック信号を生成する発振回路を用いる。基準信号として一般的に32.768kHzの水晶振動子を使用する。この周波数は、2の15乗(32768)で、正確な1秒を作るために適しているためである。水晶振動子は圧電効果により、加えられた電圧で特定の周波数で振動する。発振回路には、トランジスタやインバータも組み合わされ、安定した交流信号が生成される。
2. 分周回路
発振回路から得られる32.768kHzの信号を、分周回路が1Hz(1秒ごとに1回の信号)まで減らす。分周回路はバイナリカウンタで構成され、入力クロック信号を分割して出力周波数を低くする。この1Hzの信号を基準に時間計測を行う。例えば、15段のカウンタを使用すれば32.768kHzの信号を1Hzに変換できる。
3. カウンタ回路
1Hzのクロック信号により、時間を計測するカウンタ回路が動作する。カウンタ回路は「秒」「分」「時」「日」「月」「年」といった時間単位を個別に保持している。例えば、「秒」カウンタが60に達するとリセットされ、「分」カウンタが1増加するというように、連動して計測する。
4. レジスタ
各カウンタの値はRTC内部のレジスタに格納される。これにより、CPUや外部デバイスが時刻データを必要に応じて読み取ることができる。レジスタには「分」「秒」などの情報が格納されている。
5. バックアップ電池と低消費電力回路
RTCはメイン電源が切れた際にも時刻を保持する必要があるため、バックアップ電池(これがCMOS電池)が用いられる。RTCの消費電力は数μA(マイクロアンペア)と低いため、バックアップ電池で数年間動作する。
6. 電源監視とリセット回路
メイン電源が復帰した際、正確な時刻データを保持するため、電源監視とリセット回路が組み込まれている。電源監視回路は、電源が供給されるとRTCカウンタを正しく動作させるリセット信号を送る。
以上、RTCは発振回路、水晶振動子、分周回路、カウンタ、レジスタ、電源監視などの回路によって構成され、正確に時刻をカウント・保持する。バックアップ電池により、電源がオフの状態でも動作し続けるため、常に最新の時刻を保つ設計である。
結局、なぜズレるのか
1. 水晶振動子の精度の限界
RTCに使用される水晶振動子(一般的に32.768kHz)は、周囲の環境や温度変化の影響を受けるため、完璧な精度を維持できない場合がある。特に温度変化は周波数に影響を与えやすく、室温以外の環境下ではわずかに周波数がずれる。こうした温度変動や製造公差によるズレが日々蓄積されることで、長期間使用時に時刻が徐々にずれる。
2. CMOS電池の電圧低下
RTCはCMOS電池から電力供給を受けるが、電池の電圧が徐々に低下すると、RTCが不安定になる可能性がある。電圧が不安定になると、RTCの動作やカウントに影響が出るため、結果的に時刻がずれる原因となる。
3. 分周回路やカウンタのノイズおよび劣化
RTC内の分周回路やカウンタは、長期間の使用やノイズによって、微小な誤差が蓄積する可能性がある。こうした内部ノイズや劣化はクロックの安定性を損ない、正確な時刻保持に影響を与えることがある。
4. RTC設計の精度の限界
一般的なPCのRTCは日常的に数秒の誤差が許容範囲とされており、精密時計のような高精度を目指していない。そのため、長期間オフラインで使用すると、この誤差が蓄積してしまう。PCなどで、通常オンライン状態であればNTP(Network Time Protocol)により定期的に時刻補正が行われるが、除細動器はそもそもネットワークにつながっておらず、この補正がないためにズレがそのまま残る。
5. 外部からの電磁干渉
高電圧機器や無線機器などが近くにあると、RTCがわずかな電磁干渉を受けることがある。これにより微小なクロックの揺らぎが生じ、時計のズレに影響を与える場合がある。
まとめ
以上のように、RTCがずれる原因には、環境要因や設計精度の限界、電源の状態などが複合的に影響している。
病院の配置場所によっては、電気メスや放射線のノイズなんかも影響してくるんだろうなと思います。あとはコードが引っ掛かって衝撃が、とか……。
NTP接続できる除細動器も発売されると聞いてますが、その機種の更新までは、せっせと「時刻合わせ」をしなくてはならないという悲しき記事でした。