[示例代码] IIC总线

[复制链接]
1784|7
 楼主| lzmm 发表于 2023-1-29 09:53 | 显示全部楼层 |阅读模式
IIC总线的拓扑结构
991371-20180226134101790-451186553.png
八位数据分布:
991371-20180226134113714-449536269.png
991371-20180226134125833-2119159014.png
写操作:
991371-20180226134147208-1355092370.png
991371-20180226134156741-1123461925.png
991371-20180226134206678-1904346871.png
991371-20180226134217437-1316487689.png
读操作:
991371-20180226134234567-1309327524.png
991371-20180226134311998-1187972575.png
991371-20180226134325359-630088983.png
IIC总线的工作频率:
991371-20180226134342112-596651320.png
IIC总线的时序(重要):
991371-20180226134353589-1236496384.png
991371-20180226134409760-1862430592.png
991371-20180226134419916-842053473.png
991371-20180226134438286-467921921.png
991371-20180226134451567-259086675.png
991371-20180226134509147-1339822647.png
991371-20180226134522268-67858039.png
991371-20180226134533209-1736639558.png
起始位的时序:
991371-20180226134554054-2037919711.png
用verilog代码描述这一过程:
991371-20180226134611649-1237346919.png
此处是用来描述SDA信号的,什么时间拉高SDA信号,什么时间拉低SDA信号。
991371-20180226134626383-1399456818.png
为什么 TR+TSU_STA+THD_STA+TF的总时间不等于TR+THIGH+TF+TLOW的总时间呢,TR+TSU_STA+THD_STA+TF应该是指需要稳定的时间。
结束位的时序:
991371-20180226134641188-1360791861.png
991371-20180226134651966-839923623.png
991371-20180226134700624-1594074454.png
991371-20180226134704062-1419925144.png
991371-20180226134720538-628676736.png
991371-20180226134729355-2147795.png
991371-20180226134738941-1053632648.png
991371-20180226134754197-1251297216.png
数据位时序:
991371-20180226134812635-503106048.png
991371-20180226134825470-1381214999.png
991371-20180226134836535-1987788281.png
991371-20180226134846994-1025127312.png
991371-20180226134856474-260698229.png
991371-20180226134909472-1923680175.png
991371-20180226134916712-1429697823.png
991371-20180226134926881-1710429022.png
991371-20180226134937722-700771536.png
应答位时序:
991371-20180226134958399-284935909.png
991371-20180226135007830-530139358.png
991371-20180226135018311-169194253.png
991371-20180226135022769-1865494731.png
991371-20180226135034913-1203808663.png
读数据:
991371-20180226135052733-556167389.png
991371-20180226135103050-495882975.png
991371-20180226135113690-1283298046.png
991371-20180226135124517-942724431.png
第二次起始位:
991371-20180226135141217-865150718.png
纠正:上图中SDA与SCL的时序标反了。
991371-20180226135155756-1195121482.png
991371-20180226135206307-405227527.png
991371-20180226135217101-17440780.png

szt1993 发表于 2023-2-10 14:45 | 显示全部楼层
IIC多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。
tpgf 发表于 2023-3-1 09:36 | 显示全部楼层
IIC(Inter-Integrated Circuit)集成电路总线,它是一种串行通信总线,又叫I2C,使用多主从架构,由飞利浦公司在1980年推出的。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,一般可达400kbps 以上,属于半双工同步传输型总线
nawu 发表于 2023-3-1 09:45 | 显示全部楼层
IIC总线的硬件,是由一根数据线SDA,一根时钟线SCL构成。不同的器件,都是并联接在这两条线上,I2C总线上的每个设备都自己一个唯一的地址,来确保不同设备之间访问的准确性。
aoyi 发表于 2023-3-1 10:21 | 显示全部楼层
IIC总线通过上拉电阻接到电源VCC,电阻大小要根据设备实际测量
zljiu 发表于 2023-3-1 10:33 | 显示全部楼层
IIC的一个优点是它支持多主控(multimastering),其中任何一个能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率
gwsan 发表于 2023-3-1 10:44 | 显示全部楼层
IIC的 SCL 和SDA 都需要接上拉电阻,保证空闲状态的稳定性
tfqi 发表于 2023-3-1 11:01 | 显示全部楼层
IIC的每一帧数据由9bit组成,
如果是发送数据,则包含 8bit数据+1bit ACK,
如果是设备地址数据,则8bit包含7bit设备地址 1bit方向。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

413

主题

9197

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部