24.4.3.2 Bus Transfers

In I3C, a Controller initiates bus transfers, except for a few special cases such as an in-band interrupt or Hot-Join. Controller-initiated bus transfers always start with the I3C Reserved Address, whose value 7’h7E is ignored by I2C Targets. This makes it possible to detect whether there are any I3C Targets active on the bus, and if so, to then switch to Push-Pull mode for a more efficient transfer.

I3C extends I2C’s basic read and write concepts by adding commands, called Common Command Codes (CCC), which may or may not have an associated data sequence. Immediately following the Reserved address ACK, a CCC is sent, possibly followed by a data sequence.

Different Bus Transfers:

  • Broadcast CCC Writes perform a write to all targets that are active on the bus.

    ???

  • Directed CCC Writes perform a write to a single addressed target.

    ???

  • Directed CCC Reads perform a read from a single addressed target.

    ???

  • Private Write transfer if RnW=0, followed by a data sequence sent by the controller, with T=odd parity.

    ???

  • Private Read transfer if RnW=1, followed by a data sequence sent by the target, until T=0 (no more data).

    ???