基于多功能单片学习机的NAND_FLASH驱动的设计毕业设计(论文)(27页).doc
《基于多功能单片学习机的NAND_FLASH驱动的设计毕业设计(论文)(27页).doc》由会员分享,可在线阅读,更多相关《基于多功能单片学习机的NAND_FLASH驱动的设计毕业设计(论文)(27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于多功能单片学习机的NAND_FLASH驱动的设计毕业设计(论文)-第 27 页基于多功能单片学习机的NAND FLASH驱动的设计The design of NAND FLASH driver based on a Multifunction SCM learning machine摘 要基于多功能单片学习机的NAND FLASH驱动包括两部分:多功能单片学习机和NAND FLASH存储器。本论文首先介绍了多功能单片学习机的软/硬件设计,该学习机利用自动程序切换电路,使得同一片单片机既可以运行系统程序,又可以运行用户程序,实现程序代码的在线下载。学习机外部扩展了大量的硬件资源,丰富的系统
2、硬件资源构成了各种实际应用电路,通过万能扩展接口可以很方便地仿真外部应用电路和扩展用户应用电路。然后,着重介绍了NAND FLASH扩展板的软/硬件设计,通过多功能单片学习机实现对NAND FLASH的读、写时序。关键字:多功能单片学习机 自动切换电路 NAND FLASH AbstractBased NAND FLASH multi-functional single-chip learning machine drive consists of two parts: a multi-functional single-chip learning machine and NAND Flash
3、 memory. This paper introduces the hardware / software design, multi-functional single-chip learning machine with automatic switch circuit, so with a microcontroller can either run the system program, you can run the user program, the online download of the program code. external learning machine ex
4、panse a lot of hardware resources, hardware system resources poses practical application circuit, through the universal expansion interface can easily simulate the external application circuit and extend the user application circuit. Then focuses on the the NAND FLASH expansion board hardware / soft
5、ware design, achieved through a multi-functional single-chip learning machine NAND FLASH read and write timing.Key word: Multifunction SCM learning machine;automatic switch circuit ;NAND FLASH; 目录摘 要IABSTRACTII第一章 绪论11.1国内外研究概况11.2本课题的主要目标和工作11.3全文结构2第二章 多功能单片学习机72.1多功能单片学习机的硬件设计72.1.1 单片机AT89S52电路8
6、2.1.2 数码显示电路112.1.3 外部存储器电路142.1.4 外部存储器的保护电路172.1.5 键盘输入电路172.1.6自动程序切换电路182.1.7 RS232通信电路192.1.8 电源电路192.2 多功能单片学习机的软件设计202.3本章小结20第三章NAND FLASH扩展板的设计223.1 NAND FLASH 扩展板硬件电路设计223.1.1 NAND FLASH接口电路223.1.2 控制器的工作原理243.2 NAND FLASH驱动253.2.1 NAND FLASH的工作原理263.2.2 NAND FLASH的读操作263.2.3 NAND FLASH的编程
7、273.2.4 NAND FLASH的擦除293.3本章小结30第四章 NAND扩展板的调试314.1硬件仿真注意事项314.2编程中遇到的问题314.2本章小结32第五章 全文总结33参考文献34致谢35第一章 绪论1.1国内外研究概况新世纪嵌入式系统迅速,主要表现在市场发展、通信、消费电子产品和多媒体应用。在这些嵌入式系统中,存储设备的性能是决定整体系统性能的核心环节之一。相对于体积大、抗震性能差的硬盘等传统存储介质,Flash存储器具有容量大、速度快、成本低、性能佳等很多优点,适用于大量数据的存储,因此在嵌入式系统中的应用也越来越多,如在移动电话、PDA、数码相机、体积小巧的U盘、MP3
8、播放器等多媒体消费类电子产品,正在迅速取代NOR FLASH。NOR 和NAND 是现在市场上两种主要的非易失闪存技术。Intel 于1988 年首先开发出NOR flash 技术,彻底改变了原先由EPROM 和EEPROM 一统天下的局面。紧接着,1989 年,东芝公司发表了NAND flash 结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。相“flash 存储器”经常可以与相“NOR 存储器”互换使用。但是经过了十多年之后,仍然有相当多的硬件工程师也搞不清楚NAND 闪存技术相对于NOR 技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR
9、闪存更适合一些。而NAND 则是高数据存储密度的理想解决方案。Nand-flash内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,NAND闪存是一种比硬盘驱动器更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。1.2本课题的主要目标和工作本设计通过对“基于多功能单片学习机的NAND FLASH驱动“的设计,可熟悉多功能单片学习机的软/硬件设计,NAND FALSH的基本
10、工作原理及编程,熟悉硬件开发的基本流程,熟悉常用元器件的使用,熟悉单片机的硬件开发,常见接口电路设计,如NAND FLASH扩展电路、键盘输入电路,数码管显示电路,外部存储器电路、外部存储器的保护电路、自动切换程序电路、电源电路等。完成的电路板可以实现对NAND FLASH正确读,写操作,测试写入数据不少于1KBYTE。1.3全文结构第一章介绍课题背景,国内外研究概况及课题的主要目标与工作。第二章着重介绍了多功能单片学习机的硬件设计和软件设计,其中硬件设计包括单片机AT89S52电路,数码显示电路,外部存储器电路,外部存储器的保护电路,键盘输入电路,程序自动切换电路和电源电路等;软件设计包括上
11、位机PC 软件和下位机软件。第三章是详细地分析了NAND扩展板的设计。NAND扩展板的设计主要从NAND扩展板硬件电路设计和驱动两方面阐述。第四章介绍了NAND扩展板的调试,对硬件设计和编程中遇到的问题进行了分析。第二章 多功能单片学习机多功能单片学习机利用自动程序切换电路,使得同一片单片机既可以运行系统程序,又可以运行用户程序,实现程序代码的在线下载。系统提供三种编程接口:系统小键盘编程接口、红外遥控器编程接口和微机编程接口,旨在提高使用者编程学习的灵活性。单片机外部扩展了大量的硬件资源:键盘、数码显示器、红外遥控接收器、蜂鸣器、RS232 通信接口、RS485 通信接口、电源中断接口以及一
12、个万能扩展接口。丰富的系统硬件资源构成了各种实际应用电路,通过万能扩展接口可以很方便地仿真外部应用电路和扩展用户应用电路。图2-1为多功能单片学习机。图2-1 多功能单片学习机2.1多功能单片学习机的硬件设计学习机系统结构框图如图2-2所示。主要由供电电路、电源电压检测电路、电源中断电路、键盘电路、红外遥控电路、数码显示电路、扬声器电路、存储器电路、存储器写保护电路、程序自动切换电路、RS232 及RS485 通信接口电路、单片机电路等组成。图2-2 学习机系统结构框图2.1.1 单片机AT89S52电路AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash
13、 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。AT89S52的主要性能:与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储器;32个可编程I/O口线;三个16位定时器/计数器;全双工UART串行通道;六个中断源;掉电后中断可唤醒和看门狗定时器等。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口
14、写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计
15、数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出
16、电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P
17、3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 INTO(外中断0) P3.3 INT1(外中断1)P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数
18、据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址0000H-FFFFH)
19、,EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。图2-3 A
20、T89S52单片机电路图2-3为设计中采用的单片机AT89S52的原理图,其中P0.0-P0.7是控制数码管显示端口,P1.0-P1.2是8位数码管的片选信号端口。P2.0-P2.7是控制PR2端口。2.1.2 数码显示电路1.段式数码管的原理常用的段式数码管有七段式和八段式,八段比七段多了一个小数点,其他的基本相同。所谓的几段就是指数码管里有相应的几个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见图2-4(a))。从各发光二极管的电极连接方式又可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的阴极连接在一起,而阳极是分离的(见图2-4(b));而共阳极就是所有
21、二极管的阳极是公共相连,而阴极则是分离的(见图2-4(c))。学习机采用的是八段共阴极数码管。数码管与发光二极管的工作原理相同,共阳极时,所有正端接电源正极,当负端有低电平时,该段有电流流过,发光管亮,当负端为高电平时,该段无电流流过,发光管不亮。要显示什么数字,就使对应的段为低电平(见表2-1)。共阴极与共阳极的电平变化状态相反。当每个段的驱动电流为220mA,电流越大,发光越亮。图2-4 数码管内部结构图常用的七段式数码管的硬件驱动设计方法有:静态驱动与动态驱动。静态驱动即指每个数码管的数据线都有一个单独的数据锁存器,数据锁存器输入的数据由使能端控制,当使能端为高电平时,数据线上的数据(要
22、显示的七段码)进入显示器,使能端与地址译码器的输出相连,要显示那位,则选通那位的地址,在软件设计上不要求程序循环,也不存在显示数字发生闪烁。但是这样会占用很多口线。动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而节省了口线,地简化了硬件电路。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。学习机采用的是动态扫描。动态扫描驱动数码管的优点:当显示位数较多时,采用动态显示方式比较节省I/O 口,硬件电路也较静态显示简单;缺点:其稳定度不如
23、静态显示方式。而且在显示位数较多时CPU要轮番扫描,占用CPU较多的时间。总的来说,无论是动态还是静态显示,其显示更新的速率不能太快,如数据不停变化,太快则无法看清楚显示的内容,在软件设计是必须注意的。另外,在同等条件下动态显示的亮度比静态显示要差一些,所以在适当提高驱动电流,例如使用限流电阻,就应略小于静态显示电路中的,或者使用缓冲驱动芯片。表2-1显示的数字和七段码各位的对应关系表显示值0123456789七段共阴3FH06H5BH4FH66H6DH7DH07H7FH6FH七段共阳C0HF9HA4HB0H99H92H82HF8H80H90H2数码显示电路分析(1)芯片的介绍74HC138
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 多功能 单片 学习机 NAND_FLASH 驱动 设计 毕业设计 论文 27
限制150内