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.

Calculated versus measured I2C f(scl) frequency

Hello All,

 

DM8168 I2C peripheral clock frequency (f(SCL)) generation does not seem to follow the equations given in the sprugx8 1July2011 Technical Reference Manual.

Given:
tHIGH = (SCLH + 5) * ICLK time period
tLOW = (SCLL + 7) * ICLK time period

Given: f(sysclk6)=123.4MHZ

f(iclk)=f(sysclk6)/(PSC+1)

f(iclk)=123.4MHZ/5=24.7MHz

PSC=4

Let: f(scl)=400KHz

SCLH=[(1/400KHz)(1/2)(24.7MHz)]-5=25.88=>26=0x1A

SCLL=[(1/400KHz)(1/2)(24.7MHz)]-7=23.88=>24=0x18

f(scl)=f(iclk)/[(SCLH+5)+(SCLL+7)]

f(scl)=24.7MHz/(26+5+24+7)=24.7MHz/62=398KHz

However, actual measured f(scl) frequency equals 154.9KHz.

Can you explain the cause of discrepancy between the calculated versus measured f(scl) frequency?



Best Regards,
Jeff