I’m using the USB to I2C converter that’s based on a FT230X.
I have scoured the quick start guide and the other quick start guide from top to bottom and I can’t find anything about how to configure the I2C clock speed. I would like to enable fast mode (400 kHz). Is that possible with this board?
In general, if there’s a reference listing of all NCD API commands, that would be helpful to know about. Or are 0xBE (read) and 0xBF (write) the only commands?
Thanks in advance!
Ok, so this feature is not officially supported yet, and should be considered experimental. Here’s what you need to do to speed it up. Note that every time you power up the device, you will need to issue this command to put it into fast mode of operation:
AA 07 BC 32 01 01 00 00 00 A1 100KHz (Default Speed)
AA 07 BC 32 01 01 00 00 01 A2 38KHz (Slow Speed for use with Long Cables)
AA 07 BC 32 01 01 00 00 02 A3 200KHz
AA 07 BC 32 01 01 00 00 03 A4 300KHz
AA 07 BC 32 01 01 00 00 04 A5 400KHz (Fast Mode)
AA 07 BC 32 01 01 00 00 08 A9 675KHz (Max Speed)
Please let me know if this works for you, this is largely untested.
Hmm, well, I am not seeing any difference with any of the settings, but I’m not sure whether it is just that my I2C slave device can’t send data fast enough. Thanks anyway!
The only way to validate this is working is to use an oscilloscope. This will not likely effect operation of any I2C device attached. These commands simply increase the hardware I2C port clock rate, resulting in greater speed. If you happen to be using a OLED graphic display, these settings should demonstrate a noticeable improvement in the update speed of the display.
Yeah, I think the delay between readings is somewhere else in the system. Thank you for providing the commands! BTW, I still strongly recommend having a real API reference, not just a fragmented group of examples. And maybe don’t tout the V3 API’s support of fast mode if it’s not officially supported yet.
The resources tab has complete documentation on the API codec, which explains the protocol, we have fully documented the I2C read and write commands. In review of my notes of this product, the speed is not supported in the software or documentation, but it is supported in the hardware. A updated version of AnyI2C is on the way that will include support for the faster speeds.
Sorry, the resources tab where? If you mean in AnyI2C, I am not on Windows so I’m not running that software (though I did poke around in the source code a bit).
I was just referring to the Serial to I2C Conversion page which says
V3 Feature Overview
- I2C Communications Speeds of 200, 300, and 400KHz are now possible