新版基于I2C总线协议的单片机与EEPROM通信技术应用汇编摘要:该文简要介绍I2C总线的工作原理、工作方式和数据传输方式,详细阐述了EEPROM读写操作的具体过程,然后具体介绍了STC单片机与EEPROM通信的一个应用实例,指出应用中应注意的问题。最后展望了I2C器件的发展前景。关键词:单片机;I2C总线协议;EEPROM;SCL;SDA中图分类号:TP391文献标识码:A文章编号:1009-3044(202x)18-4888-02TheCommunicationTechnologyBasedonI2CBusProtocolbetweentheSingleChipProcessorandEEPROMLIJing1,WANGDe-xing2,LIXing-hui1(1.CollegeofComputerEngineering,QingdaoTechnologicalUniversity,Qingdao266033,China;2.InstituteofModernCommunicationTechnologyofQingdaoTechnologicalUniversity,Qingdao266033,China)Abstract:Thisarticleintroducestheprinciple,workingmodeandmodeofdatatransmissionofI2CBus,elaboratedonthespecificprocessofEEPROMreadandwriteoperations.AndthenspecificallydescribethecommunicationbetweentheSTCMCUandEEPROMforanapplicationexample.Pointedouttheproblemwhichshouldpayattentiontoinapplication.Finally,proposedthefutureprospectsfortheI2Cdevicedevelopment.Keywords:ThesingleChipProcessor;I2CBusProtocol;EEPROM;SCL;SDA在现代电子系统中,一个系统中有众多的IC需要进行相互之间以及与外界的通信。元件与芯片之间短距离通信的物理线路往往会比较多,这样不仅增加了硬件系统设计的难度,而且也不利于系统的稳定性,为了提高硬件的效率和简化电路的设计,PHILIPS开发了一种用于内部IC控制的、简单的双向两线串行总线I2C,用于连接微控制器及其外围设备。I2C总线自从出现以后,得到了广泛的应用,近年来,各公司设计制造了很多种的支持I2C总线的器件,而且I2C总线的规范也得到了扩展。1I2C总线的工作原理、工作方式、数据传送格式I2C总线采用二进制传输,一根是数据线SDA,另一根是时钟线SCL,所有的I2C器件都连接在同名端的SDA和SCL上,每一个器件都有唯一的地址。I2C总线支持多主和主从两种工作方式。多主方式,即总线上可以有多个主机的工作方式。I2C总线需通过硬件和软件仲裁主机对总线的控制权。在主从工作方式中,系统中只有一个主机,总线上的其它器件都是具有I2C总线接口的外围从器件,总线上只有主机对I2C总线从器件的读写访问,没有总线的竞争等问题。I2C总线上进行一次数据传输的通信格式如下:1)起始信号当SCL为高电平,数据线SDA出现由高到低的电平变化是,启动I2C总线。2)寻址信号主机发送了起始信号之后,再发寻址信号,以选择从器件。器件地址有7位和10位两种,这里主要介绍7位地址寻址方式。寻址信号由一个字节构成,其中高7位为地址位,最低位为方向位,用来表明主机与从器件的数据传送方向。方向位为“0”时,表明是主机对从器件的写操作,方向位为“1”时,表明是主机对从器件的读操作。3)数据传输主机发送寻址信号并得到从器件应答后,就可进行数据传输,每次一个字节,但每次传输都必须在得到应答信号后再传送下一字节。4)应答信号I2C总线协议规定,在数据传输时,包括地址及命令字,每传送一个字节数据后,都要有一个应答信号以确定数据传送的是否正确。I2C总线上第9个时钟脉冲对应于应答位。相应数据线上低电平时为“应答”信号,高电平时为“非应答”信号。当主机为接收设备时,主机对最后一个字节不应答,以向发送设备表示数据传输结束。5)停止信号当全部数据传送完后,主机发停止信号,即在SCL位高电平期间,SDA上产生一个上升沿信号。2EEPROM芯片FM24C32概况FM24C32是美国仙童公司推出的具有I2C串行接口的EEPROM,它提供了32kbit存储容量,它有很高的可靠性,数据保存时间长达40年。FM24C32芯片的基本操作包括写操作和读操作,写操作是主机向FM24C32写数据,可有两种方式:写字节和写页面。在一次写字节操作中,主机向FM24C32写入启动信号和芯片寻址信号后,将会收到FM24C32给出的低电平应答信号,然后继续向FM24C32写入1字节的EEPROM内部地址寻址字节(SlaveAddress),内部地址寻址字节也称器件的控制字节,其中高四位作为器件类型识别符(不同类型的芯片定义不同,EEPROM一般为1010),接...