信頼性のための検討
TWELITE の実装における信頼性のための検討事項
リセット回路について
始動電圧 (2.05V typ) を超えてからモジュールが起動します。始動電圧から Vhys=38mV 低下したところで再びリセットがかかります。
検討事項は以下の通りです。
- 外部のリセットICにより、より電圧の高いポイントで始動するようにする
- 電源ラインに十分な電圧バッファを設ける
ウォッチドッグ
TWEモジュール内にはウォッチドッグタイマが機能として含まれていますが、モジュールに対する想定外の電磁ショックを受けた場合、モジュールがハングアップする可能性があります。
検討事項は以下の通りです。
- 外部ウォッチドッグハードウェアによる強制リセット
定期的なリセット
システムの長期動作が十分確認できていない状況では、無線システムの定期的に強制リセットすることも検討する必要があります。
検討事項は以下の通りです。
- ソフトウェアにより一定期間ごとにリセットする
- 外部ハードウェアにより RESETN ピンを制御し強制リセットする
未使用ピンの処理
未使用ピンについては、オープンを推奨していますが、ハードウェア設計の考え方によっては以下を検討してください。
- ディジタル関連ピンの外部プルアップ
- アナログ関連ピンのプルダウンまたはプルアップ (半導体データシート中ではオープンを推奨しています)
電源について
よりノイズが少なく安定した電源を推奨します。
- よりノイズの少ないシリーズレギュレータなどの利用
- 電源電圧を 2.7V ~ 3.3V とする
- 乾電池で利用する場合はバッファのキャパシタの利用
- 電源ラインにパスコンを挿入 (ADC ノイズの低減が見られる場合があります)
アンテナ経由での電磁ノイズ
アンテナ経路から電磁ノイズが流入することがあります。
- アンテナ経路に対するサージ防護(別途認証が必要になります)
- 上記外部ウォッチドッグによる強制リセット
各種ノイズ
信号線・マイコン・モータなど周辺デバイスに依存して動作に影響を受ける、または及ぼす場合があります。また無線送信・受信時は、ある程度の電磁ノイズを放射することになりますので他のシステムへの影響も検討することになります。
ホビー等では必要とされる場面は少ないと考えられますが、システム要件によってはこのような検討が必要とされます。
- 専門的な設計検証・検討が必要になります。
ファームウェア
ファームウェアに信頼性を求める場合に考えられる手法です。一般の用途では検討しない項目も含まれます。
以下に、一般的な手法を一部紹介します。
- ハードウェアウォッチドッグの利用 (TWELITE NET ではライブラリ内で半導体内のウォッチドッグを利用します)
- 電圧検出割り込みの利用 (BrownOut 検出)
- 定期的な強制リセット (標準アプリでは実施していません)
- メモリー・変数などの定期的なチェック・多重化 (標準アプリでは実施していません)
- スタックオーバーフローの API の利用
- 始動時にファームウェアのチェックサム検証 (標準アプリでは実施していません)
- 通信の暗号化・冗長データによるチェック (App_UART などの暗号化通信はデータの検証を強化します)
- UART の入出力のチェックサムの強化 (App_UART では xor による 8bit チェックサム)