LPC2114的I2C总线介绍
来源:互联网 发布:linux msync函数 编辑:程序博客网 时间:2024/04/29 17:23
LPC2114的I2C总线介绍
LPC2114有一个标准的I2C总线接口,可配置为主机或从机,总线时钟速率可调整,最高可支持400KHZ总线速率。使用I2C总线时,要将相应得引脚设置连接SCL和SDA,并且总线上要上拉电阻,阻值为1~10KΩ,依据所需要的总线速率而定。总线速率越高,电阻阻值应该越小。I2C总线可接标准I2C接口器件,如串行EEPROM、RAM、LCD、时钟芯片以及音调发生器。
根据方向位(R/W)状态的不同,I2C总线上存在以下两种类型的数据传输:
⑴从主发送器向从接收器发送数据。
⑵从发送器向主接收器发送数据。
LPC2114的I2C是字节方式的I2C接口,只要把一字节数据写入I2C数据寄存器I2DAT后,即可由I2C接口自动完成所有的数据位发送。它有4种操作模式:主发送器模式、主接收器模式、从发送器模式和从接收器模式。
⑴主发送器模式
该模式中,数据从主机发送到从机。在进入主发送器模式之前,I2CONSET(I2C控制置位寄存器)必须按如下设置进行初始化:
I2CONSET
说明如下:
在该模式下,数据方向位(R/W)应为0表示执行写操作。因此第一个发送的字节为从地址(7位)和写方向位。数据的发送每次为8位,每发送完一字节,都接收到一个由从机返回的应答位。该模式的数据发送操作步骤如下:
①
②
③
④
⑤
⑥
⑵主接收器模式
在该模式下,主机所接收的数据字节来自从发送器,数据方向位应该为1表示执行读操作。该模式的数据接收操作步骤如下:
①
②
③
④
⑤
⑥
⑶从接收器模式
当配置为I2C从机时,I2C主机可以对它进行读、写操作。要初始化为从机用户必须将从地址写入I2ADR(从地址寄存器),并按如下配置I2CONSET:
I2CONSET
①
②
③
⑷从发送器模式
当主机访问从机时,向主机发送数据,并等待主机的应答信号。数据方向位应该为1表示读操作。使用该模式时,用户程序只需根据各种状态码作出相应的操作。
I2C时钟由SCL占空比寄存器控制(I2SCLH、I2SCLL),分别设置SCL的高电平和低电平时间,获得合适的总线时钟频率。寄存器I2CONSET则用来控制I2C总线的模式及总线操作,其位SI为I2C中断标志位,所有总线操作都要依赖于这一标志;同时它又钳住总线,使总线的数据发送/接收得以同步控制。寄存器I2CONCLR则为对应的清零寄存器;I2STAT为I2C状态寄存器,用于指示总线处于哪种状态,以方便控制操作。I2DAT为I2C总线数据寄存器,包含要发送的数据或刚收到的数据。当系统作为从机时,I2ADR从机地址寄存器有效。当总线对此地址进行访问时,将会产生I2C中断。
I2C主机基本操作方法:
①设置I2C引脚连接;
②设置I2C时钟速率(I2SCLH、I2SCLL);
③设置为主机,并发送起始信号(I2CONSET的I2EN、STA位为1,AA位为0);
④发送从机地址(I2DAT),控制I2CONSET发送;
⑤判断总线状态(I2STAT),进行数据传输控制;
⑥发送结束信号(I2CONSET)。
I2C从机基本操作方法:
①设置I2C引脚连接;
②设置自身的从机地址(I2ADR);
③使能I2C(I2CONSET的I2EN、AA位为1);
④判断SI位或者等待I2C中断,等待主机操作;
⑤判断总线状态I2STAT,进行数据传输控制。
- LPC2114的I2C总线介绍
- I2C总线-I2C总线介绍
- I2C总线性能介绍
- I2C总线详细介绍
- I2C总线介绍
- I2C总线详细介绍
- 简单介绍I2C总线
- 关于I2C总线介绍的一个重要网站 http://www.i2c-bus.org/i2c-bus/
- I2C总线的学习
- I2C的总线电容
- I2C总线的时序
- 并口模拟I2C总线协议介绍
- I2C总线的仲裁问题
- I2C总线 ----LM75的读写
- I2C总线的仲裁过程
- I2C总线的仲裁机制
- I2C总线驱动程序的实现
- I2C总线的一般性问题
- (C小程序)三种数值交换方式的比…
- sizeof(结构体)和内存对齐
- 迁户口的大概过程,只供参考
- NorFlash与NandFlash对比
- LPC2200的I2C从模式
- LPC2114的I2C总线介绍
- 使用手机作为调制解调器,将 PC 连…
- Linux下文件夹部署详解
- 求开方的函数
- linux下eclipse的安装
- Ubuntu 安装JDK方法分享
- ubuntu下安装jre
- Source Insight 3.5[3.x]序列号
- 牛刀:中国未来房价基本走势…