接口/总线/驱动
I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。它允许若干兼容器件共享总线。所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。
I2C总线最主要的优点是其简单性和有效性。占用的空间小,降低了互连成本。总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。主控能够控制信号的传输和时钟频率。当然,在某时刻只能有一个主控器件。
在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C器件对应连接到该总线上即可;若无I2C总线接口,则可以使用I/O口模拟I2C总线。
使用单片机I/O口模拟I2C总线时,硬件连接非常简单,只需两条I/O口线即可,在软件中分别定义成SCL和SDA。MCS-51单片机实现I2C总线接口电路如图所示。
电路中单片机的P1.0引脚作为串行时钟线SCL,P1.1引脚作为串行数据线SDA,通过程序模拟I2C串行总线的通信方式。I2C总线适用于通信速度要求不高而体积要求较高的应用系统。
I2C总线如何识别相同器件地址?
1) DA3一DA0 4位器件地址是I2C总线器件固有的地址编码,器件出厂时就已给定,用户不能自行设置。
2) A2A1A0 3位引脚地址用于相同地址器件的识别。若I2C总线上挂有相同地址的器件,或同时挂有多片相同器件时,可用硬件连接方式对3位引脚接vcc或接地,形成地址数据。
3) R/W确定数据传送方向:R/W:1时,主机接收;R/W:0时,主机发送。
I2C总线如何识别扩展器件的地址?
具有I2C总线结构的器件在出厂时已经给定了这类器件的地址编码。另外,I2C总线器件还有3位引脚地址A2A1A0,可用硬件连接方式对3位引脚接Vc。或接地,形成地址数据,用于具有相同器件地址的器件识别。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !