IIC specification

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IIC specification

跳至解决方案
1,617 次查看
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?

标记 (1)
0 项奖励
回复
1 解答
1,476 次查看
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 项奖励
回复
7 回复数
1,568 次查看
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 项奖励
回复
1,554 次查看
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 项奖励
回复
1,545 次查看
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 项奖励
回复
1,528 次查看
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 项奖励
回复
1,503 次查看
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 项奖励
回复
1,477 次查看
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 项奖励
回复
1,593 次查看
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Xin,

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

With Best Regards,

Jozef

0 项奖励
回复