Simultaneous I2C DMA transfer
I need to control 16 RGB addressable LEDs (48 channels). The only drivers which fit my needs are 24 channel I2C drivers (unfortunately, I couldn't find any suiting SPI drivers ), so I need to use two of them. Since both LED banks will create a common pattern, I2C control packets should come to them with minimal delay.
I am going to use M4 mcu (either F4 or L4).
So my questions (Q) are:
Q1: can I use 2 DMA I2C transfers at the same time if they are configured for different channels?
As far as I understand, DMA transfers only data, so before initiating transfer I need to send
START and device address, and the procedure is going to be as follows:
- configure I2C/DMA for a first led driver
- configure I2C/DMA for a second led driver
- send START and device address to the first led driver
- initiate transfer to the first led driver
- send START and device address to the second led driver
- initiate transfer to the second led driver
If the above is valid -
Q2: It seems like the target identifies first byte after START as address, but acknowledges it as
subsequent data bytes. So is it valid to skip the address sending and include address
as a first byte in a data packet (incrementing data size by 1 and modifying some I2C
functions) ?
Thank you
