
連載企画:ラズパイ試作からマイコン量産への進め方
第3回:ラズパイによる PoC 試作段階の留意事項
この段階では目的を明確にします。PoCの目的は、①機能が実現可能か、②性能が要求を満たすか、③マイコンで実装可能かを検証することです。
ここでは設計品質は気にしないで進めて構いませんが、マイコン移植を意識しなければなりません。ここで自由に作るほどマイコン移植で破綻することになります。つまりラズパイとマイコンで大きく異なる、OSの有無、メモリサイズ、CPU性能、使える通信方式、ファイルシステム、UI性能差などを意識する必要があります。
この段階で留意する内容は主に次のようなことになります。
① LinuxのOS非依存で開発する
検証としてラズパイの開発しやすさを活かして、新規デバイスの動作確認と性能確認をします。さらにシステム機能の検証も行います。
この段階では、ラズパイで実際に動かしてみて、動かせるかどうか、センサの精度は必要十分か、アクチュエータの性能は足りているかなどを確認します。つまりまずは動かせるかどうかと性能の確認をします。
ここでは同じ方法でマイコンでも動かすことができるのか、マイコン自身の性能は足りるかを考慮する必要があり、Pythonなどの言語依存やLinuxのライブラリ依存にならないようにする必要があります。
このようなOS非依存で構成するときの基本は、ファイル、ソケット、スレッド、GPIOライブラリなど入出力する関数を、直接アプリ本体の中で使わないことです。さらに使う場所を次のようなマイコン化の際には使わないところに隔離して使うようにします。
- データログをファイルに書く
- GUI試作関連
- モニタ用のネットワーク送信
- グラフ化などの可視化処理
② CPUパワーに依存しない
特別な機能を実現するために考えたアルゴリズムが思惑通りに動作し、性能が出せるかどうかを、ラズパイを使って確認します。ここでもマイコンの性能とメモリサイズで同じ性能が出せるのかを考慮し、ラズパイのCPUパワーに依存したつくりにならないようにする必要があります。特に浮動小数点演算や大規模配列処理は、マイコンでは性能不足となる可能性があるため注意する必要があります。
逆に実現するために必要なマイコン性能を求めることになります。
③ 通信方式の確認は同じ実装が使えるようにする
アーキテクチャ設計時に決めた通信方式の動作と性能を確認します。独自の通信方式を開発する場合には、この段階で試作し、動作を確認します。専用APIを設計し、マイコンの場合と共通になるようにします。ここでも使用する言語や実行速度など、マイコンでも実装可能な範囲で開発する必要があります。Pythonなどの高水準言語は検証用途に限定し、最終実装と同等の構造で書き直すことを前提とします。
④ UIの検証に活用する
ラズパイではUIが簡単に構成できますから、どのようなUIが適しているかをいろいろ試すことができます。マイコンで構成可能な範囲を意識しながら最適なUI構成を試します。この結果からマイコン化の際に必要な表示操作部の構成も求めることができます。
⑤ 最小構成から作る
PoC試作では、できるだけ機能単位、またはステート単位で動作確認を行い、段階的に統合するようにします。こうして最小構成から組み立てて確認しながら進めます。いきなり最終段階の構成にすると、マイコン移植の際に切り出しが難しくなり、手戻りの負荷が大きくなり過ぎます。
⑥ メモリサイズを最初から意識する
マイコンに移植する場合最も起きやすいのはメモリ不足です。巨大な配列やfloatの多用、過大なバッファを避けたアプリとします。またLinuxの動的メモリ確保(malloc/new)は使わないようにする必要があります。
⑦ タイミング調整にsleepは禁止
意外と陥りやすい問題が、タイミング調整の問題で、外部デバイスを動かす際に必要なタイミング調整にsleepを使うと、sleepはOSのスケジューリングに依存するのと、マイコンへ移植する場合、delay関数に置き換えると、マイコンでは割り込みなどでdelay時間が乱れますから、タイミング調整ができなくなります。
PDF 資料請求
連載企画_Raspberry_3:ラズパイによる PoC 試作段階の留意事項
著者プロフィール
後閑 哲也 Tetsuya Gokan
| 経歴 |
1971年 東北大学卒業後 大手通信機メーカにて各種の制御装置を開発 2003年 有限会社マイクロチップ・デザインラボ設立 |
|---|---|
| 現在の活動 |
|
| 書籍 (技術評論社) |
|
連載企画「ラズパイ試作からマイコン量産への進め方」リンク
- 第1回: 開発ステップとシステム設計段階の留意事項
- 第2回: アーキテクチャ設計段階の留意事項
- 第3回:ラズパイによる PoC 試作段階の留意事項
- 第4回:マイコン試作、量産開発段階の留意事項(11月公開予定)