1

I would like to know why Atmel TWI doesn't support I2C START BYTE.

I am reading the AT32UC3C2512C datasheet on the TWI part, and I can see it doesn't support the START BYTE from I2C (it's on page 698), and I would like to know the why, and the implications of this being not supported.

Karlo
  • 183
  • 1
  • 6
mFeinstein
  • 4,293
  • 11
  • 45
  • 84
  • 2
    Could you link to that datasheet so we don't have to look for it? – Kurt E. Clothier Apr 22 '13 at 00:15
  • 1
    On top of that, what exactly do you mean by "doesn't support"? From what I understand, a start byte is only used to reduce the polling time for devices without dedicated I2C hardware. A start byte is just data, and how that data is handled is entirely up to the software designer. http://www.i2c-bus.org/addressing/start-byte/ – Kurt E. Clothier Apr 22 '13 at 01:49

1 Answers1

3

This particular implementation of a start byte (send a start, a dummy byte and a restart) is meant for slower I2C hardware that relies on polling instead of using dedicated hardware to detect addresses auto-magically.

I'm sure that 'simplicity' is the reason this mode isn't supported in hardware - less gates needed in the TWI peripheral, less control registers, etc. That being said, the implications are minor - I'm pretty sure you can do this sequence manually (i.e. in your firmware) instead of relying on the hardware to do it for you, if you have an oddball peripheral that actually needs this mode.

Adam Lawrence
  • 32,921
  • 3
  • 58
  • 110
  • I understand now...since the MCU has the I2C hardware it can easily detect the START condition, doenst needing the START BYTE to make it "easier". – mFeinstein Apr 22 '13 at 03:15