IIC总线的应答信号问题,fpga作为主设,芯片是具有IIC协议的,它作为从设。现在向芯片发送地址后可以得到

2024-11-29 21:10:06
推荐回答(3个)
回答1:

如果第一个字节有ACK返回,后面没有,那肯定是时序问题或者写寄存器有误,你要写的寄存器是否不可写?
这种情况最有可能还是大方向时序对了,可细节达不到要求
我当时调XILINX ZYNQ7000的IIC就这样,有在重复起始信号处一个小脉冲,这个小脉冲对于RTC,FLASH芯片都是可以接受并容错的,但是ADV7390就始终无法通信,通过模拟IIC写程序后消除了小脉冲通信才正常。
接个示波器看波形,与数据手册好好对照一下吧。

回答2:

不要那么确定说你的命令就是正确的 ,计算命令上是正确的 那么你的时序肯定是有错误的地方的 仔细比较你的时序和芯片所要求的时序 一定要严格按照人家芯片的要求才可能找到错误所在

回答3:

有可能是你的地址就不对,你发的指令根本不认,建议你找一个最新的芯片手册查对一下;