原创 LPC2114的I2C总线介绍

2008-3-18 21:50 3300 11 12 分类: MCU/ 嵌入式

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


LPC2114有一个标准的I<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2C总线接口,可配置为主机或从机,总线时钟速率可调整,最高可支持400KHZ总线速率。使用I2C总线时,要将相应得引脚设置连接SCLSDA,并且总线上要上拉电阻,阻值为110KΩ,依据所需要的总线速率而定。总线速率越高,电阻阻值应该越小。I2C总线可接标准I2C接口器件,如串行EEPROMRAMLCD、时钟芯片以及音调发生器。


根据方向位(R/W)状态的不同,I2C总线上存在以下两种类型的数据传输:


⑴从主发送器向从接收器发送数据。


  主机发送得第一个字节是从机地址,接下来是数据字节流。从机每接收到一个字节返回一个应答位。


⑵从发送器向主接收器发送数据。


  第一个字节(从地址)从主机发送。从机返回一个应答位。接下来从机向主机发送数据字节。主机每接收一个字节返回一个应答位。接收完最后一个字节,主机返回一个“非应答位”。主器件产生所有串行时钟脉冲和起始以及停止条件。出现停止条件或重复的起始条件时传输结束。由于重复的起始条件同时是下一个串行发送的开始,因此I2C总线不会被释放。


LPC2114I2C是字节方式的I2C接口,只要把一字节数据写入I2C数据寄存器I2DAT后,即可由I2C接口自动完成所有的数据位发送。它有4种操作模式:主发送器模式、主接收器模式、从发送器模式和从接收器模式。


 


⑴主发送器模式


该模式中,数据从主机发送到从机。在进入主发送器模式之前,I2CONSETI2C控制置位寄存器)必须按如下设置进行初始化:


I2CONSET     ---   I2EN  STA  STO  SI  AA  ---  ---


               --     1     0     0   0    0   --   --


说明如下:


       I2EN=1,使能I2C接口;


   AA=0,不产生应答信号,即不允许进入从机模式;


   SI=0I2C中断标志为0


   STO=0,停止标志为0


   STA=0,起始标志为0


 


在该模式下,数据方向位(R/W)应为0表示执行写操作。因此第一个发送的字节为从地址(7位)和写方向位。数据的发送每次为8位,每发送完一字节,都接收到一个由从机返回的应答位。该模式的数据发送操作步骤如下:


              通过软件置位STA,进入I2C主发送器模式,I2C逻辑在总线空闲后立即发送一个起始条件。


              当发送完起始条件后,SI位置位。此时I2STAT(状态寄存器)中的状态代码为08H,该状态代码用于中断服务程序的处理。


              把从地址和写方向位装入I2DAT(数据寄存器),然后清零SI位(I2CONCLR寄存器中得SIC位写入1可清零SI),开始发送从地址和写方向位。


              当从地址和写方向位已发送且接收到应答位后,SI位再次置位(可能的状态代码为18H,20H38H)。


              当状态码为18H时,表明从机已应答,则可以将数据装入I2DAT,然后清零SI位,开始发送数据。


              当正确发送数据,SI位再次置位(可能的状态码为28H30H)。此时可以再次发送数据或者置位STO结束总线。


 


⑵主接收器模式


在该模式下,主机所接收的数据字节来自从发送器,数据方向位应该为1表示执行读操作。该模式的数据接收操作步骤如下:


     通过软件置位STA,进入I2C主发送器模式,I2C逻辑在总线空闲后立即发送一个起始条件。


     当发送完起始条件后,SI位置位。此时I2STAT(状态寄存器)中的状态代码为08H,该状态代码用于中断服务程序的处理。


     把从地址和读方向位装入I2DAT(数据寄存器),然后清零SI位,开始发送从地址和读方向位。


     当从地址和读方向位已发送且接收到应答位后,SI位再次置位(可能的状态代码为38H,40H48H)。


     当状态码为40H时,表明从机已应答。设置AA位,用来控制接收到数据后是产生应答信号还是产生非应答信号,然后清零SI位,开始接收数据。


     当正确接收到一个字节数据后,SI位再次置位(可能的状态码为50H58H)。此时可以再次接收数据或者置位STO结束总线。


 


⑶从接收器模式


当配置为I2C从机时,I2C主机可以对它进行读、写操作。要初始化为从机用户必须将从地址写入I2ADR(从地址寄存器),并按如下配置I2CONSET


I2CONSET     ---   I2EN  STA  STO  SI  AA  ---  ---


               --     1     0     0   0    1   --   --


 


       在该模式下,从主发送器接收数据字节。当主机访问从机时,接收主机发送过来的数据,并产生应答信号。数据方向位应该为0表示写操作。该模式的数据接收操作步骤如下:


     将从地址写入I2ADR并配置I2CONSET完成初始化。等待它被自身的从地址或通用地址寻址。


     在接收到地址和方向位后,SI位置位并可从I2STAT中读出有效的状态代码。


     根据状态代码执行相应的操作。


 


⑷从发送器模式


当主机访问从机时,向主机发送数据,并等待主机的应答信号。数据方向位应该为1表示读操作。使用该模式时,用户程序只需根据各种状态码作出相应的操作。


 


I2C时钟由SCL占空比寄存器控制(I2SCLHI2SCLL),分别设置SCL的高电平和低电平时间,获得合适的总线时钟频率。寄存器I2CONSET则用来控制I2C总线的模式及总线操作,其位SII2C中断标志位,所有总线操作都要依赖于这一标志;同时它又钳住总线,使总线的数据发送/接收得以同步控制。寄存器I2CONCLR则为对应的清零寄存器;I2STATI2C状态寄存器,用于指示总线处于哪种状态,以方便控制操作。I2DATI2C总线数据寄存器,包含要发送的数据或刚收到的数据。当系统作为从机时,I2ADR从机地址寄存器有效。当总线对此地址进行访问时,将会产生I2C中断。


 


I2C主机基本操作方法:


设置I2C引脚连接;


设置I2C时钟速率(I2SCLHI2SCLL);


设置为主机,并发送起始信号(I2CONSETI2ENSTA位为1AA位为0);


发送从机地址(I2DAT),控制I2CONSET发送;


判断总线状态(I2STAT),进行数据传输控制;


发送结束信号(I2CONSET)。


 


I2C从机基本操作方法:


设置I2C引脚连接;


设置自身的从机地址(I2ADR);


使能I2C(I2CONSETI2ENAA位为1)


判断SI位或者等待I2C中断,等待主机操作;


判断总线状态I2STAT,进行数据传输控制。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户13046 2008-4-11 21:39

you are great
相关推荐阅读
用户944075 2010-10-31 20:35
【大学电子类专业】【经典书籍和课本】【推荐下载】【地址汇总】
一级学科 电子科学与技术(0809) 主要包括有以下几个二级学科:物理电子学                     080901电路与系统                     080902微电子...
用户944075 2010-10-31 20:31
【初学者必知必会】【电子技术:数电 模电 单片机】【基础概念和小知识点】详解
电阻相关:; Z- D" M( X2 V, X9 n1、上拉电阻和下拉电阻的总结~~权威版倾情奉献 http://www.dzcny.com/thread-1138-1-1.html2、上拉电阻、下拉...
用户944075 2010-03-23 22:30
【电子菜鸟园】【电子类软件】【图文安装原创教程】下载地址汇总
【原创】Altium.Designer 6.6(Protel DXP)图文安装教程:http://www.dzcny.com/thread-525-1-1.html【原创】NI的Multisim和Ul...
用户944075 2010-03-23 22:26
欢迎访问电子菜鸟论坛
最近跟朋友们一起弄了个电子技术论坛 名叫 电子菜鸟园 在里面会共享电子方面的一些资料 我们在工作中的一些技术交流希望大家多多支持 !论坛地址   http://www.dzcny.com/      ...
用户944075 2010-03-23 22:25
电子菜鸟园免费赠送USB转串口PCB活动开始了!
电子菜鸟园免费赠送USB转串口PCB活动开始了!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office"...
用户944075 2010-03-23 22:24
【电子菜鸟园】【日本欧姆社电子学入门丛书】【下载地址】【汇总】
电子菜鸟园收藏整理的OHM日本欧姆社的电子学入门系列丛书,特别分享给大家!欢迎访问下载。《图解电子电路》http://www.dzcny.com/thread-595-1-1.html《图解运算放大器...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条