news 2026/4/28 17:15:31

I2C控制器及其应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
I2C控制器及其应用

I2C(Inter--Integrated Circuit))芯片与芯片之间的通讯,

集成电路总线,它由飞利浦(现为NXP)公司在20世纪80年代开发,是一种广泛用于嵌入式系统的
同步、串行、半双工通信协议,用于在同一块电路板上的集成电路之间进行通信。
I2C总线是一种物理通信架构,用于连接多个设备,实现设备之间的数据传输。

SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。
SDA(serial data): 数据线,通信数据都通过SDA线传输

快速模式下,数据传输速率为400Kb/s。
高速模式下,数据传输速率为3.4Mb/s

I2C总线上可以挂载一个主设备和多个从设备,实现一对一(一个主设备 + 一个从设备)或者一对多(一个主设备 + 多个从设备)的通信;
主设备负责调度总线,决定某个时间和其中一个从设备通信。在同一时间,只有主设备和其中一个从设备通信,其余的从设备处于等待状态,等待主设备与其通信;
每个从设备在I2C总线上都有唯一的地址,主设备就是通过地址来区分不同的从设备,从而决定和哪一个从设备通信。

读模式

主设备发送开始信号;
主设备接着发送8bit数据,其中7bit是从设备的地址,1bit表示此次主设备是要读数据还是写数据;
从设备发送ACK响应信号;
从设备将数据每次发送8bit到SDA线上,主设备接收到发送ACK响应信号;
当主设备接收完数据后,发送一个停止信号;

写模式

主设备发送开始信号;
主设备接着发送8bit数据,其中7bit是从设备的地址,1bit表示此次主设备是要读数据还是写数据;
从设备发送ACK响应信号;
主设备将要写的数据每次发送8bit到SDA线上,从设备接收到发送ACK响应信号;
当主设备发送完数据后,发送一个停止信号;

I2C通信接收流程


通过操作I2CCON寄存器,将设备配置成主发送模式;
将从设备的地址写到I2CDS寄存器中;
往I2CSTAT寄存器写0xF0,让I2C控制器产生一个开始信号;
移位寄存器将I2CDS里的数据发送到SDA总线上;
在收到ACK信号后,中断被挂起,需要中断处理程序来处理;
中断处理程序判断是否是要结束本次通信;
如果不是结束本次通信,则将新的数据写到I2CDS寄存器中,然后清中断挂起标志,将数据发送到SDA总线上,等待ACK信号,进入下一次判断;
如果是要结束本次通信,则往I2CSTAT寄存器中写0xD0,产生一个停止信号,清中断挂起标志,等停止信号发送完毕则结束本次通信

I2C通信发送流程


通过操作I2CCON寄存器,将设备配置成从发送模式;
在SDA总线上检测到开始信号,I2CDS寄存器接收到数据;
将I2CDS寄存器中接收到的数据和I2CADD寄存器中保存的地址进行比较;
判断是否匹配;
如果不匹配,则表示主设备不是和自己通信,不用再进行下面的步骤;
2C地址匹配则中断产生,告诉设备主设备要和自己通信,并发送一个ACK信号;
写数据到I2CDS寄存器,然后清中断;
判断是否要停止本次通信,也就是有没有检测到主设备发送停止信号;
如果不停止通信,则将I2CDS寄存器中的数据发送到SDA总线上,然后产生中断,重复之前的步骤;
如果是停止本次通信,则不再做响应即可;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 17:10:05

Boston Dynamics与其机器人产品全览

波士顿动力(Boston Dynamics)是全球最具代表性的机器人技术企业之一,成立于 1992 年,起源于美国麻省理工学院,由著名机器人学家 Marc Raibert 创立。公司总部位于马萨诸塞州,历经三十余年深耕,是…

作者头像 李华
网站建设 2026/4/28 17:09:12

网盘直链下载助手:八大网盘真实下载链接一键获取的终极解决方案

网盘直链下载助手:八大网盘真实下载链接一键获取的终极解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…

作者头像 李华
网站建设 2026/4/28 17:07:09

OpCore-Simplify:5分钟完成黑苹果OpenCore自动化配置终极指南

OpCore-Simplify:5分钟完成黑苹果OpenCore自动化配置终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款专为简…

作者头像 李华
网站建设 2026/4/28 17:05:22

[盖茨三角带] 盖茨 Super HC® XP™ Notched Premium PowerBand® 三角带

在工业传动领域,空间紧凑、功率受限的工况对三角带性能提出了严苛挑战。很多设备在设计时,既要控制驱动系统的宽度与重量,又要保证高功率的稳定传递,传统三角带往往难以同时兼顾。美国盖茨旗下盖茨 Super HC XP 三角带&#xff0c…

作者头像 李华