This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I2C peripheral lowest possible data rate

Other Parts Discussed in Thread: RM57L843, HALCOGEN

Hello,

Reading through the data sheets I discovered that the Hercules (RM46 and RM57) has a minimum data rate of 10 kbps.  Is this a hard limit and is it possible to run at an even slower speed, for example <1kbps?

Best

Josh Karch

  • Josh,

    Are you referring to this table or something else?   Note that (1) is a minimum period (us), not minimum frequency.

    It is basically just the recipricol of the maximum frequency from the prior line (2) where the minimum frequency is 0

    and the maximum frequency is 1/10us = 100KHz.

  • Anthony, basically 7.10.1 of the RM57L843 manual states that transfer rates of 10kbps to 400kbps are supported. I saw the same thing for the RM46, too. Is the 10kbps number really DC instead as the lowest possible data rate?

    I have another issue with the I2C that I could use help with, that I haven't been able to find a good answer to. I will post this separately as a new issue, because it is complex.
  • That might be the lowest rate that we can handle as a master - assuming the slave does not extend the clock by pulling SCL low.
    I'd need to look at the dividers and do the math...
  • Hmm.

    Well you have to set the I2C clock prescaler so that the internal module clock is between 6.7MHz and 13.x MHz according to the TRM. I know that this is a requirement or else some of the timings that are derived from this clock are not met by the IP.

    But - after that there is a 16 bit divider for clock low time, and another for clock high time.

    If I do the math - 6,700,000 Hz / 128,010 = about 50Hz roughly.. so I am not sure where the 10KHz min comes from.

    I'd say work with the datasheet and assume it can go to 0Hz if the slave extends and down to whatever the divider says.
    But that is just advice because parameter table trumps high level bullet in my own opinion.

    -Anthony
  • Anthony,

    It certainly seems to clock out slower, and HalCoGen doesn't seem to get upset when I type in 0.8 for a data rate, for example, but that doesn't mean that the hardware can handle it. If the 10 kbps limitation is the reason I am unable to get reliable repeated data transmissions, then that answers my question, as we have found a hardware solution that can run at normal i2c rates. My other post still applies, however, to a state machine for i2c communication, regardless of data rate.

    I look forward to hearing more about this-- thank you for looking into the lowest transmission rate issue!
    Best,
    Josh Karch
  • Anthony, I appreciate your help with this-- If you end up finding out that there are other reasons for the 10 KHz minimum, please let me know. In the mean time, I'll pretend that bit of manual information is incorrect, and that sub 1kbps communications are possible!
    Best-
    Josh
  • Hi Josh,

    So I may have a theory.  

    Our internal spec from the TMS470 didn't have a 10KHz statement.   But we used a different branch of the IP (from the C5000 DSP) for the TMS570.   This spec has the 10KHz statement but it's on a feature bullet and in () it says 'phillips standard' ...  so it's just saying in effect that these numbers come from the standard.

    I did find something in the Philips standard that may be the root of the 10Khz and it's the most likely thing I've found.

    There is a section comparing SMBUS and I2C and it states:

    "4.2.1 I2C/SMBus compliancy

    SMBus and I2C protocols are basically the same: A SMBus master is able to control I2C

    devices and vice versa at the protocol level. The SMBus clock is defined from 10 kHz to

    100 kHz while I2C can be 0 Hz to 100 kHz, 0 Hz to 400 kHz, 0 Hz to 1 MHz and

    0 Hz to 3.4 MHz, depending on the mode. This means that an I2C-bus running at less

    than 10 kHz is not SMBus compliant since the SMBus devices may time-out."

    That may be where the 10KHz originated from.    But again it's clear we say we support down to 0Hz

    in the electrical spec,  and we can configure out clock down to 50Hz approximately - so I would say those are solid compared to just a bullet in the feature list.

  • Anthony-- great answer-- that helps settle my first concerns, and that's much appreciated!

    Best,

    JOsh