这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » IIC基本介绍

共10条 1/1 1 跳转至

IIC基本介绍

高工
2022-02-26 19:53:47     打赏

IIC物理层介绍

1、IIC总线是一个支持设备的总线,IIC只使用两条总线线路,一个是双向串行数据线(SDA),一个是串行时钟线(SCL)。数据线用来收发数据,时钟线用于数据收发同步。

2、每个连接到总线的设备都有一个独立的地址,主机立用这个地址进行不同设备间的访问。

3、总线通过上拉电阻接到电源。当IIC设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高度态时,总线会被上拉电阻拉成高电平。

4、多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定有哪个设备占用。

5、IIC用三种传输模式:标准传输模式为100kbit/s,快速模式为400kbit/s,高速模式可达3.4Mbit/s。

6、连接到相同总线的IC数量收到总线的最大电容400PF限制。


IIC协议层介绍

`IIC协议层定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。

IIC基本读写过程

起始信号S有主机的IIC接口产生,这时连接到主机的所有设备都会接收到这个信号。

起始信号产生后,所有从机开始等待主机广播下来的从机的地址信号,在总线上,所有从机的地址都是唯一的,当主机广播的地址与设备的地址匹配后,这个设备就被选中,地址不匹配的设备会忽略之后的数据信号。从机的地址信号可以时7位和10位的。

主机发送完地址信号后接着发送传输方向的选择位,0表示数据的传输方向由主机传至从机,即主机写数据,1表示数据的传输方向由从机传至从机,及主机读数据。

从机匹配地址后,会返回一个应答(ACK)或非应答信号(NACK),主机只有接收到从机的应答信号后,主机才能继续向从机发送数据。(写数据过程) 读数据过程即主机要向从机发送应答或非应答信号,从机只有收到主机发送的应答信号,才能继续向主机发送数据

写数据

当配置的方向传输位为“读数据”方向时,主机广播完地址,并接收到从机的应答信号时,主机开始正式向从机传输数据,一次传输的 数据大小为8位,主机每发送完一个字节后,都要等待从机的应答信号,可以重复这个过程。当像停止发送数据时,主机向从机发送一个停止信号(P),表示不在传输数据。

读数据

当配置的方向传输位为“读数据”方向时,主机广播完地址,并接收到从机的应答信号 后,从机开始向主机发送数据,数据的大小为8位,从机每发送完一个数据,都会等待主机的应答信号,可重复此过程。当主机向停止接收数据时,就向从机发送一个非应答信号(NACK),则主机自动停止发送数据。

读和写数据

IIC更常用的是复合格式,该传输过程有两次起始信号(S)。一般在第一次传输中,主机通过地址找到设备后,发送一段数据,这段数据通常用于表示该设备内部寄存器或存储器的地址;第二次传输中,则对该地址进行读或写。 (第一次告诉从机要读写的地址,第二次才真正进行数据的传输)


信号的起始(S)和停止信号(P)

当SCL为高电平SDA来一个下降沿意味着通讯的开始。当SCL为高电平SDA来一个上升沿代表通讯的结束。

数据有效性

IIC使用SDA来传输数据,并使用SCL来同步数据。SDA数据线在SCL的每个时钟周期传输一位数据。传输是,SCL为高电平时SDA表示的数据有效,SCL为低时,SDA表示的数据无效,一般在SCL为低电平时SDA进行数据的切换,为表示下一个的数据做准备。

地址及数据方向

设备地址可以是7位或11位,数据传输方向位和7位地址位一起传送。读数据方向时(相当于从机向主机写数据)由从机控制SDA线,写数据方向时,SDA由主机控制。

响应

当设备接收数据后,若希望对方继续发送,则向对方发送应答信号,发送方会继续发送下一个数据;若接收方不想接收数据时,则向对方发送非应答信号,发送方接收到非应答信号后会产生一个停止信号,从未结束信号传输。

传输时主机产生时钟,通讯开始后,发送端发送完地址及传输方向位信号时(前8位),第九位时数据发送端会释放SDA的控制权,由数据接收端控制SDA ,若SDA为高电平,表示产生非应答信号,低电平表示产生应答信号。





关键词: IIC     介绍    

专家
2022-02-26 21:22:12     打赏
2楼

学习一下


专家
2022-02-26 21:57:36     打赏
3楼

感谢分享


专家
2022-02-26 22:45:39     打赏
4楼

看看


专家
2022-02-27 00:02:40     打赏
5楼

感谢楼主的分享,很实用了。


专家
2022-02-27 03:14:27     打赏
6楼

学习学习


高工
2022-02-27 11:04:32     打赏
7楼

谢谢学习了


专家
2022-02-28 16:31:27     打赏
8楼

感谢


工程师
2022-03-12 23:56:37     打赏
9楼

介绍的很到位


工程师
2022-03-13 08:43:42     打赏
10楼

谢谢了


共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]