400KHz I2C with Total Phase's Aardvark only transmits at 100KHz

1 view (last 30 days)
I am able to use Total Phase's Aardvark I2C/SPI to send and read data with I2C. However, the transfers only occur at 100KHz with MatLab 2016b in Windows and macOS. I have setup my device as follows:
%%*** initialize i2c channel and unlock i2c slave access
Vendor = 'Aardvark';
BoardIndex = 0;
i2c_dev = i2c(Vendor,BoardIndex,RemoteAddress);
i2c_dev.BitRate = 400;
i2c_dev.PullupResistors = 'none';
i2c_dev.TargetPower = 'none';
set(i2c_dev,'OutputBufferSize',512)
fopen(i2c_dev);
Matlab reports the BitRate set at 400KHz, but proving the bus, all SCL clocks are 100KHz. How do I get to set the bitrate to 400KHz?
Using Total Phase's Control Center, I am able to send commands at 400KHz. Thus, the Aardvark can generate SCL clocks at 400KHz.
Thanks.

Answers (2)

Nikhil Sreekumar
Nikhil Sreekumar on 5 Oct 2017
Hi Pedro,
Please refer to the bug report below. This addresses the issue that you are facing:
https://www.mathworks.com/support/bugreports/1472060
Thanks
Nikhil

Pedro Gelabert
Pedro Gelabert on 5 Oct 2017
The workaround did not solve the issue. I managed to get MatLab 2017 and that transmits at 400KHz properly.

Categories

Find more on Instrument Control Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!