24C512是串行EEPROM读写芯片,是通过I2C总线方式通信的。I2C总线是一种用于IC器件之间的两线制总线。两根线分别是:SDA(串行数据)线及SCL(串行时钟)线,连接到总线上的I2C器件之间可以传送信息,并根据地址识别每个I2C器件,不管是单片机、存储器、LCD驱动器还是键盘接口。
1.I2C总线发展
串行扩展总线技术是新一代单片机技术发展的一个显著特点。其中PHILIPS公司推出的I2C总线(INTEL IC BUS)最为著名。与并行扩展总线相比,串行扩展总线有突出的优点:电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。目前I2C总线大量应用在视频、音像系统中,PHILIPS公司推出的近200种I2C总线接口器件,主要是视频、音像、单片机器件。I2C总线最显著的特点是:规范的完整性、结构的独立性和用户使用时的“傻瓜”化。I2C总线有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。
由于I2C总线系统中,各个节点的电气特性及地址给定都具有较强的独立性,因此,在应用系统中采用I2C总线结构就有可能实现用户梦寐以求的器件及功能单元的软、硬件标准化和模块化设计。
2.I2C总线的基本结构
采用I2C总线结构的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各个单元电路功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将各个功能单元电路挂起或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C总线接口电路结构如图5-22所示。
图5-22 I2C总线接口电路结构
在硬件结构上,任何一个具有I2C总线接口的外围器件,不论其功能差别有多大,都具有相同的电气接口;除了总线外,各器件节点没有其他电气连接,甚至各节点的电源都可以单独供电;在各器件节点上没有并行扩展时所必需的片选线,器件地址给定完全取决于器件类型与单元电路结构。在软件上,不论何种器件,其I2C总线的数据传送都具有相同的操作模式,而且每个器件操作时都与其他器件节点无关。在实际使用中,总线节点上的器件甚至可在总线工作状态下撤除或挂上总线。
3.双向传输的接口特性
I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。(www.xing528.com)
1)开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
2)结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。
3)应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况做出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的C8051F0XX系列、PHILIPSP87LPC7XX系列、MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。
4.数据的传送
I2C规程运用主/从双向通信。器件发送数据到总线上,则定义为发送器,器件接收数据,则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟线(SCL),控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平期间才能改变,SCL为高电平期间,SDA状态的改变被用来表示起始和停止条件。在竞赛机器人中PIC16F877作为I2C主控制器,AT24C512作为从控制器,具体电路如图5-23所示。
AT24C512是Atmel公司生产的64KB串行电可擦的可编程存储器,内部有512页,每一页为128字节,任一单元的地址为16位,地址范围为0000~0FFFFH。它采用8引脚封装,具有结构紧凑、存储容量大等特点,可以在2线总线上并接4片芯片,特别适用于具有大容量数据存储要求的数据采集系统,因此在测控系统中被大量采用。AT24C512芯片的具体参数请参考其数据手册。
图5-23 竞赛机器人的数据存储芯片
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。