Share the same pins on TWIM0 & TWIM1

I would like to set up TWI transactions to two peripherals triggered by a single PPI event.  Reading prior forum posts, it looks like this can only be done if the transactions to the two peripherals are identical (e.g. sending/receiving the same number of bytes to each peripheral)  However, this doesn't match my use case. 

I had an idea that if I could configure and queue a transaction to peripheral A with TWIM0 and then a transaction to peripheral B with TWIM1, I could then chain the two transactions together (using PPI).  This would require having TWI0 and TWI1 share pins.  In my testing, I can configure them in this fashion perfectly fine and have it work if and only if one TWI instance is enabled at any given time.  I suspect this isn't working because what I've effectively done is create a multi-master TWI bus.

Is there any way around this limitation?  I suspect not but figured I'd ask the community at large.  Thanks!

Parents
  • Hello,

    I have been assigned this ticket, and I will get back to you soon. In the meantime, I appreciate if you can share more information on what your goal is with this.

    It is helpful if you can share more details on what you want to achieve with this. I.e. what is your use case?

      Reading prior forum posts,

    Please share which posts these are.

    I encourage the community to share their insights on this!

    Regards,

    Maria

  • Scenario: I have two peripheral devices on the same TWI bus.  Every 5 mSec, I would like to automatically read 5 bytes from register 0x00 on peripheral A, and 20 bytes from register 0x10 on peripheral B. All of this would happen using PPI and zero CPU cycles.

    Here's the link to a prior forum post stating that this can be done if the transactions to both peripherals are identical.

Reply Children
Related