PORT EXPANDER | zweisteinjpのブログ

zweisteinjpのブログ

組込み関係の自作や趣味の音楽関係についてが主体に気ままに書いていきたいと考えています。
好きなミュージシャンはアランホールズワースで、音色やフレージング含めて気に入ってます。

PICマイコンやArduinoは基本的にそんなにピン数多くないやつが扱いやすいのですが、デジタルI/Oを大量に使いたいような場合にはピン数不足をどう補うか悩ましいですが、Microchip社のPORT EXPANDERを使えば大抵は解決します。

PORT EXPANDERはI2CタイプとSPIタイプの2種類がありますが、SPIはChip Selectを必要としますので、ハードウェアのリソースを考えるとI2Cタイプの方が使い勝手は良い場合が多そうな気がします。

MCP23017の場合、I2Cアドレス設定に使用出来るデジタルポートが3つありますので、8個まで使用することが出来ます。

1個のMCP23017で16CH使うことが出来ますので、8個使うことで128CH確保出来ます。

それでも足りない場合ですが、I2Cのポートを更に定義して動かせれば256CHまで確保出来ますが、I2Cを同時に複数定義してマイコンを動かしたことがないので、試してみる必要があります。

スピードが要らないのであればソフトウェアI2Cを使うことで、複数のI2Cが使えそうですが、処理がちゃんと思ったように回ってくれるのかどうか等、実際に試してみないと分からないことだらけです。

 

I2Cタイプ

 

SPIタイプ