【软件工程师学硬件】之 时序2

上一节我们用了一个简单的游戏来描述时序,但是单片机的时序比这个复杂多了。
为了进一步描述时序,我们结合IIC协议来描述一下。
IIC通信是单片机里非常普遍的通信协议,很多硬件之间的通信都遵从这个协议,至于协议的起源什么的,我这里不做详细介绍了,大家可以参考一下网上的一些文章。下面直接说IIC协议的通信过程。
IIC协议里有两个重要的概念,就是SCL和SDA,SCL是啥?不要被英文给蒙了,实际上就是时钟。SDA又是啥?实际上就是数据。下面我们就SCL和SDA来介绍一下IIC的时序。
1、这个时钟线,也就是SCL,上面的时钟信号是一直不断的,这个和击鼓不一样,不是一会敲一会不敲的,也不是一会快一会慢的;
2、数据线,也就是SDA,上面的数据也不是想怎样就怎样,得和SCL保持一致,比如说,只能在SCL为高电平的时候,SDA的数据才有效,也就是说设备才能读SDA上的数据;相反,只能在SCL为低电平的时候,SDA上的数据才能变化,什么叫才能变化,比如要在SDA上传0101001,前一个是0,后一个是1,这就是变化;前一个是1,后一个是0,也叫变化,前后都是0,就不叫变化。那这个变化就有限制,必须等到SCL是低电平的时候才能变,否则就得憋着不能变。变化之后的数据还不能算数,还得等到SCL是高电平的时候才敢确认这个数据。看看规矩比较多。
那这个IIC开始和结束也有规定,刚才说了,SCL高电平的时候,SDA上的数据才管用,比如说,SDA上的电平由高到低变化(又叫下降沿),就表示开始了,SDA上的电平由低到高变化(又叫上升沿),就表示结束了。
另外SDA上的数据还得按照一定的顺序传输,不能乱,比如说,先传地址,就是7个bit的二进制数;接着传数据,就是8个bit的数据,当然,这中间得有确认,只要没有停止信号,可以一直传数据。
实际上经过耐心理解,发现这个时序也挺有意思的,单片机里类似这种时序不胜枚举,为了让大家更好的理解时序,下一节我们结合时序图来给和大家进一步介绍一下时序。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我们都是工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值