0 Replies Latest reply on Mar 16, 2011 4:13 AM by andyhodgson

    Issues with I2C block data access through SMBus


      I'm currently integrating an I2C device into a laptop. The device is attached to the SMBus controller in a 3400 series chipset.


      I have driver and software code up and running for single byte read/write access to my I2C device through the 3400 SMBus controller, however I'm struggling to understand how to operate the SMBus controller in I2C mode AND use the 32-byte block buffer to write data to the I2C device.


      The SMBus controller only ever seems to transmit the last byte that was written to the 32-byte buffer, even when 32-byte buffer mode is enabled. It's almost like the E32B flag on the SMBus controller is ignored when in I2C mode, howver the chipset specifications don't make any reference to this limitation. Any help onunderstanding why the 32-byte block buffer isn't functioning as expected in I2C mode would be much appreciated.


      I've read the 3400 series spec a number of times to verify that I haven't missed anything. I've also been using the whitepaper on interfacing I2C devices as a reference.