(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf_第1页
(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf_第2页
(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf_第3页
(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf_第4页
(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机系统结构专业论文)基于嵌入式linux的多级多路数据采集系统的设计.pdf.pdf 免费下载

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

文档简介

摘要 随着数字技术的发展,国内外对图形图像输入设备的需求越来越广泛。其中 大幅面工程扫描仪在国内外需求相比则更大,它主要用于实现军事、测绘、建筑 等一些特殊领域工程图纸的数字化。多c c d 大幅面扫描仪以其扫描速度快、扫描 精度高等特点,越来越受人们的青睐。 本文主要介绍了多c c d 大幅面扫描仪的数据采集系统的实现。首先分析了目 前多c c d 大幅面扫描仪数据采集系统存在的一些缺陷,提出了一种新的改进方法, 即基于嵌入式l i n u x 的多级多路数据采集系统。其次分析了多级多路数据采集系统 的一些特点和关键技术,并且提出了具体的解决方案。最后介绍了基于嵌入式l i n u x 的多级多路数据采集系统的具体实现,包括嵌入式l i n u x 的移植、u s b 设备驱动程 序开发、实时网络通信等。 关键词:嵌入式l i n u xu s b 网络编程数据采集扫描仪 a b s t r a c t a l o n gw i t ht h ed e v e l o p m e n to ft h ed i g i t a lt e c h n o l o g y , t h ed e m a n do ft h ed e v i c e s , w h i c ha r eu s e dt oi n p u tg r a p h i c sa n dp i c t u r e s ,i si n c r e a s i n gi nt h eh o m ea n da b o a r d , a m o n gw h i c ht h eb i gb r e a d t he n g i n e e r i n gs c a n n e ri sm a i n l yu s e dt om a k es o m es p e c i a l f i e l d s ( m i l i t a r ya f f a i r s ,m a p p i n g ,a r c h i t e c t u r e ,e t c ) d i g i t a l w i t ht h ec h a r a c t e r i s t i co f f a s t e rs c a n n i n ga n dh i g hp r e c i s i o n ,t h eb i gb r e a d t he n g i n e e r i n gm u l t i c c ds c a l l n e ri s w i d e l ya c c e p t e db yc u s t o m e r s t h ep a p e rm a i n l yi n t r o d u c e st h ed e s i g n i n gp r o c e s so fd a t aa c q u i s i t i o ns y s t e mo f t h eb i gb r e a d t he n g i n e e r i n gm u l t i c c ds c a n n e r f i r s t l y , a f t e ra n a l y z i n gt h ed e f e c t so f p r e s e i l td a t aa c q u i s i t i o ns y s t e mo ft h eb i gb r e a d t he n g i n e e r i n gs c a n n e r , an e wm e t h o d , w h i c hi sm u l t i l e v e lm u l t i c h a n n e ld a t aa c q u i s i t i o ns y s t e mb a s e do ne m b e d d e dl i n u x , i sp r o p o s e dt oi m p r o v et h ed a t aa c q u i s i t i o ns y s t e m s e c o n d l y , a f t e rd i s c u s s i n gt h e c h a r a c t e r i s t i ca n dk e y t e c h n o l o g y o fd e s i g n i n gd a t a a c q u i s i t i o ns y s t e m ,t h e c o r r e s p o n d i n g s o l u t i o n sa r e p r o p o n e d f i n a l l y , t h ep r o c e s so fd e s i g n i n gd a t a a c q u i s i t i o ns y s t e mo ft h eb i gb r e a d t he n g i n e e r i n gm u l t i c c ds c a n n e ri sp r e s e n t e d , i n c l u d i n gp o r t i n go fe m b e d d e dl i n u x ,u s bd e v i c ed r i v e rd e s i g n ,e o m m u n i c a t i o no f r e a l t i m en e t w o r k ,e t c k e y w o r d :e m b e d d e dl i n u xu s bn e t w o r k p r o g r a m m i n g d a t aa c q u i s i t i o n s c a n n e r 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其它人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:日期羔鲎垒! 业目 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 主衾蟛辜一日期翌骘业旦 曾面蕞日期丝堕竺 第一章绪论 第一章绪论 1 1 课题研究的背景 扫描仪目前有着比较广泛的应用,如测绘、g i s 、机械、建筑、勘测、交通、 城市规划、国土资源、印刷、医疗、航天等各个领域。现阶段国内专门做扫描仪 开发的公司不是很多,特别是做大幅面工程应用扫描仪的开发就更少。而目前国 内外对图形图像输入设备的需求也比较大,特别是对一些专用扫描仪有着广泛的 需求。如:医用胶片扫描仪、印刷扫描仪和航片扫描仪等等。就医用胶片扫描仪 而言,它将被用于远程医疗事业上,为国内贫困地区的医疗事业做出贡献,具有 重要意义。对于一些更特殊的需求,如:对现有军用地图的数字化。由于其幅面 一般比较大,所以在数字化时所需的扫描仪的扫描幅面要足够大。采用多c c d ( 电 荷耦合器件,c h a r g ec o u p l e dd e v i c e ) 的扫描仪将增加扫描幅面,同时采用多c c d 的结构也可以提高扫描速度和提高扫描精度,这是我们所要追求的。国外一些公 司提出并设计过多c c d 的扫描仪,但是国内的同类产品普遍存在扫描速度慢、图 像不清晰等缺点。如果我们能够提出新的设计方案并加以实现,使其在扫描速度 上得到提升,那么我们不仅在国内同行中处于领先地位,而且也能和国外同类产 品相媲美。在这样的背景下,本文提出了基于嵌入式l i n u x 的多级多路数据采集系 统,从提升数据传输速度的基础上提高扫描仪的扫描速度。 基于嵌入式l i n u x 的多级多路数据采集系统中的“多级”是指在采集系统中设 置多层控制设备,如同树状模型,命令从树的根( 用户机) 通过各个结点( 控制 设备) 传到叶子( c c d 采集板) 。“多路”是指一个控制设备控制着多个从属子设 备,命令由主控制器分配给从属子控制器,如同一个树结点有多个孩子结点。扫 描仪采集的数据是从各个叶子结点采集来的,通过树型网络传给一个用户机。以 前的多c c d 扫描仪采用的是一个控制板控制多个c c d 工作,一个控制板的内存 空间和处理速度不足以及时处理这样大的数据量。多级多路数据采集系统克服了 控制板的物理硬件的内存不足和处理速度有限的缺点,它把一个控制板的缺陷分 担给多个控制板,使控制板的缺陷最小化了。 在所有的操作系统中,l i n u x 是一个发展最快、应用最为广泛的操作系统。l i n u x 本身的种种特性使其成为嵌入式开发中的首选。首先,l i n u x 的源代码是开放的, 任何人都可以获取并修改,用之开发自己的产品。其次,l i r m x 是可以定制的,其 系统内核最小只有约1 3 4 k b 。一个带有中文系统和图形用户界面的核心程序也可以 做到不足1 m b ,并且同样稳定。另外,它和多数u n i x 系统兼容,应用程序的开发 基于嵌入式l i n u x 的多级多路数据采集系统的设计 和移植相当容易。同时,由于具有良好的可移植性,人们已成功使l i n u x 运行于数 百种硬件平台之上。由于l i n u x 有以上各种优点,这里采用嵌入式l i n u x 作为多级 多路数据采集系统的嵌入式系统。 1 2 1 扫描仪行业现状 1 2 国内外研究现状 扫描仪是继键盘、鼠标之后的第三代计算机输入设备。大干世界绚丽多姿,而 扫描仪就如同计算机的一只慧眼,将精彩的影像一览无余。扫描仪能够捕捉各种 印刷品、照片以及较薄的物体的图像信息。它是一种高精度的光电一体化产品, 它能通过光电器件将检测到的光信号转换为电信号,再将电信号通过模拟数字转 换器转化为数字信号传输到计算机中处理。目前扫描仪中最常用的光电器件为 c c d ,其全称为电荷耦合器件( c h a r g ec o u p l e dd e v i c e ) 。一个电荷耦合器件是一 种由很多细小的探测器构成的固态电子元件,这些探测器可以寄存模拟电荷量, 其值正比于照射它的光强度。在平板扫描仪中,这些探测器在一片上排成一行( 扫 描三次) 或三行( 扫描一次) ,并在原始图像的整个宽度上进行采样将其记录为一 整行。当一行采样完成后,c c d 将电荷量发送给模数转换器,将它转换为二进制 数据,接着又去采样下一行电荷量。不同的电荷耦合器件具有不同的光灵敏度和 附加电噪声,其质量与数量直接影响到扫描质量。扫描仪起步于7 0 年代中期。最 初的扫描仪仅能捕捉黑白二值化的图像,而且体积相当大、扫描速度也很慢。随 着新技术的不断推出与完善,扫描仪经历了黑白二值、伪灰度、真灰度等发展过 程,在8 0 年代中期终于诞生了世界上第一台彩色扫描仪。 按照扫描方式,扫描仪可分为平板式、滚筒式、馈纸式和手动式几种。目前 手动式扫描仪由于扫描精度较差,最高分辨率仅为4 0 0 d p i ,而价格优势也由于其 它扫描仪尤其是平板扫描仪的大幅度降价而逐渐丧失。手动式扫描仪仅存的优势 只有小巧便携,因而应用面已很有限。滚筒式扫描仪中的专业型号扫描精度很高, 扫描分辨率最高可达1 0 0 0 0 d p i 以上,是印刷系统专用的扫描仪,但价格极昂贵。 真正适合大部分办公以及家庭用户使用的扫描仪主要是平板式与馈纸式两种。其 中馈纸式扫描仪与滚筒式扫描仪的工作原理相似,其光学成像系统固定,原稿通 过滚轴馈送扫描,因而扫描时对原稿的厚度、硬度及平整度均有限制,不易对准 进纸位置,这使其应用场合受到一定限制,但其成本较低,因而价格方面具有一 些优势。而平板式扫描仪对原稿几乎没有什么限制,使用起来很方便。平板式扫 描仪目前的最高光学分辨率已可达5 0 0 0 d p i 。由于平板式扫描仪的光学成像系统移 动,因而成本比馈纸式扫描仪略高,但由于技术日趋成熟,且产品的规模效应降 第一章绪论 低了成本,彩色c c d 平板式扫描仪也得到了普及。 根据应用对象的不同,扫描仪主要分为家用扫描仪、办公用扫描仪和专业用 扫描仪。其中专业扫描仪以其功能新颖、性能优异,特别是无与伦比的高扫描品 质和高扫描速度,使之成为专业应用领域中文字、表格、图形和图像处理与编辑 中不可缺少的录入设备。这类扫描仪不仅能为普通用户在图形处理和多媒体应用 中提供具有创造性的后期处理与编辑手段,也能在印刷、出版、报刊、摄影、图 像和网络网页制作等专业应用领域中发挥重要作用。 1 2 2 嵌入式l i n u x 的发展及研究现状 l i n u x 是u n i x 类的操作系统( o s ) ,在源代码级上兼容绝大部分u n i x 标准, 是一个支持多用户、多进程、多线程、实时性较好的功能强大而稳定的操作系统, 它可以运行x 8 6 p c ,s u ns p a r e ,d i g i t a la l p h a ,6 8 0 x 0 ,p o w e r p c ,m i p s ,a r m 等平台上, 它是目前运行硬件平台最多的操作系统。自从2 0 0 0 年2 月,r e dh a t 发布了嵌入 式l i n u x 的开发环境,l i n u x 在嵌入式行业的潜力逐渐被发掘出来。目前,在嵌入 式行业,它越来越受到各种商家的青睐。在所有的操作系统中,l i n u x 是一个发展 最快,应用最为广泛的操作系统,l i n u x 本身的种种特性也使其成为嵌入式开发的 首选。 根据i d c 的报道,l i n u x 已经成为全球第二大操作系统。预计在服务器市场上, l i n u x 在未来几年内将以2 5 的速度增长,中国的l i n u x 市场更是保持4 0 左右 的增长速度。而在l i n u x 操作系统方面,i d c 对中国在2 0 0 1 - - 2 0 0 6 年的市场预测 发现,其市场占有率从2 0 0 1 年的4 4 7 平稳地上升到2 0 0 6 年的2 6 7 7 。 在手机领域,摩托罗拉为扭转在s y m b i a n 阵营中的不利位置,抢占智能手机 市场,早已在提倡“l i n u x + j a v a 的发展思路。三星在2 0 0 3 年9 月份推出了首款基 于l i n u x 系统平台的c d m a 智能手机s c h i 5 1 9 ,n e c 也一再强调其3 g 手机高端 产品几乎1 0 0 会采用l i n u x ,n e c 还透露自己正在开发的手机l i n u x 内核采用的 是m o n t a v i s t a 的m o n t a v i s t al i n u xc o n s u m e re l e c t r o n i c se d i t i o n ,并将在此基础上 增加g u i 系统xw i n d o ws y s t e m 、g t k + 羊ig l i b c 等软件,并计划把数据处理、多 媒体技术和通话技术的中间件应用到l i n u x 中去,以打造一个丰富的l i n u x 手机软 件平台。目前嵌入式系统正向人们的日常生活走进,在i t 行业又出现新的市场机 遇,在此时,l i n u x 以其独特的优势,成为许多商家目光关注的焦点。 l i n u x 的下面一些特点,决定了它是一个会在嵌入式领域占很大份额的一个 嵌入式操作系统: 开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互联国际标准。凡 4 基于嵌入式l i n u x 的多级多路数据采集系统的设计 遵循国际标准所开发的硬件和软件,都能做到彼此兼容,可方便地实现互联。 多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资 源有特定的权限,互不影响。l i n u x 和u n i x 都支持多用户操作。 良好的可移植性 可移植性是指将操作系统从一种计算机硬件平台转移到另一种计算机硬件平 台后,使它仍然能按其自身的方式运行的能力。l i n u x 是一种可移植的操作系统, 能够在从微型计算机到大型计算机的任何环境和任何平台上运行。可移植性为运 行l i n u x 系统的不同计算机平台与其它任何机器进行准确而有效的通信提供了手 段,而不需要另外增加特殊和昂贵的通信接口。 在p c 领域,w i n d o w s 和i n t e l 已经形成了垄断,然而嵌入式行业,由于其目 标对象的多样化,不会形成某个操作系统或者微处理器垄断的局面,因此,许多 大中小公司都开始集中精力投入对l i n u x 的研发,从而在嵌入式系统的大市场上占 据一席之地! 嵌入式行业的广阔发展前景吸引了越来越多的企业、研究机构、培训中心、 高校加入其中,嵌入式l i n u x 人才需求的不断膨胀也激发了越来越多的i t 从业者 转入这一领域,高校与企业也越来越重视嵌入式人才的培养。优秀的嵌入式开发 人才对企业发展来说是至关重要的,而对于从业者来说,越早进入这一领域就能 越早获取一种竞争优势,而这种优势也将会对个人整个事业有个很大的提升。 1 3 本论文的组织结构 本文主要探讨了基于嵌入式l i n u x 的多级多路数据采集系统的具体实现,其中 包括多级多路数据采集系统中各级控制设备的任务划分、任务之间的调度、嵌入 式l i n u x 的移植、u s b 驱动开发和网络数据传输等。 按照论述的内容,本文共分为六章,各章主要内容安排如下: 第一章绪论。主要阐述了论文的选题来源和论文的研究内容,介绍嵌入式 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 xu s b 驱动程序,为后面的开发奠定理论基 第一章绪论 础。 第四章u s b 驱动程序设计。根据具体设备的特性,分析了l m 9 8 3 3 芯片的u s b 接口,为后面的驱动程序的具体实现打下基础。详细介绍了l m 9 8 3 3 驱动程序的 开发过程,包括l m 9 8 3 3 的初始化和设备驱动,最后还通过测试验证了驱动程序 的稳定性。 第五章多级多路数据采集系统的实时通信。根据我们的具体需求,介绍了网 络设备驱动的一些特性,重点介绍了多级多路数据采集系统中的数据传输和进程 间的通信,以及双网卡数据传输的实现。 第六章嵌入式l i n u x 的移植。根据嵌入式l i n u x 移植的步骤和具体的需求, 介绍了把自己的驱动程序加入内核中、基于p c i 0 4 工控板的内核配置、根文件系 统的制作和b o o t l o a d e r 的设置。 第二章基于嵌入式l i n u x 的多级多路数据采集系统 7 第二章基于嵌入式l i n u x 多级多路数据采集系统 2 1多级多路数据采集系统的要求 2 1 1多级多路数据采集系统的原理 基于l i n u x 的多级多路数据采集系统采用树状控制模型,命令从树的根( 用 户机) 通过各个结点( 控制设备) 传到叶子( c c d 采集板) 。“多路”是指一个控 制设备控制着多个从属子设备,命令由主控制器分配给从属子控制器,如同一个 树结点有多个孩子结点。以前的多c c d 扫描仪采用的是一个控制板控制多个c c d 工作,一个控制板的内存空间和处理速度不足以及时处理这样大的数据量,如图 2 1 所示为以前多c c d 扫描仪采用的数据采集系统。 pc 应用程序 s3 设备驱动程序 垒 , n e m 0 r k l i n e t w o r k l c 。f 嵌入式主控制器 图2 1多c d d 扫描仪常用的数据采集结构图 基于嵌入式l i n u x 的多级多路数据采集系统的设计 多级多路数据采集系统克服了控制板的物理硬件的内存不足和处理速度有限 的缺点,它把一个控制板的缺陷分担给多个控制板,使控制板的缺陷最小化了。 如图2 2 所示为两级四路数据采集系统的结构图。 p c 应用程序 ?0 设备驱动程序 了 n e t w o r k - 占 一 n e t w o r k l c d 嵌入式主控制器 图2 2 两级四路数据采集系统 这种数据采集设备的采集端是由4 个图像采集模块组成,它将一幅图片分为 4 个区域,由4 个采集模块负责采集这4 个区域的图像,4 个采集模块采集的数据 最终上传到p c ,p c 接受到这些拼接的数据后生成一幅完整的图像。整个采集过 程中4 个图像采集模块必须同时同步工作且数据同步传输,才能确保p c 能生成 幅完整的图像。 一个嵌入式主控制器控制着四个从控制器,从控制器的目的就是为了在尽量 短的时间内向图像采集模块发控制命令,实现4 个图象采集模块同时同步工作。 第f 的采集区域的数据通过u s b 传输到第f 个从控制器,从控制器再将自己的采 第二章基于嵌入式l i n u x 的多级多路数据采集系统 9 集数据经网络传到主控制器,主控制器通过处理将这些数据拼接在一起,p c 接到 这个数据以后生成一幅完整的图像。 由于本系统采集的数据比较大,一般都在几百m b 以上,实时性要求比较高, 所以对4 个前端控制器的同步性要求也就比较高。只有4 个前端控制器能够同步、 稳定、可靠的工作,才能使4 个数据采集模块同时工作并且同步传送数据,也只 有上位机在接收到4 个同步数据以后才能拼接成完整的数据。 因此,4 个前端控制器能否“同时接收到由嵌入式主控制器发送的同步数 字i o 信号并同时执行命令是整个系统的关键所在。 2 1 2 多级多路数据采集系统的特点 1 多种i o 同时工作 多级多路数据采集系统中用到的i o 包括:数字i o 、网络、u s b 等,不同 种类i o 通信速率不同,对系统命令的响应时间差别很大:网络传输速率有 1 0 0 m b p s ,而u s b 传输速率相对网络来说很慢只有1 5 m b p s ,因此如何保证各种 i o 协调工作是整个系统的一个难点。 2 命令越级发送 主控制器通过数字i o 向从控制器发开始采集命令和结束采集命令,从控制 器解析这些命令再通过u s b 向数据采集模块发开始采集命令和结束采集命令。整 个控制命令越过一个控制级,最终到达采集模块。 3 数据同步传输 数据采集系统的采集端是由4 个图像采集模块组成,它将一幅图片分为4 个 区域,由4 个采集模块负责采集这4 个区域的图像,第f 的区域的数据通过u s b 传输到第f 个从控制器,从控制器再将自己的采集数据经网络传到主控制器,主 控制器通过处理将这些数据拼接在一起。这决定了无论是u s b 还是网络,都必须 保证数据同步传输,否则数据拼接失败,整个采集过程也就失败。 2 1 3 多级多路数据采集系统的软硬件环境的选择 1 处理器的选择 通常根据用户需求选择嵌入式处理器和开发平台的原则是: 可靠性高,集成度高。芯片内集成尽量多的满足用户需求的接口和控制 器,可以有效地扩展片外资源。 产品的总体成本低,选用更便宜、使用量大、生命周期长的处理器和外 设。 l o 基于嵌入式l i n u x 的多级多路数据采集系统的设计 开发成本低、周期短,选用操作系统和驱动程序等软件支持完善的处理 器,可以有效地减少开发中存在的风险和不确定性因素。 这里我们选用的是研祥智能公司的p c i 0 4 工控板,p c i 0 4 采用的是x 8 6 体系, 其配置为: 处理器:i n t e lu l vc e l e r o n 低功耗处理器 系统内存:支持最大5 1 2 m bs d r a m i d e 控制器:可连接两个i d e 设备 固态盘接口:一个c f 插槽 多个i o 接口:两个u s b 接口、一个并口、一个p s 2 键盘鼠标接口 网络接口:r t l 8 1 0 0 b l1 0 1 0 0 m b p s 以太网控制器r j 4 5 接口 数字i o 接口:四位输入和四位输出t t l t 电平接口 其中数字i o 对整个数据采集系统其中非常关键的作用。 在主控制器上我们用的双网卡,除了p c i 0 4 自己的r t l 8 1 0 0 b l 外,还得配 上p c i 0 4 网络扩展模块,其芯片芯片型号为r t l 8 1 3 9 d 。 2 嵌入式操作系统的选择 在基于嵌入式系统的开发过程中,选择一个合适的操作系统也是至关重要的 环节。按照计算机操作系统的概念,一个合格的操作系统应包括两个方面的功能: 多任务管理。操作系统需要进行多任务调度,维护个任务之间的同步、 互斥、数据共享等内容。 文件和设备的管理。操作系统需要对存储文件有支持。由标准的系统调 用来访问文件或设备。 现在,已有的操作系统已经超过1 0 0 种,如何选择一个合适的操作系统呢? 要从以下几个方面考虑: 系统的时实性问题 系统在嵌入式处理器或平台上的移植是否容易 系统驱动程序是否容易完善 应用程序是否容易开发和调试 系统中针对特定体系结构处理器的编译器是否完善 基于这些考虑,在嵌入式系统中一些常见的操作系统有l i n u x 、w i n c e 、 v x w o r k s 、p s o s 、n u c l e a r s 、e c o s 、r t c o s i i 等。其中,l i n u x 源码开放,软件和 驱动程序支持丰富,驱动程序协议栈完善,应用广泛,已被广大计算机开发人员 所熟悉。这里我们就是采用l i n u x 作为多级多路数据采集系统的嵌入式操作系统。 第二章基于嵌入式l i n u x 的多级多路数据采集系统 1 1 2 2 多级多路数据采集系统中的关键技术及解决方案 2 2 1多级多路数据采集系统对多个目标对象的实时同步 数据采集系统中两级通信的关键在于如何保证多个图像采集模块同时同步工 作和数据同步传输。如果不能达到或接近这个要求,那么整个数据采集系统的设 计将是失败的。 那么如何才能保证多个图像采集模块同时同步工作和数据同步传输呢? 从图 2 2 可以看出,在图像采集模块采集速度相同且u s b 传输速度相同的情况下,只 要多个前端控制器同时向图像采集模块发“开始采集 命令,多个图像采集模块 就会同时开始工作并且向外发送数据。当然在图像采集模块采集速度相同且u s b 传输速度相同的情况下,多个图像采集模块向外发送数据的速度也是相同的,这 样就可以保证它们同步工作和数据同步传输了。 这里可以采用数字i 0 来对前端控制器进行同步控制,用硬件控制电路来弥 补软件控制的不足。在前端控制器的嵌入式l i n u x 系统中采用实时任务调度来做 及时的响应,尽量减少时间的浪费。 图像采集模块采集速度是由硬件电路和扫描仪采集时所处环境决定的,那么 保证了u s b 传输速度相同,多个c c d 采集板就可以同步工作了。要保证u s b 传 输速度相同只有改进u s b 驱动。 2 2 2 多级多路数据采集系统的实时通信 在保证对多个目标对象的实时同步以后,解决多级多路数据采集系统的实时 通信是必要的,这样才能保证采集系统采集的数据畅通传输。 多级多路数据采集系统的实时通信的数据分为命令和图像采集数据两种。可 以在数据传输过程中给每个要传输的数据做一个标识,即给要传输的数据配一个 2 个字节的命令头,0 0 表示p c 机下发的l m 9 8 3 3 初始化数据,0 1 表示开始扫描 命令,1 0 表示结束扫描命令,1 1 表示图像采集数据。这样就不会出现数据传输混 乱了。 如果采用实时任务调度策略保证数据的及时传输,那么就可以实现多级多路 数据采集系统的实时通信。 1 2 基于嵌入式l i n u x 的多级多路数据采集系统的设计 2 3 多级多路数据采集系统中的实时控制 多级多路数据采集系统中的主要是嵌入式主控制器对前端控制器的实时控制 和前端控制器对图像采集模块的的实时控制,其实时性表现在: 1 前端控制器在接收到开始工作命令后,同时开始工作 嵌入式主控制器通过数字i o 向前端控制器发出开始工作命令后,4 个前端 控制器同时接收到命令后必须实时的做出处理,同时向4 个图像采集模块发开始 工作命令。 2 前端控制器在接收到结束工作命令后,同时结束工作 嵌入式主控制器通过数字i o 向4 个前端控制器发出结束工作命令,4 个前 端控制器在接到命令以后必须实时的做出处理,同时向4 个图像采集模块发出结 束工作命令。4 个前端控制器同时开始工作以后,突然第f 个控制器出错,这时 第f 个前端控制器上的实时系统及时的处理这个错误,并通过网络向嵌入式主控 制器发出结束工作命令,嵌入式主控制器接收这个命令以后实时的做出反映,通 过数字i o 向4 个前端控制器发出结束工作命令。当整个工作过程结束以后,4 个前端控制器同时向4 个图像采集模块发出结束工作命令。 3 对数字i o 进行实时控制 当嵌入式主控制器接收到上位机发送的开始工作命令或前端控制器发送的结 束工作命令时,嵌入式主控制器中的嵌入式l i n u x 实时系统必须及时响应,此进 程具有最高优先级。前端控制器接收到开始工作或结束工作命令时,前端控制器 中的嵌入式l i n u x 实时系统必须及时响应,此进程具有最高优先级。 由于这里涉及到图像采集模块的实时同步工作,因此嵌入式系统不仅要实时 性高,而且网络传输速度和u s b 传输速度也要足够的快。 2 4 多级多路数据采集系统中的数据传输 多级多路数据采集系统中的数据传输分为三个部分:数字i o 的控制信号传 输、网络数据传输和u s b 数据传输。 2 3 1 数字i o 数字i o 的主要作用就是解决4 个前端控制器的同步工作,当上位机发出采 集命令时,嵌入式主控制器通过数字i o 向每个前端控制器发送采集命令,使得 4 个前端控制器能“同时 工作。数字i o 的实时控制信号传输主要由两部分组 成: 第二章基于嵌入式l i n u x 的多级多路数据采集系统 1 3 1 实时发送信号 这部分负责向前端控制器发送命令。在以下二种情况下主控制器向前端控制 器发送命令: 发送开始采集命令。当p c 机发“开始扫描 命令以后,主控制器解析到 命令以后调用数字i o 模块生成电平信号,前端控制器接收到这个电平 信号后调用解析程序,判断命令类型为“开始采集”命令后,通过u s b 向采集模块的l m 9 8 3 3 芯片的7 号寄存器写0 x 0 3 ,采集模块开始工作。 发送结束采集命令。当采集工作完成或某个采集模块异常,前端控制器 向主控制器发结束采集请求,主控制器接收到请求以后,调用数字i o 模块产生结束采集命令,前端控制器接收到命令后结束采集工作。 2 实时接收信号并且及时处理数据 这部分负责监听前端控制器的数字i o 口。当接收到信号时,判断是何种命 令并且做出相应的处理。采集系统中的命令有:开始采集命令和结束采集命令两 种。 开始采集命令是由p c 机产生的。结束采集命令的产生有以下几中情况: p c 机产生的,用户要求采集系统停止采集。 主控制器出现问题不能正常工作,要求采集系统停止工作。 某一前端控制器出问题不能正常工作,要求采集系统停止工作。 2 3 2 网络数据传输 图2 2 所示的两级四路采集系统中的网络数据传输分为两个部分:主控制器 的网络数据传输和前端控制器的网络数据传输。 1 主控制器的网络数据传输 主控制器的网络数据传输分为两个部分: 主控制器和p c 机之间的网络数据传输。这部分负责接收p c 机下发的命 令和主控制器向p c 机上传的采集数据。 主控制器和前端控制器之间的网络数据传输。这部分负责发送l m 9 8 3 3 的初始化数据到前端控制器和接收前端控制器上传的数据。 这部分从程序的角度来看主要由数据处理模块和数据传输模块组成。 ( 1 ) 实时系统数据处理模块 此模块分析网络交换机接收数据的类型和工作情况。 如果网络交换机接收的数据是前端控制器发送的结束采集请求,则调用实 时数字i o 控制模块,并向上位机反映指出是几号前端控制器异常。 如果网络交换机接收的数据是采集数据,则调用实时数据传输模块。 1 4 基于嵌入式l i n u x 的多级多路数据采集系统的设计 监控前端控制器的工作情况。 如果发现前端控制器在工作期间不上传数据,则判定前端控制器异常,并向 上位机反映指出是几号前端控制器异常。 ( 2 ) 实时数据传输模块 此模块负责接收p c 机发送的命令、通过网络把l m 9 8 3 3 的一些初始化数据 传输到前端控制器、接收前端控制器传过来的数据并上传给上位机。 2 前端控制器的网络数据传输 前端控制器的网络数据传输就没有主控制器那么复杂了,它的任务就是接收 l m 9 8 3 3 初始化数据和上传数据。 2 3 3u s b 数据传输 u s b 数据传输在整个数据采集系统中也是重要的一环。u s b 数据传输的稳定 性和图像采集模块是否同步工作是相关联的。如果4 路u s b 数据传输速度一样或 相差不大,图像采集模块就可以同时稳定的工作。如果某一路u s b 数据传输速度 和其它路u s b 数据传输速度相差很大,则其它各路的图像采集模块则会调整采集 速度来协调这路图像采集模块。因此,在设计的时候必须保证u s b 速度传输稳定。 怎样才能保证u s b 速度传输稳定呢? 经过分析得出:u s b 驱动的好坏直接 关系到u s b 数据传输速度。设计的时候u s b 驱动程序的要求是: 精简。在保证u s b 驱动程序能稳定运行的情况下,尽量减少一些不重要 的环节,减少额外的开销。 u s b 传输速度保证尽量的快。即使在4 路图像采集模块不同步的情况, 如果u s b 传输速度快,可以减少各路图像采集模块之间的等待时间。 2 5多级多路数据采集系统的软件设计 数据采集系统的性能在很大程度上,取决于其应用软件的研究和开发。这里 先来划分两级控制系统中的功能模块。 1 前端控制器的实时数据处理模块 ( 1 ) u s b 数据采集模块 此模块主要是通过u s b 口接收l m 9 8 3 3 采集芯片数据缓冲区中的数据。此模 块涉及到l m 9 8 3 3 扫描芯片驱动和采集程序。 ( 2 ) 网络数据传输模块 此模块负责把从u s b 口采集的数据送到网络接口,并上传给主控制器。 ( 3 ) 数字i o 控制模块 第二章基于嵌入式l i n u x 的多级多路数据采集系统 1 5 此模块负责数字i o 端口的电平信号,并做相应的处理。 2 主控制器的实时数据处理模块 ( 1 ) 网卡1 的网络传输模块 此模块负责接收p c 机下发的数据和发送主控制器上传的数据。 ( 2 ) ,网卡2 的网络传输模块 此模块负责接收主控制器下发的数据( l m 9 8 3 3 的初始化数据) 和接收前端 控制器上传的数据。 ( 3 ) 数字i o 控制模块 此模块完成的功能主要是产生电平信号传给前端控制器。 ( 4 ) 实时系统数据处理模块 此模块分析网络数据的类型并做相应的处理,有以下几种类型: 如果数据类型是p c 机下发的l m 9 8 3 3 的初始化数据,则调用网卡2 的网 络传输模块。 如果数据类型是是p c 机下发的“开始采集”命令,则调用数字i o 控制 模块向前端控制器发“开始采集 命令。 如果网络交换机接收的数据是前端控制器发送的结束采集请求,则调用实 时数字i o 控制模块,并调用网卡1 的网络传输模块,向上位机反映指出是几号 前端控制器异常。 如果数据类型是图像采集数据,则调用网卡1 的网络传输模块。 如果数据类型不是以上四种情况或无处理的数据,则判定前端控制器异 常,并向上位机反映指出是几号前端控制器异常。调用数字i o 控制模块向前端 控制器发“结束采集 命令。 第三章嵌入式l i n u x 操作系统概述 1 7 第三章嵌入式l i n u x 操作系统概述 嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应 应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其发 展已有二十多年的历史,国际上也出现了一些著名的嵌入式操作系统,如 v x w o r k s ,p a l mo s ,w i n d o w sc e 等等,但这些操作系统均属于商品化产品,价 格昂贵且由于源代码不公开导致了诸如对设备的支持,应用软件的移植等一系列 的问题在所有的操作系统中。l i n u x 是一个发展最快、应用最广泛的操作系统, l i n u x 本身的种种特性使其成为嵌入式开发中的首选。 3 1 嵌入式l i n u x 系统基础 3 1 1 嵌入式l i n u x 系统的一般架构 l i n u x 是由很多组件组成的,本文来对一般l i n u x 系统的构件做一翻全面分 析,摸清楚每个组件的作用、了解组件之间的关系以及将它们妥善组合在一起的 方法。图3 1 为一般l i n u x 系统的架构。【1 】 应用程序 库 n 工 硬件 图3 1 一般l i n u x 系统的架构图 1 8 基于嵌入式l i n u x 的多级多路数据采集系统的设计 1 硬件 目标板的硬件必须符合以下要求方能执行l i n u x 系统: l i n u x 需要至少3 2 位的c p u ,而且c p u 必须配备存储管理单元( m e m o r y m a n a g e m e n tu n i t ,m m u ) 。 r a m 的容量必须满足系统的需要。 如果任何开发工作都是在目标板上完成,而且目标板具备适当的调试功 能,则需要最起码的v o 接口。 内核必须能够通过某些形式的永久性或网络存储装置来加载或存储根文 件系统。 2 l i n u x 内核 硬件的上面就是内核。内核是操作系统的中心组件。使用内核的目的是希望 以一致的方式管理硬件,以及为用户软件提供高层抽象层。如果应用程序使用的 是内核所提供的a p i ,则应用程序可能根本不用或只需要一点修改就可以移植到 此内核所支持的任何架构上,这正是l i n u x 的优势所在,l i n u x 支持的所有架构 上就可以看见大量相同的应用程序。 为了给应用程序提供他们需要的功能,内核被大致分成两个部分:低层接口 层、高层接口层。低层接口层专属于硬件配置,内核运行在低层接口层之上,并 以硬件无关的a p i ( 高层抽象层) 提供对硬件资源的直接控制。高层接口层可以 对所有l i n u x 系统提供通用的抽象概念,包括文件、s o c k e t 及信号。由于内核提 供的低层a p i 不因架构的不同而不同,所以高层抽象层的程序代码实现基本上与 低层架构无关。 3 应用程序 应用程序是靠链接库提供的普通a p i 以及可代替应用程序跟内核交互来或得 所需要功能的抽象服务。大多数l i n u x 应用程序使用的主要链接库就是g n uc 链接库。为了弥补g n uc 链接库的主要不足( 它的大小) ,嵌入式l i n u x 系统会 将它替换成符合需要的链接库。 3 1 2 嵌入式l i n u x 开发的一般过程 嵌入式l i n u x 融合了嵌入式和l i n u x 的特点,其开发与一般的应用程序开发 相比有着自己的特点,下面简要的介绍一下嵌入式l i n u x 开发的一般过程。 了解硬件是首要的一步,这是嵌入式开发的特点决定的。了解硬件指的是了 解整个硬件,判断硬件对于当前的应用来说是否合适。嵌入式系统中需要使用到 c p u 和各种外围设备,由此需要收集相关硬件的资料,包括c p u ,芯片手册和各 种外围设备的手册以及相关的各种电路图等,并对整体系统有较深入的了解。 第三章嵌入式l i n u x 操作系统概述 1 9 了解硬件后,下一步就该准备需要使用的l i n u x 工具以及其它工具,这些工 具包括:针对所用c p u 的编译器、汇编器、连接器、相应的库工具、目标文件分 析、管理工具、符号查看器等等。幸运的是,由于l i n u x 的开放性,针对不同目 标平台的l i n u x 工具都可在网上免费得到,绝大部分的这些工具都由g n u 提供。 所需要的其它工具还包括硬件厂商提供给公司的工具,如编程器、下载工具和查 错器等等。所有这些工具对以后的开发、调试等都可说是必不可少的。 做好以上的准备工作后,就要进入实质性的工作阶段了。首先需要安排内存 地址,如s d r a m 的内存地址、f l a s h 的内存地址等,这需要与实际应用和硬件状 况相结合来考虑,要根据硬件的限制以及实际应用的需要对内存地址进行合理的 安排,同时要注意内存地址的安排要具有一定的伸缩性,以便于将来需要改动时 所做的变动达到最小。一般来说,嵌入式l i n u x 的内存地址安排体现在连接脚本 当中。 接着就该进入编写启动代码和机器相关代码阶段了。各种不同目标系统,甚 至相同目标系统的启动代码和机器相关代码也是不相同的。启动代码一般需要完 成硬件初始化、装载内核及安装根文件系统以及开始内核执行的工作,不同目标 平台的启动代码一般可通过参考l i n u x 下已有的启动代码和相关c p u

温馨提示

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

评论

0/150

提交评论