(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf_第1页
(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf_第2页
(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf_第3页
(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf_第4页
(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf_第5页
已阅读5页,还剩118页未读 继续免费阅读

(信号与信息处理专业论文)基于fpga的8051单片机ip核设计及应用.pdf.pdf 免费下载

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

文档简介

太原理工大学硕士研究生学位论文 基于f p g a 的8 0 5 1 单片机lp 核设计及应用 摘要 单片微型计算机( 单片机) 是将微处理器c p u 、程序存储器、数据存储 器、定时计数器、输入输出并行接口等集成在一起。由于单片机具有专 门为嵌入式系统设计的体系结构与指令系统,所以它最能满足嵌入式系统 的应用要求。i n t e l 公司生产的m c s 一5 1 系列单片机是我国目前应用最广的 单片机之一。 随着可编程逻辑器件设计技术的发展,每个逻辑器件中门电路的数量 越来越多,一个逻辑器件就可以完成本来要由很多分立逻辑器件和存储芯 片完成的功能。这样做减少了系统的功耗和成本,提高了性能和可靠性。 f p g a 就是目前最受欢迎的可编程逻辑器件之一。i p 核是将一些在数字电路 中常用但比较复杂的功能块,设计成可修改参数的模块,让其他用户可以 直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随 着f p g a 的规模越来越大,设计越来越复杂,使用i p 核是一个发展趋势。 本课题结合f p g a 与8 0 5 1 单片机的优点,主要针对以下三个方面研究: ( 1 ) f p g a 开发平台的硬件实现 选用x i li n x 公司的x c 3 s 5 0 0 e p q 2 0 8 4 一c 作为核心器件,采用i n t e l 公司的e e p r o m 芯片2 8 1 6 a 和s r a m 芯片6 1 1 6 作为片内程序存储器,搭建f p g a 的硬件开发平台。 ( 2 ) 用v h d l 语言实现8 0 5 1 i p 核 分析研究8 0 5 1 系列单片机内部各模块结构以及各部分的连接关系,实 太原理工大学硕士研究生学位论文 现了基于f p g a 的8 0 5 1 i p 核。主要包括如下几个模块:c p u 模块、片内数据 存储器模块、定时计数器模块、并行端口模块、串行端口模块、中断处理 模块、同步复位模块等。 ( 3 ) 基于f p g a 的8 0 5 1 i p 核应用 用所设计的8 0 5 1 i p 核,实现了对一个4 4 键盘的监测扫描、键盘确 认、按键识别等应用。 关键词:f p g a ,c p u ,8 0 5 1 i p 核,键盘识别 太原理工大学硕士研究生学位论文 t h ed e s i g na n da p p l i c a 0 n0 fi p c o r ef o r8 0 51s i n g l e c h i p c r o c o m 噼u t e rb a s e do nf p g a a b s t r a c t s i n g l e - c h i pm i c r o c o m p u t e r ( m c u ) c o n s i s t so fc e n t r a lp r o c e s s i n g u n i t ( c p u ) ,p r o g r a mm e m o r y , d a t am e m o r y , t i m e r c o u n t e r , i n p u t o u t p u tp a r a l l e l i n t e r f a c e ,e t a l m c uh a st h es y s t e ms t r u c t u r ea n di n s t r u c t i o ns y s t e ms p e c i a l i z e d f o rt h ed e s i g no fe m b e d d e ds y s t e m ,s oi tc a ns a t i s f yt h ea p p l i c a t i o nd e m a n df o r e m b e d d e ds y s t e m t h em c s 一51s e r i e sm c u p r o d u c e db yi n t e lc o m p a n yi s w i d e l yu s e di no u rc o u n t r y 、 w i t ht h e d e v e l o p m e n t o fp r o g r a m m a b l e l o g i cd e v i c e ( p l d ) d e s i g n t e c h n o l o g y , t h en u m b e ro fl o g i cg a t ei ne v e r yl o g i cd e v i c ei n c r e a s e sd r a m a t i c a l l y t h el o g i cd e v i c ec a nr e a l i z et h ef u n c t i o n sw h i c hc a l la l s ob ef u l f i l l e db ym a n y d i s c r e t ed e v i c e sa n dm e m o r yc h i p s t h eu s a g eo fp l dc a i lr e d u c et h ep o w e r d i s s i p a t i o na n dc o s to f t h es y s t e m i tc a na l s oi m p r o v et h eq u a l i t ya n dr e l i a b i l i t y f i e l dp r o g r a m m a b l eg a t ea r r a y ( f p g a ) i so n eo ft h em o s tw e l c o m e d p r o g r a m m a b l el o g i cd e v i c e s i pc o r ei s am o d u l ew h i c hh a sc h a n g e a b l e p a r a m e t e r s w i mt h ei pc o r e w ec a ni m p l e m e n ts o m ec o m p l e xf u n c t i o n a l m o d u l ei nd i g i t a lc i r c u i t s t h ew o r k l o a do fe n g i n e e r sc a l lb er e d u c e db yu s i n g t h e s em o d u l e s w ec a na v o i dr e p e a t e dw o r k i n ga l s o m o r eg r e a tt h es c a l eo f f p g ai s ,m o r ec o m p l e xt h ed e s i g ni sn e e d e d s oi pc o r ei sb e c o m i n gm o r e a n dm o r e p o p u l a r c o m b i n i n gt h ea d v a n t a g e so ff p g aa n d8 0 5 lm c u ,t h ep a p e rm a i n l y i i i 太原理工大学硕士研究生学位论文 r e s e a r c h e st h e f o l l o w i n gt h r e ea s p e c t s ( 1 ) t h eh a r d w a r er e a l i z a t i o no f f p g ad e v e l o p m e n tp l a t f o r m a p p l y i n gx i l i n xc o m p a n yf p g ax c 3 s 5 0 0 e - p q 2 0 8 4 - ca st h ec o r ed e v i c e a n du t i l i z i n gi n t e lc o m p a n ye e p r o m2 816 aa n ds r a m6 616a st h ec h i p i n n e r p r o g r a mm e m o r yt ob u i l dt h eh a r d w a r ed e v e l o p m e n tp l a t f o r m ( 2 ) t h e r e a l i z a t i o no f8 0 51i pc o r ew i t hv h d l w ea n a l y z et h e8 0 51s e r i e sm c u si n n e rm o d u l e ss t r u c t u r ea n dt h e i r c o n n e c t i o n sa n dr e a l i z et h ed e s i g no f8 0 51i pc o r eb a s e do nf p g a t h em a i n m o d u l e si n c l u d e :c p um o d u l e ,c h i p i n n e rd a t am e m o r ym o d u l e ,t i m e r c o u n t e r m o d u l e ,p a r a l l e li n t e r f a c em o d u l e ,s e r i a li n t e r f a c em o d u l e ,i n t e r r u p td i s p o s a l m o d u l e ,s y n c h r o n i z a t i o nr e s e tm o d u l ea n ds oo n ( 3 ) t h ea p p l i c a t i o no f8 0 5 1i pc o r eb a s e do nf p g a u s i n gt h ed e s i g n e d8 0 5 1i pc o r e ,w er e a l i z et h em o n i t o rs c a n ,k e y b o a r d a c k n o w l e d g e m e n t ,k e y s t r o k ei d e n t i f i c a t i o na n do t h e ra p p l i c a t i o n s k e yw o r d s :f p g a ,c p u ,8 0 51i pc o r e ,k e y b o a r di d e n t i f i c a t i o n i v 声明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:丝圣登日期:翘:三:翌 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) o 签名:丝羔登e t i 营i :趔:三:型 导师签名:圣坠里) 日期:苫生1 2 :! :兰 太原理1 :大学硕士研究生学位论文 ,第一章绪论 1 1 课题研究背景及意义 单片微型计算机( 单片机) 在工业自动化控制、智能仪器仪表、数据采集系统、通 讯、通用测控模块等领域中,已经得到了日益广泛的应用,并扮演了一个极其重要的角 色,具有广阔的前景。目前虽然有性能更好的1 6 位、3 2 位单片机,但8 位机,特别是 i n t e l 公司推出的8 0 5 1 系列单片机,由于其速度快、功能强、可靠性高、构成系统简单、 应用软件丰富、技术上成熟等优点,在今后的单片机系统中仍有很强的竞争力。 同时,随着集成电路和计算机技术的飞速发展,电子设计自动化( e d a ,e l e c t r o n i c s d e s i g na u t o m a t i o n ) 以计算机的硬件和软件为基本的工作平台,已经发展成为可以代 替设计者完成电子系统设计的重要工具。e d a 系统所包含的可编程逻辑器件是厂家作为 一种通用性器件生产的半定制电路,用户可以通过对器件编程来实现所需要的功能。其 中现场可编程逻辑阵列f p g a ( f i l dp r o g r a m m a b l eg a t ea r r a y ) 由于具有开发简单、静 态可重复编程和动态在系统编程等特点,已经成为当今应用最广泛的可编程专用集成电 路之一。随着微电子技术的迅猛发展,速度更快、集成度更高的f p g a 不断出现,芯片 上包含的资源也越来越丰富,可实现的功能越来越强,这使得f p g a 在电子电路设计中 扮演的角色越来越重要。 本课题在对5 1 系列单片机内部结构分析的基础上,将其在f p g a 中设计并实现为i p 核,为今后单片机的进一步应用,实现功能更强大、适用性更灵活的片上系统打好基础 并积累经验。 1 2f p g a 的结构及应用 太原理工大学硕士研究生学位论文 1 2 1f p g a 的结构 现场可编程门阵列( f p g a ) 器件是x i t i n x 公司1 9 8 5 年首家推出的,它是一种新型 的高密度p l d 。f p g a 的内部由许多独立的可编程逻辑模块( c l b ) 组成,逻辑块之间可 以灵活地相互连接。本课题选用的器件属于x i l i n x 公司的s p a r t a n 3 e 系列,型号为 x c 3 s 5 0 0 e p q 2 0 8 4 一c 。该系列f p g a 主要由以下几个模块组成:可编程逻辑块c l b ( c o n f i g u r a b l el o g i cb l o c k s ) 、输入输出模块i o b ( i ob l o c k s ) 、块r a m ( b l o c kr a m ) 、 乘法器( m u l t i p l i e rb l o c k s ) 、数字时钟管理( d i g i t a lc l o c km a n a g e rb l o c k s ) 。其 基本结构如图1 - 1 所示。 图卜1s p a r t a n - 3 e 系列结构 f i g u r e l 一1s p a r t a n 一3 ef a m i l ya r c h i t e c t u r e ( 1 ) 可编程逻辑块c l b c l b 是f p 6 a 的主要组成部分,是实现逻辑功能的基本单元。s p a r t a n 一3 e 系列的c l b 在f p g a 中的位置如图卜2 所示。 ( 2 ) 输入输出模块i o b i o b 提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。其结构 如图卜3 所示,主要由输入触发器、输入缓冲器、输出触发锁存器和输出缓冲器组成。 每个l o b 控制一个引脚,可被配置为输入、输出或双向i o 功能。 2 太原理工大学硕十研究生学位论文 图1 - 2c l b 位置 f i g u r e l - 2c l bl o c a t i o n 图1 31 0 b 简图 f i g u r e l - 3s i m p l i f i e di o bd i a g r a m ( 3 ) 块r a m x c 3 s 5 0 0 e 包含2 0 个块r a m ,每个大小为1 8 k b i t ,可被配置为单口r a m 或双口r a m 。 其双端口定义如图1 4 所示。 3 罴鼍。僦一。懋:i 太原理工大学硕士研究生学竹论文 图1 - 4 双端口块r a m 端1 2 f i g u r e l - 4d u a l - p o r tb l o c kr a mp r i m i t i v e s ( 4 ) 乘法器 乘法器主要用来执行两个整型数的乘法运算,也可以执行一些简单的应用,如简单 的的数据存储和移位。其结构如图1 - 5 所示。 a r e g ( o p t i o n a l ) 图1 5 专用乘法器端口原理及功能 f i g u r e l - 5p r i n c i p l ep o r t sa n df u n c t i o n so f d e d i c a t e dm u l t i p l i e rb l o c k s 4 太原理j :大学硕七研究生学位论文 ( 5 ) d c m s x c 3 s 5 0 0 e 可以对时钟频率、拥移、时钟偏移等进行灵活全面的控制。他包括数字锁 楣环f d l l ) 、棚移器、时钟延迟部件等。其结构如图卜6 所示。 d c m p s e n 一- l i p h a s e p s d o n e p s c l k 1 s h i f t e r i l c l 团 i i n p u t d c l a yo u t p u t c l k o c l k f b 。l s t a g es t e p s _ _ _ c l k 9 0 。 o 【a g e c l k 2 : 7 l c l k f s i i) f s lc l k f s l 8 0 : 7 l r s t l o c k e d 。 s t a t u sl o g i c s t n 兀i s ( 7 :o ) : 图卜6d c m 功能模块及相关信号 f i g u r e l - 6d c mf u n c t i o n a lb l o c k sa n da s s o c i a t e ds i g n a l s 1 2 2f p g a 设计流程 可编程逻辑器件的设计是指利用e d a 开发软件和编程工具对器件进行开发的过程。 高密度复杂可编程逻辑器件的设计流程。1 如图卜7 所示,它包括设计准备、设计输入、 功能仿真、设计处理、时序仿真和器件编程及测试等七个步骤。 ( 1 ) 设计准备 在系统设计之前,首先要进行方案论证、系统设计和器件选择等准备工作。设 计人员根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本 及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。一般采用 自上而下的设计方法,也可采用传统的自下而上的设计方法。 ( 2 ) 设计输入 设计人员将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算 机的过程称为设计输入。设计输入通常有以下几种形式: 原理图输入方式 是一种最直接的设计描述方式,要设计什么,就从软件系统提供的元件库中调出来, 5 太原理工大学硕士研究生学位论文 画出原理图。其优点是容易实现仿真,便于信号的观察和电路的调整:缺点是效率低。 硬件描述语言 是用文本方式描述设计。其突出优点有。4 。:语言与工艺的无关性,可以使设计人 员在系统设计、逻辑验证阶段便确立方案的可行性;语言的公开可利用性,便于实现大 规模系统的设计;具有很强的逻辑描述和仿真功能,而且输入效率高;在不同的设计输 入库之间的转换非常方便,用不着对底层的电路和p l d 结构的熟悉。 波形输入方式 波形输入方式主要是用来建立和编辑波形设计文件,以及输入仿真向量和功 能测试向量。波形设计输入适用于时序逻辑和有重复性的逻辑函数。 图1 7f p g a 设计流程图 f i g u r e l 一7d e s i g nf l o wd i a g r a m ( 3 ) 功能仿真 功能仿真也叫前仿真。用户所设计的电路必须在编译之前进行逻辑功能验证,此时 的仿真没有延时信息,对于初步的功能检测非常方便。 ( 4 ) 设计处理 设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文 件进行逻辑化简、综合优化和适配,最后产生编程用的编程文件。主要包括:语法检查 6 太原理t 大学硕十研究生学位论文 和设计规则检查;逻辑优化和综合;适配和分割:布局和布线。 ( 5 ) 时序仿真 时序仿真义称后仿真或延时仿真。山于不同器件的内部延时不一样,不同的布局布 线方案也给延时造成f ;川的影响。凶此在设计处理以后,对系统和各模块进行时序仿真, 分析其时序关系,估计设计的性能,以及检查和消除竞争冒险等是非常有必要的。实际 上这也是与实际器件工作情况基本相同的仿真。 ( 6 ) 器件编程测试 时序仿真完成后,软件就可产生供器件编程使用的数据文件。器件在编程完毕后, 可以甩编译时产生的文件对器件进行校验、加密等工作。 1 2 3l p 核简介 知识产权核( i pc o r e ) 是具有知识产权( i n t e l l e c t u a lp r o p e r t y ) 的集成电路芯核的简 称,简称m 核。其作用是把一组拥有知识产权的电路设计集合在一起,构成芯片的基 本单位。其实可以把i p 理解为一颗a s i c ,以前是a s i c 做好以后供使用者在p c b 上应 用,现在是口做好以后让使用者集成在更大的芯片里。 i p 内核可以在不同的硬件描述级实现,由此产生了三类口内核:软核、固核和硬 核。这种分类主要依据产品交付的方式,而这三种i p 内核实现方法也各具特色。 软i p 核通常以可综合的h d l 提供,并由系统设计者验证。其优点是由于源代码的 灵活性,它可重定目标于多种制作工艺,在新功能级中重新配置,并与具体的实现工艺 无关。其主要缺点是缺乏对时序、面积和功耗的预见性。由于软核是以源代码的形式提 供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。 硬核则以经过完全的布局布线的网表形式提供,通常用g d s i i 格式表示。这种硬核 既具有可预见性,同时还可以针对特定工艺或购买商进行功率、体积和性能上的优化。 具体实例包括已完成布局布线的网表,以特定工艺库或全定制物理布图,或两者之组合。 硬i p 可以再使用,且由于它已处于设计表示的最底层,因而最容易集成。硬i p 已完全 用目标工艺实现是按十分接近于标准单元库元件的形式交付的,故而允许设计者将i p 快速地集成在衍生产品中。硬i p 最大的优点是确保性能,如速度、功耗等。然而,硬 i p 难以转移到新工艺或集成到新结构中,是不可重配置的。尽管硬核由于缺乏灵活性而 可移植性差,但由于无须提供寄存器转移级( r t l ) 文件,因而更易于实现i p 保护。 7 太原理工大学硕士研究生学位论文 固核则是软核和硬核的折衷。 大多数应用于f p g a 的i p 内核均为软核。软核有助于用户调节参数并增强可复用性。 软核通常以加密形式提供。这样实际的r t l 对用户是不可见的,但布局和布线灵活。在 这些加密的软核中,如果对内核进行了参数化,那么用户就可通过头文件或图形用户接 口( g u i ) 方便地对参数进行操作。对于那些对时序要求严格的内核( 如p c i 接口内核) , 可对特定信号实行预布线或分配特定的布线资源,以满足时序要求。这些内核可归类为 固核。由于内核是预先设计的代码模块,因此这有可能影响包含该内核的整体设计。由 于内核的建立、保持时间和握手信号都可能是固定的,因此设计其它电路时都必须考虑 与该内核进行正确地接口。如果内核具有固定布局或部分固定的布局,那么这还将影响 其它电路的布局。 1 38 0 5 1 单片机的结构 单片微型计算机简称单片机“1 ,是微型计算机的一个重要分支,也是一种非常活跃 且颇具生命力的机种。由于单片机特别适用于控制领域,故又称为微控制器 ( m i c r o c o n t r 0 1 l e r ) 。单片机通俗的来讲,就是把中央处理器c p u ( c e n t r a lp r o c e s s i n g u n i t ) 、存储器( m e m o r y ) 、定时器、i o ( i n p u t o u t p u t ) 接口电路等一些计算机的主 要功能部件集成在一块集成电路芯片上的微型计算机。因此,单片机只需要与适当的软 件及外部设备相结合,便可成为一个单片机控制系统。 m c s - 5 1 是美国i n t e l 公司的8 位高档单片机系列,也是我国目前应用最广的单片机 系列之一。其主要特点表现如下:体积小、重量轻、价格低、耗电少、电源单一;抗干 扰能力强,可靠性高;面向控制,控制功能强,运行速度快;其结构组成与指令系统都 着重满足工控要求;受集成度限制,片内存储器容量较小;开发应用方便,研制周期短; 片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的三总线及并行、串 行输入输出管脚,很容易构成各种规模的计算机应用系统。 是典型的单片机系列,具有典型的单片机结构体系“3 。其基本结构如图卜8 所示。 由图可见,该单片机主要功能部件有:c p u 系统、c p u 外围单元( 存储器和i 0 电路) 、 基本功能单元( 定时控制器、中断系统、串行接口) 等。各组成部分通过内部总线紧 密联在一起。 8 太原理i :大学硕十研究生学位论文 1 3 1o p t 系统 图i - 88 0 5 1 单片机功能框图 f i g u r e i 一88 0 5 1m c u f u n c t i o nb l o c kd i a g r a m 8 0 5 1 c p u 是单片机的核心部分,它的作用是读入和分析每条指令,根据每条指令的功能 要求帆”,控制各个部件执行相应的操作。8 0 5 1 内部c p u 是一个字长为二进制8 位的中 央处理单元,也就是说它对数据的处理是按字节为单位进行的。与微型计算机c p u 类似, 8 0 5 1 内部c p u 也是由算术逻辑单元( a l u ) 和控制单元( c u ) 两部分电路构成。 算术逻辑单元( a l u ) 8 0 5 1 的a l u 是一个性能极强的运算器,它既可以进行加、减、乘、除四则运算,也 可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移、位 变量处理等功能。 控制单元( c u ) 控制器是用来统一指挥控制计算机进行工作的部件。它的功能是从程序存储器中提 取指令,送到指令寄存器,再进入指令译码器进行译码,并通过定时和控制电路,在规 定的时刻发出各种操作所需要的全部内部控制信息及c p u 外部所需要控制信号,使各部 分协调工作,完成指令所规定的各种操作。 1 3 2 存储器 8 0 5 1 系列单片机存储器结构的主要特点是采用了为哈佛型结构,将程序存储器和数 据存储器分开并有各自的寻址机构和寻址方式。 9 太原理工大学硕士研究生学位论文 8 0 5 1 单片机在物理上有4 个存储空间:片内程序存储器和片外程序存储器、片内数 据存储器、片外数据存储器。程序存储器用于存放编好的程序、表格和常数。8 0 5 1 单片 机的片内程序存储器和片外程序存储器物理上独立,逻辑上却是统一编址的。数据存储 器用于存放运算的中间结果,进行数据暂存以及数据缓冲等。8 0 5 1 单片机的片内数据存 储器和片外数据存储器无论在物理上还是在逻辑上,其地址空间都是彼此独立的,各自 有不同的指令寻址。 ( 1 ) 程序存储器 8 0 5 1 单片机内部有4 k b 字节程序存储器,地址为0 0 0 0 h 0 f f f h ;也可扩展片外程 序存储器,但片内和片外之和不能超过6 4 k b ,地址范围0 0 0 0 h f f f f h 。对于片内片外 地址空间重叠的,c p u 提供了队控制信号用于选择重叠区的片内或片外地址:当e a 为 高电平时,c p u 执行片内程序存储器指令;但当p c 中的值超过0 f f f h 时,将自动转向执 行片外程序存储器指令。其结构如图卜9 所示。 o f f f h 图1 - 9 程序存储器 f i g u r e l 9p r o g r a mm e m o r y 程序存储器中有六个单元具有特殊功能,这些单元不得随意被其它程序指令占用。 0 0 0 0 h 0 0 0 2 h :是所有执行程序的入口地址。8 0 5 1 复位后,c p u 总是从0 0 0 0 h 单 元开始执行程序; 0 0 0 3 h :外部中断0 入口; 0 0 0 b h :定时器0 溢出中断入口; 0 0 1 3 h :外部中断1 入口; 0 0 1 b h :定时器1 溢出中断入口; 0 0 2 3 h :串行口中断入口。 1 0 太原理 人学硕十研究生学位论文 ( 2 ) 片内数据存储器 8 0 5 1 的内部数据存储器可划分为两个块:0 0 t t 7 f h 低1 2 8 字节为真正的用户r a m 区,8 0 1 t f f h 高1 2 8 节为特殊功能寄存器区,两块的地址空蚓连续。片内数据存储器 的结构见图卜l o 。 特 殊 功 能 寄 存 器 区 用户 r a m 位寻 址区 通用 r a m 可 位 寻 址 特 殊 功 能 寄 存 器 图卜1 0 片内数据存储器结构 f i g u r e l 1 0e n t e r n a ld a t am e m o r y 通用寄存器区 在低1 2 8 字节中,3 2 个工作寄存器占用o o h 1 f t f 单元,分为四组,构成通用寄存 器区。每组由8 个通用工作寄存器( r o a r 7 ) 组成。通过对p s w 中的r s i 和r s o 的设置可 决定选用那一组工作寄存器。不用的工作寄存器区单元可以做一般的r a m 使用。在某一 时刻,c p u 只能使用其中的一组,c p u 复位后总是选中第o 组工作寄存器。其作用就相 当于一般微处理器中的通用寄存器。 位寻址区 内部r a m 的2 0 h 2 f h 空间为位寻址区。这1 6 个字节单元具有双重功能。他们既可 以象普通r a m 单元一样按字节存取,也可以对每个r a m 单元中的任何一位单独存取。 用户r a m 区 用户r a m 区设在3 0 t t 7 f h 空间,堆栈区也可以设在这里。这个区域只能用字节地 1 】 嘲 咖 咖枷枷哪姗姗姗 、厂,10广jl广1l 端 勰 勰 嗍 太原理工大学硕士研究生学位论文 址寻址。 特殊功能寄存器( s f r ) 区 片内高1 2 8 字节( 8 0 h f f h ) r a m 为特殊功能寄存器区。特殊功能寄存器也称专用寄 存器,专用于控制、管理片内逻辑部件、并行i o 口、串行i o 口、定时器计数器、 中断系统等功能单元的工作。用户在编程时可以置数设定,而不能自由地移作他用。除 程序计数器p c 外,有2 1 个特殊功能寄存器分散在8 0 h f f h 的r a m 空间中。其中只有字 节地址能被8 整除的特殊功能寄存器具有位寻址能力,共1 1 个字节,8 3 位。 ( 3 ) 片外数据存储器 如果片内r a m 容量太小,不能满足控制需要,也可以外接外部r a m ,但外接外部r a m 的最大容量不能超过6 4 k b ,地址范围为0 0 0 0 h f f f f h 。片外数据存储器和片内数据存 储器空间0 0 0 0 h - o o f f h 是重叠的。其结构如图卜ll 所示。 1 3 3 输入输出口( i 0 ) 图卜1 1 外部数据存储器 f i g u r e l 一1 1e x t e r n a ld a t am e m o r y p o p 3 是4 个寄存器,也称为4 个端口,是8 0 5 1 单片机与外界联系的4 个8 位双 向并行i oi = 1 。由于在数据的传输过程中,c p u 需要对接1 3 电路中输入输出数据的寄存 器进行读写操作,所以在单片机中对这些寄存器象对存储器单元一样进行编址。 o p o 口:是一个8 位的准双向i o 口。在访问片外存储器时,它分时作8 位地址线和8 位双向数据线。不作总线使用时,也可作普通z o 口。 p l 口:是一个的8 位准双向i o 口。 s p 2 口:是一个8 位准双向i o 口。在访问片外存储器时,它作为高8 位 地址线。不作总线使用时,也可作普通i 0 口。 p 3 口:是一个8 位准双向i o 口。p 3 口除了作为一般双向口使用外,每 1 2 太原理i 人学硕十研究生学位论文 脚还具有第二功能。表卜1 列出了p 3 口第二功能。 表1 - 1p 3 口第二功能 t a b l e l - 1t h es e c o n df u n c t i o n so f p 3 r 】线 j 殊功能信号名称 p 3 0r x d 串 j 输入口 p 3 1t x d 串行输山口 p 3 2i n t o 外部中断0 输入口 p 3 3i n t l 外部中断1 输入口 p 3 4t o 定时器0 外部输入口 p 3 5t 1 定时器1 外部输入口 p 3 6胍 写选通输出口 p 3 7 i c d 读选通输出口 1 3 4 串行接口 8 0 5 1 有一个可编程的全双工串行通信接口。通过软件编程,它可以用作通用异步接 收和发送器u a r t ,同时接受和发送数据;也可以用作同步移位寄存器。 8 0 5 1 串行口的结构由发送和接收电路两部分组成。在异步通信中,发送和接收都是 在发送时钟和接收时钟控制下进行的。发送时钟和接受时钟都必须同字符位数的波特率 保持一致。 1 3 5 定时计数器 8 0 5 1 内部设有两个可编程的1 6 位定时计数器,简称定时器o ( t o ) 和定时器i ( t 1 ) 。 它们各自由两个专用8 位特殊功能寄存器组成,用于存放定时或计数初值。t o 和t 1 均 可用作定时控制、延时以及对外部事件计数。此外,还有两个特殊功能寄存器t c o n 和 t m o d ( 控制寄存器和方式寄存器) 。 1 6 位定时计数器实质上是一个加l 计数器。当定时计数器工作在定时方式时, 计数器的加1 信号由振荡器的1 2 分频信号产生,即每过一个机器周期,计数器增1 ,直 至计满溢出。当定时计数器工作在计数方式时,外部事件信号是通过引脚( p 3 4 或p 3 5 ) 输入的,计数器在每个机器周期采样外部输入信号,该信号的下降沿将触发计数。当定 时计数器被设定为某种工作方式后,它就会按设定的工作方式独立运行,不再占用c p u 的操作时间,直到加1 计数器计满溢出。溢出时,计数器回零,并置位t c o n 中的t f o 1 3 太原理下大学硕士研究生学位论文 或t f l ,以表示定时时间已到或计数值已满,向c p u 发出中断申请。 1 3 6 中断系统 计算机在执行程序的过程中,由于c p u 以外的某种原因,需终止当前程序的执行, 而去执行相应的处理程序,待处理结束后,再回来继续执行被终止了的原程序。这种情 况称为中断。 8 0 5 1 有5 个中断请求源,4 个用于中断控制的特殊功能寄存器i e 、i p 、t c o n 、s c o n , 可提供两个中断优先级,实现两级中断嵌套。5 个中断源对应5 个固定的中断入口地址 ( 矢量地址) 。 ( 1 ) 8 0 5 1 单片机的中断源 i n t o :外部中断0 请求,由p 3 2 脚输入。通过i t 0 ( t c o n 0 ) 来决定是低电平有 效还是下降沿有效。一旦输入信号有效,则向c p u 申请中断,并且置位i e o 标志。 n 口1 :外部中断l 请求,由p 3 3 脚输人。通过i t l ( t c o n 2 ) 来决定是低电平有 效还是下降沿有效。一旦输入信号有效,则向c p u 申请中断,并且建立i e l 标志。 t f o :定时器t 0 溢出中断请求。当定时器t o 产生溢出时,定时器t 0 中断请求 标志t f o 置位,请求中断处理。 t f l : 定时器t l 溢出中断请求。当定时器t l 产生溢出时,定时器t 1 中断请求 标志t f l 置位,请求中断处理。 r i t i :串行中断请求。当接收或发送完一中行帧时,置位内部串行口中断请求 标志r i 或t i ,请求中断。 ( 2 ) 中断响应条件与响应过程 响应条件 中断源有请求、c p u 允许所有中断源请求中断( e a = i ) 、中断允许寄存器i e 相应位 置1 。在每个机器周期内,单片机对所有的中断源都进行顺序检测,找到所有有效的中 断请求,并对其进行优先级排队。还要满足以下条件:无同级或高级中断正在服务;现 行指令执行到最后一个机器周期且已结束;若现行指令为r e t i 或访问特殊功能寄存器 i e 或i p 的指令时,执行完该指令且紧随其后的另一条指令也已执行完。单片机将在紧 接的下一个机器周期期间响应中断,否则将丢弃中断查询的作用。 中断响应过程 1 4 太原理t 大学硕士研究生学位论文 单片机一旦响应中断,首先置位相应的优先级有效触发器,然后执行一个硬件子程 序调用,把断点压入堆栈保护,最后将对应的中断入口地址值装入程序计数器p c ,使程 序转向该中断入e l 地址,以执行中断服务程序。通常在中断服务程序入口地址处放一条 无条件转移指令,这样可使町使中断服务程序安排在6 4 k b 空问的任意处。 1 4 论文的组织 论文共有6 章,分作四个部分。第一部分是绪论和f p g a 、8 0 5 1 基本结构及应用, 包括第l 章;第二部分是f p g a 开发平台的设计,包括第2 章;第三部分是8 0 5 1 i p 核的 设计实现及应用,包括第3 、4 、5 章;最后是结论和展望,包括第6 章。论文的各个部 分安排如下: 第一章绪论 第二章f p g a 开发平台的硬件设计 第三章8 0 5 1 内核模块及其外围剖析 第四章用v h d l 实现8 0 5 1 单片机系统 第五章单片机应用 第六章总结与展望 1 5 太原理工大学硕士研究生学位论文 第二章f p b a 开发平台的硬件设计 2 1f p g a 开发平台的硬件设计方案 在本课题中,f p g a 芯片选用x i l i n x 公司的x c 3 s 5 0 0 e p q 2 0 8 4 一c ,f p g a 配置芯片选 用x i l i n x 公司的x c f 0 4 s “1 。程序存储器选用i n t e l 公司的常见e e p r o m 芯片和s r a m 芯 片,型号分别为2 8 1 6 a 和6 1 1 6 。以这些芯片为主要器件,搭建f p g a 开发平台。 开发平台的工作流程为:用e e p r o m 烧写器将编译好的应用程序代码写入e e p r o m , 将其插入开发板的程序存储器插座。上电后,x c f 0 2 s 对f p g ax c 2 s 3 0 0 e 配置。配置完毕, 给本设计所配置的r e s e t 引脚一个持续的高电平,时间至少为设计时钟的2 4 个c l k 周 期,以完成对所设计单片机的复位操作。上述操作完成后,f p g a 相当于一个c 8 0 5 1 单 片机芯片。f p g a 芯片内部所设计的程序计数器p c 复位后值为0 0 0 0 h ,故会从片内程序 存储器地址总线输出该地址值,同时发出读使能信号,以完成对片内程序存储器的读操 作。程序存储器在接到这两个信号后,会输出相应的存储单元内容,通过数据总线送入 f p g a 。f p g a 执行该数据所代表的指令并将按照指令的要求完成操作。 在确定开发平台的工作流程之后,对开发平台进行硬件模块划分。共分为f p g a 、 e e p r o m 、s r a m 、4 x 4 键盘、电源5 个模块。各部分连接情况如图2 - 1 所示,电源模块未 在图中画出。 图2 - 1f p g a 开发平台 f i g u r e 2 - 1f p g ad e v e l o p m e n tp l a t f o r m 1 6 太原理1 :大学硕士研究生学位论文 2 2f p g a 模块 在本课题中,f p g a 模块是整个开发平台的核心。设计此模块时,开发平台上每一 个芯片的电源引脚和地之间接一个0 1pf 的去耦电容,这是为滤除因电路板的走线电 感产生的电源开关噪声尖峰;f p g a 的配置方式设计成支持f l a s hi s pp r o m 配置和j t a g 配置。本模块主要包括f p g a 芯片、f l a s h 配置芯片、接口电路等。附录1 为该模块电路 原理图。在f p g a 上实现设计,需把生成的位流b i t 文件下载到f p g a 。通过f p g a 的m 0 、 m 1 、m 2 三个管脚的不同组合来实现不同的配置方式选择,如表2 - i 所示。 表2 - if p g a 自5 置模式表 t a b l e 2 1f p g ac o n f i g u r a t i o nm o d et a b l e 配置模式预配萱拉高 m 0 m lm 2 否oo0 主串模式 是 0 ol 否lol 边界扫描模式 是lo0 2 3e e p r o m 模块 本设计采用的程序存储器是i n t e l 公司生产的电擦除电可编程只读存储器芯片 2 8 1 7 a 。该芯片片内的每个单元可经受i 00 0 0 次的擦除写入循环。每次写入的数据 可保存1 0 年以上。2 8 1 7 a 存储容量为2 kx8 位,采用单一+ 5 v 电源供电,工作电流为 1 5 0 m a ,维持电流为5 5i i l a ,读出时间最大为2 5 0 n s 。在本设计中,该芯片用作单片机的 低2 k b i t 片

温馨提示

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

最新文档

评论

0/150

提交评论