Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21588 Discussions

MAX II EPM570T UFM with I2C interface problem

Altera_Forum
Honored Contributor II
1,423 Views

Hello, everyone! 

I'm currently applying EPM570T100C5, and using its user flash memory(UFM) to store parameters.  

I used the i2c megafuction as the communication interface between the DSP master and UFM. But the I2C megafuction did not work well. I used an oscilloscope to watch the waveforms and find that usually the I2C megafuction did not acknowledge the master's sending bytes, such as the slave address and data. But accidently the I2C megafuction worked normally, and the acknowledges can be detected. 

My program works well because if I changed another I2C slave device such as DAC chip the acknowledge was received correctly. 

So, can anyone tell me what's the problem? Is it the wrong with the I2C megafuction itself? I will be very grateful if someone give sone tips! 

Thank you very much! Best wishes!
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
466 Views

Does the I2C master keep an I2C speed of 100 kHz and the other related timing requirements? The UFM-I2C interface is designed as synchronous logic clocked by the MAX II internal oscillator, which isn't very fast, it may have problems if the I2C interface is operated beyond the basic specification. I didn't yet use the I2C interface and am not aware of possible bugs. But the complete interface logic is present as HDL text in the I2C component file, you can review it and check it's operation in a simulation.

0 Kudos
Altera_Forum
Honored Contributor II
466 Views

 

--- Quote Start ---  

Does the I2C master keep an I2C speed of 100 kHz and the other related timing requirements? The UFM-I2C interface is designed as synchronous logic clocked by the MAX II internal oscillator, which isn't very fast, it may have problems if the I2C interface is operated beyond the basic specification. I didn't yet use the I2C interface and am not aware of possible bugs. But the complete interface logic is present as HDL text in the I2C component file, you can review it and check it's operation in a simulation. 

--- Quote End ---  

 

 

FvM, Thanks for your advices very much! 

I had configured the master's I2C speed as 100kHz firstly, but the result was the same as above. Then I configured some other frequencies, such as 80kHz, 50kHz, but the I2C megafuction couldn't work normally as well, that's its acknowledges couldn't be detected most of the time. I don't find the DSP master have any other configurations for the I2C module's other timing requirements. Did the problem have relationship with the version of Quatus II? I used the Quatus II 8.0. 

Did anyone encounter the same problem with me? Please give your advices. Thanks!
0 Kudos
Reply