Japanino ArduinoISPで ATtiny13 で BASCOM-AVR (39) (3/17)

またシリアル通信は確かにアセンブラで制御すれば収まるかもしれないが、ワンチップマイコンの使い方でも、本当に中のハードの仕組みまで抑えないと出来ない。

シリアル通信自体、規格に沿って使うだけだったので、細かい通信のインプリメントをハードレベルで実現したいとは考えていない。ハードの汎用ロジックICのデジタル電子回路の習得までと決めてあったのに、小さいもの好きが高じて8Pin1KBのATtiny13にこだわり過ぎた。
同じことをするなら、ATtiny85でシリアル通信をソフトシリアルで受信バッファを持たせた物に置換する。そしてATtiny13には簡単な制御だけにし、PCへの1個のセンサーデータ取り込みをシリアルで行うためにはATtiny85とする。
そしてMatrix 8x8 LEDで無理に汎用ロジックICを使うのではなくどうしても使いたい場合に使う。
だから8Pinは実験のためであり、安く単純に使うためBASCOM-AVRやArduinoを使う。
複数センサー入力するなら8Pinにこだわらないし、容量も1KBにこだわらない。
そしてそれは実験ではなく実用にしたいのだから、少し高くてもきちんとしたものにして、流用を考えない。だからブレッドボードではなく基板で、50円マイコンじゃなくてもいい。それが8KB越えするならArduinoでもよい。

アセンブラもそうなると全体を作成するのではなくサイズ縮小ではなく、高速化のためとなる。
ならばAVRではなくARMにすればいい。がワンチップマイコンでARMが使えるのかわからない。
AVRならば大容量多ピン種でも8ビット/32ビットともにArduinoのブートローダを書き込めばソフトはまあまあ一律で同じのが使えるが、高速化も極めるとつらいのでARMとなる。

個人レベルで高速化が必要なものって高速な通信プロトコルのためか、液晶コントロールぐらいか。でもそれってグラフィック転送レベルだよな。なら液晶モジュール(キット)でいいんじゃない?

やはり個人ならARMの力は不要で、ソフト一律のArduinoが使えるAVRで十分だ。まあロボットを作りたいなら反応速度を上げるのにセンサーデータを解析するホストマイコンかRaspiへ通信速度が高速な必要もあるかも。ただローカルで脊髄反射のようにするならホストはいらず、AVRローカルで制御できるかな?

あと流行りの画像・音声認識や人工知能・自動運転の末端センサーなら、大容量高速通信が必要かな。ここにはARMの独壇場となりそう。

あくまでも「個人の趣味レベルの場合」で書いたが、PICはハード屋さんなら究極にコストパフォーマンス高くできるので、そういう人はPICでがりがり書けばいい。それを目指してもいいが、ハードは奥が深すぎてちゃんと勉強して専門の電気の知識を頭に入れないと難しい。

せいぜいワンチップマイコンの制御レベルでも本当に極めれば難しいので、そこはArduinoのライブラリにおんぶにだっことする。

通信とかね。

はー、回り道した。ここでいったん仕切り直しとする。これもポケコンでやった事を振り返って初心に戻ったから、ハマっていた事に気が付いた。周りを見直すのは大切だ~
[PR]
by k1segawa | 2017-03-17 14:07 | arduino, AVR | Comments(0)
<< デルタ型3Dプリンタ - パラ... Japanino Arduin... >>