2024年9月23日月曜日

PICマイコンの在庫品種で唸ってます

 昔から愛用しているPICマイコンは、膨大なバリエーションを誇っていますね。
それがPICマイコンの売りの1つであると言えますが、
同時に扱いにくさの原因の1つとも言えるます。
一見さんには どれを選択して良いのか、迷う事間違い無しです(笑)

私もある程度の品種をストックしてあるわけですが、
当然ながらPICマイコン全体を網羅することは不可能ですので、
自分が扱える範囲で、なるべく汎用性あるものを揃える、という感じです。


そんな折、14ピンタイプのPICマイコンであるPIC16F1823のストックが少なくなったので、
補充を検討することに。
しかし16F1823は かなり年季の入っている石でありまして、
まだ入手可能とは言え、単価もさほど安くありません。

既に16F1823より高機能な石が安く流通している状況ですので、
必ずしも16F1823に固執する必要は無いわけです。

ただ、別な石を扱う場合には、アセンブラソースの叩き台を新たに作成する必要があります。
これがそれなりの手間でして、医師が高機能になるほど その手間は増大します。

それも踏まえた上で、新しい石を導入するか検討するわけですが、
更に今回、新たな課題が!!

それはMPASMのサポート限界

MPASMは長らく使われてきたPICマイコン用のアセンブラですが、
諸々の理由で既に更新停止されています。

MPASM自体が使用不可というわけではなく、
最近リリースされた石がサポートされていないという事なのです。

ちなみにPICマイコンのアセンブラ開発というのは普通に需要あるので、
当然ながらMPASMに代わるアセンブラーもリリースされています。
PIC-ASなどと呼ばれている代物で、純正Cコンパイラーに添付されています。

今後、アセンブラーで開発したければ これを使えという話なわけですが、
このPIC-AS、MPASMと互換性が無いのです。
そもそもCコンパイラーに添付されていることからも解るように、
Cと相性が良いアセンブラーになっているようなのです。

インクルードファイルからして別物なので、
どちらでもアセンブルできるコードを書くのは無理。
いやはや困ったもんですね。

ここで考えられる対応策は2つ。
1つ目は諦めてPIC-ASへ環境を移行すること。
その場合、旧ソースコードは随時修正が強いられます。
2つ目はMPASMが使える範囲内の石だけを使用するという手。
最新の石は使えませんが、従来の石には全くてを加える必要がありません。

結局、私が選んだのは2つ目の方。
当面はMPASMで開発を続けることにいたします。

さてそうすると冒頭の話に戻りまして、16F1823の補充をどうするかですが、
暫定として16F1825を手配することにしました。
これは16F1823のファミリーでして、メモリーが増量されています。
一応、アセンブラソースの叩き台は別物になりますが、
大半が同じ内容なので作成は容易です。

この16F1825も やはりそこそこ年季が入っている石なので、
更に新しい石も検討しておいた方がベターですね。

ということで調べてみると、14ピンタイプですと
16F18300番台や16F18400番台辺りがMPASMのサポート限界の模様。

機能面なら16F18426が最強の様ですので、
これを在庫品リストに追加しようと画策中です。

なお、18300番台と18400番台の差はA/Dコンバーターの模様。
(他にも有ったらごめんなさい)
18400番台にはADC2が搭載されています。
私はADC2を結構気に入っているので16F18426を選びますが、
従来のADCの方が良いという方は18300番台をチョイスですね。

余談ですが8ピンタイプには16F18313という石が存在しますが、
18400番台には8ピンタイプが存在しません。
現状8ピンタイプは16F1840をメイン使用していますが、
これを置き換える際は16F18313になりそうです。


18400番台がサポート限界と書きましたが、ここで要注意点を1つ。
PICマイコンの品番を見ると、16F180xxというシリーズも見つかります。
パッと見、18300や18400の下位品種の様に思えますが、
18400番台より後にリリースされた石なので、MPASMでサポートされていません。

手頃な価格なので つい選定しそうになりますが、ご注意ください。

0 件のコメント:

コメントを投稿