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?
已解决! 转到解答。
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
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?
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.
With Best Regards,
Jozef
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.
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?
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