大容量串行Flash的快速编程
发布时间:2008/5/27 0:00:00 访问次数:576
    
    
    串行flash存储器具有体积小、功耗低、管脚少、掉电不丢失数据等诸多优点,在ic卡和便携式智能检测仪表中广泛的应用。而在这类芯片中atmel公司生产的at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041存储容量较大(4mb),因而在某些要求大容量存储数据的场合具有重要的应用价值,主要用于存放一些保密性要求不高、数据量极大的数据,如声音、图像或采集数据等。他们大都是spi接口,对他们的通讯,通常采用带spi通讯协议的微处理器。但有些单片机没有spi接口,如51系列的单片机,通常采用i/o端口模拟spi接口,此方法对速度要求不高的场合还可以使用,但程序编制比较复杂。本文将介 绍一种通过51系列单片机的串行口与at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041芯片通讯的方法,此方法不仅编程简单,且运行速度高,是一种值得推荐的编程方法。
    1 at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041的工作原理
    at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041是具有4 325 376位的大容量存储器,他们被分成2 048页(对应地址为pal0一pa0),每页264b(对应地址ba8~ba0)。这些存储器被称之为主存储器,此外at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041还有2个264 b的缓冲区bufferl和buffer2,当主存储器的某页正在被使用时,这2个缓冲区允许接收数据。当片选cs有效时,数据的传输在时钟信号sck的同步下,通过si(输入)和so (输出) 进行。其原理框图如图1所示。
    
    表1为包含at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041芯片ic卡管理定义。
    
    at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041的最大工作频率可达10mhz,工作电压为5 v±10%,工作最大电流读为25 ma,写为50 ma,数据保持可达100年,工作温度为0~70℃,根据要求可超过指定工作温度,通讯协议为spi串行接口方式0和方式3。
    2 at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041与at89c55的接口
    由于at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041只有一个管脚进行命令、数据的输入和数据的输出,其命令和数据都是串行输入的,工作时序图如图2所示。
    
    从图2可以看出,输入数据时,sck的上升沿前后一段时间分别为建立时间tsu (>10 ns)和保持时间th (>25 ns),输入接口应在sck上升前tsu时段内将数据准备好,并在其后的th时段内保持该数据。输出数据时,so仅在sck下降沿rv (<80 ns)时间后有信号输出,并在下一个时钟下降沿到来时消失(tho=0),接口电路应在有效输出时间内读取数据。
    51系列的单片机都具有至少一个全双工串行接口,他支持4种工作方式,这里采用方式0,作为移位寄存器输入输出。其工作时序图如图3所示。
    
    
    串行口以振荡频率的1/12波特率接收和发送数据,rxd为串行数据输入输出端,txd为同步移位信号输出端。 本系统采用at89c55单片机芯片实现与at45b041的接口,负责传感器信号的采集、存储与读取及显示,其硬件接口电路图如图4所示。
    图4中p1.0接ic卡的cs信号,p1.1接r/b信号,p1.2接rst信号,ic卡的sck接单片机的txd,si和so接在一起与单片机的rxd相连。p0口接ad(模数转换)芯片和lcd(液晶显示屏),p2口接键盘。 工作原理是,ad采样数据一方面通过单片机直接存入ic卡,另一方面通过计算显示在液晶屏上。系统的采样速度要求达到1khz,这对于12mhz主频的at89c55单片机速度要求很高,这就要求花在存储方面的时间尽量少。因系统不需要与外界通信,单片机的串口闲置,这样,可以考虑利用单片机的串口,来提高存储速度。由于at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041只支持spi通讯的模式0和3,而at89c55单片机支持移位寄存器输入/输出工作方式。这样可以把at45d041-p.htm" target="_blank" title="at45d041货
    
    
    串行flash存储器具有体积小、功耗低、管脚少、掉电不丢失数据等诸多优点,在ic卡和便携式智能检测仪表中广泛的应用。而在这类芯片中atmel公司生产的at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041存储容量较大(4mb),因而在某些要求大容量存储数据的场合具有重要的应用价值,主要用于存放一些保密性要求不高、数据量极大的数据,如声音、图像或采集数据等。他们大都是spi接口,对他们的通讯,通常采用带spi通讯协议的微处理器。但有些单片机没有spi接口,如51系列的单片机,通常采用i/o端口模拟spi接口,此方法对速度要求不高的场合还可以使用,但程序编制比较复杂。本文将介 绍一种通过51系列单片机的串行口与at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041芯片通讯的方法,此方法不仅编程简单,且运行速度高,是一种值得推荐的编程方法。
    1 at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041的工作原理
    at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041是具有4 325 376位的大容量存储器,他们被分成2 048页(对应地址为pal0一pa0),每页264b(对应地址ba8~ba0)。这些存储器被称之为主存储器,此外at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041还有2个264 b的缓冲区bufferl和buffer2,当主存储器的某页正在被使用时,这2个缓冲区允许接收数据。当片选cs有效时,数据的传输在时钟信号sck的同步下,通过si(输入)和so (输出) 进行。其原理框图如图1所示。
    
    表1为包含at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041芯片ic卡管理定义。
    
    at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041的最大工作频率可达10mhz,工作电压为5 v±10%,工作最大电流读为25 ma,写为50 ma,数据保持可达100年,工作温度为0~70℃,根据要求可超过指定工作温度,通讯协议为spi串行接口方式0和方式3。
    2 at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041与at89c55的接口
    由于at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041只有一个管脚进行命令、数据的输入和数据的输出,其命令和数据都是串行输入的,工作时序图如图2所示。
    
    从图2可以看出,输入数据时,sck的上升沿前后一段时间分别为建立时间tsu (>10 ns)和保持时间th (>25 ns),输入接口应在sck上升前tsu时段内将数据准备好,并在其后的th时段内保持该数据。输出数据时,so仅在sck下降沿rv (<80 ns)时间后有信号输出,并在下一个时钟下降沿到来时消失(tho=0),接口电路应在有效输出时间内读取数据。
    51系列的单片机都具有至少一个全双工串行接口,他支持4种工作方式,这里采用方式0,作为移位寄存器输入输出。其工作时序图如图3所示。
    
    
    串行口以振荡频率的1/12波特率接收和发送数据,rxd为串行数据输入输出端,txd为同步移位信号输出端。 本系统采用at89c55单片机芯片实现与at45b041的接口,负责传感器信号的采集、存储与读取及显示,其硬件接口电路图如图4所示。
    图4中p1.0接ic卡的cs信号,p1.1接r/b信号,p1.2接rst信号,ic卡的sck接单片机的txd,si和so接在一起与单片机的rxd相连。p0口接ad(模数转换)芯片和lcd(液晶显示屏),p2口接键盘。 工作原理是,ad采样数据一方面通过单片机直接存入ic卡,另一方面通过计算显示在液晶屏上。系统的采样速度要求达到1khz,这对于12mhz主频的at89c55单片机速度要求很高,这就要求花在存储方面的时间尽量少。因系统不需要与外界通信,单片机的串口闲置,这样,可以考虑利用单片机的串口,来提高存储速度。由于at45d041-p.htm" target="_blank" title="at45d041货源和pdf资料">at45d041只支持spi通讯的模式0和3,而at89c55单片机支持移位寄存器输入/输出工作方式。这样可以把at45d041-p.htm" target="_blank" title="at45d041货