#マイコンの仕様書
最近のマイコンはARMベースが多いが、ARMについては英語の資料が主で未だにGICやキャッシュのプログラムについてはアセンブラで書かれており、理解が追い付いていない。
Cyclone V SoC FPGAの開発では基本的にLinuxでのサンプルしか公式からは無い為、リアルタイムOSでの周辺ドライバについての実装はかなり難解である。
#起動シーケンスの重要
電源が入ってからの起動シーケンスを仕様書から理解する事は重要です。
どの番地から起動するか、どこのアドレスにスタートアップアドレスが記載されているかの理解が重要です。
また、最近ではSPIやQSPIのROMからのブートもあり、この場合の起動シーケンスを理解する事も重要です。
#タイマー割り込みの重要性
機構制御プログラム、センサ制御プログラムはタイマー割り込みでの限りなく正確な周期でのサンプリングが重要です。
#ノイズ取りやA/D変換、D/A出力について
- GPIOでのデジタルなセンサ情報ではノイズ取りの為に何回かの状態が連続して続いて初めて、その状態であると判断する必要がある。
- A/D変換においては普通に平均値や移動平均など目的に応じてノイズ取りの処理が重要です。
- D/A出力においては稀に電気ノイズによりD/A変換ICがリセットしてしまう為、周期的に同じ値、もしくは変化した値の出力が重要です。
#温度変化によるセンサ出力値
センサの出力値、入力値は温度によって変化するものです。
A/D変換でセンサのON/OFF監視を行う場合でも製品の仕様書に記載している範囲での変化をハード担当者に確認、または試作機で環境試験室でのデータ取りを行い、暫定的でも良いので閾値を決めておく必要がある。
これは開発ステージ毎に行う。 機構部やプリズムの金型化における変化がある事は常識でステージ毎での評価が重要です。
#全てにおいてバラつきはある。
機構部材、電子部材にはバラツキがある事は常識です。 このバラツキをソフトウェアで吸収することは常識です。