IIC的原理和在设计中遇到的问题

IIC的原理
现在大部分的外设控制信号都是用 IIC 信号,IIC 信号主要的优点是可靠,简单,兼容 性好。IIC 有握手协议,还是时钟线同步信号线,通信的准确率是 100%的,一个总线可以挂 多个设备,节省 IO 口。协议只需要读取两个 IO 口的点平,很容易用软件模拟 IO 口的方式 实现,所有控制器芯片都可以使用。IIC 可以跑各种各样的速率,只要 IO 口足够快,几乎所 有的速率都可以跑。所以 IIC 是所有外设控制信号的首选。
IIC的原理和在设计中遇到的问题_第1张图片
IIC的原理和在设计中遇到的问题_第2张图片
IIC的原理和在设计中遇到的问题_第3张图片
IIC 调试常见的问题:

  1. 连接到控制芯片的 IIC 的序号。控制芯片 IIC 有可能有几个通道,需要确认该外设 IIC 连接到控制芯片的序号。
  2. 外设的 IIC 速率。有时候外设的 IIC 速率是比较低的,要注意控制芯片的速率不能高于 外设的规格书。
  3. 连接到控制芯片的不同外设的 IIC 地址不能一样。IIC 地址一样,外设会冲突。并且注 意 IIC 规格书是 8 位地址还是 7 位地址。
  4. 连接到控制芯片的 IIC 设备不能相互干扰。有些时候 IIC 设备上电时,会出现瞬间脉冲 干扰 IIC 信号。而连接同一路 IIC 的设备有可能由于该设备的 IIC 脉冲干扰而陷入死循环,从 而把 IIC 拉死。如果是主控拉死,可以通过复位主控的 IIC 可以恢复。就是在机器 在上电外设之后(确认是那种会拉死 IIC 的外设),都对主控的 IIC 进行复位。 如果是外设 拉死 IIC,一般是没有办法解决。只能尽量避开这种现象,采用的原则是哪个外设会拉死 IIC, 那个外设要放在最后面上电。
  5. 有些时候,外设对于 IIC 的信号要求比较高,一般来讲,IIC 传输数据位,时钟线在低 的时候,数据线应该要先预设好要传输的电平。如下图
    IIC的原理和在设计中遇到的问题_第4张图片
    数据变化的时间最好是时钟电平的中心位置。有些主控默认的不是这样子,这样会导致一些 器件误判把数据位判断为起始位或者结束位。
  6. 有些外设的 IIC 命令之后,要做适当的延时才能下另外的命令。否则会出错。因为外 设收到 IIC 命令之后,要执行命令,执行命令需要时间。不同外设执行不同命令的需要延时 都是不一样的。往往这种信息在规格书都是没有说明的,而且出现的问题也都是概率性的, 只能调试的时候注意去检查 。
  7. IIC 的访问一般只跟硬件关联,硬件通了,IIC 就可以访问。所以调试 IIC 一般要看下供 给外设的电源电压是否正确,时钟频率和幅度是否对,IO 口电平是否正常。

你可能感兴趣的:(IIC的原理和在设计中遇到的问题)