I would like to connect following signals to IMP003.
- wake from sleep with a button (pinW)
- SPI (sensor)
- I2C (sensor)
- UART hardware flow control
I cannot find a pin assignment that can do this.
Can SPI FLASH connections be shared with other SPI devices? Any other suggestion?
The Pin Mux page has the imp003 GPIO pin out.
The imp003 has 2 UARTs with flow control, 2 IC2 buses, and 2 SPI buses (outside of the SPI FLASH) to work with!
I know. It’s awesome! But try to make the pin assignment. Not possible, right? Can SPI FLASH connections be shared with other SPI devices?
You cannot use the SPI flash’s SPI bus for other SPI devices.
Couldn’t you use:
spi - ABCE
i2c - FG
uart - DGUV
wake - W
No, G is in both i2c and uart…
I have to give up something else
Can I ask what kind of ICs you’re using? Typically you can get away with 1 directional flow control.
If that’s all you need, you can configure your UART first, then configure a SPI or I2C bus that uses one of the UART pins after, and will take control of that pin.
Can you elaborate a bit on the 1 directional flow control. I prefer to connect all sensors to IMP. But I could also connect the I2C device to the other processor connected over uart.
Yes, I could first configure for uart, then for i2c and then configure back to uart. However the I2C has a 10k pull up and I’m not sure if uart still works this way
Sharing the I2C data line is likely fine, as long as the clock line stays stable during UART usage (and neither is every used at the same time).
1-directional flow control is sometimes possible because generally one side of a serial link is the one sending more data and hence the one that needs the flow control to stop it every now and then.
Bit-banging I2C if you have no bandwidth requirements is also possible, allowing you to put i2c on any two pins.