全球旧事资料 分类
的接收和发送单元均为双缓存,在数据发送时,数据从发送数据寄存器到移位寄存器,以时钟速率输出到SDA线;在数据接收时,数据从SDA线进入移位寄存器,然后进入接收寄存器。
22I2C总线控制器和EEPROM的基本操作I2C总线在传送数据过程中共有3种类型的信号,分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;结束信号:SCL为高电平时,SDA由低电平向高电平跳变,传送数据结束;应答信号:接收数据的设备在接收到一个字节数据后,向发送数据的设备发出特定的低电平脉冲表示已收到数据。当MPC8250的I2C总线空闲时,其SDA和SCL均为高电平,主设备通过发送一个开始信号启动发送过程。这个信号的时序要求是当SCL为高时,SDA出现一个由高到低的电平跳变。在起始条件之后必须是从设备的地址字节,其中高4位为器件类型识别符不同的芯片类型有不同的定义,EEPROM一般应为1010,接着3位为片选,最后1位为读写位,当为1时为读操作,为0时为写操作,如图2所示。
图2EEPROM设备地址字节结构如果主设备要向EEPROM中写数据,在地址字节中主设备向EEPROM发出一个写请求RW0,发送的地址字节之后紧跟着要发送的数据。每发送一个字节的数据后EEPROM就会产生一个应答信号,主设备也会监控应答信号,如果在发送一个字节后EEPROM没有返回应答信号,则主设备就会停止发送,并生成一个结束信号。写操作的时序如图3所示。
图3I2C主设备写操作时序
f要从EEPROM中读取数据时,应设置RW1。在EEPROM发送完一个字节的数据后,主设备产生一个应答信号来响应,告知EEPROM主设备要求更多的数据,对应主设备产生的每个应答信号EEPROM将发送一个字节的数据。当主设备不发送应答信号并随后发送结束信号位时结束此操作。读操作的时序如图4所示。
图4I2C主设备读操作时序3Li
ux中I2C总线驱动体系结构在Li
ux系统中,对于一个给定的I2C总线硬件配置系统,I2C总线驱动程序体系结构由I2C总线驱动和I2C设备驱动组成。其中I2C总线驱动包括一个具体的控制器驱动和I2C总线的算法驱动一个算法驱动适用于一类总线控制器而一个具体的总线控制器驱动要使用某一种算法。例如,Li
ux内核中提供的算法i2ealgo8260可以用在MPC82xx系列处理器提供的I2C总线控制器上。Li
ux内核中提供了一些常见处理器如MPC82xx系列的算法驱动。对于I2C设备,基本上每种具体设备都有自己的基本特性其驱动程序一般都需要特别设计。在I2C总线驱动r
好听全球资料 返回顶部