I2C接口及驱动

本文介绍了I2C总线的基本特征,包括其简单的电路结构、主从设备寻址方式、多主多从模式下的仲裁机制,以及标准传输速率。在硬件部分,详细阐述了I2C硬件电路的连接方式、上拉电阻的选择和设备数量限制。数据传输规则中提到每个字节为8位,传输过程中从机可以通过保持时钟线低电平来暂停传输。最后,简要提及了I2C在Linux驱动中的应用。
摘要由CSDN通过智能技术生成

1. 简介

  • I2C总结的基本的特征
    • 电路简单,只需要两根线,时钟线SCL和数据线SDA
    • I2C为总线型结构,主设备依靠从设备地址进行寻址
    • I2C总线上的设备可以为一主多从或者多主多从,多主多从模式下,需要提供仲裁和冲突检测机制
    • I2C主设备提供时钟,SDA可以双向传输数据
    • I2C标准的传输速率可以达到100Kbit/s,快速模式下可以达到400Kbit/s,高速模式下可以到达3.4Mbit/s。一般最为常用的传输速率<=100Kbit/s

2. 硬件

2.1 硬件电路

在这里插入图片描述

  • I2C硬件电路特征
    • 连接到I2C总线上的设备,必须是以开漏或开集电极的方式连接,这样才能实现线与
    • SCL和SDA必须接上拉电阻,电阻的大小为4.7K到10K之间
    • 连接到总线上的设备数量受400pF电容的限制

2.2 数据传输

  • I2C在进行数据传输时的一般规则如下:
    • 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制
    • 首先传输的是数据的最高位(MSB),每个字节后必须跟一个响应位,所以,一帧数据共有9位
    • 如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL后数据传输继续

3. Linux驱动

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值