IIC的ack信号为何会出现半高电平?


IIC(Inter-Integrated Circuit),是由飞利浦公司推出的一种串行通信总线(BUS),数字电路中应用非常广泛,经常用在对数据量以及速率要求不太高的场合,比如说用于传输单板配置、状态信息等。

应用中不太容易出现问题,但是也有例外,比如说本次文中要说的ack信号处出现的半高电平。出现半高电平的原因有很多,总结下来也就两点:1、代码写岔了;2、器件之间配合太挫了(第二点概率比较低,因为大家肯定都是按照IIC协议来设计器件的)

首先从协议入手

IIC接口结构

双线制

IIC有两条信号线(支持多主多从):
SCL(时钟线,由主器件输出(master))
边沿触发,上升沿将数据输入从器件,下降沿驱动从器件输出数据(这并不表示一个时钟周期即会触发读,又会触发写,可以对比时序图来理解),为边沿触发信号;

SDA(数据线,主、从(slave)器件都能输出)
双向数据线,漏极开路(OD,open-drain)/集电极开路(OC,open-collector)结构。

速率

标准模式:100kbit/s
快速模式:400kbit/s
高速模式:3.4Mbit/s

  • 15
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值