32bitマイコン・PIC32を使ってみよう
Beggining of PIC32 programming
PIC32はマイクロチップ社が開発するプログラマブル32bitマイコンのシリーズです。IoTやMakerブームで様々な種類のマイコンが入手できますが、LEDのオン・オフや、符号化処理をしない簡単な通信だけなら、ArduinoやRaspberry Piだけでも十分に実現できます。それでもあえてPIC32シリーズを選択肢に含める理由として次のものが挙げられます。
- 高速なのに安価である
秋月電子では40MHzのエントリモデル(PIC32MX120F032B-I)が200円から販売されており、32bitマイコンとしては非常に安い部類に入ります。また、32bitクラスではピン同士の幅が0.5mm間隔であるマイコンが多い中、PIC32は2.54mm間隔のモデルもあり、ブレッドボードを使った試作品の開発も容易におこなえます。
- (その気になれば)開発環境も低コスト
PIC32シリーズはMIPSアーキテクチャという比較的オープンな技術を採用している関係上、gccコンパイラのソースコードをのぞき見るなど、深い技術情報も知ることができます(ただ、そのソースのビルドは非常に難しく、はたしてGPLに即しているのかという疑惑もあるほどですが、一方で自力でビルドしたバイナリーを公開している人もいるようです)。そのため、Arduinoを改造したプログラムライターやArduino風やVisual Studio Codeベースのプログラミングツールなどが開発されており、ユーザーの使い道にあった柔軟な開発環境を構築できます。
- USB機器が開発できる
300円程度で買える「PIC32MX220F032B-I」にはESP32にはないUSBコントローラーが内蔵されているので、オリジナルのキーボードなんかも(コンデンサーなどの補助パーツは別として)このチップ一個で作れます。おなじUSBコントローラーが搭載された定番AVRマイコン「ATMEGA32U4」は500円程度で16MHzであるのに比べると、処理能力に大分余裕があるので、複数のUSB機器を1つのチップで振る舞うこともより簡単に実装できるでしょう。
- 日本語による情報が豊富
Arduinoが台頭する前から日本では電子工学系の雑誌で特集されたり、技術書が数多く出版されたため利用者が多く、ほかのメーカーのマイコンに比べて国内で買い求めやすく、資料が豊富なのが日本市場での特徴です。C言語プログラミングであれば、8bitでも32bitでも基本的な手法は同じであり、また製品を廃盤にはしないという開発元の方針も相まって、ちょっと古いプログラミング技術書でも参考になります。
PIC32プログラミングの技術書としてAmazonで真っ先に見つかるのが、後閑哲也氏の著書「
PIC32MX活用ガイドブック」です。ただ、PIC32マイコンのレジスタなどの技術情報を得るには大変便利な本著ですが、プログラミングという点では力不足になりつつあります。と、いうのも、サンプルコードで利用しているライブラリーがマイクロチップでは過去の遺物(レガシー)扱いとなっており、今後発展する予定がないからです。
意外に役に立つのが「
ディジタル回路設計とコンピュータアーキテクチャ」という技術書です。本来はCPUの動く仕組みについて解説した本なのですが、x86よりもMIPSアーキテクチャに重心を置いており、第8章の「組み込みI/Oシステム」ではざっくりとながら、PIC32を用いたGPIO、SPI、PWMなどのプログラムサンプルを閲覧することができます。
TNKソフトウェアではこれらの参考資料を基に作成・開発したPIC32マイコンによる作品や近代的なプログラム例を公開していく予定です。
2018/09/20