LPC810は、プログラム4KBしか入りません。パワーメーターとしてひずみゲージのADC値を計算して転送するまでの機能をいれないといけません。今までの実績では、Cortex-M3で32kBほどスペースを喰ってますので、4KBでは、入りませんので複数CPUで分散処理を検討しながらLPC810をいじります。
手間がかかりそうですが、分散処理は、将来性がある技術ではないかと思ってますので、トライする価値があると思います。
●複数CPUで分散処理検討
今まで1CPUでパワー計算していたのですが、LPC1768でさえ積分ループを1周まわってADサンプリングするとADC周期が1~3msecくらいまでにばらついてました。
そこで、リアルタイムな計算処理が必要な部分だけをLPC810に割りつけて、単純な処理を正確にさせて結果をHOST CPUに収集してトータル処理するという方法で4KBx複数CPUでやってみようと思います。
LPC810のサイズなら3.5個でATMega328Pサイズですので機能サイズ的には十分合うのではないかと考えてます。上記写真の通りLPC284のサイズだとLPC8104個分は軽く入ります。
●検証として1CPUでの処理速度の実験も検討
Arduino ATMega328P8MHzでクランクデータ処理をやってみて何CH程度まで使えるかをやってみたいですが、いっぱいいっぱいですのでLPC810で挫折したときにやってみます。さらに、ATMEga328P 8MHzも挫折したら、LPC11U35かArduino miniでもやってみます。だんだん、サイズとコストが上がっていきますが、電子工作の技術レベルに合わせたシステムで落ち着くと思います。
●LPC-LINK2と接続
LPCXpresso8.22をインストールしてあるのですが、WEB上では
7.2での解説が多く、しかも、7.2と8.2で大幅に変更になっているようで、同じアイコンでも機能が違う目にあってます。
多くのメーカーのTOOLに触れてきましたが、バージョンアップでちょっとした変更が入門ユーザーにどれだけ混乱を与えるかを知らずにどんどん変更していく事例が多すぎます。
業務用だからこの程度は、ユーザーは理解できるはずという考え方でメーカー担当部門がどんどん変更していくのですが、その部門が直接ユーザーの影響を見ていないので、結局後の祭りになってしまうということで、NXP社のXpressoシリーズも鳴かず飛ばずに終わってしまうのではないかと思います。
ユーザーとしては、旧バージョンをインストールしながら
使い方を学習していくという防衛策でやっていくいがいにないと感じました。
●以後
mbedがLPC800系を排除している限り、NXP社のLPCXpressoでプログラムとデバッグをしていく以外にありません。
ARMが800系を見捨てているのは、mbed OS5.0に対応できてないCPUを市場から排除していきたいという方向性からだと思います。IOTでは、セキュリティーが重要だとのことでそれに対応できてないCPUが市場に増えることを減らしたいのではないでしょうか。私達も流れを見ながら遊ぶデバイスを選んでいかないと苦労が多く得るものが少ないことになりかねませんので、今回の小型CPU検討で最善の解を見いだしていきたいと思います。