大容量串行Flash的快速编程_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大容量串行flash的快速编程串行flash存储器具有体积小、功耗低、管脚少、掉电不走失数据等诸多优点,在ic卡和便携式智能检测仪表中广泛的应用。而在这类芯片中atmel公司生产的at45d041存储容量较大(4mb),因而在某些要求大容量存储数据的场合具有重要的应用价值,主要用于存放一些保密性要求不高、数据量极大的数据,如声音、图像或采集数据等。他们大都是spi接口,对他们的通讯,通常采纳带spi通讯协议的微处理器。但有些没有spi接口,如51系列的单片机,通常采纳io端口模拟spi接口,此办法对速度要求不高的场合还可以用法,但程序编制比较复杂。本文将介 绍一种通过51系列单片机的串行口与a

2、t45d041芯片通讯的办法,此办法不仅编程容易,且运行速度高,是一种值得推举的编程办法。1 at45d041的工作原理at45d041是具有4 325 376位的大容量存储器,他们被分成2 048页(对应地址为pal0一pa0),每页264b(对应地址ba8ba0)。这些存储器被称之为主存储器,此外at45d041还有2个264 b的缓冲区bufferl和buffer2,当主存储器的某页正在被用法时,这2个缓冲区允许接收数据。当片选cs有效时,数据的传输在时钟信号sck的同步下,通过si(输入)和so (输出) 举行。其原理框图1所示。表1为包含at45d041芯片ic卡管理定义。at45d

3、041的最大工作频率可达10mhz,工作为5 v±10,工作最大读为25 ma,写为50 ma,数据保持可达100年,工作温度为070,按照要求可超过指定工作温度,通讯协议为spi串行接口方式0和方式3。2 at45d041与at89c55的接口因为at45d041惟独一个管脚举行指令、数据的输入和数据的输出,其指令和数据都是串行输入的,工作时序图2所示。从图2可以看出,输入数据时,sck的升高沿前后一段时光分离为建立时光tsu (>10 ns)和保持时光th (>25 ns),输入接口应在sck升高前tsu时段内将数据预备好,并在其后的th时段内保持该数据。输出数据时,

4、so仅在sck下降沿rv (51系列的单片机都具有起码一个全双工串行接口,他支持4种工作方式,这里采纳方式0,作为移位寄存器输入输出。其工作时序图3所示。串行口以振荡频率的112波特率接收和发送数据,rxd为串行数据输入输出端,txd为同步移位信号输出端。本系统采纳at89c55单片机芯片实现与at45b041的接口,负责信号的采集、存储与读取及显示,其硬件接口4所示。图4中p1.0接ic卡的cs信号,p1.1接rb信号,p1.2接rst信号,ic卡的sck接单片机的txd,si和so接在一起与单片机的rxd相连。p0口接ad(模数转换)芯片和(液晶显示屏),p2口接键盘。工作原理是,ad采样

5、数据一方面通过单片机挺直存入ic卡,另一方面通过计算显示在液晶屏上。系统的采样速度要求达到1khz,这对于12mhz主频的at89c55单片机速度要求很高,这就要求花在存储方面的时光尽量少。因系统不需要与外界通信,单片机的串口闲置,这样,可以考虑利用单片机的串口,来提高存储速度。因为at45d041只支持spi通讯的模式0和3,而at89c55单片机支持移位寄存器输入输出工作方式。这样可以把at45d041当作移位寄存器来操作。但51系列单片机的串口都是先输出低位,后输出高位。这与at45d041的定义正巧相反。为此在通过uart输出数据之前必需将其举行转换。固然,通过查表可以解决这一难点。3

6、 单片机编程下面以一个检测ic卡状态的程序来解释对这种存储器的编程办法。(关于at45d041存储器的操作时序及指令,参阅at45d041的器件解释书。)定义查表矩阵 unsigned char code concode256= 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10, 0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0, . . 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0xlf,0x9f,0x5f,0xdf,0x3f,oxbf,0x7f,oxff; 检查ic的有效性函数bit test

7、card(void) unsigned char tmp; cs450; scon=0; sbuf=concode0x57; 读状态寄存器指令为0x57 while(!ti); scon=0x10; while(!ri); tmp=concodesbuf; tmp内为状态寄存器值 cs45=1 if(tmp&0x38)=0x18) return (0); 是at45d041卡,返回0 return(1); 不是at45d041卡,返回1 at45d041芯片的状态寄存器结构如下:位7为0表示忙;为1表示闲,可以接收下一条命令。 位6为0表示主存储区数据与缓存区比较匹配,否则为不匹配。

8、位5、位4、位3对于at45d041为"011”(二进制)。4 总体性能评价在此系统中,单片机需采样8路12位信号,并把他们保存在数据ic卡中。只需带回ic卡,通过ic卡读写器把数据读入计算机,便可以举行数据的离线处理、分析。可以看出,仅采纳几个便宜芯片,便组成一共性能可观的数据采集系统。从以上程序可以看出,数据传送的速率基本上与单片机的机器周期相同。而通过以前的io端口模拟spi端口的操作中,数据传送的速率最大不到机器周期的13。另外,在串口传送数据的过程中,cpu还可以同时举行其他的命令。总体性能要比采纳io端口模拟spi端口的操作快上4倍以上。在以上的迅速数据采集系统中,花在存储方面的时光相对很少,这样,一方面数据采集的速率可以提高;另一方面单片机有充沛的时光计算、分析数据,处理lcd显示,键盘中断等。削减存储所花的时光,对整体性能的提高有着显著的意义。固然,采纳以上方式操作spi口,需要对所操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论