linux i2c驱动(一)协议讲解

本文详细介绍了计算机总线的概念,特别是I2C总线,包括其在硬件上的构成(SDA和SCL线),以及I2C协议的时序规则,如起始信号、停止信号和设备地址的使用。
摘要由CSDN通过智能技术生成

目录

1.概述

1.1 什么是总线

1.2 i2c总线简介

​编辑

2. i2c协议

2.1硬件上是什么样?

2.2 时序


1.概述

1.1 什么是总线

         总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线地址总线控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

1.2 i2c总线简介

       随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROMRAMI/O端口A/DD/A等外围电路集成在一个单片内而制成的单片机微控制器愈来愈方便。目前,世界上许多公司生产单片机,品种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格仍然有限,所以只能选用某种单片机来进行扩展。扩展的方法有两种:一种是并行,另一种是串行总线。由于串行总线的连线少,结构简单,往往不用专门的母板和插座而直接用导线连接各个设备。因此,采用串行线可大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能。因此,这是一种高性能的串行总线。

2. i2c协议

2.1硬件上是什么样?

        i2c是个半双工的通讯协议,即同一时间只能从主传到从,或者从从机传到主。

        有以下两根线

                  SDA:用于数据的传输。

                  SCL:时钟的信号线。

       I2C一般是一个主挂多从这样方式进行通讯。

2.2 时序

        起始信号与停止信号:

        很好理解,当SCL持续拉高,且SDA检测到拉低的时候,即为起始信号,反之则为终止信号。

         其中有7个bit用于表示i2c的设备地址,设备地址一般是由外设的厂商规定的,一般跟某两个引脚的信号有关。紧接着的一个bit为读写标记为,0为写操作,1为读操作

        ·接着数据跟ACK应答信号

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值