芯片24C64中文资料
I2C总线
I2C总线(Inter Integrated Circuit内部集成电路总线)是两线式串行总线,仅需要时钟和数据两根线就能够进行数据传输,仅需要占用微处理器的2个IO引脚,使用时十分方便。I2C总线还能够在同一总线上挂多个器件,每个器件能够有自己的器件地址,读写操作时需要先发送器件地址,该地址的器件得到确认后便执行相应的操作,而在同一总线上的其它器件不做响应,称之为器件寻址,那个原理就像我们打 的原理相当。I2C总线产生80年代,由PHLIPS公司开发,早期多用于音频和视频设备,现在I2C总线的器件和设备已多不胜数。最常见的采纳I2C总线的EEPROM也已被广泛使用于各种家电、工业及通信设备中,要紧用于储存设备所需要的配置数据、采集数据及程序等。生产I2C总线EEPROM的厂商专门多,如ATMEL、Microchip公司,它们差不多上以24来开头命名芯片型号,最常用确实是24C系列。24C系列从24C01到24C512,C后面的数字代表该型号的芯片有多少K的储备位。如ATMEL的24C64,储备位是64K位,也确实是说能够储备8K(8192)字节,它支持1.8V到5V电源,能够擦写1百万次,数据能够保持100年,使用5V电源时时钟能够达到400KHz,同时有多种封装可供选择。我们能够专门容易的在周围的电器设备中发觉它们的身影,如电视中用于储存频道信息,电脑内存条中储存内存大小等相关信息,汽车里用于储存里程信息等等。图一确实是ATMEL24C64芯片的PID封装和用于内存条SPD(Serial Presence Detect)上的24芯片。
图1
图2
图二是ATMEL公司24C64的引脚定义图。
A0-A2用于设置芯片的器件地址,在同一总线上有多个器件时,能够通过设置A0-A2引脚来确定器件地址。SDA是串行数据引脚,用于在芯片读写时输入或输出数据、地址等,那个引脚是双向引脚,它是漏极开路的,使用时需要加上一个上拉电阻。
SLC脚是器件的串行同步时钟信号,假如器件是使用在单片机系统中,那么SLC脚应该由单片机操纵,依照单片机的程序要求产生串行同步时钟信号,操纵总线的存取。
WP脚是写爱护脚,当那个脚接入高电平常,芯片的芯片数据均处于禁止写入状态(所禁止的地址段要看各芯片的详细资料),当把WP脚接到地线时,芯片处于正常的读写状态。当一个电路要求正常使用时是不承诺程序修改EEPROM中的数据,只有在爱护设置才能够修改数据,这时能够在电路上设置WP跳线或用微处理器对WP进行操纵,如此只有在特定的电路状态下才能够更换到数据。
要在单片机系统中应用I2C总线的EEPROM做储备设备时,先要了解I2C总线的差不多驱动方法。在I2C总线闲暇时,SDA和SCL应为高电平,也只有在那个条件下,微处理器才能够操纵总线进行传输数据。在数据传输的刚开始时,总线要求有一个START(开始位)位做为数据开始的标识,它的要求是SCL为高时,SDA有一个从高到低的电平跳变动作,完成那个动作后才能够进行数据传输,时序图参看图三'开始'。传输数据时,只有在SCL为高电平常,SDA上的电平为有效数据。编写单片机向总线送数据程序时则能够在SCL还在低电平常,把数据电平送到SDA,然后拉高SCL,这时SDA不应有电平跳变,延时后拉低SCL,再进行下一位的数据传送直到完成。在总线上读数据时也是只有在SCL为高时,SDA为有效数据。时序参看图三'保持'。传送数据完成后,总线要有一个STOP(终止位)位,来通知总线本次传输已终止,它的要求是SCL为高时,SDA有一个从低到高的电平跳变动作,正好和START位相反。在编程时要注意的是:不要在SCL为高时改变SDA的电平状态,否则可能会被误认为是停止位,而使得操作失败。
图3
I2C总线在每接收完一个字节(8个二进制位)后,在第九个时钟信号时,会在SDA上回应一个低电平的ACK应答信号,以此说明当前受控的器件已接收完一个字节,能够开始下一个字节的传送了。时序图能够参看图四。单片机编程时能够在传送完一个字节后,把连接SDA的IO口线设置回读数据状态,如使用51系列的单片机时就要把IO口置高电平。然后在SCL操作一个脉冲,在SCL为高时读取SDA,如不为低电平就说明器件状态不闲暇或出错。需要注意因为SDA是双向的IO,不管是微处理器接收依旧器件接收,每个字节完成后,接收方都能够发送一个ACK回应给发送方。
图4
I2C总线在操作受控器件时,需要先发送受控器件的器件地址,24系列的EEPROM也不例外,在每次命令前需要先发送一个字节的器件地址和读写标识,也可称为器件录址。图五是24C64的器件寻址命令中每个位所代表的意思。A2、A1、A0位是器件地址,它是对应于芯片的A2、A1、A0引脚,也确实是说假如芯片A0引脚被设置成高电平常,在发送器件地址命令时字节中的A0位要设置为1,A0引脚为低电平常A0位设置为0。如此不难看出在同一总线能够挂8个24C64。ATMEL公司的24C系列芯片24C32及以上的型号使用16位地址进行寻址。24C32之前的型号因为使用的是8位地址,因此在超过256字节的8位地址型号中会占用到A0、A1、A2位的来做页地址,每页有256字节,以此解决地址位不足的问题。因此不同的型号器件地址位定义就有所不同,各型号的器件地址字节定义如图五至图七。要注意的是24C01是没有器件地址的,还有24C16/16A的A0-A2已被页地址占用完,也确实是说这三个型号的芯片只能在同一总线上挂一个,因此在设计电路选择器件时要注意那个问题。器件地址字节中的R/W位是用于标识当前操作是读器件依旧写器件,写器件时R/W位设置0,读器件时R/W位设置1。
图5
芯片24C64中文资料



