FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

SCL_LOW, SCL_HIGH, SDA_HOLD register value of Intel FPGA Avalon I2C Master Core

MamaSaru
New Contributor I
939 Views

How can I determine SCL_LOW, SCL_HIGH, SDA_HOLD register value of Intel FPGA Avalon I2C Master Core?

I am planning to initialize the Core from my own designed sequencer.

Thank you.

0 Kudos
4 Replies
RichardTanSY_Intel
762 Views

See attached.

 

Capture.JPG

You can refer to this document for more details. Let me know if you need further help.

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_embedded_ip.pdf#page=173

0 Kudos
MamaSaru
New Contributor I
762 Views

No, I mentioned register value not the register location.

I am expecting all these timing is the timing while master driving SCL and SDA by itself.

I easily determine SCL_LOW and SCL_HIGH to define SCL waveform.

But I don't get what SDA_HOLD is.

I expect it is the time to sustain SDA from SCL low or high.

 

0 Kudos
RichardTanSY_Intel
762 Views

Let's say with a 100MHz input clock and the I2C Master is operating in normal mode of 100KHz.

For SCL_HIGH and SCL_LOW, the register value is (10us/10ns) divide by 2 assuming high and low is same (duty cycle 50:50). For SDA_HOLD, it is (your desired hold period/10ns). 

0 Kudos
MamaSaru
New Contributor I
761 Views

I have a simple question for SDA_HOLD.

  1. is this timing spec when SDA as output or as input?
  2. is this timing spec for start/stop condition or data transfer?

 

Reply