I'm trying to connect 32 I²C "root of trust" NXP A71CH devices.


I'm trying to multiplex 32 devices for that chip.

I'm looking for a very fast way of multiplexing those 32 devices, an idea or schematic or a design.

The only solution that I found is to use an FPGA. Is there a clever solution with just normal embedded microcontrollers ?

One chip costs 50ms, If I want to do 1000 signing, it would cost 1000*50ms. What I want to achieve is to have 1000signing with just 50ms cost. Is there a way of that without using FPGAs ?! Only with discrete components

  • \$\begingroup\$ If you generalise the problem: you want to use many I2C devices. If addresses are selectable and/or you have enough I2C busses, you might be able to do it without additional hardware. Otherwise, there are I2C multiplexers - have you looked into that? FPGA solution is a bit confusing here; where did you find that? \$\endgroup\$ – domen Jun 12 '19 at 10:08
  • 1
    \$\begingroup\$ These chips have one address pin, which means you need e.g. five PCA9546A four channel I²C mux to create 16 buses from one. E.g. Linux handles those muxes automagically and make the userspace see 16+4+1 buses. \$\endgroup\$ – Janka Jun 12 '19 at 10:11
  • \$\begingroup\$ @Janka I didn't understand, what does Linux do with that issue ? \$\endgroup\$ – Andre Jun 12 '19 at 10:15
  • \$\begingroup\$ Google-fu: i2c bus address multiplexer \$\endgroup\$ – Peter Smith Jun 12 '19 at 10:27
  • 1
    \$\begingroup\$ If you have additional information related to your original question, use the "edit" button to add the information there. Do not create a duplicate question. \$\endgroup\$ – Dave Tweed Jun 12 '19 at 12:45

Browse other questions tagged or ask your own question.