常用串行EEPROM的编程应用

常用串行EEPROM的编程应用
常用串行EEPROM的编程应用

常用串行EEPROM的编程应用(一)

作者:温正伟原载:无线电

本文所提供的实例程序:cdle070002.rar

EEPROM是"Electrically Erasable Programmable Read-only"(电可擦写可编程只读存储器)的缩写,EEPROM 在正常情况下和EPROM一样,可以在掉电的情况下保存数据,所不同的是它可以在特定引脚上施加特定电压或使用特定的总线擦写命令就可以在在线的情况下方便完成数据的擦除和写入,这使EEPROM被用于广阔的的消费者范围,如:汽车、电信、医疗、工业和个人计算机相关的市场,主要用于存储个人数据和配置/调整数据。EEPROM又分并行EEPROM和串行EEPROM,并行EEPROM器件虽然有很快的读写的速度,但要使用很多的电路引脚。串行EEPROM器件功能上和并行EEPROM基本相同,提供更少的引脚数、更小的封装、更低的电压和更低的功耗,是现在使用的非易失性存储器中灵活性最高的类型。串行EEPROM按总线分,常用的有I2C,SPI,Microwire总线。本文将介绍这三种总线连接单片机的编程方法。

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,并且有多种封装可供选择。我们可以很容易的在身边的电器设备中发现它们的身影,如电视中用于保存频道信息,电脑内存条中保存内存大小等相关信息,汽车里用于保存里程信息等等。

图二是ATMEL公司

可以通过设置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。A TMEL公司的24C系列芯片24C32及以上的型号使用16位地址进行寻址。24C32之前的型号因为使用的是8位地址,所以在超过256字节的8位地址型号中会占用到A0、A1、A2位的来做页地址,每页有256字节,以此解决地址位不足的问题。所以不同的型号器件地址位定义就有所不同,各型号的器件地址字节定义如图五至图七。要注意的是24C01是没有器件地址的,还有24C16/16A的A0-A2已被页地址占用完,也就是说这三个型号的芯片只能在同一总线上挂一个,所以在设计电路选择器件时要注意这个问题。器件地址字节中的R/W位是用于标识当前操作是读器件还是写器件,写器件时R/W位设置0,读器件时R/W位设置1。

图7

24C系列芯片的读写指令格式只有几种,下面以24C64芯片的指令格式来说明。

写入单个字节

写入字节指令每次只能向芯片中的一个地址写入一个字节的数据。首先发送开始位来通知芯片开始进行指令传输,然后传送设置好的器件地址字节,R/W位应置0,接着是分开传送十六位地址的高低字节,再传送要写入的数据,最后发送停止位表示本次指令结束。图八是写入单个字节的时序图。

图8(点击看大图)

页写入

24C64支持32字节的页写入模式,它的操作基本和字节写入模式一样,不同的是它需要发送第一个字节的地址,然后一次性发送32字节的写入数据后,再发送停止位。写入过程中其余的地址增量自己由芯片内部完成。图九页写入的时序图。无论那种写入方式,指令发送完成后,芯片内部开始写入,这时SDA会被芯片拉高,直到写入完成后SDA才会重新变的有效,在编写微处理器程序时可以在写入的时候不停发送伪指令并查询是否有ACK

图9(点击看大图)

读当前地址

这种读取模式是读取当前芯片内部的地址指针指向的数据。每次读写操作后,芯片会把最后一次操作过的地址作为当前的地址。在这里要注意的是在微处理器接收完芯片传送的数据后不必发送给低电平的ACK给芯片,直接拉高SDA等待一个时钟后发送停止位。图十是读当前地址时序图。

读任意地址

"读当前地址"可以说是读的基本指令,读任意地址时只是在这个基本指令之前加一个'伪操作',这个伪操作传送一个写指令,但这个写指令在地址传送完成后就要结束,这时芯片内部的地址指针指到这个地址上,再用读当前地址指令就可以读出该地址的数据。图十一是读任意地址的时序图

图11(点击看大图)

连续读取

连续读取操作时只要在上面二种读取方式中芯片传送完读取数据后,微处理器回应给芯片一个低电平的ACK应答,那么芯片地址指针自动加一并传送数据,直到微处理器不回应并停止操作。图十二是连续读取的时序图。

图12(点击看大图)

ATMEL公司的24C系列的其它型号的读写操作方式基本和上面介绍的相同,只是在8位寻址的芯片中地址位只用一个字节,还有就是在24C01中没有器件地址,地址位只占用高7位,最低位为R/W位.。其它公司的24系列的EEPROM芯片的驱动方式也基本和以上所介绍的一样。

常用串行EEPROM的编程应用(二)

作者:温正伟原载:磁动力电子

本文所提供的实例程序和EEPROM读写器程序:cdle070004.rar

Microwire总线

Microwire总线是美国国家半导体公司研发的一种简单的串行通讯接口协议,该总线是采用三线进行数据传输。Microwire总线和SPI总线一样数据输入输出分别使用一根引线,同样可以提供同步数据传输方式,可以适用在多种微控制器、EEPROM或ADC等场合。常用EEPROM的93系列芯片就是采用该总线的芯片,采用COMS 技术,体积小巧,和24、25系列芯片一样也是一种理想的低功耗非易失性存储器。常见的93系列EEPROM存储器容量从256位到16K位。93芯片广泛使用在各种家电、通讯、交通或工业设备中,通常是用于保存设备或个人的相关设置数据。如最常见到网卡上的93芯片就是用于保存网卡的MAC物理地址、供应商名称以及相关配置。生产93系列芯片的公司也有很多。如A TMEL公司生产的93C46芯片是该公司生产的93系列芯片的一种,它有1K位的存储空间,93系列有二种数据输入输出模式,分别为8位和16位数据模式,1K位的存储位就可以分为128×8和64×16,它的电压范围是2.7V到5.5V和1.8V到5.5V,可以适应低电压的应用,在5V的电压下最高时钟频率可以达到2M,芯片可以进行一百万次的擦写,数据可以保存一百年。图一是93C46的PID封装和

用于网卡的93LC46芯片。

图1

图二是ATMEL公司的93C46的PID封装引脚图。CS引脚为片选引脚,高电平为有效,用于同一总线上不同芯片的选择。在执行每一个指令之前先要把CS拉高,指令完成后把CS拉低使芯片进入复位休眠状态,CS为低时,芯片保持复位状态。在连续操作多个指令时,指令与指令间,CS必须要有不小于一个TCS时间的低电平保持,使芯片复位。ATMEL公司的93C46芯片工作电压2.7V-5.5V的型号TCS不能小于250ns,工作电压1.8V -5.5V的型号TCS不能小于1000ns。SK是串行时钟输入引脚。DI是串行数据输入引脚,接收微控制器传向芯片的数据、地址和命令数据。DO是串行数据输出引脚。ORG引脚是内部数据结构选择输入引脚,该脚为高电平时数据结构为×16,低电平时数据结构为×8,DC是空脚。

图3(点击看大图)

图三是93C46芯片的MicroWire总线时序图。在编写驱动程序前,先要分析一下这个时序图。从图中可以看到,在CS被拉高至少tCSS时间(CS初始时间)后,才能开始在SK上传送时钟信号,时钟的正半周和负半周时间不能小于tSKH和tSKL。最后一个时钟的正半周发送完后CS仍要保持tCSH时间(CS保持时间)后才可以拉低CS,tCSH的最小值可为0。指令输入时数据在SK的负半周低电平时开始设置,图中的tDIS(DI设置时间),在SK的高电平时至少保持tDIH时间(DI保持时间)。在图中第四条时序线图中则可以看到在芯片读操作时DO输入1或0时的时序,可以看出在SK上升沿开始后tPD0或tPD1时,DO才输出数据,在编写驱动时就要注意读DO 时可在SK拉高好延时tPD0(tPD1)后才读取DO的值,否则会造成误读。第五条时序线图则时指芯片编程时在CS上升沿开始tSV时间后DO输出状态值,tDF是指CS下降沿开始到tDF时间后才进入高阻态。因为不同的芯片型号、工作电压和工作频率这么参数值都会有所不同,93C46的具体参数可以参看光盘中的芯片资料。

93C46有7个操作指令,微处理器就是靠发送这几个指令来实现芯片的读写等功能。表一是93C46的指令表。在93C的其它型号中指令基本是一样,所不同的是地址位的长度,在使用时要查看相关芯片资料,得知地址位长度后再编写驱动程序。因为93C的数据结构有两种,所以地址位和数据位会有x8\x16两种模式,这在编程时也是要注意的。在ERASE、WRITE、ERAL、WRAL指令之前必须先发送EWEN指令,使芯片进入编程状态,在编程结束后发EWDS指令结束编程状态。

表1

READ(读数据)

所有的指令的第一位为START(起始位),芯片确认起始位的条件是:CS和DI为高电平时,SK的第一个脉冲高电平时DI仍为高电平。微控制器发送完起始位后就可以输入7种指令所需的命令代码、地址码和数据来完成指令操作。READ指令在发送完地址码AN-A0后(地址码位数位要根据型号和所选用的数据结构来确定),DO从高阻态变为低电平,在随后的一个SK脉冲后在DO输出DN-DO的数据(数据位数由所选用的数据结构来确定),微控制器在这时读取DO取得数据,读取完数据后拉低CS结束指令。

图4(点击看大图)

EWEN(擦写使能)

芯片上电后就进入EWDS擦写禁止状态,这时要进行擦写指令,微控制器必须先要发送EWEN指令,使能芯片进入允许擦写的状态,否则操作任何擦写指令都是无效的。在完成擦写操作后发送EWDS指令,使芯片进入禁止擦写的状态,这样可以防止因干扰或其它原因造成的数据错误。要注意的是:在第一个EWEN指令后芯片一直保持在擦写允许状态,直到使用EWDS或开断电源,芯片才会重新进入擦写禁止状态。

图5(点击看大图)

EWDS(编程禁止)

图6(点击看大图)

WRITE(写入数据)

WRITE指令在发送完数据位后,CS至少拉低tCS时间再拉高,这时DO会从高阻态变为低电平来指示芯片正在进行编程,微控制器应在这时检测DO,当DO再次拉高时芯片编程完成芯片进行就绪状态,这时才可以进行下一个指令。芯片编程所需的时间为tWP,这个时间最大为10MS,所以微控制器在对芯片编程时最好用一个循环检测DO,当检测到高电平时,说明写入过程结束,应该退出循环体。如果循环体循环10MS后仍然没有检测到高电平时,说明有故障引起操作超时,这时要退出循环体,以免进入死循环。这样的代码在前面文章的例子中也是有使用的。WRAL指令和WRITE指令对写入过程的处理方式是一样的,不一样的是WRAL是把数据写入到所有地址中,时间会长点,而且要求电源在4.5-5.5V。

图7(点击看大图)

WRAL(全部写入)

图8(点击看大图)

ERASE(擦除数据)

ERASE指令可以说是另一种形式的写入指令,所不同的是它不用发送数据,它会把指定地址的所有数据位都置'1',也就是相当于用WRITE写入'FF'。而ERAL指令就是相当于用WRAL写入'FF',同样ERAL也需要工作在4.5-5.5V电源下。

图9(点击看大图)

ERAL(擦除所有数据)

图10(点击看大图)

常用串行EEPROM的编程应用(三)完结篇

SPI总线

SPI总线(Serial Peripheral Interface串行外围设备接口总线)是三线式的串行总线,是由摩托罗拉公司所研发,使用三线进行数据传输,分别是SCK时钟引脚,SI数据输入引脚和SO数据输出引脚,另外还有CS片选引脚可以对同一总线上的芯片进行选通使用,SPI总线已被广泛使用在EEPROM、单片机和各种设备中。常用串行EEPROM中的25XX系列芯片就是使用兼容SPI总线结构,采用先进COMS技术,体积小,是一种理想的低功耗非易失性存储器,广泛使用在各种家电、通讯、交通或工业设备中,通常是用于保存设备或个人的相关设置数据。A TMEL公司生产的25系列的EEPROM存储容量从1K位到256K位。其它一些芯片也会用到SPI总线,如常用的CPU监控芯片X5043、X5045就带有512字节的SPI界面EEPROM,常用于单片机系统的看门狗电路,同时也可以提供小数据量的存储,给电路设计带来很多的方便。此文将用X5045为例讲述SPI的编程应用和X5045的一些其它功能。X5045由Xicor公司出品,电压范围有2.7V到5.5V和4.5V到5.5V二个版本,擦写次数可达一百万次,最高时钟频率可达3.3MHz。图一是X5045的PID封装实物图。

图二是X5045的引脚定义图。CS/WDI是片选和看门狗复位输入,当CS为高时SO引脚变为高阻态,这时可以允许其它器件共用SPI总线,同时芯片也处于休眠状态,当CS为低时芯片被选中,并从休眠状态中唤醒,可以进行读写操作。SO是串行数据输出,在读芯片时数据从此脚输出。WP是写保护引脚,当WP为低时芯片写保护,不能对芯片写操作,但其它功能不受影响。Vss是电源地。SI是串行数据输入,接收来自控制器的数据和地址。SCK是串行时钟输入,RESET是复位输出,Vcc是电源。在25芯片中还有一个HOLD引脚,此引脚的功能是保持输入脚,ATMEL公司生产25芯片的HOLD引脚是低电平有效。不用此功能时,HOLD引脚要保持高电平。在芯片正在串行传输时,将HOLD拉为低电平,可以暂停进一步的传送,具体方法是SCK变低后,将HOLD也拉低,不然在下一个SCK变低前不能暂停传送,要恢复串行传送,必须在SCK为低电平时将HOLD 拉高。芯片处于暂停时,SI,SO,SCK脚为高阻状态,任何时刻只要HOLD被拉低时,SO都会处于高阻状态。

限于文章的篇幅,下面内容只着重介绍X5045芯片的SPI总线对EEPROM单元的编程应用。在X5040芯片中有6个指令,它和25系列芯片的指令是兼容的,也就是说在25系列芯片中使用时基本上是不需要改变的,具体见表一。

注:A8

表一指令集

写入允许和禁止

X5045芯片内部有一个写入使能寄存器,在需要向芯片写入数据时,需要先用WREN指令使片内写入使能寄存器先置位,写入数据后可以用WRDI指令使寄存器复位到禁止状态。当上电、WRSR指令执行、WRITE指令执行、WP拉低也会使写入使能寄存器复位到禁止状态。图三是WREN/WRDI指令的操作时序图。首先要把CS拉低,输入数据,向SCK输入时钟信号,数据在时钟的上升沿有效,时钟上升后至少数据至少保持30ns。数据是串行的,所以在每个时钟周期的上升沿发送一个位。在操作这两个指令时,SO是处于高阻状态的。

图3写入使能时序

读写状态寄存器

X5045片内有一个状态寄存器,用于指于芯片的状态和设置,可以读写,芯片出厂时状态寄存器值为30H。具体每位的功能请看表2。WIP写入保护位,是只读位,指示芯片是否正忙于写入操作。当WIP为"1"时,说明写入正在进行,为"0"时表示没有进行写入。在编程时,写入数据操作后,可以查询WIP位,当WIP为0后才进行下一次的写入操作,这样可以避免写入出错。WEL写入使能状态位,是只读位。WEL位的状态由WREN和WRDI指令确定,WREN成功执行后WEL为"1"指示允许写入数据,WRDI指令成功执行后WEL为"0"指示禁止写入数据。在编程时可以先查询WEL位的状态,如为0时则要执行WREN后才可以进行写入操作。BL0、BL1设置当前保护的区块地址,是可读写位,这两个位的设置和区块地址的关系如表3,区块的内容被保护后,就只能读出而不能写入了。25系列芯片中不同型号的芯片容量不一样,BL设置所保护的范围也不一样。WD1、WD0看门狗设置位是X5045/43特有的设置位,是可以读写位,在25系列芯片中这两个位是保留位,在X5045中有看门狗功能,这两个位就用于设置MCU喂狗的时间,表4是看门狗位的设置时间。状态寄存器的第6和第7位是保留位。读状态寄存器时,发送完RSDR指令后,SO由高阻态转为输出数据,从数据位的高位开始。写状态寄存器,发送完WSDR指令后,再发一个字节的状态数据就可以了,其中只读位可以是"1"也可以是"0",它们不会被WSDR指令所更改。图5、图6是读写状态寄存器的时序图。

表2状态寄存器定义

表3BL设置位

表4看门狗设置位

读数据

图6是读数据时的时序,先拉低CS选中芯片,先要把需读取的地址的第9位加到指令字节的第4个字节中,发送完指令字节就发送地址字节的前8位,这时SO就会由高阻态转为输出数据。每当一个字节的数据传送完毕后,芯片内部的地址指针自动加1,指向下一个数据地址,这时如仍有时钟脉冲时,数据会被继续输出,CS脚拉高后输出才会终止。当最高位地址的数据被读出后,地址指针指向00H。

图6读数据时序(点击看大图)

写数据

在向芯片写入数据之前,写使能寄存器必须处于置位状态,一般可以不必查询写使能寄存器的状态,而直接用WREN置位写使能寄存器。在发送完WREN指令后,必须把CS拉高,在CS拉高之前写使能寄存器并没有置位,这时向芯片传送数据是不会被写入的。写使能寄存器置位后,再将CS拉低,把需读取的地址的第9位加到指令字节的第4个字节中,发送完指令字节就发送地址字节的前8位,然后发送需写入的数据。WRITE指令

可以连续写入16个字节,但这16个字节的地址必须在同一页中。每一页的地址由[xxxxx0000]开始,到[xxxxx1111]结束。操作方法就是在发送完每一个地址和数据后,继续发后面的数据,芯片内部的地址指针会自动累加,当达到页中最后一个字节时,时钟仍在继续,则内部地址指针回到页中第一个地址重新开始累加,并覆盖以前写入的数据。要注意的是,在操作过程中CS不能拉高,只有在数据字节的最后一个位传送完成后才可以拉高CS,不然写入操作将不完全。在写入数据或写状态寄存器指令写送后,芯片会进入一次非易失性写操作,这会花费一定的时间,最大约为10ms,在这个时间内可以用读状态寄存器,并检查WIP位,当WIP为1时则说明写入还在进行中,只有当

I2C总线应用下的EEPROM测试

I2C总线应用下的EEPROM测试 作者:盛帅能 作者单位:华越微电子有限公司,浙江,绍兴,312000 刊名: 半导体技术 英文刊名:SEMICONDUCTOR TECHNOLOGY 年,卷(期):2004,29(4) 被引用次数:2次 本文读者也读过(10条) 1.李文雄.陆俭国.刘明生.商书元.LI Wen-xiong.LU Jian-guo.LIU Ming-sheng.SHANG Shu-yuan基于I2C总线的EEPROM在智能电器中的应用[期刊论文]-低压电器2005(11) 2.庞媛媛.崔建明.PANG Yuan yuan.CUI Jian-ming一种I2C总线接口设计在EEPROM的应用[期刊论文]-电脑知识与技术2011,07(30) 3.苏琦.刘宇.田敬民EEPROM基于I2C总线的一种读写方法[期刊论文]-山西电子技术2001(1) 4.郭文华.GUO Wen-hua基于I2C总线的串行E2PROM及其应用[期刊论文]-常熟理工学院学报2008,22(10) 5.麦胤.柳沁.Mai Yin.Liu Qin基于Nios Ⅱ的EEPROM Controller Core的设计[期刊论文]-自动化仪表 2008,29(1) 6.杨正进.王玉霞基于I2C总线的EEPROM与单片机接口技术[期刊论文]-重庆工学院学报2001,15(2) 7.刘冰.杜道山.周士侃.李从心基于I2C总线协议的EEPROM与DSP的接口技术[期刊论文]-电子工程师2004,30(9) 8.李和太.蒋晶鑫.陆虹.LI He-tai.JANG Jing-xin.LU Hong嵌入式串行EEPROM研究[期刊论文]-微处理机2007,28(1) 9.徐飞.贺祥庆.张莉.XU Fei.HE Xiang-qing.ZHANG Li一种40ns 16kb EEPROM的设计与实现[期刊论文]-微电子学2005,35(2) 10.意法半导体推出超小型封装的增强型512 kbit I2C和SPI低压串行EEPROM存储器[期刊论文]-电子与电脑 2005(5) 引证文献(2条) 1.沈华.王俞心基于FPGA的I2C总线主控器的设计与实现[期刊论文]-航空计算技术 2007(6) 2.张必超存储器测试技术及其在质量检验中的应用研究[学位论文]硕士 2005 本文链接:https://www.360docs.net/doc/8518723288.html,/Periodical_bdtjs200404018.aspx

常用串行EEPROM芯片

1 Features ?Serial Peripheral Interface (SPI) Compatible ?Supports SPI Modes 0 (0,0) and 3 (1,1) ?Low-voltage and Standard-voltage Operation –2.7 (V CC = 2.7V to 5.5V)? 3.0 MHz Clock Rate (5V) ?8-byte Page Mode ?Block Write Protection –Protect 1/4, 1/2, or Entire Array ?Write Protect (WP) Pin and Write Disable Instructions for Both Hardware and Software Data Protection ?Self-timed Write Cycle (10 ms max)?High Reliability –Endurance: One Million Write Cycles –Data Retention: 100 Years ?Automotive Grade Devices Available ? 8-lead PDIP and 8-lead JEDEC SOIC Packages Description The AT25010/020/040 provides 1024/2048/4096 bits of serial electrically erasable programmable read only memory (EEPROM) organized as 128/256/512 words of 8bits each. The device is optimized for use in many industrial and commercial applica-tions where low-power and low voltage operation are essential. The AT25010/020/040is available in space saving 8-lead PDIP and 8-lead JEDEC SOIC packages. The AT25010/020/040 is enabled through the Chip Select pin (CS) and accessed via a 3-wire interface consisting of Serial Data Input (SI), Serial Data Output (SO), and Serial Clock (SCK). All programming cycles are completely self-timed, and no sepa-rate ERASE cycle is required before WRITE. BLOCK WRITE protection is enabled by programming the status register with one of four blocks of write protection. Separate program enable and program disable instruc-tions are provided for additional data protection. Hardware data protection is provided via the WP pin to protect against inadvertent write attempts. The HOLD pin may be used to suspend any serial communication without resetting the serial sequence. Pin Configurations 8-lead PDIP

串行EEPROM AT24CXX芯片资料

串行EEPROM AT24CXX芯片资料 AT24CXX是美国ATMEL公司的低功耗CMOS串行EEPROM,典型的型号有 AT24C01A/02/04/08/16等5种,它们的存储容量分别是 1024/2048/4096/8192/16384位;也就是128/256/512/1024/2048字节;使用电压级别有5V,2.7V,2.5V,1.8V;本文主要介绍常用的AT24C02即256字节存储器的使用;它具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。 外行如图: AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址(实验板中直接接地只有一块器件);第8脚和第4脚分别为正、负电源。第5脚SDA 为串行数据输入/输出,数据通过这条双向I2C总线串行传送,SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚为WP写保护端,接地时允许芯片执行一般的读写操作。接电源端时不允许对器件写。 24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。 ;这是将0100H地址中以下的8个数据写到24C02的01H为首址单元中去的汇编程序可直接在实验板上实验。 ORG 0000H SCL BIT P3.7;定义24C02的串行时钟线 SDA BIT P3.6;定义24C02的串行数据线 LJMP START START:LCALL STAR;调用

MOV R2,#08H;一个数据有8位 MOV DPTR,#0100H;定义源数据的位置LOOP:MOV A,#00H MOVC A,@A+DPTR LCALL SDATA LCALL ACK JC LOOP INC DPTR DJNZ R2,LOOP LCALL STOP;调用停止子程序STAR:SETB SDA SETB SCL NOP NOP NOP NOP CLR SDA NOP NOP NOP NOP CLR SCL RET SDATA:MOV R0,#08H LOOP0:RLC A MOV SDA,C NOP NOP SETB SCL

EEPROM.

常用串行EEPROM的编程应用 EEPROM是"Electrically Erasable Programmable Read-only"(电可擦写可编程只读存储器)的缩写,EEPROM在正常情况下和EPROM一样,可以在掉电的情况下保存数据,所不同的是它可以在特定引脚上施加特定电压或使用特定的总线擦写命令就可以在在线的情况下方便完成数据的擦除和写入,这使EEPROM被用于广阔的的消费者范围,如:汽车、电信、医疗、工业和个人计算机相关的市场,主要用于存储个人数据和配置/调整数据。EEPROM又分并行EEPROM和串行EEPROM,并行EEPROM器件虽然有很快的读写的速度,但要使用很多的电路引脚。串行EEPROM器件功能上和并行EEPROM基本相同,提供更少的引脚数、更小的封装、更低的电压和更低的功耗,是现在使用的非易失性存储器中灵活性最高的类型。串行EEPROM按总线分,常用的有I2C,SPI,Microwire总线。本文将介绍这三种总线连接单片机的编程方法。 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芯片。

EEPROM的应用

导读: 1.EEPROM巧妙应用之单片机章程 2.基于I2C串行通信的EEPROM在电视中的设计应用 3.EEPROM的保护措施在MAXQ环境中 1.EEPROM巧妙应用之单片机章程 引言 全球各单片机生产厂商在MCS-51内核基础上,派生了大量的51内核系列单片机,极大地丰富了MCS-51的种群,致使MCS-51单片机是目前国内应用最广泛的一种单片机型.其中STC公司推出了STC89系列单片机,增加了大量新功能,提高了51的性能,是MCS-51家族中的佼佼者.早期的单片机控制系统,采用单片机加片外EEPROM配合,来存储一些需要预置的重要参数,并在数码管上显示出来.由于单片机控制的整流器要求实时性很强,而早期EEPROM的写周期在10 ms左右,因此运行参数的预置是在整流器待机的情况下进行的.而很多情况下需要在运行的同时记录数据,如用单片机控制的12脉波汽车电泳整流器要求在运行的同时实时记录重要数据,而且在掉电时不丢失.由于在12脉波整流器中运行的单片机程序,其周期必须小于1.67 ms(交流电网的1个周期是20 ms,除以12就是l_67 ms),这就要求实时记录的时间在1ms以下甚至更短(考虑到程序的执行时间).经查阅资料发现,目前很多EEPROM达不到这个要求[1],即使时间最短的AT89S8252单片机片内.EEP-ROM的写周期也是2.5 ms.本文通过对EEPROM的巧妙应用,实现了整流器在线记录数据的功能. 1 寻找符合要求的单片机 设备使用的是Atmel公司的AT89C52(40DIP封装)单片机和EEPROM芯片2817A.要想在不改变原设备电路板的情况下完成要求的功能,就只能在兼容的MCS-51系列单片机中想办法.AT89S8252片内含有2 KB的EEPROM,经编程测试发现,它虽然能实时记录数据并且断电不丢失,但是在向片内EEPROM中记录1个数据时,能引起输出电压和电流的波动,不能满足实际运行的需要.其原因是AT89S8252单片机片内EEPROM的写周期为2.5 ms,超过了1.67 ms的程序的执行周期,从而影响了程序的正常运行.所以执行周期是解决问题的关键. STC89C51RC/RD+系列单片机片内含有EEPROM(Data Flash),读1个字节/编程1个字节/擦除1个扇区(512字节)的时间分别为10/μs/60μs/10 ms.编程1个字节的时间为60μs,远小于AT89S8252片内EEPROM 2.5 ms的编程时间,这为解决问题提供了思路. 2问题的解决 单片机STC89C55RD+(40DIP封装),其引脚、功能完全与AT89C52兼容,与MCS-51程序也兼容,片内含有20KB的Flash程序存储器,16KB的EEPROM数据存储器.把原用于AT89C52中的程序写到STC89C255RD+中,放到原设备上运行,可长期稳定地运行.经修改的在整流器中运行的单片机程序,实时记录一些数据到 STC289C55RD+的EEPROM中,整流器可正常运行,但不能执行扇区擦除操作.执行扇区擦除操作将严重影响整流器的正常运行,引起输出电压和电流的很大波动.执行扇区擦除操作时,从示波器来看整流器的输出间断 了20 ms,电压电流显示很大的波动.用示波器捕捉到了EEPROM写时的波形,输出波形暂停了20 ms,1个周波电压,电压波形如图1所示,不执行扇区擦除操作时的波形如图2所示.从图中可以看出,问题得到了很好的解决.

EEPROM

嵌入式系统中EEPROM文件系统的设计与实现 彭晓锋 北京邮电大学电信工程学院,北京(100876) 摘要:AT24CXX系列EEPROM在嵌入式领域有着广泛的运用。本文参考微机文件系统的原理实现能兼容AT24C08-AT24C1024的简单文件系统,实验结果证明本系统高效可行。关键词:EEPROM, 文件系统,嵌入式 1.引言 随着大量嵌入式设备的出现,在嵌入式系统中用于存储数据的EEPROM因其简单、方便、可靠的性能和低廉的价格而被广为使用。当今社会嵌入式系统无所不在,各种嵌入式设备品种繁多,差别巨大。因此各公司也推出多种不同容量不同型号的EEPROM适应多样的市场应用。人们一方面希望能像管理大容量存储器(如硬盘,FLASH等)中数据一样简单便捷的操作EEPROM中的数据(包括打开、关闭、读写文件等),同时也希望这种文件系统能兼容不同容量、型号,具有较强的通用性。而对于采用两线IIC总线读写方式[1]的EEPROM来说,无法使用类似与FLASH所支持的TFFS之类的文件系统,本文参照上述思想,实现了一种能兼容AT24C08-AT24C1024类似于文件系统的用于管理EEPROM中数据的方法,并在实践项目中得到良好运用。 2.AT24CXX系列EEPROM简介 AT24CXX系列是ATMEL公司生产的串行电可擦的可编程存储器,它采用8引脚封装,具有可掉电记忆,结构紧凑、存储容量大等特点,可以在2线总线上并接多片芯片,适用于具有大容量数据存储要求的嵌入式系统[2]。 ⅰ)封装及管脚说明 AT24C08-AT24C1024的封装如图1所示(对不同型号 A0-A2相应改为NC,详见表1),各引脚的功能如下: ⑴ A0、A1、A2:器件地址(device address)。IIC串行总线 需连接多个EEPROM芯片时,可用A0、A1、A2来区分各芯 片,悬空时为0。 ⑵ SDA:I2C 串行数据。图1. A T24CXX系列EEPROM封装 ⑶ SCL:I2C 串行时钟。一般在其上升沿将SDA上的数据写入存储器,而在下降沿从存储器读出数据并送往SDA。 ⑷ WP:写保护。此引脚接地时,允许写操作;与VCC相连时,所有写操作被禁止。如果不连,该脚将在芯片内部下拉到地。 ⑸ VCC:电源;GND:地;NC:悬空。 ⅱ)与处理器通信 AT24C系列的接口特性:一般A0-A2、WP接VCC或GND,SCL、SDA接处理器的IIC接口相应管脚,即可实现处理器对EEPROM的操作。 ⅲ)设备地址(device address) 对EEPROM读写数据前,需先发一个字节的device address以选择芯片进行读写。其中首部四比特的“1010”为固定值;A0- A2用于对多个EEPROM进行区分,注意对AT24C不同型号,

8-3串行接口芯片8251A

串行接口芯片8251A

8251A基本功能 ?可用于同步和异步通信方式(通信方式通过对方式字 编程实现): ?同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。 ?异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。时钟TxC,RxC的时钟频率为传输 波特率的1,16和64倍。 ?全双工,具有双缓冲器接收器和发送器; ?出错检测,具有奇偶、溢出和帧错等检测电路。

8251A的内部结构 8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等 数据总线 缓冲器 发送缓 冲器 发送控制 电路 接收缓 冲器 接收控制 电路 D0~D7 SYNDET RxD RxRDY 读写控 制电路 C / D CLK RESET RD WR CS DSR CTS DTR RTS RxC TxC TxE TxRDY TxD 调制解调 控制电路 内 部 总 线

8251A的内部结构 ?发送器:包括发送缓冲器和发送控 制电路 ?采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和 停止位,然后从起始位开始,经移位寄 存器从数据输出线TxD逐位串行输出。 发送速率取决于TxC接收的发送时钟频 率,可以编程定义是发送速率的1、16、 64倍。

8251A的内部结构 ?采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然 后才逐位串行输出数据。 ◆如果CPU与8251A之间采用中断方式交换 信息,那么TxRDY可作为向CPU发出的中 断请求信号,表示发送缓冲器已空,可 以接收CPU下一个数据。 ◆当发送器中的8位数据串行发送完毕时, 由发送控制电路向CPU发出TxE有效信号, 表示发送器中移位寄存器已空。

E2PROM的原理以及应用

EEPROM的原理以及应用 一、常用串行EEPROM的简介 1) 引脚描述 SCL:串行时钟 SDA:串行数据 A2~0:设备地址、页地址 WP:写禁止 VCC:电源供电 GND:地 2) 内存管理 以Atmel公司的2线EEPROM为例,从A T24C01~A T24C16,其内存架构分别由16page*8byte、32page*8byte、32page*16byte、64page*16byte、128page*16byte组成。寻址字节需要7~11bit的数据字。AT24C32和A T24C64分别由128page*32byte、256page*32byte组成。系统提供了2个字节的寻址数据字。 3) 器件操作 时钟和数据传输:SDA引脚正常状态下由外部器件拉高。SDA上的数据只有在SCL 为低的时间段才能进行改变,在SCL为高时SDA数据的更改会表现为如下所述的一个开始条件或者一个结束条件。 开始条件:SCL为高,SDA由高变为低是一个开始条件,开始命令优先于其他所有的命令。 结束条件:SCL为高,SDA由低变为高是一个结束条件。在一个读序列之后的结束命令,会将EEPROM置于一个待机电源模式。 响应:所有的地址和数据字都是以8bit字,串行的传入或者传出EEPROM。在第九个时钟周期,EEPROM发出一个0来作为收到一个字的响应信号。 Twr:一个写序列的有效结束条件到一个内部的写周期结束。

注:页写的自加计数是低5位自加,高位不变,以保证在当前页。页写到当前页的最后边界时,会计数到最开始到位置。如果MCU发给EEPROM的数据超过了32个时,会发生卷边,覆盖掉前面的数据。 注:上次读、写操作的地址加1。只要芯片不掉电,就会暂存在芯片中。

接口技术各个芯片资料

接口技术各个芯片资料

8251A串行接口芯片 一、8251A主要管脚的含义 TxD:数据发送端,用来输出串行数据。TxRDY:发送器准备就绪信号。当发送缓冲器空(状态字D0位为1)、TxEN(命令字D0位)=1且CTS=0时,该引脚为1,CPU可将新的数据写入8251A。采用中断方式时,该信号可作为中断请求信号。 TxEMPTY:发送器空闲信号。TxEMPTY=1,则发送移位寄存器空;TxEMPTY=0,则发送移位寄存器满。 TxC :发送时钟,由外部输入。在同步方式下,TxC的频率等与发送数据的波特率;在异步方式下,TxC的频率可以是发送波特率的1、16或64倍,具体的倍数可由用户编程决定。RxD:数据接收端,用来接收外部输入的数据。RxRDY:接收器准备就绪信号。当接收缓冲器中已经装配好一个完整的数据字节时,RxRDY 变为高电平,用来通知CPU读取数据。当CPU 用输入指令取走数据后,8251A便立即将RxRDY位置0。采用中断方式时,该信号可作为中断请求信号。

SYNDET/BRKDET:同步检测/间断检测信号 内外同步的区别在于帧同步。内同步时,收方通过搜索同步字来判定一个帧的开始;外同步时,收方通过判定自己SYNDET引脚是否被置位来判定一个帧的开始,这个置位由发方在开始发送一个帧的时候完成。 RxC :接收时钟,外部输入。 RESET:复位信号。当该信号为高电平并持续6个时钟周期以上时,8251A被复位,收发线路均处于空闲状态。 CS:片选信号,输入,低电平有效。若CS为高,则D0~D7为高阻状态。 C/D:控制/数据信号,输入。当C/D=1时,数据总线上传送的是控制字、命令字或状态字;当C/D=0时,数据总线上传送的是数据。 RD、WR:读、写控制信号,输入,低电平有效。RD有效时,表示CPU正在读取接收缓冲器的数据;WR有效时,CPU正将数据写入发送缓冲器。 CLK:接收外部时钟源的时钟信号,用来产生8251A的内部时序。在同步方式下,CLK的频率要大于波特率的30倍;在异步方式下,CLK

常用串行eeprom应用

SPI总线 SPI总线(Serial Peripheral Interface串行外围设备接口总线)是三线式的串行总线,是由摩托罗拉公司所研发,使用三线进行数据传输,分别是SCK时钟引脚,SI数据输入引脚和SO数据输出引脚,另外还有CS片选引脚可以对同一总线上的芯片进行选通使用,SPI总线已被广泛使用在EEPROM、单片机和各种设备中。常用串行EEPROM中的25XX系列芯片就是使用兼容SPI总线结构,采用先进COMS技术,体积小,是一种理想的低功耗非易失性存储器,广泛使用在各种家电、通讯、交通或工业设备中,通常是用于保存设备或个人的相关设置数据。ATMEL公司生产的25系列的EEPROM存储容量从1K位到256K位。其它一些芯片也会用到SPI总线,如常用的CPU监控芯片X5043、X5045就带有512字节的SPI界面EEPROM,常用于单片机系统的看门狗电路,同时也可以提供小数据量的存储,给电路设计带来很多的方便。此文将用X5045为例讲述SPI的编程应用和X5045的一些其它功能。X5045由Xicor公司出品,电压范围有2.7V到5.5V和4.5V到5.5V二个版本,擦写次数可达一百万次,最高时钟频率可达3.3MHz。图一是X5045的PID封装实物图。

图二是X5045的引脚定义图。CS/WDI是片选和看门狗复位输入,当CS为高时SO引脚变为高阻态,这时可以允许其它器件共用SPI总线,同时芯片也处于休眠状态,当CS为低时芯片被选中,并从休眠状态中唤醒,可以进行读写操作。SO是串行数据输出,在读芯片时数据从此脚输出。WP是写保护引脚,当WP为低时芯片写保护,不能对芯片写操作,但其它功能不受影响。Vss是电源地。SI是串行数据输入,接收来自控制器的数据和地址。SCK是串行时钟输入,RESET是复位输出,Vcc是电源。在25芯片中还有一个HOLD引脚,此引脚的功能是保持输入脚,ATMEL公司生产25芯片的HOLD引脚是低电平有效。不用此功能时,HOLD引脚要保持高电平。在芯片正在串行传输时,将HOLD拉为低电平,可以暂停进一步的传送,具体方法是SCK变低后,将HOLD也拉低,不然在下一个SCK 变低前不能暂停传送,要恢复串行传送,必须在SCK为低电平时将HOLD拉高。芯片处于暂停时,SI,SO,SCK脚为高阻状态,任何时刻只要HOLD被拉低时,SO都会处于高阻状态。 限于文章的篇幅,下面内容只着重介绍X5045芯片的SPI总线对EEPROM单元的编程应用。在X5040芯片中有6个指令,它和25系列芯片的指令是兼容的,也就是说在25系列芯片中使用时基本上是不需要改变的,具体见表一。

常用串行EEPROM的编程应用

常用串行EEPROM的编程应用(一) 作者:温正伟原载:无线电 本文所提供的实例程序:cdle070002.rar EEPROM是"Electrically Erasable Programmable Read-only"(电可擦写可编程只读存储器)的缩写,EEPROM 在正常情况下和EPROM一样,可以在掉电的情况下保存数据,所不同的是它可以在特定引脚上施加特定电压或使用特定的总线擦写命令就可以在在线的情况下方便完成数据的擦除和写入,这使EEPROM被用于广阔的的消费者范围,如:汽车、电信、医疗、工业和个人计算机相关的市场,主要用于存储个人数据和配置/调整数据。EEPROM又分并行EEPROM和串行EEPROM,并行EEPROM器件虽然有很快的读写的速度,但要使用很多的电路引脚。串行EEPROM器件功能上和并行EEPROM基本相同,提供更少的引脚数、更小的封装、更低的电压和更低的功耗,是现在使用的非易失性存储器中灵活性最高的类型。串行EEPROM按总线分,常用的有I2C,SPI,Microwire总线。本文将介绍这三种总线连接单片机的编程方法。 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,并且有多种封装可供选择。我们可以很容易的在身边的电器设备中发现它们的身影,如电视中用于保存频道信息,电脑内存条中保存内存大小等相关信息,汽车里用于保存里程信息等等。 图二是ATMEL公司 可以通过设置A0-A2引脚来确定器件地址。SDA是串行数据引脚,用于在芯片读写时输入或输出数据、地址等,这个引脚是双向引脚,它是漏极开路的,使用时需要加上一个上拉电阻。SLC脚是器件的串行同步时钟信号,如果器件是使用在单片机系统中,那么SLC脚应该由单片机控制,根据单片机的程序要求产生串行同步时钟信号,控制总线的存取。WP脚是写保护脚,当这个脚接入高电平时,芯片的芯片数据均处于禁止写入状态(所禁止的地址段要看各芯片的详细资料),当把WP脚接到地线时,芯片处于正常的读写状态。当一个电路要求正常使用时是不允许程序修改EEPROM中的数据,只有在维护设置才可以修改数据,这时可以在电路上设置WP跳线或用微处理器对WP进行控制,这样只有在特定的电路状态下才可以更改到数据。

DSP的SPI口和串行EEPROM在变频器中的应用

DSP的SPI口和串行EEPROM在变频器中的应用 1 引言 变频器的开发中我们选用TMS320F240 芯片做主CPU,TMS320F240 系列是美国TI 公司于1997 年推出的,专为数字电机控制和其它控制应用系统而 设计的16 位定点数字信号处理器。它将数字信号处理的高速运算功能与面向 电机的强大控制能力结合在一起,成为中低端变频器理想的主控芯片。F240 片内外设包括双10 位A/D 转换器,带有锁相环PLL 时钟模块,带中断的看门狗 定时器模块,串行通信接口SCI 及串行外设接口SPI,另外,还集成了一个事 件管理模块EVM。因此,TMS320F240 基本能满足笔者变频器设计的要求。 变频器有几百甚至上千个参数,这些参数值都要求系统断电后不能丢失,在设计中我们选用非易失性存储器EEPROM 保存数据。每次上电时,从EEPROM 中读取上次参数的设定值,以保证变频器运行状态的连续性,同样每次断电时,也要保存变频器此次运行的参数设定情况,以便开机时读取。本文 阐述了变频器开发中F240 扩展EEPROM(X5168)的设计思路和实现过程。 2 对TMS320F240 的串行外设接口(SPI)的说明 TMS320F240 的串行外设接口(SPI)模块是一个高速同步串行输入/输出端口,它允许F240 控制器和片外外设或其他控制器进行串行通信,在通信 过程中,SPI 能够以任意给定的传输速率对具有可编成长度(1-8 位)的串行比特流进行收发。该模块也是一个8 位外设,它直接挂在16 位的片内外设总线上,因此,外设总线的高8 位读写访问对该模块是没有意义的。 SPI 模块的特性如下: (1) 4 个外部引脚。SPISOM I 为SPI 从输出/主输入引脚;SPISIMO 为SPI 从输入/主输出引脚;SPISTE 为SPI 从发送使能引脚;SPICLK 为SPI 串行时

相关文档
最新文档