目覚まし時計が午前3時15分で止まっていたせいで、学校に遅刻した経験はありませんか? 高校のとき、目覚まし時計が鳴る音はあまり心地よいものではなかったものの、母が呼ぶ大声ほどには耳障りではありませんでした。時計が止まったのは電池切れのせいだとわかっていましたが、もっと注意していれば、電池が少なくなるにつれて時計の動きが遅くなことに気付いていたでしょう。そうすれば電池が切れる前に交換して、母の金切り声を聞かずに済んだでしょうに。すっかり大人になった今では、学生時代の目覚まし時計ではなく、リアルタイムクロック(RTC)の設計に取り組んでいます。一般に、RTCは、設定された基準に対して現在の時間を刻み続ける集積回路(IC)です。RTCは通常、メインシステムの電源が切られた後も動作を続けるように設計されており、最小限の電力しか消費しません。仮にシステムのRTCが故障した場合、その影響は母親のお説教よりもずっと悪いものになります。RTCが重要になる理由と設計時のベストプラクティスについて確認していきましょう。
RTCが組み込みシステムで重要な理由
時計が正しくないと、人事部門が困ることになります。
データ駆動型で時間の影響を受けやすい組み込みシステムは、そのほぼ全てでRTCを搭載しています。これは、特定の動作を実行するために正確な日付と時間が必要だからです。例えば、設定された時間に基づいて、異なるアクセス優先度を有効にするドア セキュリティシステムがあるとします。RTCが故障すると、正しい時間帯に作動させてもドアが開かないかもしれません。
そのほかに、記録されたイベントとアラートが、信頼できる監査証跡として使用される組み込みシステムでは、RTCが非常に重要になります。例としては、従業員の報告した日時を人事部門が追跡する出勤管理システムや、アラームイベントの記録を保持する必要のある火災警報システムが挙げられます。
RTC設計にベストプラクティスを導入していないと、大きな損害につながるおそれがあり、特に制御装置が現場に実装済みの場合はなおさらす。以前私が勤めていた職場では、駐車場システムの独立した支払い制御装置で、RTCの問題が発生したことがありました。RTCの時間が実際の時間よりも徐々に遅くなっていき、駐車料金の間違いで顧客を怒らせてしまったのです。
RTC設計で避けるべき一般的なミス
RTC回路の設計には、通常5つのコンポーネントしか必要ないため、簡単な業務のように思えるかもしれません。必要なのは、専用RTCチップまたはマイクロコントローラーに組み込まれたRTC、水晶振動子、一対のコンデンサー、コイン電池です。私は、ベストプラクティスとして、次の設計ガイドラインを常に守るように心がけています。
1. 水晶振動子をできるだけRTCの近くに維持し、トレース長を可能な限り短くします。こうすることで、ノイズ結合の生じる可能性を低減できます。
2. RTCと水晶振動子の間またはトレースの下に、その他のトレースを配線しないようにします。これは、クロック信号に不要な干渉が結合しないようにするためです。
3. RTC回路の近くに高速信号を配線しないようにします。200milの間隔を空けることを推奨します。
4. RTC回路の下と周囲にGNDプレーンを配置し、その他のGNDプレーンから少なくとも40mil離します。
5. 水晶負荷コンデンサーの値として、水晶振動子のデータシートに記載されたとおりの正しい値を使用します。
いくつかのRTC設計のミスがラボテストで見逃される理由
RTC設計に誤りがあると、時計の進みが実際よりも遅くなったり早くなったりする症状が現れることがあります。この症状が設計段階ではっきり現れていれば、試作ですぐに問題を修正することができます。しかし、問題がラボテストで見落とされ、使用中のアプリケーションではじめて明らかになる場合があります。
これが上記の支払い制御装置のケースで、ラボでは機能に問題はありませんでした。しかし、腹を立てた顧客のどなり声で目を覚ましたとき、デバイスにはトラブルシューティングが必要でした。ラボの電気的環境は理想に近いものですが、現場の電力ネットワークはノイズが多いことがよくあります。他の機器から電気的ノイズが結合されることもあれば、建物への接地自体が不適切である場合もあります。支払い制御装置を設置した後、このノイズは、PCB上の水晶振動子とRTCをつなぐトレース間の電圧トレースを介して、グレードの低い電源に伝わり、さらにRTCクロック信号に伝わっていました。RTCクロック信号は通常32.768kHzで振動する矩形波ですが、ここに乱れが生じるとRTCが正確さを欠くようになり、それがまさに私たちが目にした現象でした。
何百ものPCBを手作業で修正するような経験は、誰も望んでいません。
導入後にRTCの問題が見つかった場合の対処法
RTC設計にミスがあり、製品がすでに現場に導入されている場合、残念ながらすぐに問題を修正できる簡単な方法はありません。場合によっては、小型のRTCモジュールを設計して、正常に動作する新しいモジュールに手動で制御装置を再配線することもできるでしょう。
ただし、デバイスが筐体にきっちり組み込まれている場合や、量産された民生品である場合、このような修正は実行できません。その場合、正しく動作するRTCを含む交換ユニットを新しく製造する必要があります。
いずれの場合も、会社の時間、資金、評判が犠牲になります。RTC回路の設計に関しては、用心を重ねるに越したことはありません。長期的に見てコスト節約につながる要素には、AltiumのCircuitStudioなどの優れたPCB設計ソフトウェアがあります。また、Altiumのブログでは、このほかにも、導入後の問題を防止するためのPCB設計のベストプラクティスを紹介しています。
RTC設計についてご質問がある場合は、Altiumの専門家にお問い合わせください。