




免费预览已结束,剩余71页可下载查看
硕士学位论文-高速信号采集与存储系统--采集板及操作系统设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京交通大学 硕士学位论文 高速信号采集与存储系统采集板及操作系统设计 姓名:张沛 申请学位级别:硕士 专业:交通信息工程及控制 指导教师:戴胜华 20071201 立窑通厶堂亟堂位淦塞虫童擅要 中文摘要 摘要:随着数字信号处理理论和计算机技术的不断发展,现代工业生产和科学技 术研究都需要借助于数字处理方法。进行数字处理的先决条件是将所研究的对象 数字化,因此数据采集与处理技术只益得到重视。 本文对高速信号采集与存储系统的采集部分设计和操作系统的设计进行了 详细论述,分为硬件和软件两部分。硬件部分主要针对采集部分的原理( 包括高 速a d 、数字放大器、电源的设计) 进行了分析,并从三个方面数字电源与 模拟电源分开设计、数字与模拟电路的隔离、p c b 的设计阐述了在设计高速模数转 换电路时应注意的问题。软件部分则详细叙述了构建嵌入式操作系统的基本思想, 分别论述了各个组成部分,包括b o o t l o a d e r - - - - v i v i 的功能和移植,l i n u x 内核的 移植、驱动程序的结构和主要驱动程序的设计以及文件系统的选取和设计。由于 系统采集速度快,精度高,导致数据量很大,因此使用h u f f 脚i 编码算法对采集 数据进行压缩。本文就h u f f m a n 编码算法的基本思想和具体的实现方法进行了阐 述 关键词:高速信号采集;操作系统;l i n u x ;h u f f m a n 编码 分类号:u 2 8 3 1 b 鏖窑垣厶堂砸堂鱼监塞垦虹丛! a b s t r a c t a b s i r a c t : w i t hd i g i t a ls i g n a lp r o c e s s i n gt h e o r ya n dt h ec o n t i n u o u sd e v e l o p m e n to fc o m p u t e r t e c h n o l o g y ,m o d e mi n d u s t r i a lp r o d u c t i o n a n ds c i e n t i f i ca n dt e c h n o l o g i c a lr e s e a r c h n e e d sa i df i g u r e sa p p r o a c h d i g i t a lp r o c e s s i n gi sap r e r e q u i s i t ef o rt h es t u d yw i l lb et h e s u b j e c to fd i g i t a l s ot h ed a t aa c q u i s i t i o na n dp r o c e s s i n gt e c h n o l o g yi sr e c e i v i n g i n c r e a s i n ga t t e n t i o n i nt h i sp a p e r , h i g h - s p e e ds i g n a la c q u i s i t i o na n dt h ea c q u i s i t i o no ft h es t o r a g e s y s t e md e s i g na n dt h ed e s i g no fo p e r a t i n gs y s t e m sh a sm a d ead e t a i l e de x p o s i t i o no f h a r d w a r ea n ds o f t w a r ei n t ot w op a r t s a g a i n s ts o m eo ft h em a j o rh a r d w a r ea c q u i s i t i o n p a r to ft h ep r i n c i p l e ( i n c l u d i n gh i 曲一s p e e da da n dd i g i t a la m p l i f i e r , p o w e rs u p p l y d e s i g n ) w e r ea n a l y z e df r o mt h ef o l l o w i n gt h r e ea s p e c t s d i g i t a la n da n a l o gp o w e r s e p a r a t ep o w e rs u p p l yd e s i g n ,d i g i t a la n da n a l o gc i r c u i ti s o l a t i o n , a n dt h ep c bd e s i g n d e s c r i b e di nt h ed e s i g no f h i g h s p e e da n a l o g - d i g i t a lc o n v e r s i o nc i r c u i t sa t t e n t i o ns h o u l d b ep a i dt ot h ei s s u e s o f t w a r ei sad e t a i l e dd e s c r i p t i o no ft h ec o n s t r u c t i o no ft h eb a s i c i d e ao fe m b e d d e do p e r a t i n gs y s t e m ,e x p o u n d i n go nt h ev a r i o u sc o m p o n e n t s ,i n c l u d i n g b o o t l o a d e r v i v it h ef u n c t i o na n dt r a n s p l a n t a t i o n , t h et r a n s p l a n t a t i o nl i n u xk e r n e l , d r i v e r sa n dt h es t r u c t u r eo f t h em a i nd r i v e r sd e s i g na n df i l es y s t e ms e l e c t i o na n dd e s i g n t h es y s t e ma c q u i s i t i o ns p e e d ,h i 曲p r e c i s i o n , t h et r e m e n d o u sv o l u m eo f d a t a , t h en s eo f h u f f m a nc o d i n ga l g o r i t h mc o m p r e s s e st h ed a t ac o l l e c t i o n t h i sp a p e rd e s c r i b e s h u f f m a nc o d i n ga l g o r i t h ma n dt h eb a s i ci d e ao ft h ea c h i e v e m e n to fs p e c i f i c m e t h o d s k e y w o r d s :h i g h s p e e ds i g n a la c q u i s i t i o n ;o p e r a t i n gs y s t e m ;l i n u x ; h u f 同订a nc o d i n g c i 。a s s n o :u 2 8 3 1 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明 学位论文作者签名:张沛 签字日期:仉田年1 2 , 9 “ g e l 导师繇铆缪 签字日期:埘7 年i2 ,月纠百 , 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:张弗 签字日期:钆刀年j 2 月妙日 致谢 本论文的工作是在我的导师戴胜华副教授的悉心指导下完成的,戴老师严谨 的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来戴 老师对我的关心和指导。 在实验室工作及撰写论文期间,蔡弘、戴亮、张雅娟、翟国锐等同学对我给 与了很大的帮助,通过跟他们的交流使我获得了很多启发,在此向他们表达我的 感激之情。 最后,深深的感谢我的家人,谢谢他们对我无微不至的关怀,是他们给予了 我物质和精神上的支持和鼓励,让我能够全身心的投入研究生的学习、工作中。 祝福母校的明天会更好! 1 1选题背景及研究意义 1 引言 随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制和科 学研究中己成为必不可少的部分。在信号测量、图像处理、音频信号处理等一些 高速、高精度的测量中,都需要进行高性能数据采集。数据采集经过几十年的发 展,已经成为一门很成熟的技术,它主要完成两部分的工作:一是信号的采样, 主要由采样保持电路完成;二是采样值的量化,主要由a d 变换器完成。现在 a i ) 的集成化很高,很多都内置了采样保持放大器和电压参考源等单元电路。为 应用的简化提供了方便。模拟信号经过前置放大器放大后进入采集系统,先经过 信号调理电路进行信号的放大、滤波、使信号的带宽限制在需要的范围内,并使 信号的幅度与a d 的量程相匹配。经过以上处理后,信号被送入采样保持器进行 采样,然后被模数转换器进行量化;量化后的数据被送入存储器进行存储以供处 理。 数据采集系统是信息科学的一个重要分支,它与传感器技术、信号处理技术、 计算机技术一起构成了现代检测技术的基础。在许多应用的场合,如声纳、雷达、 通信、图像处理、智能仪器等,特别是在实时性要求高的情况下,人们都需要设 计与应用高速信号采集系统,以在极短的时间内获得大量数据。近年来微电子技 术突飞猛进的发展,己能提供各种新型的数据采集部件,单片超高速a d c 的转换 速率已经达到1 g s p s ,各种高速采样保持放大器、精密电压参考源、高速低噪声放 大器等配套元件也都达到相当高的技术指标了,实现一个高性能的高速信号采集 系统已经不再是难事了。同时也带来了一个问题,随着信号的频率的不断提高, 从而使得如何处理高速信号问题成为一个设计能否成功的关键因素。随着电子系 统中逻辑和系统时钟频率的迅速提高和信号边沿不断变陡,印刷电路板的线迹互 连和板层特性对系统电气性能的影响也越发重要。对于低频设计,线迹互连和板 层的影响可以不考虑,当频率超过5 0 m h z 时,互连关系必须以传输线考虑,而在 评定系统性能时也必须考虑印刷电路板板材的电参数。因此,高速系统的设计必 须面对互连延迟引起的时序问题以及串扰、传输线效应等信号完整性问题。因此, 一个设计的成功与否,不仅要看原理设计的好坏,p c b 技术也显得越来越重要。 本文设计的信号采集处理板数据走线最长超过1 0 厘米,为了保证数据传输的稳定 性和可靠性,就必须考虑信号完整性问题。此外,a d 器件所涉及的混合电路布 韭立变遭态堂亟堂焦论塞 线问题也是p c b 设计中难点。 传统高速数据的采集主要是通过p c i 板卡来实现的,采集速率最高可达1 g s p s 以上,利用u s b 或网络实现数据大批量传输。但是成本高、体积大、功耗大、携 带不方便也是其不可忽视的缺点。随着嵌入式技术的广泛应用,高速信号采集有 了新的解决方案。嵌入式技术的应用,不仅可以实现准确实时的信号采集、传输 和存储,而且它还具有成本低、体积小、功耗低、携带方便等特点。正是基于以 上特点,近几年来基于嵌入式的数据采集系统获得飞速发展,大部分是以d s p 、 f p g a 、a r m 为处理器设计的。 作为嵌入式系统得灵魂的嵌入式操作系统是随着嵌入式系统的发展而出现 的,目前流行的嵌入式操作系统由v x w o r k s 、w i n d o w s c e 、l i n u x 、u c o s 等。嵌 入式操作系统的出现,大大提高了嵌入式系统的开发效率,改变了以往嵌入式软 件只能针对具体应用从头做起的历史。在嵌入式操作系统上开发嵌入式系统将减 少系统开发的工作量,增强嵌入式应用软件的可移植性。利用可移植代码和标准 的实时操作系统,成为设计嵌入式系统软件的方向。 嵌入式操作操作系统具有如下特点: ( 1 ) 可移植、可裁减性。 ( 2 ) 可靠性,稳定可靠一直是嵌入式操作系统的一个突出特点。 ( 3 ) 实时性,实时性是指能够在限定时间内执行完规定的功能并对外部的 异步事件做出响应得能力。实时性的强弱是以完成规定功能和做出响 ,应时间的长短来衡量的。 本系统采用a r m 嵌入式处理器与f p g a 的方式来实现高速数据的采集和存 储,提供了一种高速度、高精度、低成本的数据采集方案。本系统的主要特点是 增加了l i n u x 操作系统,增强了人机交互能力和系统的移植性,可以较快地进行二 次开发。在保证数据完整的情况下,系统的采样率可最高可达2 0 m s p s ,硬盘存储的 最高速度可达5 m b y t e s 。本系统还适用于图像处理,瞬态信号检测、工业、国防、 通信等其他一些需要信号处理的领域。 1 、本系统相比传统的单片机采集系统 单片机本系统 i m 的数据采集不行最高可达2 0 m t f r l c d 显示无内置控制器 i d e 硬盘存储不行 可达5 m b y t e s 2 、本系统相比流行的p c i 采集板卡 2 p c i 板卡 本系统 功耗 高几w 体积 大 小 价格 高低 抗干扰差 可针对环境设计 1 2 本文所做的工作 1 、综合考察目前国内外数据采集的技术,结合自身的专业知识,设计了高速 数据采集板。在本文中对采集板的整体设计方案以及各部分组成、芯片选型、原 理设计进行了详细论述。 2 、针对高速高精度a d 采集板在电路设计时的一些关键问题从三个方面( 电 源设计、地平面设计、p c b 设计) 进行了详细说明。 3 、介绍了嵌入式软件设计及其开发过程。 4 、介绍了嵌入式l i n u x 操作系统的各个组成部分及其功能。在b o o t l o a d e r 的 功能、移植,l i n u x 内核的移植,设备驱动程序的设计和加载调试以及文件系统的 选取等方面做了详细论述。 5 、介绍了数据压缩的方法和评价指标以及用h u f f m a n 编码算法对采集到的 数据进行压缩的方法和实现。 6 、对全文所做的工作进行总结,指出系统存在的不足以及需要进一步研究的 内容,并对今后信号采集系统的方向进行了展望。 3 j b 宝銮煎太堂亟堂焦论塞 2 采集板硬件设计 信号采集的过程就是将模拟信号转换成数字信号的过程,因此关键在于采集 部分的设计。对于高速采集系统来说,如何尽可能地避免对信号的干扰、如何做 到实时无失真将是硬件部分设计的难点。硬件部分主要由三部分组成:a d 、放大 器和电源部分。数字放大器对模拟信号进行2 倍放大,然后通过a d 进行转换, 将转换后得数据通过缓冲器传入缓冲区中。下面将详细说明各个部分的设计。 数字信号输出缓 卜 归 a d冲 嚣 图1 系统结构图 f i g 1s y s t e ma r c h i t e c t m e 2 1模数转换芯片a d s 5 2 2 0 a d s 5 2 0 0 是由美国1 1 公司生产的高速并行低功耗模数转换芯片,其最高分辨 i 达1 2 b i t ,最高采样频率为4 0 m s p s ,最高信噪比达7 0 d b ,最高无杂散动态范围 78 8 d b f s ,最高功耗只有1 9 5 m w 。它采用3 3 v 供电,支持模拟信号两种输入方 :( 单端输入和差分输入) ,最大峰峰值为2 v 。其内部结构如下图所示【1 3 l : 4 丞塞越塑性垃让 叫嘲 d s 5 2 雒 角瞳皤a 竹e y 出 d 如r c f 。i m i g 甲d r 剪r 噼r s 雏v 鼍谤a 薹 2 。1 1设计a d 电路 图2a d $ 5 2 2 0 内部结构图 f i g 2 a d s 5 2 2 0 a r c h i t e c t u r e 该电路的模拟电源、模拟地和数字电源、数字地都分别从外部输入。模拟信 号输入和时钟信号的输入均采用单端输入的方式,以便使电路简化。m s b i 、o e 、 m o d e s e l 、s t p d 、q p d 为功能控制引脚,由主控制板上即g a 设置。通过配置 r s e l 和v p , r 日f 可以得到两种参考电压模式:内部参考电压和外部参考电压。在这 里使用的是前者。将这两个引脚通过分压电阻连接起来,为a d 提供了可编程的 内部参考电压,v r 日卢n 5 i + r 1 5 r 1 4 ) 。 辩 飘 母铲 北塞窑煎太堂殛堂僮论窑 2 2 放大器o p a 6 9 5 图3a d 电路原理图 f i g 3 a dc i r c u i ts c h o p a 6 9 5 是一个具有非常高的带宽,采用电流反馈运算安培相结合的特殊 4 3 0 0 v 口s 转换率和低输入电压噪声,以提供更精确,成本低,高动态频率范围的 放大器1 1 4 1 。 , 2 2 1设计放大器电路 本系统采用交流耦合,单端输入配置,实现了o p a 6 9 5 的宽带应用。在下图中, o p a 6 9 5 配置为一个单+ 5v 供电和无翻转运作模式。交流放大增益为2 和直流偏置 电压为+ 2 5 v ,定由分压器从运算放大器供电。0 p a 6 9 5 的高压摆率和输出驱动能 力可以支持最高满度输入范围的a d s 5 2 2 0 直至最高输入频率。 6 2 3 设计系统电源 图4 放大器电路原理图 f i g 4 a m p l i f i e rc i r c u i ts c h 系统电源分为两部分:放大器电源5 v 和a d 电源3 3 v 。由于主控制板上已 经设计了5 v 电源模块,因此可以从主控板直接获得。3 3 v 采用常用的三端线性 稳压源l m l l l 7 3 3 来获得,输出最大电流是8 0 0 m a ,其原理图如下所示。输入输 出端均并联了l o u f 的滤波和0 1 u f 的退耦电容。并且由于要求数字电源与模拟电 源独立,因此要设计两套这样的电路来完成。 图5 电源部分原理图 f i g 5p o w e r c i r c u i ts c h 7 j 塞窑通太堂亟堂焦论塞 2 4 高速度高精度a d 电路设计的关键事项 高速度高精度a d c 对电源、地和周边电路的要求很高,因此,合理的设计这 些电路对保证a d 转换电路的性能十分重要。 2 4 1独立的数字和模拟电路电源 电源中过多的噪声会降低a d 转换电路的性能,因此一般选用低噪声、低纹 波、温度稳定、线形度好的电源作为a d 转换的电路模拟部分的电源。由于用于 数字部分的电源有很多开关噪声,因此数字部分和模拟部分应用两个电源分别供 电。 为了满足高转换率要求,对电源的管脚应施行适当的旁路,强制交流电流在 尽可能短的环路上返回地。在本系统中,电源与地之间接入一个具有良好频率特 性的大容量电容,再并联一个具有好的高频特性的小容量电容。 2 4 2数字与模拟电路的隔离 在般的a d 转换电路的设计中,为了减少来自数字部分的噪声进入模拟地, 模拟电路和数字电路仅在一点沟通,以避免数字电流直接短路到模拟地。在这个 a d 转换电路的设计中,为了尽量消除数字地对模拟电路的影响,将数字地与模 拟地完全隔离,仅在一点有电感相连。 2 4 3p c b 的设计 a d 转换电路的精度,特别是动态精度指标与p c b 的布局、走线、地线连接 有很大的关系。在p c b 的设计中必须特别注意。 数字部分与模拟部分位置分开,避免模拟信号路径与数字路径平行路径交叉 时应以9 0 角交叉,电源的旁路电容应尽量靠近电源管脚,而且电容管脚应尽量短。 印制板采用多层板,其中模拟地为一层,大面积接地能减小地阻抗,抑制地电流 引起的噪声。另外,元件面上空余处均大面积接地,并以网络状分布,消除电磁 感应引起的噪声。模拟输人信号不在印制板上传输,而是用同轴电缆直接从输人 插座连接到运放输人端同样,为了减少高频数字信号对模拟电路的影响,输入到 模拟电路部分的采样时钟信号也不通过印制板,而是用双绞线进行传输。由于对 高速系统不能忽略分布参数的影响,因此对a d c 尽量不使用插座,以减少引线电 8 感和杂散电容。 9 3 操作系统软件设计 一个嵌入式系统可分为硬件和软件两部分。在建立了硬件平台之后,就需要 用软件来实现其具体的应用,因此在嵌入式领域人们常说“硬件是支撑,软件是 灵魂”,可见软件的重要性。在设计系统软件时主要考虑开发的难易程度、人性化 的显示、操作的便利性,当然还有实时性,综合这些因素,决定使用l i n u x 操作系 统。将整个软件分为b o o t l o a d e r 、k e r n e l ( 内核) 、文件系统、应用程序这四个部分 ( 软件结构如下图所示) 。设计过程中,主要涉及到b o o t l o a d e r 的修改与裁剪、内 核的裁剪和编译、字符驱动程序的编写和加载、测试程序的编写和g u i ( 用户图 形接口) 的设计。 , 用户程序& g u i e j 函数库 i 用户空n 系统调用接口 文件系统f 进程问通信 l 一连豺i 88 进程控镧 弭度程序 字符设鲁袭置鲁 设备驱动程序 内存管理 8 硬件控制 系统空f 彳 b l l o a d e rl 图6 操作系统软件结构图 f i g 6o p e r a t i n gs y s t e ms o f t w a r ea r c h i t e c t u r e 3 i 嵌入式操作系统概述 嵌入式操作系统是嵌入式系统( 包括硬、软件系统) 极为重要的组成部分, 它通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、 1 0 握挂丕统鞑鲑盈让 图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如 能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙 的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应 用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相 关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 嵌入式操作系统伴随着嵌入式系统的发展经历了四个比较明显的阶段: 第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形 式的系统,具有与监测、伺服、指示设备相配合的功能。应用于一些专业性极强 的工业控制系统中,通过汇编语言编程对系统进行直接控制,运行结束后清除内 存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户 接口。 第二阶段:以嵌入式c p u 为基础、简单操作系统为核心的嵌入式系统。c p u 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系 统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要 用来控制系统负载以及监控应用程序运行。 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌 入式系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具 有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、 图形窗口以及用户界面等功能;具有大量的应用程序接口( a p i ) ;嵌入式应用软 件丰富。 第四阶段:以基于i n t e r n c t 为标志的嵌入式系统。这是一个正在迅速发展的阶 段。目前大多数嵌入式系统还孤立于i n t e r a c t 之外,但随着i n t e r a c t 的发展以及 i n t e r a c t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与i n t e r a c t 的结合将代表着嵌入式技术的真正未来。 当设计嵌入式系统时,嵌入式操作系统的选择至关重要。一般而言,在选择 嵌入式操作系统时,可以遵循以下原则。 ( 一) 市场进入时间 制定产品时间表与选择操作系统有关系,实际产品和一般演示是不同的。目 前是w i n d o w s 程序员可能是人力资源最丰富的。现成资源最多的也就可能是 w i n c e 。使用w i n c e 能够很快进入市场。因为w i n c e + x 8 6 做产品实际上是在做 减法,去掉你不要的功能,能很快出产品,但伴随的可能是成本高,核心竞争力 差。而某些高效的操作系统可能由于编程人员缺乏,或由于这方面的技术积累不 够,影响开发进度。 ( 二) 可移植性 1 1 j 塞窑亟左堂亟堂毽论塞 操作系统相关性。当进行嵌入式软件开发时,可移植性是要重点考虑的问题。 良好的软件移植性应该比较好,可以在不同平台、不同系统上运行,跟操作系统 无关。软件的通用性和软件的性能通常是矛盾的。即通用以损失某些特定情况下 的优化性能为代价。很难设想开发一个嵌入式浏览器而仅能在某一特定环境下应 用。反过来说,当产品与平台和操作系统紧密结合时,往往依的产品的特色就蕴 含其中。 ( 三) 可利用资源 产品开发不同于学术课题研究,它是以快速、低成本、高质量的推出适合用 户需求的产品为目的的。集中精力研发出产品的特色,其他功能尽量由操作系统 附加或采用第三方产品,因此操作系统的可利用资源对于选型是一个重要参考条 件。l i n u x 和w i n c e 都有大量的资源可以利用,这是他们被看好的重要原因。其 他有些实时操作系统由于比较封闭,开发对可以利用的资源比较少,因此多数功 能需要自己独立开发。从而影响开发进度。近来的市场需求显示,越来越多的嵌 入式系统,均要求提供全功能的w e b 浏览器。而这要求有一个高性能、高可靠的 g u i 的支持。 ( 四) 系统定制能力 信息产品不同于传统p c 的w i n t c l 结构的单纯性,用户的需求是千差万别的, 硬件平台也都不一样,所以对系统的定制能力提出了要求。要分析产品是否对系 统底层有改动的需求,这种改动是否伴随着产品特色? l i n u x 由于其源代码开放的 天生魅力,在定制能力方面具有优势。随着w i n c e 3 0 原码的开放,以及微软在嵌 入式领域力度的加强,其定制能力会有所提升。 ( 五) 成本 成本是所有产品不得不考虑的问题。操作系统的选择会对成本有什么影响 昵? l i n u x 免费,w i n c e 等商业系统需要支付许可证使用费,但这都不是问题的答 案。成本是需要综合权衡以后进行考虑的选择某一系统可能会对其他一系列 的因素产生影响,如对硬件设备的选型、人员投入、以及公司管理和与其他合作 伙伴的共同开发之间的沟通等许多方面的影响。 ( 六) 中文内核支持 国内产品需要对中文的支持。由于操作系统多数是采用西文方式,是否支持 双字节编码方式,是否遵循g b k ,g b l 8 0 3 0 等各种国家标准,是否支持中文输入 与处理,是否提供第三方中文输入接口是针对国内用户的嵌入式产品的必需考虑 的重要因素。 3 1 1 l i n u x 操作系统介绍 握住丞荭熬往设让 l i n u x 操作系统核心最早是由芬兰的l i n u st o r v a l d s1 9 9 1 年8 月在芬兰赫尔辛 基大学上学时发布的,后来经过众多世界顶尖的软件工程师的不断修改和完善, i j n 畎得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在 嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年1 0 0 的用户递 增数量显示了l i n u x 强大的力量。 l i n u x 的是一套免费的3 2 位多人多工的操作系统,运行方式同u n i x 系统很 像,但l i n u x 系统的稳定性、多工能力与网络功能已是许多商业操作系统无法比拟 的,l i n u x 还有一项最大的特色在于源代码完全公开,在符合g n ug p l ( g e n e r a l p u b l i cl i c e n s e ) 的原则下,任何人皆可自由取得、散布、甚至修改源代码。 与其它操作系统相比,l i n u x 还具有以下特色: 采用阶层式目录结构,文件归类清楚、容易管理 支持多种文件系统,如e x t 2 f s ,i s o f s 以及w i n d o w s 的文件系统 f a t l 6 ,f a t 3 2 ,n t f s 等 。 具有可移植性,系统核心只有小于1 0 的源代码采用汇编语言编写,其余 均是采用c 语言编写,因此具备高度移植性 可与其它的操作系统如w i n d o w s 9 8 2 0 0 0 x p 等并存于同一台计算机上 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 的内 核小、效率高,内核的更新速度很快;第三,l i n u x 是免费的o s ,在价格上极具 竞争力。 。 l i n u x 还有着嵌入式操作系统所需要的很多特色,突出的就是l i n u x 适应于多 种c p u 和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十 种c p u 。而且性能稳定,裁剪性很好,开发和使用都很容易。很多c p u 包括家电 业芯片,都开始做l i n u x 的平台移植工作。移植的速度远远超过j a v a 的开发环境。 也就是说,如果今天用l i n a x 环境开发产品,那么将来换c p u 就不会遇到困扰。 同时,l i n u x 内核的结构在网络方面是非常完整的,i 柚u x 对网络中最常用的t c p i p 协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络, t o k e r 血g ( 令牌环网) 、光纤甚至卫星的支持。所以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 为众多程序员所熟悉。因此,要在嵌入式系统 中使用l i n u x 操作系统。 l i n u x 的大小适合嵌入式操作系统l i n u x 固有的模块性,适应性和可配置 性,使得这很容易做到。另外,l i n u x 源码的实用性和成千上万的程序员热切其望 1 3 j e 塞窑逼太堂亟堂僮j 幺奎 它用于无数的嵌入式应用软件中,导致很多嵌入式i a n u x 的出现,包括:e m b e d i x , e t l i n u x ,l e m ,l i n u xr o u t e rp r o j e c t ,l o a f ,u c l i n u x ,m u l i n u x ,t h i n l i n u x 。 f i r e p l u g ,l i n u x 和p i z z a b o xl i n u x 看,相对,l i n u x 的图形界面还相对较弱,但近 年l i n u x 的图形界面发展也很快,这也就不是问题。 于是嵌入式l i n u x 操作系统诞生了,他将l i n u x 自身的许多特点应用到嵌入式 系统里。其最大的特点是源代码公开并且遵循g p l 协议,在近几年以来成为研究 热点,据i d g 预测嵌入式l i n u x 将占未来两年的嵌入式操作系统份额的5 0 。 由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很 容易。遵从g p l ,无须为每例应用交纳许可证费。有大量的应用软件可用。其中 大部分都遵从g p l ,是开放源代码和免费的。可以稍加修改后应用于用户自己的 系统。有大量的免费的优秀的开发工具,且都遵从g p l ,是开放源代码的。有庞 大的开发人员群体。无需专门的人才,只要懂u n i x l i i i u x 和c 语言即可。随着l i n u x 在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网 络功能,这在i n t e m e t 时代尤其重要。稳定这是l i n u x 本身具备的一个很大优 点。内核精悍,运行所需资源少,十分适合嵌入式应用。 支持的硬件数量庞大。嵌入式l i n u x 和普通l i n u x 并无本质区别,p c 上用到 的硬件嵌入式l i n u x 几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为 用户编写自己专有硬件的驱动程序带来很大方便。 在嵌入式系统上运行l i o u x 的一个缺点是l i n u x 体系提供实时性能需要添加实 时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断 异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码 错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个 非常严重的弱点1 8 j 。 3 1 2各组成部分介绍 一个嵌入式l i n u x 系统从软件的角度看通常可以分为三个层次: 1 引导加载程序。包括固化在固件( f i r m w a r e ) 中的b o o t 代码( 可选) 和 b o o t l o a d e r 荫大部分。 2 l i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3 文件系统。包括根文件系统和建立于f l a s h 内存设备之上文件系统。通常 用r a m d i s k 来作为r o o t f s 。 1 4 握往丕蕴熟鲑超让 b o o t l m a m e t e r s 图7 固态存储设备的典型空间分配结构 f i g 7t h es o l i d - s t a t es t o r a g ed e v i c e st y p i c a ls t r u c t u r eo fs p a c ea l l o c a t i o n ( 1 ) b o o t l o a d e r 在嵌入式系统中,首先需要考虑的是启动问题。系统如何告知c p u 启动位置 以及启动方法呢? 一般来说,嵌入式系统会提供多种启动方式。具备f l a s hr o m 的系统有从f l a s h 启动的方式,也有直接从r a m 中启动的方式。这些启动的方式 一般都是由b o o t l o a d e r 来完成的。它的作用主要有以下几个: 1 、初始化处理器 2 、初始化必备的硬件 使用b o o t l o a d e r 初始化板上的必备硬件,比如内存初始化就是通过它来完成 的,还有中断控制器等。用于从主机下载系统映像到硬件板上的设备也是由它来 完成初始化的。比如,有些硬件板使用以太网传输嵌入式系统映像文件,那么在 b o o t l o a d e r 中会使用以太网卡驱动来初始化硬件,随后与客户端的b o o t l o a d e r 客户 端程序通信,并完成下载工作。 3 、下载系统映像 系统映像下载只能由b o o t l o a d e r 提供,因为c p u 提供的代码无法完成大系统 映像的下载工作,而b o o t l o a d e r 下载可以有更多的自由度,可以指定内核映像和 文件系统映像的下载位置等。在目标端的b o o t l o a d c r 程序中提供了接收映像的服 务端程序,而在主机端的程序提供了发送数据包的动作可以通过串口,也可 以通过以太网或u s b 方式来发送。发送系统映像结束之后,如果硬件允许, b o o t l o a d c r 还可以提供命令将下载成功的映像写入到f l a s hr o m 中。 4 、初始化操作系统并准备执行 使用b o o t l o a d e r 可以启动已经下载好的系统。可以指定b o o t l o a d e r 启动在r a m 中还是f l a s h 中,也可以指定具体的启动地址。 ( 2 ) 嵌入式系统内核 对于使用操作系统的嵌入式系统而言,操作系统一办以内核映像的形式下载 到目标系统中。以本系统为例,在系统开发完成之后,将操作系统内核做成压缩 j e 京銮煎太堂亟堂焦诠室 过的内核映像文件传送到目标系统中。通过b o o t l o a d e r 指定地址运行1 i n u x 内核, 启动系统,然后再通过操作系统解开文件系统,运行应用程序。整个嵌入式系统 和通用操作系统类似,功能也比不带操作系统的嵌入式系统强大了很多。 在内核中通常必须的部件是进程管理、进程间通信、内存管理部分,其它部 分入文件系统、驱动程序、网络协议等都可以配置,并以相关的方式实现。 ( 3 ) 根文件系统 在嵌入式系统中的“硬盘”概念一般都以r a m d i s k 的方式实现。因为像f l a s h r o m 这样断电后还能继续保存数据的设备,其价格相对昂贵,然而系统中又无法 使用像硬盘这样的大型设备,因此需要长久使用的文件系统数据,尤其是应用程 序的可执行文件、运行库等,运行时都放在r a m 中。常用的方式就是从r a m 中 划分一块内存虚拟成“硬盘”,对它的操作与对永久存储器的操作一样。在l i n u x 中就存在这样的设备,称作r a m d i s k ,一般使用的设各文件是d e v r a m 0 。 r a m d i s k 的启动需要操作系统得支持。b o o t l o a d e r 负责将r a m d i s k 下载到与内核 映像不冲突的位置,操作系统启动之后会自动寻找r a m d i s k 所在的位置,将r a m d i s k 作为一种设备安装为根文件系统。 3 1 3本系统软件的开发流程 本系统在软件开发主要分为如下几个步骤:建立交叉开发环境、交叉编译和 连接、下载和调试( 如下图所示) 。下面将具体介绍这个过程。 圈8 系统软件的开发流程 f 喀8s y s t e ms o f t w a r ed e v e l o p m e n tp r o c e s s 握往丕统筮往递让 建立交叉开发环境 对于没有开发过嵌入式系统的人来说,交叉开发环境是很遥远的事情,因为 编程工作会想当然的在需要运行这个程序的机器上完成。但是嵌入式系统的程序 很少能够这样。不仅是因为嵌入式系统资源受限制,无法建立起所需要的开发环 境,还因为对于只是面向产品的嵌入式系统来说,没有必要发展成为既是运行环 境,又是开发环境的系统。所以,交叉开发环境是嵌入式系统开发中必不可少的 编程环境。 其实交叉开发环境的原理很简单,只是在主机和目标及其体系结构不同的情 况下,在主机上开发那些将在目标及其上运行的程序。拿本系统来说就是在x 8 6 上开发a r m 目标板上运行的程序,在x 8 6 上安装l i n u x 操作系统,下载嵌入式 l i n u x 源码包,并且安装b i n u t i l s 、a r m l i n u x - g c c 、鲴i b c 、g d b 等开发必备的工具 包,这样就可以在x 8 6 上进行定制内核、编写和编译源代码、裁剪文件系统等工 作了,然后就生成可以下载到目标板并在目标板上运行得的映像文件了。 编译和连接 在建立好的交叉开发环境后,便可以利用它来完成编译和连接工作了。本系 统使用的是a r m 的g c c 交叉开发环境中,a r m 1 i n u x g c c 是编译器,a r m 1 i n u x 1 d 是连接器。但并不是说对于一种体系结构只有一种编译连接器,比如对m 6 8 k 体 系结构的g c c 编译器而言,就有多种不同的编译和连接器。如果使用c o f f 的可执 行文件格式,在编译l i n u x 内核时需要使用m 6 8 k - c o f f - p i c g c c 和m 6 8 k d o 垂1 d 的编 译连接器,在编译应用程序时需要使用m 6 8 k c o f f - p i c - g c c 和m 6 8 k - c o f f o p i c 1 d 的编 译连接器。这是因为应用程序代码需要编译成为可重定位代码。这样,虽然因为 内核占用位置导致应用程序存放的位置不同,但仍可以使用相对地址运行应用程 序。这方面需要注意的问题对各种嵌入式系统而言都是不同的。 在连接过程中,对于嵌入式系统的开发而言,都希望使用较小型的函数库, 以使最后产生的可执行代码尽量小,因此在编译中使用的一般是经过特殊定制的 函数库。比如使用c 做嵌入式开发的人一般使用的几个嵌入式函数库有pc l i b c | ic l i b m 、c - l i b c t tc 1 i b m 和n e w l i b 等。 下载 生成了目标平台需要的i m a g e 文件之后,就可以通过相应的工具与目标板上 的b o o t l o a d e r 程序进行通信。可以使用b o o t l o a d e r 提供的,或者通用的终端工具与 目标板相连接。一般在目标板上使用串口,通过主机端工具和目标板通信。 b o o t l o a d e r 中提供下载等控制命令,完成在嵌入式系统正式在目标板上运行之前对 目标板的控制任务。b o o t l o a d e r 指定i m a g e 文件下载的位置。在下载结束之后,使 用b o o t l o a d e r 提供的运行命令,从指定地址开始运行嵌入式系统软件。这样,一 1 7 个完整的嵌入式软件便开始运行了。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 申庭主管护师课件
- 甲状腺术后护理常规
- 倍力桥 教学课件
- 江苏南通2020-2022年中考满分作文54篇
- 剪羊毛课件教学设计
- 用水彩笔点叶子颜色课件
- 生鸡蛋课件教学课件
- 生鲜货源管理培训课件
- 生活工作安全知识培训课件
- 胆固醇性胸膜炎护理查房记录
- 肿瘤药物配制注意事项
- GB/T 22126-2025物流中心作业通用规范
- 2025至2030年中国光接入系统设备行业发展前景及投资战略咨询报告
- 土地 赠与协议书
- 非遗数字技术课件
- 2024-2025学年吉林省吉林十二中高一(下)期末数学试卷(含答案)
- 2025年全国招标采购专业技能大赛(央企组)复习题及答案-竞赛类
- 疾病诊断讲课
- 手术室术中无菌技术课件
- 2025年食品安全培训考试试题(含答案)
- 2025新《治安管理处罚法》解读
评论
0/150
提交评论