数字ic学习-IIC总线(一)之datasheet学习 第一天

1.简述

刚学fpga的时候做过ov7725摄像头的驱动,包括iic,跟着视频教程做的,最终实现了。现在马上要工作了,私下联系了主管,他给我安排了任务,年前期末的事了,现在才做,真是惭愧。让我做iic slave接口,当时心想做过啊,简单。后来仔细去做的时候发现,我以前做的是master接口,不能直接用,而且仿真激励还得用到iic master,突然觉得主管不愧是主管,看似简单,东西挺多的啊。他后面给了NXP的iic手册,研究了一下,确实详细,比网上资料好很多,还能锻炼英文。今天先总结下。

2.正文

1).摘要

  • iic只有两个总线,SCL和SDA。
  • 四种模式
    • 标准模式 100Kb/s
    • 快速模式 400Kb/s
    • 快速Plus模式 1Mb/s
    • 高速模式 3.4Mb/s
    • 超高速模式 5Mb/s
      在这里插入图片描述

2).修订历史

在这里插入图片描述

3).特性表

  • 这里面说三种情况:单主机、多主机和从机。
  • M:必有 O:可选 n/a:不适用。实现的时候我们要遵循这个标准。
    在这里插入图片描述

4).逻辑电平

由于做ic所以要关注逻辑电平。可以看出iic总线的电平不是固定的,取决于参考输入电平(VDD)。

  • 30%VDD及以下 为低电平;
  • 70%VDD及以上 为高电平
    在这里插入图片描述

5).数据有效

  • 当SCL 为高时SDA数据为有效的,所以这个时候SDA数据必须稳定;
  • SDA数据在SCL为低电平的时候变化;
  • 一个SCL时钟传输1bit的SDA数据。
    在这里插入图片描述

6).开始和停止信号

  • 开始信号 当SCL为高时,SDA由高变低;
  • 停止信号 当SCL为高时,SDA由低变高;
    在这里插入图片描述

7).传输格式

  • SDA必须为8bit数据一组传输,也就是传输一个字节;
  • 传输的字节数据没有限制;
  • 传输每个字节后面都得有ack。
    在这里插入图片描述

8).ACK和NACK

ACK和NACK是接收端发出的应答信号,ACK表示有效,可以继续传输。NACK表示有问题,传输暂停,原因文档列了五条,我不做解释了。

  • ACK SCL时钟有效,SDA为低;
  • NACK SCL时钟有效,SDA为高;
    在这里插入图片描述

9).从机地址和读写位

这个图很容易看明白iic时序了,不难理解。

  • 1-7bit 是地址
  • 第8bit 是读或写位
    • 0 写
    • 1 读
  • 数据传输是从高位到地位传输。

在这里插入图片描述

3.总结

其实看了这些,只是iic理想情况下的,还没涉及到多机传输冲突、几种传输模式实际运用等等,就类似高中和大学学习,全都是忽略很多实际问题的理想情况。今天就看了这么多,明天继续吧,深入挖掘。

欢迎关注我的公众号:芯王国,有更多的FPGA&数字IC的技术分享,还可以获取开源FPGA项目!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40377195/article/details/104883415