特別連載:ラズパイ試作からマイコン量産への進め方

連載企画:ラズパイ試作からマイコン量産への進め方

第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年 有限会社マイクロチップ・デザインラボ設立
現在の活動
  • マイコンや計測制御システムの開発コンサルタント、グローバル電子(株)顧問
  • 神奈川工科大学 非常勤講師としてモノづくりの基礎を指導
  • 書籍や雑誌記事の執筆
書籍
(技術評論社)
  • 電子工作の素(改定新版)
  • MCC、C言語によるPICプログラミング大全
  • マイコンの使い方がよくわかる本
  • 逆引きPIC電子工作やりたいこと事典
  • IoT電子工作やりたいこと事典
講師プロフィール

連載企画「ラズパイ試作からマイコン量産への進め方」リンク

連載企画