(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf_第1页
(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf_第2页
(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf_第3页
(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf_第4页
(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(电力电子与电力传动专业论文)基于arm的嵌入式电力参数监测系统的研究.pdf.pdf 免费下载

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

文档简介

西华大学硕士学位论文 t h er e s e a r c ho fe m b e d d e dp o w e rp a r a m e t e r s d e t e c t i o ns y s t e mb a s e do na r m m a j o ro f e l e c t r i cp o w e re l e c t r o na n dt r a n s m i s s i o n p o s t g r a d u a t es u n j i n j i n gt u t o ry a n g y a n x i a n g w i t ht h ed e v e l o p m e n to fe l e c t r o n i ct e c h n o l o g y , t h eu s e so fe m b e d d e ds y s t e m s a r ei n c r e a s i n gb r o a d o n ei m p o r t a n ta s p e c to fe m b e d d e ds y s t e md e s i g ni st oc h o o s e t h er i g h tm i c r o p r o c e s s o r 3 2b i t sr i s ce m b e d d e dm i c r o p r o c e s s o rh a sb e e nt h e m a i n s t r e a mi nt h eh i 曲- l e v e la n dm i d d l e l e v e le m b e d d e dd e s i g n s t h i sd e s i g n a d o p t sa r m w h i c hd o m i n a t e s3 2b i t sm i c r o p r o c e s s o r s m a r k e t w ec h o s ee m b e d d e d l i n u xo p e r a t i n gs y s t e mt h a th a st h ev i r t u e so fs o u r c ec o d eo p e na n de a s yt om o d i f y b e s i d e sl i n u xh a ss u p p o r t e dm o s tc h i p si n c l u d i n gx 8 6 ,p o w e r p c ,m i p s ,a r m ,a n d s oo n i ti se s p e c i a l l yi m p o r t a n tt oe m b e d d e do st h a tl i n u xc a l lb ef r e e l ye d i t e d i n t e r mo ft h en e e do fo u rd e s i g n ,w ec a nd e l e t es o m eu n u s e dm o d u l e sj u s tb y c o n f i g u r et h ek e r n e l s o ,w ec a ng e ta ss m a l la sp o s s i b l ek e r n e lt ow o r ko nt h e e m b e d d e dh a r d w a r ep l a t f o r m i nt h i sp a p e rw es t u d i e da r m 9m i c r o p r o c e s s o r $ 3 c 2 410a n dl i n u xo p e r a t i n g s y s t e m ,a n da c h i e v e dp o w e rp a r a m e t e r sr e m o t ed e t e c t i o ns y s t e mc o m b i n i n gw i t h e t h e m e tt e c h n o l o g y t h ed e t e c t i o ns y s t e mi n c l u d e st h ev o l t a g ea n dc u r r e n ti n p u t m o d u l e ,t h ea dc o n v e r s i o nm o d u l e ,t h em i c r o p r o c e s s o r , t h em e m o r y , t h ee t h e r n e t m o d u l ea n ds oo n u s i n g $ 3 c 2 4 10l e s s e n e da d d i t i o n a li n t e r f a c ec i r c u i t ,a n dr e d u c e d t h ec o s to ft h ee n t i r es y s t e m i nt h ep a r to fp o w e rp a r a m e t e r ss a m p l i n g ,w es t u d i e d s e v e r a la r i t h m e t i co fd a t u ms a m p l i n g ,a n dc h o s ef f tw h i c hi so fo b v i o u sa d v a n t a g e o n eo ft h em a i na i m so ft h es y s t e mi sa b l et oa c c e s st h ed a t u mo nt h ed e t e c t i o n t e r m i n a lt h r o u g he t h e r n e t w ec h o s ec s 8 9 0 0 aa st h ee t h e r n e tc o n t r o l l e rw h i c h i n t e g r a t e sa 1 1n e c e s s a r ya n a l o gc i r c u i t sa n dd i g i t a lc i r c u i t sc o m p o s i n ge t h e r n e t i i 两华大学硕士学位论文 c i r c u i t aw e bs e r v e ri n c l u d e di st h em a i nt r e n do fae m b e d d e ds y s t e mw i t hn e t w o r k c a p a b i l i t y w et r a n s p l a n t e dg o a h e a d ,t h ee m b e d d e dw e b s e r v e r , t ot h i ss y s t e m ,s 0 t h ec l i e n tc a na c c e s st ot h ew e b s e r v e ro nt h er e m o t ed e t e c t i o nt e r m i n a lt h r o u g hc g i , a n dt h ec g i p r o g r a m s o nt h ew e b s e r v e rd e a lw i t ht h ed a t u m k e y w o r d s :e m b e d d e do s ,l i n u x ,a r mp r o c e s s o r , w e b s e r v e r 1 1 1 两华大学硕士学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经 发表或撰写过的研究成果,也不包含为获得西华大学或其它教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所作的任何贡献均己在论 文中作了明确的说明并表示谢意。 本学位论文成果是本人在西华大学读书期间在导师的指导下取得的,论文 成果归西华大学所有,特此声明。 作者签名: 黝、音。f 、加男年歹月日 导师签名: 扩老7 年石月名日 西华大学硕士学位论文 1 绪论 1 1 研究的背景和意义 1 1 1 研究的背景 随着信息技术的飞速发展、互联网的迅速普及、3 c ( 计算机、通信、消费电 子) 合一的加速,数字化时代已经来临。以嵌入式系统为技术核心的数字化产品 己成为数字化时代的主流产品,世界各国在此领域开始了激烈竞争,以争取获 得主导地位。嵌入式系统作为数字化产品的技术核心,在产业发展过程中扮演 着越来越重要的角色。2 0 0 6 年5 月的一份调查报告估计,全球嵌入式软件的销 售规模已经超过4 0 0 亿美元,而且,每年以超过1 2 5 的速度在增长。在中国, 嵌入式市场规模已超过2 0 0 多亿元,预计未来三年中国嵌入式软件产业仍将有 高达2 4 5 的年增长率,而到2 0 0 8 年中国嵌入式软件市场规模将达到5 5 0 亿元。 这将是中国软件产业里非常亮丽而又充满活力的市场。它像一个神经末梢一样, 把信息技术的活力蔓延到了各行各业各个角落。特别是嵌入式与网络的结合, 更加增强了嵌入式系统的应用范围。 当前市场上存在各种各样的嵌入式操作系统,这些操作系统大多是为专门 的系统开发的,这些操作系统有v x w o r k s ,p s o s ,q n x ,l i n u x ,w i n d o w sc e 等。其中,v x w o r k s 是专门为实时嵌入式操作系统设计开发的操作系统,为程 序员提供高效的实时任务调度、中断管理、实时的系统资源和实时的任务间通 信,因此,它是一个优秀的实时系统,但是,其价格昂贵。w i n d o w sc e 是微 软公司专门针对有限资源的嵌入式平台设计的多线程、完整优先权、多任务的 操作系统。它也不是免费的。 在嵌入式开发人员中,l i n u x 是最流行的操作系统。事实上,这种趋势还在 继续,并且还在加速。在未来的几年里,嵌入式l i n u x 的应用将持续增长,同 时其它嵌入式操作系统的市场则呈现下降的趋势。2 0 0 6 年,l i n u xd e v i c e s 的第 6 个年度报告结果显示,人们对嵌入式l i n u x 的兴趣仍然在增长。在嵌入式应 用领域,a r m 体系结构( 包括s t r o n g a r m 和x s c a l e ) 正在逐渐替换流行的x 8 6 处理器体系结构。报告指出,在过去的4 年中,l i n u x 在嵌入式系统中的使用 持续保持增长,虽然增长的速度照前些年有所减缓,但这并不妨碍l i n u x 成为 目前使用率最高的嵌入式操作系统。4 7 的被调查者在自己的项目或产品中使 西华大学硕士学位论文 用l i n u x 。a r m 取代x 8 6 成为使用最多的嵌入式开发架构。3 0 的项目在使用 a r m ,而2 8 的项目在使用x 8 6 架构。l i n u x 发展如此之快的主要原因是,它 是开源的。在激烈的市场竞争中,除了要在技术上处于领先,产品的设计成本 也是要重点考虑的问题之一。免费无疑为使用它的公司节省了大笔开支。而且, l i n u x 是集体智慧的结晶,大批优秀的程序员都在为l i n u x 的完善做贡献。网 络上有丰富的免费资源供开发人员做参考,这也让l i n u x 变得越来越流行。另 一个嵌入式l i n u x 操作系统是u c l i n u x ,它裁减掉了l i n u x 的内存管理单元,主 要用于没有内存管理单元的处理器。该系统直接访问内存,也就是说,程序中 的地址都是物理地址。 1 1 2 研究的意义 由研究背景可知,嵌入式应用已经得到了广泛的发展。嵌入式开发的两个 重要的方面包括:嵌入式操作系统和处理器。而目前来说,嵌入式l i n u x 操作 系统在a r m 处理器上的应用发展可能最为迅速。嵌入式l i n u x 操作系统免费、 开源、支持软件多、呼拥者众,这样就降低了嵌入式产品开发的成本。目前应 用在嵌入式领域的l i n u x 系统主要有两类:一类是专为嵌入式设计的已被裁减 过的l i n u x 系统,最常用的是u c l i n u x ( 不带m m u 功能) ,可在a r m 7 上运行: 另一类是运行在a r m9 上的,一般是将l i n u x2 4 1 8 内核移植在其上,可使用 更多的l i n u x 功能( 当然u c l i n u x 更可跑在a r m9 上) 。据我所知,目前很多 公司都在做a r m + l i n u x 的嵌入式开发,目前在嵌入式l i n u x 领域,以下几个 方面的人特别难找,一是能将l i n u x 移植到某个新型号的开发版上;二是能写 l i n u x 驱动程序的人;三是熟悉l i n u x 内核裁减和优化的人。 1 2 嵌入式系统简介 1 2 1 嵌入式系统的定义和特点 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪, 适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机 系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的 应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 2 西华大学硕士学位论文 随着嵌入式处理器的发展,嵌入式操作系统也更加复杂,可以达到和p c 机相 近的功能。嵌入式系统与p c 机相比主要有以下特点: ( 1 ) 嵌入式处理器通常是面向特定应用的嵌入式c p u ,与通用型的最大不同 就是嵌入式c p u 大多工作在为特定用户群设计的系统中,它通常都具有低功 耗、体积小、集成度高等特点,能够把通用c p u 中许多由板卡完成的任务集成 在芯片内部,从而有利于嵌入式系统设计趋于小型化。 ( 2 ) 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业 的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密 集、高度分散、不断创新的知识集成系统。 ( 3 ) 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余, 力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的 选择更具有竞争力。 ( 4 ) 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产 品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 ( 5 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 ( 6 ) 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是 不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。 1 2 2 嵌入式系统的设计 嵌入式系统的设计包括硬件设计和软件设计两大部分。硬件设计过程首先 要根据系统的功能、成本等要求,选择合适的处理器和外围器件。这个过程也 要考虑到将要选择的处理器是否支持将要选择的操作系统。然后,绘制电路原 理图,制作p c b 板,最后进行硬件的调试。软件设计集中在嵌入式操作系统和 应用软件这两个部分。嵌入式操作系统是与应用环境密切相关的,最大的特点 就是可定制性,也就是它能够提供可配置或可剪裁的内核功能和其他功能,可 以根据应用的需要有选择的提供或不提供某些功能以减少系统开销。选择一个 嵌入式操作系统要遵循以下的原则: 系统的成本,嵌入式操作系统是否是免费的。 西华大学硕士学位论文 市场进入时间和技术支持。 可移植性。 可利用的资源,如果操作系统的a p i 很少,就增加了二次开发的难度。 系统定制的能力。 对于嵌入式的应用软件,通常就是指运行在嵌入式操作系统之上的软件了, 这种软件不同于p c 机上的软件,它是与硬件体系和操作系统密切相关的,需 要专门的嵌入式开发环境来开发,例如针对a r m 和l i n u x 的交叉编译环境。 只有通过交叉编译的软件才能运行在特定的嵌入式平台上。 1 3 电力参数测量的现状 在工业生产和日常生活中,电能的质量越来越受到重视。电网电压,电流 的过高或过低,都会影响到电器设备的正常使用和使用寿命。在变电站一级一 般都由远动装置来实现;而在日常生活中,一般只是利用电能表进行电量的计 量,其原理是通过将有功功率对时间的积分来计算有功电能。目前,我国主要 使用的电能表有两种:一种是感应式机械电能表;另一种是随着电子工业的发 展而出现的电子式电能表,它是利用电流和电压作用于固态电子器件产生电能 输出量的电能计量仪表。机械式电能表由于其稳定性和精度都不高,随着电力 市场改革的不断深入,我国在各级电能计量系统的建立中,大部分已将机械式 电能表更新为电子式电能表。 针对电力市场运作和管理的实际需要,当前电力参数的测量已经从简单的 有功电能和无功电能的测量发展到测量电流、电压、功率因数、无功功率、视 在功率、谐波、对称分量等。而要完成的功能也从传统的计量发展到测量数据 的存储,与计算机进行数据交换,以及进行远程实时测量和查询。目前,市场 上一些只能电力参数仪多采用单片机,已经不能满足对精确度和实时性的要求。 我国虽然引进了国外一些多功能电力参数测试仪器,单其在功能、价格、维护 方面都不适合我国现阶段的需要,迫切需要一种高质量、高可靠性、功能齐全、 价格低廉的多功能电力参数测试仪。近几年随着半导体技术的飞速发展,新技 术,新产品的不断问世,使开发新式多功能电力参数测试仪成为可能。目前, 国内新型多功能电力参数测试仪正朝着以下几个方面发展: 4 西华大学硕士学位论文 ( 1 ) 体积小型化 早期这类测试仪器的体积比较大,使用场合受到很大的限制。目前,电子 式多功能电能表的体积和重量都远小于原来的机械式电能表。一些测试仪已经 按照便携式的标准进行设计。 ( 2 ) 功能多样化 除了计量电能的基本功能外,一些先进的多功能电力参数测试仪,增加了 汉字显示、红外线抄表接口,还可以同时计量有功电能、无功电能,记录失压, 监测负荷等,做到一表多用。 ( 3 ) 功耗减小 由于采用低功耗元件,以及具有电源管理模块的芯片,使芯片本身以及整 个系统的功耗大大降低。 ( 4 ) 采用新器件,提高了可靠性 测试仪表的发展离不开电子技术的发展。采用a r m 处理器提高了系统的可 靠性。 ( 5 ) 可视化人机接口 使用低功耗液晶显示器成为电力参数测试仪的发展趋势。配以嵌入式操作 系统,提供了更加友好的用户界面。 1 4 研究的主要内容 论文的主要内容如下: ( 1 ) 熟练使用l i n u x 操作系统。了解l i n u x 内核的结构,l i n u x 内核主要由 5 个子系统组成:进程调度、内存管理、虚拟文件系统、进程通信、网络接口。 熟悉内核代码的分布,熟悉m a k e f i l e 文件的修改,这为操作系统的移植的准备 必要的基础知识。 ( 2 ) 熟悉t c p i p 协议。 ( 3 ) 熟悉a r m 体系结构和$ 3 c 2 4 1 0 工程规格。此设计采用a r m 9 处理器, a r m 9 带有内存管理单元,因此,操作系统也相应的选择l i n u x 而不是u c l i n u x 。 ( 4 ) 建立交叉编译环境。要进行嵌入式软件开发,首先得建立交叉编译环 境,不管是内核的移植还是嵌入式应用软件都需要交叉编译器来编译,才能运 西华大学硕士学位论文 行在特定架构的平台上。此设计需要用到的是a r m + l i n u x 嵌入式交叉编译环 境。 ( 5 ) 在a r m 处理器上构建嵌入式l i n u x 操作系统( 包括b o a t l o a d e r 和内核 的移植) 。选用l i n u x 操作系统的内核版本是2 6 。b o o t l o a d e r 是v i v i 。 ( 6 ) 实现嵌入式w e b 服务器的功能。g o a h e a dw e b s e r v e r 是专门针对嵌入 式操作系统设计的小型服务器,被喻为针尖上的服务器。其在l i n u x 操作系统 上的移植也比较简单。它支持通用c g i ,此设计的远程数据采集的控制和数据 查询正是通过c g i 实现的。 ( 7 ) 交流电压、电流参数的实时测量 6 西华大学硕士学位论文 2 电力参数监测系统的构建 2 1a r m s y s 2 4 1 0 b 硬件平台刚 a r m s y s 2 4 1 0 b 嵌入式开发板由杭州立宇泰电子有限公司开发。此开发 平台分为两个部分:核心板和扩展板。两个板之间采用s o d i m m 2 0 0 标准插座 连接。a r m s y s 2 4 1 0 c o r e 核心板采用六层板工艺,其中三层电源层设计,使 其具有最佳的电气性能和抗干扰性能。其c p u 采用的是三星公司的$ 3 c 2 4 1 0 a 处理器,工作频率可达到2 0 3 m h z 。$ 3 c 2 4 1 0 a 采用a r m 9 2 0 tr i s c 处理器为 内核。核心板由以下器件组成: c p u :$ 3 c 2 4 1 0 a 2 0 处理器,工作频率可达到2 0 3 m h z 。 f l a s hm e m o r y :三星6 4 m bn a n d f l a s hk 9 f12 0 8 u o b 。 s d r a m :两片4 b a n k s 4 m b i t s 1 6 b i t ss d r a mh y 5 7 v 5 6 1 6 2 0 c t 。 4 个可编程绿色l e d ,一个红色电源l e d 。 时钟晶振:1 2 m h z 系统外部时钟,3 2 7 6 8 k h zr t c 时钟源。 扩展板由以下器件组成: 3 路i7 a r t 接口:其中c o m l 有7 路信号,c o m 2 有5 路信号,c o m 3 有3 路信号,全都经过r s 2 3 2 电平转换输出。 2 路u s b 接口。 n o r f l a s h :1 m bn o r f l a s h a m 2 9 l v 8 0 0 d b 主要用来存放启动程序。 e e p r o m a t 2 4 c 0 44 k b i t se e p r o m ,i i c 接口设备。 以太网接口:1 0 m 以太网芯片c s 8 9 0 0 a ,采用集成隔离变压器的r j 4 5 接口。 r t c 电路:提供c p u 实时时钟,带后备锂电池供电。 复位电路:采用专用复位电路,稳定可靠。 j t a g 接口:2 0 芯标准j t a g 接口,支持a d s l 2 调试,j t a g 烧录。 2 1 1a r m 9 处理器的体系结构和工作模式 2 1 , 2 2 】 a r m 9 处理器采用a r m v t 4 ( 哈佛) 体系结构。这种体系结构将程序的指令 和数据存储分开,是一种并行的体系结构。其主要特点是程序和数据存储在不 同的存储空间,即程序存储器和数据存储器。这两个存储器分别独立编址,独 西华大学硕士学位论文 立访问。哈佛体系结构有四套总线,程序的数据总线和地址总线,以及数据的 数据总线和地址总线。程序总线和数据总线分离可允许在一个机器周期内同时 获取指令和操作数,从而提高了程序执行的速度。 a r m 9 采用五级流水处理和分离的c a c h e 结构,平均功耗为0 7 m w m h z 。 a r m 9 是3 2 b i t sr i s c 处理器。 a r m 处理器支持7 种工作模式: 用户模式( u s r )正常程序执行的模式 快速中断模式用于高速数据传输和通道处理 外部中断模式用户通常的中断使用 特权模式供操作系统使用的一种保护模式 数据访问中止模式用于虚拟存储及存储保护 未定义指令中止模式用于支持通过软件仿真硬件的协处理器 系统模式用于运行特权级的操作系统任务 除了用户模式以外,其他6 种处理器模式称为特权模式,在这些模式下程 序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除 系统模式外,其他5 种特权模式又称为异常模式。处理器模式可以通过软件控 制进行切换,在运行在a r m 上的l i n u x 操作系统中,只有运行在内核态的程 序才能更改处理器模式。大多数用户程序运行在用户模式下。这时,应用程序 不能够访问受操作系统保护的系统资源。应用程序也不能直接进行处理器模式 的切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常 处理过程中进行处理器模式的切换。当需要进行处理器模式切换时,应用程序 可以产生异常处理,在异常处理过程中进行处理器模式的切换。 当应用程序发生异常中断时,处理器进入了相应的异常模式。每一组异常 模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入 异常模式时,用户模式下的寄存器( 保存了程序运行状态) 不被破坏。系统模 式并不是通过异常过程进入的,它和用户模式有完全一样的寄存器。但是系统 模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切 换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资 源,同时该任务仍然使用户模式的寄存器组,而不是使用异常模式下相应的寄 西华大学硕士学位论文 存器组,这样就可以保证当异常中断发生时任务状态不被破坏。 2 1 2a r m 9 寄存器的定义【2 j a r m 9 处理器共有3 7 个寄存器。每个寄存器的长度均为3 2 位。根据不 同的用途,我们可将其划分为以下三类: ( 1 ) 3 0 个通用寄存器 在任意一种处理器模式下,只有1 5 个通用寄存器可以使用,编号分别为 r 0 ,r 1 4 ,这1 5 个通用寄存器又可以分为两类:未备份寄存器r 0 - r 7 ,备份寄 存器r 8 - r 1 4 。其中,r 1 3 作为堆栈指针寄存器( s p :s t a c kp o i n t e r ) 。该寄存器 将由a r m 编译器自动使用。r 1 4 又称为连接寄存器( l r :l i n kr e g i s t e r ) ,即 l r 为r 1 4 的别名,在程序中可以用r l 代替r 1 4 。r 1 4 在a r m 中有两种用途。 一种用途是,当系统中发生一个子程序调用时,a r m 将用r 1 4 来记录返回地 址,当用b l 或b l x 指令调用子程序时,r 1 4 就被设置成该子程序的返回地址, 在子程序中当把r 1 4 的值放到程序计数器p c 中时,就实现了子程序的返回。 另一种用途是,当发生异常中断的时候,该模式下的r 1 4 被设置成该异常模式 将要返回的地址。 ( 2 ) 程序计数器( p c ) p c 即为r 1 5 ,用于记录程序当前的运行地址。由于a r m 体系结构采用了 多级流水线技术,p c 总是指向当前指令的下两条指令的地址,即a r m 处理器 每执行一条指令,都会把p c 增加8 个字节。此外,相应的分支指令( 如b l 等) 也会改变p c 的值。 ( 3 ) 6 个状态寄存器 包括1 个程序当前状态寄存器r 1 6 ( c p s r :c u r r e n tp r o g r a ms t a t u sr e g i s t e r ) 和5 个程序备份状态寄存器( s p s r :s a v e dp r o g r a ms t a t u sr e g i s t e r ) 。c p s r 可 在任何处理器模式下被访问。s p s r 寄存器主要是在处理器异常发生时,用来 保存c p s r ( c u r r e n tp r o g r a ms t a t u sr e g i s t e r ) 。当异常退出时,可以用s p s r 中保 存的值来恢复c p s r 。除了用户模式和系统模式,每一种处理器模式下都将使 用一个s p s r 来保存c p s r ,在用户模式和系统模式下访问s p s r ,结果是未 知的。这3 7 个寄存器是否可操作与处理器的状态( a r m 或t h u m b ) 以及工作 9 西华大学硕士学位论文 模式有关。在a r m 态,可同时编程1 6 个通用寄存器( 包括程序计数器p c ) 和一 个或者两个状态寄存器。 2 1 3a r m 9 指令集 a r m 9 2 0 t 包括a r m 9 t d m i 核,以及缓存和m m u 。a r m 9 t d m i 处理器 家族支持3 2 b i t s 的a r m 指令集和1 6 b i t s 的t h u m b 指令集,允许用户在高代码 执行效率和高代码密度之间做选择。 a r m 处理器的指令是加载存储型的,即指令只能处理寄存器中的数据, 而且处理结果到要放回到寄存器中,而对系统存储器的访问则需要通过加载 存储指令来完成。a r m 处理器指令集可以分为跳转指令,数据处理指令,程 序状态寄存器处理指令,加载存储指令,协处理器指令和异常产生指令6 类。 在a r m 态,所有的指令都是根据c p s r 中的条件码的状态和指令的条件域, 有条件执行的。条件域( 指令的第2 8 - 3 2 位) 决定了指令执行的条件。如果c , n ,z 和v 标志位的值满足条件域的编码值,指令被执行,否则,指令被忽略。 有1 6 种条件码,实际只有1 5 种可以使用,每一种条件码可用两个字符表示, 这两个字符放在指令助记符的后面,如果指令助记符后面没有条件码,大部分 指令的条件域就被设置为a l ,即不管c p s r 中的条件码是什么,指令总是执 行。 2 1 4 三星s 3 c 2 4 1 0 a 处理器简介 $ 3 c 2 4 1 0 由以下资源组成:1 个l c d 控制器;s d r a m 控制器;3 个u a r t ; 4 个d m a :4 个具有p w m 功能的计数器和一个内部时钟;8 通道1 0 围a d c ; i i s 总线接口;2 个u s b 主设备接口和一个u s b 从设备接口;2 个s p i 接口; s d 接口和m m c 接口;看门狗定时器;1 1 7 位通用i o 口;2 4 个外部中断源。 s 3 c 2 4 1 0 a 有三种启动方式: o m 1 :o = o o 时,从n a n df l a s h 启动; o m 1 :0 = 0 1 时,以1 6 位宽总线从r o m 启动; o m 1 :0 = 1 0 时,以3 2 位宽总线从r o m 启动。 $ 3 c 2 4 1 0 a 将系统的存储空间分成8 个b a n k ,每个b a n k 大小是1 2 8 m b 。 1 0 西华大学硕士学位论文 b a n k 0 到b a n k 5 的开始地址是固定的,b a n k 6 和b a n k 7 是可编程的,b a n k 7 的开 始地址是b a n k 6 的结束地址。 要使操作系统能够运行在硬件平台上,首先要对硬件进行初始化,也就是 b o o t l o a d e r 代码要做的工作。对硬件进行初始化,也就是控制相关的寄存器, 因此熟知每个相关的寄存器很重要。 2 2 嵌入式l i n u x 操作系统分析 2 2 1 嵌入式l i n u x 操作系统的特点【1 8 】 l i n u x 是一个类似于u n i x 的操作系统。现在已经是最为流行的一款开放源 代码的操作系统。l i n u x 从1 9 9 1 年问世到现在,短短1 0 年的时间内已发展成 为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的 l i n u xo s 已成为m i c r o s o f t 公司的w i n d o w s 的强劲对手。l i n u x 系统不仅能够 运行于p c 平台,还成为嵌入式系统的主流,随着各种嵌人式l i n u xo s 的迅速 发展,l i n u xo s 已经可与w i n d o w sc e 等e o s 进行抗衡。嵌入式l i n u x 不仅 支持x 8 6 芯片,而且是一个垮平台的系统,而且今天采用的l i n u x 内核的结 构在网络方面是非常完整的。支持十兆,百兆和千兆以太网络以及无限网络。 此外,高可靠性是嵌入式l i n u x 领先于其他嵌入式操作系统最明显的地方。 l i n u x 现已成为嵌入式操作系统的理想选择。需要使用嵌入式操作系统的硬件 存储容量都十分有限,不能像一般的计算机那样采用海量存储器来进行数据存 储。一般是采用软件固化的方法,将程序和操作系统“嵌入”到r a m 或者f l a s h 里面。在这个技术中减少操作系统的体积是关键。嵌入式l i n u x 除了本身体积 较小以外,还保留了l i n u x 操作系统中非常有特色的一点:用户可以自己裁减 内核。用户完全可以根据不同的任务来选定操作内核的模块,而将不用的部分 去掉,减少体积。经过裁减,编译的内核可能只有几十千字节到几百千字节。 可以很容易地放进f l a s h 存储器。 嵌入式l i n u xo s 的特点可以总结如下: ( 1 ) 精简的内核,性能高、稳定,多任务。 ( 2 ) 适用于不同的c p u ,支持多种体系结构,如x 8 6 、a r m 、m i p s 、a l p h a , s p a r c 等。 西华大学硕士学位论文 ( 3 ) 能够提供完善的嵌人式g u i 。 ( 4 ) 提供嵌人式测览器、邮件程序、m p 3 播放器、m p e g 播放器、记事本 等应用程序。 ( 5 ) 提供完整的开发工具和s d k ,同时提供p c 上的开发版本。 ( 6 ) 用户可定制,可提供图形化的定制和配置工具。 ( 7 ) 常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 ( 8 ) 针对嵌人式的存储方案,提供实时版本和完善的嵌入式解决方案。 ( 9 ) 完善的中文支持,强大的技术支持,完整的文档。 ( 1 0 ) 开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉, 结构灵活,适用面广。 2 2 2l i n u x 操作系统的体系结构 可以从两个层次上来分解l i n u x 操作系统:内核空间和用户空间。l i n u x 操作系统体系如图2 1 所示。 。 y - l q 户应用程序 i g n u c 隧辚匆车 l 一l i 系统调用函数接口 l | l i 内核 l | i 依赖特定架构的内核代码 f i 9 2 1s t r u c t u r eo fl i n u xo s 图2 1l i n u x 操作系统体系结构 用户窄阳 内核窄闷 用户空间是用户应用程序执行的地方。g n ucl i b r a r y ( g l i b c ) 提供了连接内 西华大学硕士学位论文 核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。 这点非常重要,因为内核和用户空间的应用程序使用的是不同的保护地址空间。 每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空 间。 内核空间可以划分为3 层,最上面是系统调用接口,它实现一些基本的功 能,例如,r e a d 和w r i t e 函数调用。内核,这里指独立于体系结构的内核代码。 这些代码是l i n u x 所支持的所有处理器体系结构所通用的。依赖于体系结构的 代码,构成了通常称为b s p ( b o a r ds u p p o r tp a c k a g e ) 的部分。这一部分是特定 体系结构的处理器和特定于平台的代码。l i n u x 内核也可以分成以下的子系统, 如图2 2 所示。 系统调用接口 进程管理单元虚拟文件系统 内存管理单元网络仂蚁栈 设备驱动 f i 9 2 2s t r u c t u r eo f l i n u xk e r n e l 图2 2l i n u x 内核结构 ( 1 ) 系统调用接口 系统调用接口( 即s c i 层) 提供了某些机制执行从用户空间到内核的函数 调用。这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。s c i 实 际上是一个非常有用的函数调用多路复用和多路分解服务。在l i n u x k e m e l 中 您可以找到s c i 的实现,并在f l i n u x a r c h 中找到依赖于体系结构的部分。 ( 2 ) 进程管理 进程管理的重点是进程的执行。在内核中,这些进程称为线程,代表了单 两华大学硕士学位论文 独的处理器虚拟化( 线程代码、数据、堆栈和c p u 寄存器) 。在用户空间,通 常使用进程这个术语,不过l i n u x 实现并没有区分这两个概念( 进程和线程) 。 内核通过s c i 提供了一个应用程序编程接口( a p i ) 来创建一个新进程( f o r k 、 e x e c 等函数) ,停止进程( k i l l 、e x i t ) ,并在它们之间进行通信和同步( s i g n a l 或 者p o s i x 机制) 。进程管理还包括处理活动进程之间共享c p u 的需求,即进 程的调度。下面对k e r n e l 2 6 进程调度做简单分析。k e m e l 2 6 调度算法仍然是 基于优先级的调度,它的算法复杂度为o ( 1 ) ,也就是说是调度器的开销是恒定 的,调用一个进程和调用多个进程所占用的c p u 时间是相同的。 a 就绪队列的改进 k e m e l 2 6 对进程的就绪队列做了改进。每个c p u 有两个按优先级排序的 数组:一个是a c t i v ea r r a y 一个是e x p i r e da r r a y 。a c t i v ea r r a y 是当前c p u 可能 选择执行的运行进程队列,队列中的每个进程都有时间片剩下。e x p i r e da r r a y 是那些用户时间片的就绪进程队列。一旦a c t i v ea r r a y 里面某个普通进程的时间 片用完了,调度器将重新计算进程的时间片、优先级,将它从a c t i v e a r r a y 中删 除,插入到e x p i r e da r r a y 中相应得优先级队列中。a c t i v ea r r a y 和e x p i r e da r r a y 是通过两个指向每个c p u 运行队列的指针来访问的。所以当a c t i v ea r r a y 中所 有的进程都用完时间片,只需将两个指针切换一下就可以了,这比k e r n e l2 4 的切换要改进了很多。 b 快速查找应该执行的进程 系统中往往有很多的就绪进程如何快速找到c p u 即将运行的进程就成了 关系到系统性能的一个重要因素针对2 4 的缺点k e r n e l2 6 进行了重新设讯 引进了一个6 4 b i t 的b i t m a p 作为进程队列的索引,用b i t m a p 来记载某个优先级 的进程队列上有无进程,如果有则为1 。这样使得寻找优先级最高的任务只需 要两个b s f l 命令。 c 引进“l o a de s t i m a t o r ” 在一个负载很重的系统上有一个很好的交互感是一件很困难的事情,设计 者经过研究发现一味的激励( b o o s t ) 交互任务并不够,还需惩罚( p u n i s h ) 那 些需求大于可获得c p u 时间的进程调度器通过对用户睡眠时间和运行时间的 纪录来判断进程是否是交互进程,一旦被认为是交互进程,调度器会给进程很 1 4 西华大学硕士学位论文 多“奖励”( b o n u s ) 。 d 内核可抢占 内核可抢占可以说是2 6 内核调度器优于2 4 内核的一个很重要的原凰当 内核进程没有访问内核的关键数据,也就是内核没有被加锁,此时内核代码是 可重入的,因此更高优先级的进程可以在此时中断正在执行的进程,从而达到 抢占的目的。 e 调度器相关的负载均衡 负载均衡有两种策略一种是从别的c p u 上将进程迁移过来称为“p u l l : 一种是将本c p u 上的进程迁移出去,称为“p u s h ”。调度器主函数s c h e d u l e ( ) ( k e m e l s c h e d c ) 用来挑选出下一个应该执行的进程,并且完成进程切换的工 作,是进程调度的主要执行者,也是操作系统k e m e l 很重要的一个函数,它的 性能将直接决定操作系统的性能。进程切换需要用到两个重要数据:p r e v 和 n e x t 。p r e v 是当前进程,也就是即将被切换出c p u 的进程;n e x t 是下一个进程, 也就是即将被切换进c p u 的进程。s c h e d u l e ( ) 函数何时被调用,如何被调用也 是一个非常重要的问题。在k e m e l2 4 里面,s c h e d u l e ( ) 函数可以通过两种方式 调用:一种是主动调度,直接调用函数s c h e d u l e o ,如进程退出,或者进入睡眠 状态等。一种是强制性调度,置位当前进程t a s ks t r u c t 里面的n e e dr e s c h e d 。 当是从内核态返回用户态的时候将检查这个位,如果发现已经被置位,会调用 s c h e d u l e 0 ;有以下三种情况可能会置位n e e dr e s c h e d : a 时钟中断服务程序中,发现进程已经用完自己的时间片,需要被切出 c p u ; b 当唤醒一个睡眠进程时,发现该进程比当前占有c p u 的进程更有运行资 格; c 一个进程通过系统调用改变调度政策、n i c e 值等。 和主动调度相比,强制性调度有一定的调度延时。k e m e l 2 6 的调度时机包 含了k e r n e l2 4 的调度时机( 不同的就是n e e dr e s c h e d 变成了一个b i t ) 同时加 入了一个重要的特性一内核可抢占。内核可抢占k e

温馨提示

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

评论

0/150

提交评论