Control Unit for RP2040のI2Cアドレス設定 - AYOR
2025/03/23 (Sun) 14:38:32
PICOのGPIOを使ってI2Cアドレスを拡張されたのですね。
ただ、Renew DIV5142をつかった各種接続方法”等からは、ボード種別毎に決め打ちになっているようにも見えます。現行のPICOのファームでは、I2C1~4は、各Renew DIV5142に割当てられ、I2C5は、Precision DELAYとイコライザ基板の排他仕様?、I2C6は各種DACに割当てられているように読めます。勘違いでしたらすみません。
この辺を自由に変更できるようにするのは、大変でしょうか。例えば、想定していたのは、Renew DIV5142 3枚、Precision DELAY 2枚、イコライザ基板 1枚だったのですが。変更はユーザーレベルではなく、ソースレベルになるのでしょうか。
あと、さらなるI2Cアドレス拡張には、GP18が空いているようですが。
Re: Control Unit for RP2040のI2Cアドレス設定 - ヒロ@長崎
2025/03/24 (Mon) 06:29:33
>I2C1~4は、各Renew DIV5142に割当てられ、I2C5は、Precision DELAYとイコライザ基板の排他仕様?、I2C6は各種DACに割当てられているように読めます。
その通りです。割り当てしないと、たとえばI/OエキスパンダのPCA9539がI2Cラインに接続されているとしても、DAC基板実装のものなのかPrecision DELAYに実装のものかの区別がつかないためです。
>この辺を自由に変更できるようにするのは、大変でしょうか。
#defineの設定値を変える必要があるので、ソース変更が必要になります。ところで、これを自由に変更する意図はどこにありますか?
>あと、さらなるI2Cアドレス拡張には、GP18が空いているようですが。
本気で拡張するなら、現在12本のGPIOでSCL,SDAを排他的につかってI2C1~I2C6としていますが、SCLの6本とSDAの6本をマトリックスでつかえばI2C1~I2C36が実現できます。
Re: Control Unit for RP2040のI2Cアドレス設定 - AYOR
2025/03/24 (Mon) 07:51:10
有難うございます。やはりそうですか。
アドレスが一義的に指定できるというならば、
ポート5に、Precision DELAYとイコライザ基板
ポート6に、各種DAC
が、共存(現状のソフトでコントロール)できるという理解でよろしいですか。