I2C总线

最近用到超声波测距模块,用了HC-SR04和KS103两个模块。
KS103模块用到I2C和串口通信模式,这里做个记录。
首先整理下I2C的,串口的后续跟上。。。

I2C总线(Inter Intergrated Circuit Bus)是同步通信的一种特殊形式,具有接口线少、控制简单、器件封装形式小、通信速率较高等特点。

I2C总线由数据线SDA和时钟线SCL两条线构成通信线路,既可发送数据也可接收数据。在cpu与被控IC之间、IC与IC都可进行双向传送,最高传送速率为400kbps,各种被控制器件均并联在总线上,但每个器件有唯一的地址。
总线在空闲状态下均保持高电平,连到总线上的任一器件输出低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。

1.发送启动信号:在SCL为高电平期间,SDA出现下降沿则为启动信号。
这里写图片描述

2.发送停止信号:在SCL为高电平期间,SDA上产生一上升沿信号。
这里写图片描述

3.发送寻址信号:主机发送启动信号后,在发出寻址信号。器件寻址有7位和10位两种。
7位寻址方式,寻址信号由一个字节构成,高七位为地址位,最低位为方向位,用以表明主机与从器件的数据传送方向。0表示主机写数据到从器件,1表示主机从从器件读数据。
这里写图片描述

4.数据位的有效规定:I2C在进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟信号为低电平期间,数据线上的高电平或低电平状态才允许变化。
这里写图片描述

5.数据传输:主机发送寻址信号并得到从器件应答后,便可进行数据传输,每次一个字节,但每次传输都应在得到应答信号后再进行下一个字节传送。

6.应答信号:每传送一个字节数据(含地址及命令字)后,都要有一个应答信号,以确定数据传送是否被对方收到。应答信号由接收设备产生,在SCL信号为高电平期间,接收设备将SDA拉为低电平,便是数据传输正确,产生应答。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值