本文转载自:<span id="profileBt"><a href="https://www.cnblogs.com/VagueCheung/p/13370316.html">VagueCheung的博客</a>…;
ZYNQ7000系列FPGA的PS自带两个IIC接口,接口PIN IO可扩展为EMIO形式即将IO约束到PL端符合电平标准的IO(BANK12、BANK13、BANK34、BANK35);
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059413-11…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059413-11…; alt=""></center>
SDK中需要对IIC接口进行初始化在黑金和米联的例程里为了方便用户使用,对IIC和外设设备分别创建了相应的文件方便用户开发。
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059413-11…; alt=""></center>
特别注意每个外设设备都会有自己的slave address;而xilinx官方给出的IIC驱动中给出的从设备的地址是7bit模式(IIC总线上的器件一般为8位地址位,去掉低位一位广播位,最多可挂载127个设备),在IIC进行写操作时注意要将设备原有的salve address转化成7bit模式;否则从设备将无法给予应答。
例如tw9912
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059413-11…; alt=""></center>
在SDK中IIC进行写操作时。从设备地址slave address就应设置为0x44/0x45;
IIC总线数据传输速率(波特率)快速模式下可达到400kbit/s;