Arduino DUEボードの各端子機能
前回の記事で、Arduino DUEマイコンボードの改造を始めたのだが、まずはマイコンの各端子はどのような機能を持っているのか確認する必要がある。
もし前回の記事を読んでいないようであれば、ここを参照されたし。
Arduino DUEボードの回路図やピンアサインやSAM3X8Eプロセッサのマニュアルなどを見ながら、DUEボード上のSAM3X8Eプロセッサの各端子の機能を一覧化してみた。
ざっくりした物だが、このようになっている。
青はDUEボード上に存在するポートに繋がっている端子。
緑はDUEボード上に存在するがI/Oポートではない端子。 赤字は重要機能。
オレンジがオープン端子。 どこにも繋がっていない。
空白は存在しない端子。
この一覧を見ながら、どのように改造するか検討する。
青の所は何もしない。 すでにDUEボード上にI/Oポートが存在する。
緑はI/Oポートではないが、デバッグポートなどに繋がっていて、そこから別途ワイヤーでつなげればI/Oポートとして使える。
PB10とPB11はUSBポートに直結されている。 PC0はEEPROM消去用スイッチと直結している。 なので、この3つを汎用I/Oポートにするのはかなりリスクがあるので、使用は避けた方がいいだろう。
オレンジの箇所は難易度が高い0.5mmピッチのICの足に直接ワイヤーをはんだ付けしなければならない端子。
前回の記事で改造した個所はPA5なので、PIOAの5ビット目ということだ。 PIOAポートの中で唯一使われていない端子である。
次に、PIOAの21ビット目だが、この端子は基板上の"TX"LEDのカソードと繋がっている。 つまり、このLEDのカソード側からワイヤーを伸ばしてポートを用意すれば汎用I/Oポートとして使えるようになる。
こんな感じ
このPA5端子と"TX"LEDのカソードの二つを汎用I/Oポート化し、さらにSPI通信のピンもオスとメスの違いがあるがそのまま汎用I/Oポートとして使用することができるので、PIOAの0~29ビット目までの実に30ビットを連続で使えるようになるのだ。 少なくとも16ビット以上を連続で扱えるのはありがたい。(TFTディスプレイ制御時などで使える。このことはいつか書こうと思う。)
そんなこんなで改造していくと、なんと24個もの汎用I/Oポートを増設することができるようになる。
それが今回のArduino DUEマイコンボード改造計画の概要である。