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.

CCS/TMS320F28377S: How to make I2C Clock for High-speed mode(3.4 MHz)?

Part Number: TMS320F28377S

Tool/software: Code Composer Studio

Hello?

I want to read and write to memory using I2C master mode.

In 28377S datasheet,  the period of the master clock 'T' is (IPSC+1)[(ICCL+d)+(ICCH+d)] / I2C input clock frequency.

When input clock freq. is 200 MHz,  I think...

for Normal mode, IPSC = 19(d = 5), ICCL = 45, ICCH = 45 ;

    so, T = (19+1)[(45+5)+(45+5)] / 200,000,000 = 0.00001 sec (100 kHz, Module clock is 10 MHz).

for Fast mode, IPSC = 19(d = 5), ICCL = 8, ICCH = 7 ;

    so, T = (19+1)[(8+5)+(7+5)] / 200,000,000 = 0.0000025 sec (400 kHz, Module clock is 10 MHz, 48 % duty ratio).

for Fast Plus mode, IPSC = 19(d = 5), ICCL = 0, ICCH = 0 ;

    so, T = (19+1)[(0+5)+(0+5)] / 200,000,000 = 0.000001 sec (1 MHz, Module clock is 10 MHz).

But for High-speed mode,

if IPSC = 5(d = 5), ICCL = 0, ICCH = 0 ;

    so, T = (5+1)[(0+5)+(0+5)] / 200,000,000 = 0.0000003 sec (3.333333 MHz, Module clock is 33.333333 MHz, 50 % duty ratio(actually can't use)) or

if IPSC = 2(d = 5), ICCL = n, ICCH = 10-n ;

    so, T = (2+1)[(n+5)+(10-n+5)] / 200,000,000 = 0.0000003 sec (3.333333 MHz, Module clock is 66.666666 MHz, adjustable duty ratio).

Q1) If master clock is 3.333333 MHz, is it working good at high-speed mode(3.4 MHz)?

Q2) If module clock is over 12 MHz, isn't it problem?

    (In datasheet, NOTE : To meet all of the I2C protocol timing specifications, the module clock must be configured between 7 - 12 MHz.)

Please reply.

Thank you.