IIC specification

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IIC specification

Jump to solution
1,318 Views
posedge_clk
Contributor I

I am learning NXP UM10204, there is a question that confuses me.

On page 44, table 11, note3. Why does the holding time have a maximum value?

In my understanding, there is usually no requirement for a maximum holding time.

Why data must has a valid time? 

As a host, can't I keep my data valid all the time?

Tags (1)
0 Kudos
Reply
1 Solution
1,177 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

these data were tested and validated long time ago. It is difficult to answer your questions. When designing your system, please keep the timing data within the boundaries stated in the UM10204. You need to adjust the waveforms with your MCU, so it will look similar to the required waveform for the Slave you want to communicate with. It depends from component to component. But the timings must be within the boundaries state in the UM10204.

With Best Regards,

Jozef

View solution in original post

0 Kudos
Reply
7 Replies
1,269 Views
posedge_clk
Contributor I

As shown in the following figure, i don't understand the max data valid time.

As a host, can't i keep the data is valid all the time until setup next data?

posedge_clk_0-1693445138560.png

 

0 Kudos
Reply
1,255 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

the tHD;DAT maximum time is not a must. It could be up to the defined maximum time, but the minimum value is also sufficient. 

With Best Regards,

Jozef

0 Kudos
Reply
1,246 Views
posedge_clk
Contributor I

What will happen if the maximum value of data valid time is exceeded ?

For example, in fast mode, the speccification requires the max data hold time is 900ns, what will happen if i hold it for 1us?

posedge_clk_0-1693470155606.png

 

0 Kudos
Reply
1,229 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

the tHD;DAT never can be longer, than tVD;DAT or tVD;ACK. If you increase the tHD;DAT length, the tVD;DAT and tVD;ACK are automatically also increased.

JozefKozon_0-1693481831010.png

With Best Regards,

Jozef

0 Kudos
Reply
1,204 Views
posedge_clk
Contributor I

Yes, I know the  the tHD;DAT never can be longer than tVD;DAT or tVD;ACK.
But why? 

1. What is the purpose of designing tVD;DAT and tVD;ACK ?

In the above example, I did not see any points where exceeding tVD;DAT and tVD;ACK may cause problems.There is 300ns free time, as a host, I think i can keep the data is valid until next setup.

posedge_clk_0-1693533260392.png

2. In my experience, design usually only imposes constraints on the minimum data valid time and not on the maximum data valid time. Why does this specification define the maximum data valid time?

3. Also, if this maximum data valid time is violated, will the slave not be able to receive data correctly?

 

 

0 Kudos
Reply
1,178 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

these data were tested and validated long time ago. It is difficult to answer your questions. When designing your system, please keep the timing data within the boundaries stated in the UM10204. You need to adjust the waveforms with your MCU, so it will look similar to the required waveform for the Slave you want to communicate with. It depends from component to component. But the timings must be within the boundaries state in the UM10204.

With Best Regards,

Jozef

0 Kudos
Reply
1,294 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

you probably have an older UM10204 version. Please check the UM10204 attached.

With Best Regards,

Jozef

0 Kudos
Reply