(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf_第1页
(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf_第2页
(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf_第3页
(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf_第4页
(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)面向分体空调的实时多任务处理器设计及fpga实现.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文摘要 面向分体空调的实时多任务处理器设计及f p g a 实现 摘要 现今,在嵌入式控制领域里,面对各种设备控制功能需求的不断增长,以往所采用 的8 位嵌入式处理器已经不能满足需求。随着e d a 技术的发展,设计一种面向某一类 设备的专用处理器已经成为可能。 本文基于操作系统硬件化与嵌入式处理器专用化的设计思想,提出一种专用嵌入式 设备处理器的体系结构。在该结构中设计了一个硬件多任务调度逻辑单元。使其除了拥 有普通嵌入式处理器的运算与控制功能外,还具备基于自身硬件逻辑单元就可实现任务 调度的能力。此外该体系结构集成了多种外围设备硬驱动逻辑单元,增加了处理器在控 制方面的专业性能。本文针对分体空调这类家电设备的特性,基于该体系结构实现了一 款分体空调专用设备处理器( w a s p ) 。w a s p 中的硬件多任务调度控制器可以支持4 个 用户可设定优先级的硬件任务,采用基于时间片的中断事件抢占任务调度机制。该调度 机制不仅保证了每个任务都可以得到c p u 服务,也提高了任务调度的实时性。外围器 件硬驱动逻辑用户接口的设计有多个控制与状态寄存器,通过读写这些特殊功能寄存器 达到控制硬驱动逻辑的作用。 本文设计的分体空调专用设备处理器用v h d l 语言进行逻辑描述,并在x i l i n x 公 司的f p g a 芯片中实现。通过仿真后证明,该处理器由于不需要c p u 进行任务切换、 数据保护等工作,c p u 执行效率可以达到9 9 以上。此外硬件多任务调度避免了软件 编程实现操作系统占用了大量存储空间的问题,真正实现了零存储空间占用,用少量的 硬件逻辑换来了处理器芯片性能的大幅提高。同时,由于w a s p 对外围器件的控制更加 专业化,简化了外围设备驱动的软件编程工作。 关键词:嵌入式处理器;空调控制器;f p g a ;硬件多任务调度;硬驱动逻辑; 硬操作系统 一一 东北大学硕士学位论文 d e s i g na n di m p l e m e n t a t i o no f ar e a l t i m em u l t i t a s k sp r o c e s s o rf o r w a l l m o u n t e da i rc o n d i t i o n e ri nf p g a a b s t r a c t n o w a d a y s ,b e c a u s eo ft h ec o m p l e x i t yo ft h ed e v i c e c o n t r o ls o f t w a r eb e i n gg r e a t l y i n c r e a s e d ,t h e8 - b i t sm c u c a n n o tb ef u l l yf i tf o re x e c u t i n gm o s to ft h es o f t w a r e w i t ht h e d e v e l o p m e n to f t h ee d a , d e s i g n i n g as p e c i a le m b e d d e dp r o c e s s o ri sb e c o m i n gp o s s i b l ea n di t i st h en e ww a yt od e a lw i t ht h el a t e s ta n dc o m p l i c a t e dc o n t r o ls o f t w a r e i nt h i sp a p e r , ak i n do fs p e c i a lp r o c e s s o ra r c h i t e c t u r eb a s e do no p e r a t i n gs y s t e m h a r d w a r e - r e a l i z e da n df u n c t i o n sc u s t o m i z e di sp r o p o s e d i nt h i sa r c h i t e c t u r e ,t h eh a r d w a r e m u l t i t a s k ss c h e d u l i n gi sd c s i g n e da n dt h et a s k sc a l lb es c h e d u l e dw i t h o u td e p e n d i n go n o p e r a t i n gs y s t e ms o f t w a r e a l s o ,as e r i a lo fh a r d w a r ed r i v e nl o g i c a lu n i t s ,w h i c ha r eu s e dt o d r i v ea n dc o n t r o lc u s t o m i z e dp e r i p h e r a le q u i p m e n t sa r ei n t e g r a t e d a n dt h ep e r f o r m a n c eo f p e r i p h e r a l d e v i c e sc o n t r o l l i n gi se n h a n c e d t h ew a s pp r o c e s s o rf o ra i r - c o n d i t i o n e r c o n t r o l l i n g , b a s e do nt h i sa r c h i t e c t u r e ,i sa c h i e v e d f o u rt a s k sc a nb es c h e d u l e db yt h e h a r d w a r em u l t i t a s k ss c h e d u l i n gc o n t r o l l e ro ft h i sp r o c e s s o r t h ep r i o r i t i e so ft h e s ef o u rt a s k s c 趾b es e tb yu s e r t h et a s ks c h e d u l i n gm e c h a n i s mi sb a s e do nt h et i m e - s l i c et u r n i n g m e c h a n i s ma n di n t e r r u p t i o np r e e m p t i n gm e c h a n i s m b yu s i n gt h i ss c h e d u l i n ga l g o r i t h m ,t h e r e a l t i m er e s p o n s ea b i l i t yi se n h a n c e d ag r o u po fr e g i s t e r sf o rc o n t r o l l i n go ri n d i c a t i n ga r e d e s i g n e df o rc o n t r o l l i n gt h ep e r i p h e r a lu s e ri n t e r f a c e so f t h eh a r d w a r el o g i c a l u n i t s t h ed e s i g ni sp r o g r a m m e dw i t hv h d la n di m p l e m e n t e di nax i l i n x sf p g ac h i p t h e s i m u l a t i n ge x p e r i m e n tr e s u l t ss h o wt h a tt h ee x e c u t i n ge f f i c i e n ti sn e a r l ya b o v e9 9 b e c a u s e t h es o f t w a r ee x e c u t i n gc o s to ft a s k ss c h e d u l i n g , d a t ap r o t e c t i n gi sn o tn e c e s s a r y t h es p a c e c o s to fo p e r a t i n gs y s t e mt a s k ss c h e d u l i n gi sa v o i d e d , t h ez e r o - s p a c e - c o s ti nt a s k ss c h e d u l i n g i sa c h i e v e d b yu s i n gs o m ea d d i t i o n a ll o g i c a lu n i t si np r o c e s s o r , t h ep e r f o r m a n c eo ft h e l r o c c s s o ri si n c r e a s e dg r e a t l y a n dt h ed i f f i c u l t ya n dc o m p l e x i t yo f t h ed r i v e rp r o g r a m m i n g f o rp e r i p h e r a ld e v i c e si sd e c r e a s e d k e y w o r d s :e m b e d d e dp r o c e s s o r , a i r - c o n d i t i o nc o n t r o l l e r ;f p g a ;h a r d w a r e m u l t i t a s k s s c h e d u l i n g ;h a r d w a r ed r i v e rl o g i c ;h a r d w a r eo s 一一 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的 研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的 研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚挚 的谢意。 学位论文作者签名:激 签字日期 :轨,7 ,3 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名: 学位论文作者签名: 镏囊 签字日期 : 嘲- | 弋i 否则视为不同意) 导师签名: 签字日期: 一i 一 东北大学硕士学位论文第一章绪论 第一章绪论 1 1 专用设备嵌入式控制系统开发现状 随着电子工业的高速发展,各种设备正在不断地被赋予各种各样的智能。为了满足 这些智能化控制需求,在设备中起到智能控制作用的小型嵌入式系统现在很多采用各种 单片机作为控制核心。但是,这种以8 位单片机作为处理器芯片的控制系统很难满足逐 渐增长的控制要求,而且对于外围设备控制接口的设计也缺乏专用性。 家电设备领域中的嵌入式控制系统就存在着各种设备控制当中普遍存在的问题,以 家电设备作为一个设备典型,从深层次分析这些面向设备的小型嵌入式控制系统所存在 的缺陷。现今智能家电已经顺应人们的需求走进了消费者的视野,而且随着嵌入式技术 的发展,这些智能家电的价格还有很大的降价空间,智能家电的魅力将逐步凸显,家电 智能化正在成为家电市场发展的趋势。但是作为生产智能家电控制嵌入式设备的商家却 是在很痛苦地面对这样一个难得的商机。问题是由于家电智能化的要求高速发展和不断 变化,使得智能家电控制器的研发周期越来越长,研发的速度跟不上市场需求。 以智能空调为例,它们要求能够根据环境温度、湿度、空气质量等条件自动调节控 制模式以及送风模式。新型智能空调还增加了更多控制需求,它们最大的优点就是舒适, 在其内部往往设置了随身感应功能,随时自动感应人体温度进行空调送风量的调节;而 氧吧功能的设置,则为那些忙于在办公室工作的群体,创造了家庭中洁净的生活空间; 节能、除菌等功能,也是这些新型智能空调的亮点。 而对于智能空调中的嵌入式设备研发人员,在面对新增加的智能控制要求,就没有 那么轻松了。目前在普通空调控制器的研发方面,大多采用8 位的单片机【。很少使用 片外的程序存储器和数据存储器,这样做的目的就是节约成本。但是给工程师留下的资 源就非常的短缺,一般就是几k 的程序存储空间和1 0 0 多个字节的数据存储空间。这样 少的资源,工程师很多都是采用汇编语言进行编程,直接对底层的硬件进行驱动。而且 由于现在的实时操作系统都是以占用程序存储空间为代价,对于存储空间很少的单片机 一般都不能采用嵌入式实时操作系统。有时为了节约几个字节的存储空间,就要对程序 进行大规模的优化,因此采用低端的单片机开发具有新功能的智能化空调几乎是没有可 能的。 如果选择高端的处理器,比如a r m 9 系列的处理器 2 j ,这种3 2 位的处理器,处理 一1 一 东北大学硕士学位论文第一章绪论 速度快,外扩的功能丰富,完全可以满足智能家电的控制功能需求。但是价格又太高, 资源浪费严重,在价格上没有竞争优势,在智能家电的控制上作为处理器并不适合,因 此存在智能家电嵌入式系统处理器选型难的问题。对于其它控制设备的处理器也存在这 样的问题。 1 2 操作系统硬件化趋势分析 从操作系统诞生至今,操作系统的概念已经深入人心。操作系统从最原始只应用于 大型机的磁盘管理,发展到了个人计算机、嵌入式系统乃至整个电子应用领域的方方面 面。操作系统经过几十年的快速发展,已经分化出许多的应用类别,而且每时每刻都在 不断地更新着,但是操作系统所实现的功能还是管理系统中的资源,包括软件资源及数 据资源、控制程序运行、改善人机界面、为其它应用软件提供支持等,使这个系统所有 资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 随着嵌入式系统技术的不断完善,我们日常生活工作中所使用的设备、工具不可避 免都会被电子化、智能化、网络化。那么这种设备中一定就会存在一种操作系统,先不 必管它的存在形态是什么,它的存在就是为了人们更好地、更方便地控制这个设备,这 就是这种操作系统驻留在这个设备中的意义。这种在嵌入式设备中的操作系统被称为嵌 入式操作系统,它们已经与普通意义上的操作系统有很大的不同。它们应该是体积小、 微内核、具有实时性。嵌入式操作系统中的分类要比p c 机中所用的操作系统更为复杂。 原因在于各种设备的应用领域不同,对嵌入这种设备当中的嵌入式系统的控制要求就会 于差万别,因此对于每一类设备的嵌入式操作系统也会有很多独特的性能。 在以往实现操作系统功能的过程中,人们不约而同的选择了软件编程的方式去实 现,因此一提到操作系统这个概念首先想到的就是一个软件系统。但是在低端的8 位嵌 入式系统中运行操作系统来实现多任务处理的时候,由于受到处理器的处理能力、存储 器空间等条件的限制,只能支持较小数量任务的并发执行,当所执行的任务代码较复杂 的时候,系统甚至无法有效支持多个任务的同时执行。并且在该类低端的嵌入式系统中, 操作系统本身的系统代码在程序存储器以及内存中所占用的空间比例也相对较高,上述 种种条件限制使得在低端嵌入式系统中无法真正有效地实现操作系统调度方式的多任 务处理,这样在低端嵌入式平台上,当需要同时执行多个用户任务的时候,一般只能通 过编写特定的支持指定的多个用户任务的专用监控程序的方式实现多个用户任务的同 时执行。用户开发起来较复杂,尤其在多个任务彼此间需要大量复杂通信的时候,开发 代价更高。所以在资源受限的一些专用设备中的嵌入式系统如果使用传统意义上的操作 一2 一 东北大学硕士学位论文第一章绪论 系统缺乏可行性。比如最简单的一种嵌入式操作系统u c o s ,它的最小内核也是1 3 4 k b , 根本没有办法驻留在使用程序空间只有几k 的单片机中。而且对于有些设备的嵌入式系 统,也不必需要一个大而全的操作系统,一般只要能够满足任务调度、内存管理、实时 中断、以及外围驱动即可。 与此同时,由于电子工业迅猛发展,使可编程逻辑器件以及e d a 技术逐渐地成熟, “软件硬件化”已经成为一个潮流。目前广泛使用的防火墙、路由器、加密设备、存储 设备都经历了从软件系统到专用硬件设备的变迁。系统硬件化、专用化已经越来越成为 众多应用产品中的发展趋势。在可编程逻辑器件以及e d a 技术的支持下,操作系统的 “软件硬件化”也是一种不可逆转的趋势。 软件实现的操作系统的优势在于可以随时升级,这种软件操作系统可以应用于硬件 资源丰富的p c 机、工作站、服务器等大型的计算设备上。而对已经成为某种专用设备 中附属部件的小型嵌入式控制系统而言,它们面对的是专用的控制要求,需要更新的时 间将会是这个设备的使用周期,对它们当中驻留的操作系统升级就没有很大的实际意 义。也就是说系统中所实现功能的复杂程度是可控的,系统的成熟期短,而生存周期长, 所以这种面向专用设备的嵌入式操作系统可以被硬件逻辑所替代,成为处理器芯片当中 或是s o c 当中的一部分逻辑电路。这部分逻辑电路所实现的功能与用软件实现的操作 系统起到相同的作用,它可以实现多任务调度、实时中断、内存管理、以及外围设备i o 接口驱动等功能。那么这部分逻辑电路就是用硬件逻辑实现的操作系统,简称硬操作系 统。 这种“软件硬件化”的趋势,在今年的表现尤为明显。作为n 的首席科学家,方 进在1 1 的许多重要的历史性进展中扮演了很重要的作用。在日前t i 亚洲开发商大会上, 方进再次讲到了0 5 年的主题s o c ,但与去年不同的是,今年的s o c 已不复是去年的系 统芯片( s o c ,s y s t e m - o n - c h i p ) ,而是系统软件( s o c ,s o f t w a r e - o n - c h i p ) 。系统软件概 念的提出作为“软件硬件化”的一声号角,意味着电子产业中产品开发的重点正在发 生转变,而硬操作系统势必会成为s o c 的一个发展方向。 1 3 面向设备控制的硬件多任务处理器 面向设备控制的硬件多任务处理器( 以下简称专用设备处理器) 应该能够实现对专 用设备所有监控点的支持、人机界面的支持、一般通讯协议的支持、设备保护功能的支 持等。并且根据所要控制设备功能的复杂程度给二次开发的人员留出一定的程序、数据 存储空间和需要控制外围设备的驱动接口。并且在不使用嵌入式操作系统的前提下,可 一3 一 东北大学硕士学位论文第一章绪论 以用处理器中集成的硬件逻辑单元控制实现多任务调度功能。 专用设备处理器可以根据所要控制的设备量体裁衣。这样就可以避免资源不足与资 源浪费。由于以后设备控制的智能化要求越来越高,开发人员应该把注意力更多的放在 控制功能流程方面,而不应该是对每个外围器件的驱动和某个协议的细节上。直接与底 层硬件关联的部分都交付与专用设备处理器进行处理。二次开发人员只要掌握了专用设 备处理器的使用,在处理器的外围配以很少的元器件,加上很简单的程序设计,就可以 控制一个专用的设备。 在这种情况下,本文以分体空调作为专用的设备,设计并用f p g a 实现了一款分体 空调专用设备处理器( w a s p , w a l l m o u n t e da i r - c o n d i t i o ns p e c i a l - d e v i c ep r o c e s s o r ) 。本 文在w a s p 的设计中融入了操作系统硬件化的思想,尝试着在处理器芯片上集成了一些 硬件逻辑,用它们来实现原本由嵌入式操作系统所完成的部分功能,因此在w a s p 内核 设计上加入任务管理模块电路,从而用处理器的附加硬件逻辑即可以实现以往由操作系 统来负责处理的任务调度操作。由于这些特殊硬件逻辑的存在,w a s p 为二次开发人员 提供了4 个方便可用的硬件任务和一系列常用外围设备控制的硬驱动逻辑。这4 个硬件 任务是由一个硬件多任务调度控制器进行调度的,任务之间的调度采用基于时间片的中 断事件驱动抢占的任务调度机制,大大提高了系统的实时性。同时使开发人员不必在器 件驱动上大费周折,只要直接读写相关的硬驱动逻辑属性配置寄存器就可以达到想要的 驱动效果。 1 4 论文的组织结构 作为一篇i c 设计性论文,本文包括了从设计的背景到需求分析、从总体系统结构 设计到细化设计、再到最终的功能仿真与测试【3 】等内容。 本论文被分为四个部分:第一部分为第1 章、第2 章,它包括了现今专用设备嵌入 式控制系统的研发现状以及存在的问题,并且介绍了相关的背景知识,提出了一种操作 系统硬件化的思想。同时,分析了专用设备处理器的设计实现可行性及其体系结构的设 计。第二部分为第3 章、第4 章,以分体空调作为专用的设备,根据分体空调控制系统 的需求分析以及所提出的这种专用设备处理器的体系结构,设计一款分体空调专用设备 处理器,并介绍了根据设计要求选择的开发工具。第三部分为第5 章、第6 章,第7 章 对专用设备处理器的设计进行细化,并且用f p g a 加以实现,给出仿真与测试结果。第 四部分为第8 章,描绘了基于硬操作系统思想而设计的专用设备处理器的广阔应用前景, 以及它需要改进之处和后续需要进行的工作。 - - 4 东北大学硕士学位论文第二章专用设备处理器可行性分析及其体系结构设计 第二章专用设备处理器可行性分析 及其体系结构设计 在早期处理器设计的过程当中由于受到设计方法以及生产工艺的限制,使得硬件设 计成本非常高,采用的解决方式都是以软件功能弥补硬件上的不足。可是随着可编程逻 辑器件的发展,以及e d a 设计方式的成熟,硬件设计已经不是少数人才能做的高端科 技,而是通过一种产业化的模式凸现出来。 2 1 原型设计载体- - f p g a f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ) 现场可编程门阵列是可编程逻辑器件p l d ( p r o g r a m m a b l el o g i cd e v i c e ) 其中的一种。p l d 是2 0 世纪7 0 年代发展起来的一种新 型逻辑器件,是目前数字系统设计的主要硬件基础。可编程只读存储器( p r o m ) 、现 场可编程逻辑阵列( f i e l dp r o g r a m m a b l el o g i ca r r a y 。f p l a ) 、复杂可编程逻辑器件 ( c o m p l e xp r o g r a m m a b l el o g i cd e v i c e ,c p l d ) 等也都属于p l d 系列【4 】。 在各种类型的p l d 中,c p l d 与f p g a 的集成度较高,属于高密度p l d 。f p g a 可 以替代其他p l d 或者中小规模数字逻辑芯片在数字系统中广泛应用。f p g a 是实现具有 不同逻辑功能专用集成电路( a p p l i c a t i o n - s p e c i f i ci n t e g r a t e dc i r c u i t , a s i c ) 的有效方 法;f p g a 也是进行原型设计最理想的载体,原型机的最初框架实现通过f p g a 来验证, 可以降低成本、缩短开发周期。利用f p g a 的可重配置功能,可以在使用过程中,在不 改变所设计设备的硬件电路情况下,改变设备的功能。 f p g a 在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能模 块,来实现一定的逻辑功能。f p g a 的功能由逻辑结构的配置数据决定,在工作时,这 些配置数据存放在片内的s r a m 或者熔丝图上。使用s r a m 的f p g a 器件,在工作前 需要从芯片外部加载配置数据,这些配置数据可以存放在片外的e p r o m 或者其他存储 体上,人们可以控制加载过程,在现场修改器件的逻辑功能。 如今f p g a 的逻辑门数已经远远超过了处理器设计要求,而且对于面向设备的小型 处理器的设计只要选择中低档的f p g a 芯片就可以完成设计,从而节约了设计成本。 一5 一 东北大学硕士学位论文 第二章专用设备处理器可行性分析及其体系结构设计 2 2 设计的关键技术 2 2 1i p 核复用 i p ( i n t e l l e c t u a lp r o p e r t y ) 就是常说的知识产权。它在s o c 设计当中充当着相对于软件 系统中的函数和驱动程序一级功能。口核模块有行为、结构和物理三级不同程度的设计, 对应描述功能行为的不同分为三类,即软核、固核和硬核【5 】。 软口是设计投入最少,只完成r t l 级的行为设计,以n d l ( h a r d w a r ed e s e r i p t i o n l a n g u a g e ) 描述文本的形式提交使用,这个描述一定经过仿真验证,使用者可以用它综合 出正确的门级网表。软口一定是优化的行为级设计,与其它设计相比,它所需要的硬 件数量最小。硬i p 是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺, 并已经经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版 图和全套工艺文件,是可以拿来就用的技术。硬i p 是i p 模块的最深层次,涉及广泛内 容,它也是最主要的形式。固m 的设计程度则是介于软口和硬i p 之间,除了完成软口 的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式 提供给用户。 口核复用技术是s o c 设计中很关键的一部分。电子工程师将不是设计新的功能模 块,而是把更多的精力放到如何评估、验证和集成多个已经存在的软硬件模块,也就是 把以功能设计为基础的传统设计流程转变为以功能组装为基础的全新流程。微处理器、 存储器和更多的数字电路都可作为或者是将要成为s o c 设计时的m 核。 对于设备处理器中内核的设计可以采用各种处理器的软内核,并在此基础上进行修 改,增加了多种控制与外围驱动逻辑电路,这样的复用技术使设计不需要从零做起,从 而减少了总体设计的工作量。 2 2 2 硬件多线程技术 以往多线程的实现是在操作系统中实现的,但是随着可编程逻辑器件的高速发展, 一些原本由软件操作系统实现的功能正在被硬件逻辑所替代。多线程技术正在从传统意 义上的操作系统级逐渐地向硬件逻辑实现变化。由于操作系统硬件化的潮流是大势所 趋,如今无论是高端处理器还是低端的单片机,都在多线程实现上进行着广泛的研究。 多线程能够存在,主要是因为不同的线程之间不相关的特性。对于处理器来说,无 论是i o 事件,还是存储器的访问速度都远远慢于c p u 核的运行速度。而且c p u 的逻 一6 一 东北大学硕士学位论文第二章专用设备处理器可行性分析及其体系结构设计 辑相对比较昂贵,因此操作系统的开发人员创造出分时共享的概念。让多个线程在不相 关的条件下,共享c p u 的资源。这样对于上层的线程执行时,就好像存在多个c p u 为 之进行工作。但是通过软件在操作系统中实现多线程调度,执行时就引入了额外的切换 上下文的开销。随着硬件生产工艺的提高,以及可编程器件的发展,研究人员把线程切 换这部分功能由硬件逻辑实现。因此,处理器设计者提出了众多多线程处理器的模型, 以提高处理器的整体性能。当前流行的多线程处理器的结构主要可分为显示多线程和隐 式多线程 6 1 。 显示多线程技术通过在一个芯片上执行多个互不相关的线程,以此增加整个芯片每 一拍执行的指令数,主要以同时多线程和单芯片多处理器为代表。这类技术主要包括细 粒度多线程、粗粒度多线程、同时多线程和单芯片多线程处理器技术等。细粒度多线程 处理器在每个时钟周期都进行线程上下文切换。粗粒度多线程处理器是在遇到长延迟操 作时才进行线程上下文切换,否则一直执行同一个线程的指令。同时多线程是组合了超 标量和多线程处理器的特点,在一个时钟周期内同时发射、执行来自多个线程的多条指 令。单芯片多处理器是指由在单个芯片上的多个处理器内核所构成的多处理器系统,允 许多个线程在多个处理器内核上并行执行。由于存在多个独立的线程上下文可供取指, 多线程处理器能够利用线程级并行来提高处理器资源的利用率。 隐式多线程技术是利用程序控制流的特点,由编译提示或者硬件划分成多个线程, 通过多个隐式线程的并行执行,达到加速单线程的目的。这类技术主要包括多标量处理 器、迹处理器,超线程处理器,动态多线程处理器,猜测多线程处理器等等。这类多线 程处理器不仅要对每个执行线程提供一条独立的流水线,而且还要暂时保存猜测执行线 程的执行结果,并且要进行复杂的数据相关的检查,这些都是导致这类处理器需要消耗 大量硬件资源使成本急剧增多,而且设计复杂度也大大增加,设计实现变得复杂,设计 正确性的保障也是困难重重。 目前,由于隐式多线程的实现复杂度,现在主要还处于研究阶段,商用的通用处理 器中采用此类技术比较困难。而显示多线程由于机构简单,实现容易的特点,已经被多 个生产处理器的厂家所采用。 对于采用什么样的多线程技术,还需要根据不同的设备控制功能,选择不同的设计 方案,但是针对小型的控制系统,一般会选用粗粒度的线程调度策略。本文的硬件多任 务的设计是在粗粒度多线程调度设计方法中改进的,该设计把多线程处理器中的每个线 程都看作可以完成一个任务的指令集合,因此本文所提到的任务调度,与以往线程调度 东北走学硕士学位论文 第二章专用设备处理器可行性分析及其体系结构设计 没有本质上的差别。只是为了更加便于理解以及在整个处理器的应用方面更加贴近一个 嵌入式操作系统的功能,所以本文统一把这种指令集合叫做任务。 2 2 3 外围设备驱动逻辑控制功能普适性 由于在专用设备处理器中需要集成多种外围设备的驱动逻辑电路,而且这些逻辑电 路要实现一些原本由软件编程实现的功能。那么就需要对这些驱动的控制逻辑的标准有 很深的研究。而且对于不同的设备应用范围,他们所采用的控制方式也会有一定的差别, 这也是如何设计这些外围设备驱动逻辑的一个难点。为了考虑每种外围设备驱动逻辑的 专用性能,还需要兼顾这种逻辑设计的普适性,设计当中就需要对某一类设备中所需要 控制的一系列常用外围设备驱动逻辑进行了大量的调查与研究。在每种驱动逻辑当中, 给用户都设计了一些可以根据具体控制设备的特性进行调整的功能,增加了该设备处理 器的普适性。 2 3e d a 设计方式支持 e d a 是电子设计自动化( e l e c t r o n i cd e s i g na u t o m a t i o n ) 的缩写,设计者可以根据 需要定义器件内都逻辑和引出端,将电路设计的大部分工作放在芯片的内部进行设计。 采用可编程逻辑器件芯片和e d a 软件,在实验室里就可以实现数字系统的设计与仿真。 在e d a 软件的支持下,可以用v h d l 等硬件描述语言实现对系统逻辑的描述,而 其他的工作则交付e d a 软件执行,从而可以预知设计的结果,减少了设计的盲目性, 极大的提高了设计效率、减小了设计风险、降低了开发成本。即使是系统的复杂性越来 越大,也不会显著增加开发的难度,它已成为系统开发的得力工具。“龙芯”系列通用 处理器就是利用特定e d a 手段进行系统设计的,因此利用e d a 工具设计一款专用设备 处理器是完全可行的。 2 4 专用设备处理器体系结构设计 现存的嵌入式处理器无论是c i s c 还是r i s c 的指令系统,是基于冯诺依曼或者是 哈佛结构,只要是一个处理器内核就都具有a l u 与控制单元,然后在外围集成一些i o 接口、中断控制等逻辑电路。虽然嵌入式处理器千差万别,但是它们实现的功能大体相 同。也就是说在两种截然不同的设备上,它们所采用的控制芯片很可能是一个系列,甚 至是一个型号的。由于每种设备所需要控制都是不同的,如果使用通用处理器芯片,一 切都需要从零做起,而且编写的控制外围设备程序差别很大,对其设备控制的准确性缺 - - 8 东北大学硕士学位论文$ - - 章专用设备处理器可行性分析及其体系结构设计 乏保证。同时,一般的小型设备控制采用的单片机处理器芯片的片上资源非常有限,在 程序空间驻留嵌入式操作系统的代码根本就不可行,所以在这种设备的控制中很少使用 多任务的调度控制,导致实时性得不到保障,c p u 的利用率也不高。 因而本文基于操作系统硬件化与设备处理器专用化的设计思想,在原有的嵌入式 处理器体系结构的基础上,增加了两大部分逻辑电路,如图2 1 所示。它们是硬件多 任务调度控制器与硬驱动逻辑电路。硬件多任务调度控制器,可以根据不同设备的应 用,设计最适合的调度控制策略,由于嵌入式设备对实时性要求都会很高,所以一般 采用的调度都是抢占式的调度策略。用硬件多任务调度控制器控制任务切换、数据空 间保护、内存调度等,这些以往由嵌入式操作系统所实现的功能。这样的硬件任务调 度根本就不占用程序存储空间,真正实现了“0 ”空间占用。而且任务调度完全由硬件 执行,因而任务调度的时间被成百倍的减少。 图2 1 面向设备控制的硬件多任务处理器体系结构框图 f i g 2 1s c h e m eo f d e v i c ec o n t r o lo r i e n t e dh a r d w a r em u l t i t a s k sp r o c e s s o r 与此同时硬驱动逻辑电路的加入,则体现专用设备处理器的专用性。它们是被集成 一9 一 鲫b 大学硕士学位论文 第二章专用设备处理器可行性分析及其体系结构设计 在i 0 接口与系统总线之间的逻辑电路。它们与以往集成的特殊功能模块有相同之处, 也有很大的差别。这些硬驱动逻辑把原本一部分由软件编程所实现的器件驱动逻辑由硬 件电路来实现。以步进电机为例,以往要由程序控制i 0 口的输出电平,模拟控制步进 电机的驱动波形。而集成在专用设备处理上的步进电机驱动只要用户在程序中给出步进 电机转动速度、方向、步数,步进电机硬驱动逻辑就会根据这些参数自动的完成所需的 控制,这样就大大减少了编程的工作量。 2 5 小结 本章从设计载体、关键技术方面分析了专用设备处理器设计与实现的可行性。同时 根据操作系统硬件化与嵌入式设备专用化的设计思想,提出了一种面向控制的专用设备 处理器体系结构。这种结构除了拥有普通处理器的a l u 与控制单元外,还集成了一个 多任务控制器和多种外围设备的硬驱动逻辑。 、 一1 0 东北大学硕士学位论文第三章w a s p 总体设计 第三章w a s p 总体设计 本文设计的这款处理器就是根据专用设备处理器的体系结构,在5 1 系列单片机内 核的基础上改进的,这样设计主要考虑以下几点原因:其一是5 l 单片机在国内外应用 十分广泛,现在有多家生产与之兼容的单片机产品,它很具有代表性;其二是它的结构 简单且具有较强的指令系统;其三是5 l 单片机也在不断的发展,新的5 l 单片机的速度 己提高了几十倍到上百倍,其内部集成了很多接口,已经成为一个s o c 。这样对于本文 设计的处理器有很好的横向比较参考。 3 1w a s p 功能设计 3 1 1 分体空调控制器功能要求 分体空调在结构上分为室内机和室外机两部分,连接管道采用螺纹连接。分体空调 控制器就是分体空调的嵌入式设备。根据分体空调应该具有的功能( 如图3 1 所示) ,分 体空调控制器就应该具有相应的控制功能。( 只对需要控制的部分做出说明,而对于控 制流程不做说明) i屯源电路l - 4 蜂鸣器驱动 l温湿度采样l - 4 摆叶控制 m c u l红外接收l - 4压缩机、四通阍、室内外风机控制电路 l指示、显示l - 4 键盘控制 图3 1 分体空调控制器功能 f i g 3 1f u n c t i o no f w a l l - m o u n t e da f t - c o n d i t i o nc o n t r o l l e r 空调的作用不言而喻,因此空调的智能首先要表现在对温湿度的敏感上,应该能够 实时监控室内外的温湿度,给空调控制器提供客观的数据,进行综合分析。为下面的模 式选择,出风量的大小等控制动作提供依据。 一1 1 东北大学硕士学位论文 第三章w a s p 总体设计 空调的出风方向是由空调室内机上的摆叶摆动方向控制的。而摆叶的摆动则是由一 台小型的步进电机控制。为了最大限度的节约能量,使人体得到最大的舒适度。出风的 方向是个很重要的控制指标。 对于制冷制热回路的控制,普通分体空调采用的开关量,一般都是用小型的继电器 控制。而变频空调的压缩机、加热器、风机等的控制都是无级的连续控制,这样不但可 以节能还可以使冷风和热风更让人感到舒适。 对于控制器来说,与用户交互非常重要。常用的交互方式有:键盘、平面显示、红 外遥控、蜂鸣器报警等。 键盘是人机交互的非常重要的部分,对于嵌入式系统来说,并不需要很多按键。尤 其像分体空调这种家电。因为有遥控器的控制,所以按键就是一种辅助的设定控制。因 此一般的分体空调上会有3 到5 个按键,所以并不需要进行键盘扫描。但是由于按键少, 又要实现一些组合功能,控制起来还是很复杂的。首先是按键的防抖功能,包括去除按 下和抬起瞬问的抖动。由于按键的按下与抬起都会有1 0 2 0 m s 的抖动毛刺存在,因此, 为了获取稳定的按键信息,须要避开这段抖动期。其次是按键时间长短的判断,根据按 键时间判断所要表示的功能。最后,还要控制按键组合功能,即多个按键同时按下时的 功能判断。 在智能家电的应用领域当中,普遍采用的是l c d 、l e d 、v f d 作为平面显示器件。 大多比较高档一些的控制器都会选用l c d 和v f d 来做显示器件。显示器件分为段式和 点阵式两种。由于空调控制器的显示内容并不是很多,因此采用的大都是段式l c d 或 者v f d 显示。l c d 、v f d 固有的柔性构造,使其特别适合于客户的自主设计。有利于 制作出具有自己显示特色的产品,对于用户来说可以更加直观具体。而且这些显示器件 本身就都集成了驱动i c ,给用户留出了通用接口。 分体空调都是安装在墙上或者窗户上面,使用人员很少去触碰空调体。因此,遥控 对分体空调至关重要,空调控制器需要具有红外遥控接收与解码功能。 3 1 2w r a s p 需求分析 根据分体空调控制器的功能,设计的空调控制器中主控芯片应该具有以下功能: ( 1 ) 模拟量输入、开关量输出功能 ( 2 ) 步进电机驱动控制功能 ( 3 ) 红外遥控接收解码功能 ( 4 ) 1 2 c 总线控制功能 一1 2 一 东北大学硕士学位论文 第三章w a s p 总体设计 ( 5 ) 按键检测控制功能 以上只是外部能够看到的功能控制。对于使用家电的用户,并不知道这些功能是由 软件还是硬件实现的。由于这种专用的设备处理器的程序存储空间非常有限,使用嵌入 式实时操作系统来进行多任务的调度控制是不可行的。为了使w a s p 有更好的实时性, 在不使用实时操作系统的同时,还能进行多任务的调度功能,所以就根据硬操作系统思 想在片上集成了一个硬件多任务控制器。同时在不失灵活性的前提下,为用户提供一 些已经用硬件逻辑实现的外部器件的驱动。为了满足这些控制要求以及增加的多任务控 制,w a s p 应该具有如下特性: ( 1 ) 8 位处理器,具有位操作及8 位算术运算等丰富的指令系统。 ( 2 ) 片内具有一定容量的程序存储器和数据存储器。 ( 3 ) 多个8 1 6 位多功能定时器。 ( 4 ) 多路8 位a d 转换器。 ( 5 ) l e d 几c d v f d 显示驱动器。 ( 6 ) 步进电机驱动器。 ( 7 ) 红外接收控制器。 ( 8 ) 按键控制检测器。 ( 9 ) 硬件多任务调度器 3 2w a s p 体系结构设计 w a s p 的体系结构是在m c s 5 1 的结构上改进的,该体系结构如图3 2 所示。在图 中可以看出w a s p 采用一个执行核。为了实现多任务的管理,增加了中断控制逻辑单元、 多任务调度控制逻辑单元。通过增加的这些逻辑单元实现多任务运行时对任务切换以及 资源保护功能。同时为了对外围器件控制更加便捷,在i o 端口前端增加了分体空调需 要的硬驱动逻辑单元。 3 2 1w a s p 多任务控制设计 由于考虑到设计时处理器内核所占用的资源,实现这样一个处理器的难易程度,以 及在利用硬件机制实现多任务时,每个任务的平均所获得的处理器时间。此外本设计实 现采用的是x i l i n x 公司的s p a r t a n - h e 系列的x c 2 s 3 0 0 e t z ,受f p g a 芯片逻辑门数的限 制,而且考虑w a s p 控制功能需求,本设计最多支持4 个任务。 一1 3 东北大学硕士学位论文第三章w a s p 总体设计 彳 图3 2w a s p 体系结构功能框图 f i g 3 2s c h e m eo f w a s p 一1 4 东北大学硕士学位论文第三章w a s p 总体设计 在这4 个由硬件控制的任务中( 下面简称为硬件任务) ,“0 ”号硬件任务为管理任 务,拥有最高的资源访问权限。在w a s p 复位后自动进入运行状态,可以访问其他3 个硬件任务中被锁定的资源。其他三个硬件任务可以在自己的数据区和代码段执行操 作。在绑定任务的中断没有发生时,各个任务按用户设定的时间片,轮流占用c p u 资 源。而当绑定任务中断到来时,此硬件任务抢占控制是通过任务控制寄存器t h r s c 实 现的。当对应的硬件任务控制位置“1 ”,相应的硬件任务就被启动抢占机制。 在启动一个的硬件任务抢占c p u 之前,要比较需要启动的硬件任务的优先级是否 高于正在运行的硬件任务的优先级。这个功能需要比较硬件任务优先级控制寄存器 t h r p c 的内容决定。上面所提到的任务控制由硬件多任务调

温馨提示

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

评论

0/150

提交评论