【0722学习笔记】单片机I2C接口技术(1)_脚下的路_百度空间

------------根据相关资料整理--------------

一、I2C总线简介
   I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA和SCL两根线与连接到总线上的器件之间传递信息,并根据地址识别每个器件。如下图:

   I2C为双向同步串行总线,因此I2C总线接口内部为双向传输电路。I2C总线端口输出为开漏结构,故总线须接上10K左右的上拉电阻,当总线空闲时,SDA、SCL都为高电平。I2C总线数据传输速率在标准工作方式下为100Kbit/s, {zg}可达400Kbit/s。其接口电路结构如下图。

I2C总线上所有外围器件都有规范的器件地址。如下表(1):


                                                             表一
    高四位DA3、DA2、DA1、DA0为器件地址,I2C总线外围接口器件的固有地址编码,在出厂时候就已经给定。例如,AT24CXX的器件地址为1010.
   后三位A2、A1、A0为引脚地址,根据接不同电源或地址来区分。
   {zh1}一位R|\W为数据方向位,为1读数据(接收),为0时写数据(发送)。

二、I2C总线数据的传输

   在数据的传送过程中,SCL为高电平期间,SDA上数据必须保持稳定,只有当SCL为低电平时候才允许变化,同时也 必须确认数据传送的开始和结束,即开始信号(Start)止信号(Stop)。SCL为高电平期间,SDA由高到低的变化表示开始信号,SDA由低到高的变化则表示终止信号。如下图:

I2C 总线数据传输的格式:开始信号后,送出的{dy}字节数据是用来选择器件地址(见上表一)的。开始信号后个器件将自己的地址与总线上发送的地址进行比较,若一致则该器件为要寻址的器件,其接受信息还是发送信息由{zh1}一位R|/W决定。
  
   在I2C总线上每次传送的数据字节数不限,但每一字节必须是8位,且每个传送的字节后必须跟一个认可位(第9位),也叫应答位(ACK)。数据传送过程如下图所示:
   

     主器件发送完一字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,此时钟内主器件释放SDA线,一字节传送结束,而从器件的响应信号将SDA拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应结束后,SDA线返回高电平进入下一个传送周期。

应答信号时序图:

另外,I2C总线还具有广播呼叫地址,用于寻址总线上所有的器件的功能。

三、I2C总线接口器件

    具有I2C总线接口的器件有很多,在视频处理、通信领域采用I2C总线接口器件较普遍,另外还有些通用的I2C接口器件,例如:带I2C总线的单片机、RAM、ROM、A/D、D/A、LCD驱动等。

51系列单片机并未提供I2C接口,但是基于对I2C协议的分析,可以通过软件模拟的方法来实现单片机I2C接口,从而实现51系列单片机与I2C器件之间的数据传输。

   明天的学习,将以24系列的EEPROM(AT24C02)为例,结合8952单片机熟悉I2C总线的应用。(EEPROM:电可擦可编程存储器
    



郑重声明:资讯 【【0722学习笔记】单片机I2C接口技术(1)_脚下的路_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——