PIC18Fシリーズここでは、ハイエンドマイコンPIC18Fシリーズを紹介します。PIC18Fマイコンの登場が1999年でPIC18Fマイコンのフラッシュシリーズが登場したのが2001年あたりです。PICI8FマイコンはPIC16マイコンの欠点を使いやすく改善したデバイスで、大変安定したアーキテクチャを持っています。PICマイコンシリーズの18Fハイエンドデバイスは命令幅が16bitの幅をもつシリーズで、PICの上位ランクに属している。基本構造はミッドレンジのPIC16Fと同じであるが、ミッドレンジで使いにくかった部分を修正するような方向で設計されている。メモリももちろん増強され、ページ切り替え無しに機能レジスタをアクセスできるといった特長を持っている。タイマ0とWDTの関係、タイマの不足、テーブルの問題、スタックの量など、改善された場所はいくつもある。18FマイコンはPIC16Fを使いやすく改良したマイコンと思って間違いない。PIC18はパワフルな機能を生かしてUSBやイーサネット、CANなどの特殊なインタフェースを搭載するデバイスもあり幅広い応用が可能になっている。PIC18FJシリーズ、PIC18FKシリーズは3.3V動作の新しいシリーズで、消費電力が少なく価格も安い。PIC18FKシリーズは2007年より充実するデバイスで、PIC18FJより電源部が使いやすくなっているのでこちらの方がお勧め。これらのデバイスはPIC24Fより価格が安くなり、PIC18のメリットが出てくるだろう。機能的にはPIC18シリーズと同様。5VI/Oとのインタフェースには注意が必要、出力ドライブも低いが、このあたりはKシリーズで改善されている。PIC18FJシリーズ、PIC18FKシリーズは3.3V動作の新しいシリーズで、消費電力が少なく価格も安い。PIC18FKシリーズは2007年より充実するデバイスで、PIC18FJより電源部が使いやすくなっているのでこちらの方がお勧め。これらのデバイスはPIC24Fより価格が安くなり、PIC18のメリットが出てくるだろう。機能的にはPIC18シリーズと同様。5VI/Oとのインタフェースには注意が必要、出力ドライブも低いが、このあたりはKシリーズで改善されている。PIC16Fで苦労し、同じ苦労をしたくないと思っている方・・・16Fのノウハウがそのまま使えます。16F877で満足している方・・・18Fを使うと過去の自分が小さく見えます。16F877で基板を作ってしまった方・・・悩むことはありません。18Fが難しいと思っている方・・・実は16Fの方が難しい。16Fがややっこしいと思っている方・・・もちろん18Fがおすすめ。18FはCコンパイラで書くと思っている方・・・18Fの方がアセンブラが書きやすい。18Fは高いのではと思っている方・・・お値段同じ。1個買いは高いけど100個買えば877とほぼ同じ。●メモリ構造の違いメモリ構造は全く違うものの、その違いを意識することなく使える。BSRレジスタでバンクが管理され、256バイトメモリ空間を16バンク切り替えする。機能レジスタは16Fの0xx番台よりF8x番台に移動した。ユーザは0番地から使用できる。BSRを使用したアクセス方法と、アクセスバンクアドレッシングが加わり、アクセスバンクを使用すると256メモリ空間で機能レジスタをアクセス可能。●プログラムメモリ16bit幅のプログラムメモリはODD/EVENの考え方が入ってきた。プログラム幅は同時に命令の大きさを示し、2bit拡張されて75命令と16Fの2倍になった。アクセス用のポインタが用意され、読み出し時はテーブルアクセスが可能になり、書込時はプログラムの書き込みをブロック単位で実行できる。●スタックメモリスタックは、31レベルに拡大。サブルーチンが30回も飛べるので、構造化プログラミングが可能になった。これは大変な進歩である。●メインクロッククロック源にPLL回路を内蔵し、10MHzのクリスタルの装着で40MHzクロックを発生できる。これにより1命令10MHzとなり、従来の16Fの2倍速で動作する。●ポインタ機能FSRを使用したポインタが3本に拡張され、ブロック転送やリングバッファ処理なども書きやすくなった。ポストインクリメント、プリデクリメントの操作も可能。バンク切り替え無しに全メモリが自由にアクセスできる。●割り込み割り込みは2種類で、優先順位がついた。変わっていないため、かえって混乱がない。タイマ0がWDTと分離し、プリスケーラが自由に使えるようになった。タイマ0は16bitタイマとしても使用できる。16bitのタイマ3が加わった。●プログラムの移植16Fのプログラムを18Fに移動することはあまり問題ない。命令も同一のものは残っている。RRF,RLFがRRCF,RLCFに名称を変えている。命令の追加は多少必要である。18Fの能力を生かすためには新たに書き直した方がいいことは言うまでもない。3が用意されこれで結構用が足りてしまう。ICD同様RB6、7を取られてしまうのが欠点。3は丸形のケースに収納されド派手な色がつけられている。安価なのはPICKIT3、HID接続のためドライバいらずで使いやすいが、転送速度や信頼性の点でポイントが下がってしまう。CコンパイラはC18コンパイラを無償で活用できる。MPLAB環境で全て利用できる。