基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx

上传人:b****3 文档编号:24713340 上传时间:2023-05-31 格式:DOCX 页数:30 大小:984.91KB
下载 相关 举报
基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx_第1页
第1页 / 共30页
基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx_第2页
第2页 / 共30页
基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx_第3页
第3页 / 共30页
基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx_第4页
第4页 / 共30页
基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx

《基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx(30页珍藏版)》请在冰豆网上搜索。

基于多功能单片学习机的NANDFLASH驱动的设计毕业设计.docx

基于多功能单片学习机的NANDFLASH驱动的设计毕业设计

 

基于多功能单片学习机的NANDFLASH驱动的设计

ThedesignofNANDFLASHdriverbasedonaMultifunctionSCMlearningmachine

 

总计毕业设计(论文)30页

表格3个

插图15幅

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

摘要

基于多功能单片学习机的NANDFLASH驱动包括两部分:

多功能单片学习机和NANDFLASH存储器。

本论文首先介绍了多功能单片学习机的软/硬件设计,该学习机利用自动程序切换电路,使得同一片单片机既可以运行系统程序,又可以运行用户程序,实现程序代码的在线下载。

学习机外部扩展了大量的硬件资源,丰富的系统硬件资源构成了各种实际应用电路,通过万能扩展接口可以很方便地仿真外部应用电路和扩展用户应用电路。

然后,着重介绍了NANDFLASH扩展板的软/硬件设计,通过多功能单片学习机实现对NANDFLASH的读、写时序。

 

关键字:

多功能单片学习机自动切换电路NANDFLASH

 

Abstract

BasedNANDFLASHmulti-functionalsingle-chiplearningmachinedriveconsistsoftwoparts:

amulti-functionalsingle-chiplearningmachineandNANDFlashmemory.Thispaperintroducesthehardware/softwaredesign,multi-functionalsingle-chiplearningmachinewithautomaticswitchcircuit,sowithamicrocontrollercaneitherrunthesystemprogram,youcanruntheuserprogram,theonlinedownloadoftheprogramcode.externallearningmachineexpansealotofhardwareresources,hardwaresystemresourcesposespracticalapplicationcircuit,throughtheuniversalexpansioninterfacecaneasilysimulatetheexternalapplicationcircuitandextendtheuserapplicationcircuit.ThenfocusesonthetheNANDFLASHexpansionboardhardware/softwaredesign,achievedthroughamulti-functionalsingle-chiplearningmachineNANDFLASHreadandwritetiming.

Keyword:

MultifunctionSCMlearningmachine;automaticswitchcircuit;NANDFLASH;

 

第一章绪论

1.1国内外研究概况

新世纪嵌入式系统迅速,主要表现在市场发展、通信、消费电子产品和多媒体应用。

在这些嵌入式系统中,存储设备的性能是决定整体系统性能的核心环节之一。

相对于体积大、抗震性能差的硬盘等传统存储介质,Flash存储器具有容量大、速度快、成本低、性能佳等很多优点,适用于大量数据的存储,因此在嵌入式系统中的应用也越来越多,如在移动电话、PDA、数码相机、体积小巧的U盘、MP3播放器等多媒体消费类电子产品,正在迅速取代NORFLASH。

NOR和NAND是现在市场上两种主要的非易失闪存技术。

Intel于1988年首先开发出NORflash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。

紧接着,1989年,东芝公司发表了NANDflash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。

相“flash存储器”经常可以与相“NOR存储器”互换使用。

但是经过了十多年之后,仍然有相当多的硬件工程师也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。

而NAND则是高数据存储密度的理想解决方案。

Nand-flash内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。

Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,NAND闪存是一种比硬盘驱动器更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。

随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。

1.2本课题的主要目标和工作

本设计通过对“基于多功能单片学习机的NANDFLASH驱动“的设计,可熟悉多功能单片学习机的软/硬件设计,NANDFALSH的基本工作原理及编程,熟悉硬件开发的基本流程,熟悉常用元器件的使用,熟悉单片机的硬件开发,常见接口电路设计,如NANDFLASH扩展电路、键盘输入电路,数码管显示电路,外部存储器电路、外部存储器的保护电路、自动切换程序电路、电源电路等。

完成的电路板可以实现对NANDFLASH正确读,写操作,测试写入数据不少于1KBYTE。

1.3全文结构

第一章介绍课题背景,国内外研究概况及课题的主要目标与工作。

第二章着重介绍了多功能单片学习机的硬件设计和软件设计,其中硬件设计包括单片机AT89S52电路,数码显示电路,外部存储器电路,外部存储器的保护电路,键盘输入电路,程序自动切换电路和电源电路等;软件设计包括上位机PC软件和下位机软件。

第三章是详细地分析了NAND扩展板的设计。

NAND扩展板的设计主要从NAND扩展板硬件电路设计和驱动两方面阐述。

第四章介绍了NAND扩展板的调试,对硬件设计和编程中遇到的问题进行了分析。

 

第二章多功能单片学习机

多功能单片学习机利用自动程序切换电路,使得同一片单片机既可以运行系统程序,又可以运行用户程序,实现程序代码的在线下载。

系统提供三种编程接口:

系统小键盘编程接口、红外遥控器编程接口和微机编程接口,旨在提高使用者编程学习的灵活性。

单片机外部扩展了大量的硬件资源:

键盘、数码显示器、红外遥控接收器、蜂鸣器、RS232通信接口、RS485通信接口、电源中断接口以及一个万能扩展接口。

丰富的系统硬件资源构成了各种实际应用电路,通过万能扩展接口可以很方便地仿真外部应用电路和扩展用户应用电路。

图2-1为多功能单片学习机。

图2-1多功能单片学习机

2.1多功能单片学习机的硬件设计

学习机系统结构框图如图2-2所示。

主要由供电电路、电源电压检测电路、电源中断电路、键盘电路、红外遥控电路、数码显示电路、扬声器电路、存储器电路、存储器写保护电路、程序自动切换电路、RS232及RS485通信接口电路、单片机电路等组成。

图2-2学习机系统结构框图

 

2.1.1单片机AT89S52电路

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用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端口写“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)和定时器/计数器2的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能:

P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5MOSI(在系统编程用)

P1.6MISO(在系统编程用)

P1.7SCK(在系统编程用)

P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动

4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(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)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

端口引脚第二功能:

P3.0RXD(串行输入口)P3.1TXD(串行输出口)

P3.2INTO(外中断0)P3.3INT1(外中断1)

P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)

P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

EA/VPP:

外部访问允许,欲使CPU仅访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

图2-3AT89S52单片机电路

图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));而共阳极就是所有二极管的阳极是公共相连,而阴极则是分离的(见图2-4(c))。

学习机采用的是八段共阴极数码管。

数码管与发光二极管的工作原理相同,共阳极时,所有正端接电源正极,当负端有低电平时,该段有电流流过,发光管亮,当负端为高电平时,该段无电流流过,发光管不亮。

要显示什么数字,就使对应的段为低电平(见表2-1)。

共阴极与共阳极的电平变化状态相反。

当每个段的驱动电流为2~20mA,

电流越大,发光越亮。

图2-4数码管内部结构图

常用的七段式数码管的硬件驱动设计方法有:

静态驱动与动态驱动。

静态驱动即指每个数码管的数据线都有一个单独的数据锁存器,数据锁存器输入的数据由使能端控制,当使能端为高电平时,数据线上的数据(要显示的七段码)进入显示器,使能端与地址译码器的输出相连,要显示那位,则选通那位的地址,在软件设计上不要求程序循环,也不存在显示数字发生闪烁。

但是这样会占用很多口线。

动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

这样一来,就没有必要每一位数码管配一个锁存器,从而节省了口线,地简化了硬件电路。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

学习机采用的是动态扫描。

动态扫描驱动数码管的优点:

当显示位数较多时,采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单;缺点:

其稳定度不如静态显示方式。

而且在显示位数较多时CPU要轮番扫描,占用CPU较多的时间。

总的来说,无论是动态还是静态显示,其显示更新的速率不能太快,如数据不停变化,太快则无法看清楚显示的内容,在软件设计是必须注意的。

另外,在同等条件下动态显示的亮度比静态显示要差一些,所以在适当提高驱动电流,例如使用限流电阻,就应略小于静态显示电路中的,或者使用缓冲驱动芯片。

表2-1显示的数字和七段码各位的对应关系表

显示值

0

1

2

3

4

5

6

7

8

9

七段共阴

3FH

06H

5BH

4FH

66H

6DH

7DH

07H

7FH

6FH

七段共阳

C0H

F9H

A4H

B0H

99H

92H

82H

F8H

80H

90H

2.数码显示电路分析

(1)芯片的介绍

74HC138是常用的3-8线译码器,即具有3个输入端(管脚1,2,3)与8个输出端(管脚15,14、13,12,11,10,9,7),作用为完成3位二进制数据到8位片选的译码。

也就是说,3个输入端对应8个二进制数据(000,001,010,011,100,101,110,111),对于每个输入的数据,输出端相应位输出低电平,其他7位输出高电平。

74HC138具有2个低电平使能端(管脚4,5)与1个高电平使能端(管脚6),当低电平使能端接低电平且高电平使能端接高电平时74HC138才能正常工作,否则8个输出端全部输出高电平。

74HC138的真值表如表2.2所示:

H代表高电平,L代表低电平,X代表不定的状态。

表2-274HC138的真值表

74HC273是8D触发器,内部包含8个D触发器,它们使用公共的时钟脉冲和异步清零信号,触发方式为边沿触发。

74HC273真值表如表2.3所示,其中H表示高电平,L表示低电平,╳表示任意输入,」表示上升沿触发。

表2-374HC273的真值表

(2)电路原理

图2-5为数码显示电路,显示电路中采用了8只数码管,连接方式为八段共阴极数码管,显示方案为动态扫描。

从图2-5中可以看出驱动数码管总共用了6个单片机I/O口,其中三个I/O口通过一片74HC138控制74HC273锁存器的时钟CLK来实现对数码管中的各段驱动,另三个I/0口通过控制另一片74HC138来实现对8个数码管中的公共端驱动;三极管Q1——Q8工作在开关状态;

2.1.3外部存储器电路

62256是32K×8的高集成度的随机存取存储器,有28个引脚,采用单一+5V电源供电,双列直插式结构。

它们的内部结构与6264类似,也是由存储器阵列、行/列地址译码器以及数据输入输出控制逻辑组成。

引脚功能和外部特性与6264基本相同,区别仅在于由于容量大,第26引脚为A13第1引脚为A14。

62256是32K的低功能静态RAM存储器。

用P0和P2来拓展外部ram(就是用P0和P2与62256对应的管教相连接),假设P2.7接WR,P2.6接RD,P2.5接CS,那么久可以确定外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE[0*8000],其中WR,CS为低,RD为高,那就是(也就是P2.7和P3.6输出了低电平,而P3.7输出了高电平,目的当然是要选通62256并且向62256写入数据),其它位的可以根据情况自己定(也就是其它位ushism不打紧,关键就是控制wr,cs,rd的那几个位要符合选通,读,写的规定就可以了),现在我们向62256中写个26进去就可以使用这天语句:

XBYTE[0*8000]=26

MCS-51单片机系统拓展时,一般使用P0口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16跟地址总线,寻址空间为64KB。

62256引脚功能

A0–A14地址总线

D0/D7输入、输出口

CS端口选择

WE输入使能

OE输出使能

VCC电源使能

VSS接地

图2-5数码管显示电路

图2-6外部存储器电路

 

2.1.4外部存储器的保护电路

存储器写保护电路在系统上电、掉电、电源电压低以及切换系统程序和用户程序时禁止存储器写操作,保护用户代码。

由图2-7所示。

R30和Q15检测单片机复位信号,R25、R26、Q14、R*组成电源检测电路。

图2-7存储器写保护电路原理图

2.1.5键盘输入电路

图2-8为键盘输入电路,键盘电路使用一片74HC138扩展8个按键。

图2-8为键盘输入电路

控制信号KSA、KSB、KSC通过74L138输出Y0—Y7信号,然后在由K2—K9按键控制,最后决定KSI信号是否导通。

例如:

若控制信号KSA、KSB、KSC为011,则Y3为低电平,如果K6按键按下,结果KSI导通。

2.1.6自动程序切换电路

如图2-9所示的程序自动切换电路是系统的关键部分,其作用是自动切换系统程序和用户程序,在切换程序的同时给单片机一个复位信号,使得切换程序后单片机都从0000地址开始执行程序。

学习机系统程序在单片机片内,用户程序在片外,通过自动逻辑控制电路切换系统程序和用户程序。

逻辑控制电路可以是纯数字逻辑电路或微电脑控制电路,其关键是必须在切换程序的时候给单片机复位信号,并且自动切换单片机的读、写、外部程序存储器的选通信号。

其实现原理如下:

(1)复位信号的产生若开始时EA为高电平,此时运行系统程序,若要切换到用户程序,则将K1闭合,EA为低电平,C21放电,Q13截止,C20通过Q12的BE极和R16充电,Q12导通,产生复位高电平脉冲,若再要切换到系统程序,则将K1打开,EA为高电平,C21通过Q13的BE极充电,Q13导通,C20通过Q13的CE极放电,由于Q13导通后集电极为低电平,所以Q12也导通,同样产生复位脉冲。

达到复位的目的。

图2-9自动程序切换电路原理图

(2)逻辑切换电路若开始时EA为高电平,此时运行系统程序,外部程序存储器选通信号PSEN不能通过U11A而无效,读信号RD可通过U11D,由于U11A输出为高电平,所以RD信号通过U11D后又可以通过U6A,实现对外部存储器的读操作;写信号WR可通过U11B,WR和保护电路相或后实现对外部存储器的写操作。

若EA为低电平,此时运行用户程序,PSEN有效,读写信号无效,即外部存储器为程序存储器,不能进行写操作。

需要注意的是在切换程序时,必须启动一个存储器写保护电路,以防止此期间外存储器被意外写数据。

从而破坏了用户程序。

此外,在系统上电及掉电时,也需要对外存储器写保护。

在电源电压不足时,为安全起见,也应该对外存储器写保护。

2.1.7RS232通信电路

如图2-10所示,Q1、Q2相互连接,完成信号电平的反相,D2、C1、C2连接组成电源电路,D1连接Q2的基脚,是Q2的保护二极管,D4连接单片机RXD,是单片机RXD引脚的保护二极管。

RS232通信接口电路为程序下载接口。

图2-10RS232通信电路

2.1.8电源电路

如图2-11所示,电源输入电路有两个输入端,一个为直流9-12V输入,可接受变压器输入;另一个为直流5V输入,可以用4节干电池供电。

电压检测电路在电源电压不足时会给单片机一个中断信号,同时禁止存储器写操作。

图2-11电源电路

2.2多功能单片学习机的软件设计

学习机软件由两部分组成:

上位机PC软件和下位机软件。

PC机软件在Windows环境下用VisualBasic软件编写,完成程序下载及程序切换控制,包括文件操作部分、通信测

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1