Seeed K.K.の中井です。
Twitterを見ていたところ、たまたま「Seeeduino XIAOのRTCの精度が悪い」というツイートを見つけました。 すこし気になったので製品ページなどを確認してみましたが精度に関する記述がありませんでした。 早速、精度を確認してみました。
はじめに所有しているロジアナでRTCの精度を簡易的に測定してみましたが、 (1).短時間での計測となる、(2).測定器自体の誤差、という課題もあり、 納得のいくデータを取得することができませんでした。
やはりRTCの精度を計測するにはタイムサーバとの比較ですね。 計測開始時の時刻をあわせておき、24時間程度放置した後に時刻のズレを確認します。 ところがSeeeduino XIAOはネットワークインタフェースを持っておらず、単体ではタイムサーバと時刻合わせができません。
結局Seeeduino XIAOにEthernetモジュールを接続して計測することにしました。
Ethernetモジュール
今回利用したEthernetモジュールは、Arduino Ethernet Shield 2なんかにも使われている WIZnet W5500 Ethernet Controllerが搭載されたWIZ850ioです。 通常ではMACアドレスが付属していないのですが、スイッチサイエンスさんから購入するとMACアドレスを割り当てていただけます。
入手したWIZ850ioにはMACアドレスのラベルが貼ってあり、記載されていたのは「00-50-C2-97-2X-XX」。 「00-50-C2」はIEEE Registration Authorityが確保しているOUIなので、IABを確認したところスイッチサイエンスさんのIDでした。
00-50-C2 (hex) Switch Science (Panini Keikaku) 972000-972FFF (base 16) Switch Science (Panini Keikaku) 2-12-1 Kohjimachi, #805 Chiyoda-ku Tokyo 1020083 JP
WIZ850ioとSeeeduino XIAOの接続はブレッドボードを使いました。
いざ計測
手元にはSeeeduino XIAOは2個あるのでそれぞれでNTPサーバとRTCを秒単位で同期させ、 タイムサーバ時間で約48時間程度放置した後のRTCとの差を取得しました。
XIAO 1 | XIAO 2 | ||||
---|---|---|---|---|---|
開始時 | NTPサーバ | 2021/7/6 16:20:03 | ±0秒 | 2021/7/12 8:07:13 | ±0秒 |
RTC | 2021/7/6 16:20:03 | 2021/7/12 8:07:13 | |||
24時間後 | NTPサーバ | 2021/7/7 16:20:03 | +12秒 | 2021/7/13 8:07:13 | +13秒 |
RTC | 2021/7/7 16:20:15 | 2021/7/13 8:07:26 | |||
48時間後 | NTPサーバ | 2021/7/8 16:20:03 | +25秒 | 2021/7/14 8:07:13 | +26秒 |
RTC | 2021/7/8 16:20:28 | 2021/7/14 8:07:39 |
日差12秒~13秒という結果となりました。だいたい±200ppmくらいなんでしょうか。
まとめ
Seeeduino XIAOの内蔵RTCの精度を確認してみたところ凡そ±200ppm程度でした。※あくまで参考値です
±200ppmでは、、という方には、Seeeduino XIAO Expansion boardという選択肢もあります。 この拡張ボードにもRTCが搭載されていて、Wikiには日差±1.5秒(±20ppm相当)と記載されています。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2021/8/18 | mnakai | 作成 |