(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf_第1页
(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf_第2页
(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf_第3页
(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf_第4页
(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机系统结构专业论文)基于vxworks的多ccd扫描仪数据采集系统设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 大幅面工程扫描设备是针对特殊用户需求设计的,一般具有幅面大、数字化 困难等特点。它主要用于实现军事、测绘、建筑等一些特殊领域工程图纸的数字 化。由于单c c d 光路的成像范围有限,多c c d 技术的研究与应用就显得格外重 要。多c c d 有助于提高扫描幅面,并且同时提高扫描精度和扫描速度。 本课题以多c c d 扫描仪设备为研究对象,通过对传统多c c d 结构的分析, 提出了一种基于v x w o r k s 的双层多c c d 数据采集结构,通过在多个c c d 控制芯 片与p c 机之间加入两层嵌入式控制系统的方法,巧妙地解决了多c c d 之间的并 行工作、图像拼接与裁减、图像数据的存储与传输、图像的水平错位等问题。双 层数据采集结构真正的实现了多路c c d 并行扫描、并行数据读取,从根本上了 提高了扫描速度。文中详细论述了双层多c c d 数据采集结构的设计思想、过程 及软件的具体实现,并对多c c d 下图像的水平错位问题做了讨论,给出了一种 双层多c c d 结构下图像水平错位的处理方法。最后通过实践的方法,验证了双 层数据采集系统的可行性与正确性。 关键词:v x w o r k s 多c c d 数据采集网络通信 a b s t r a c t w i t l ln l eg e l l e r a lf e a t i l r e so ff o r m a tl a r g e ra n dd i f f i c u l tt od i g i t i z e ,t h el a r g e f o r m a t s c 籼e ri sa l w a y sd e s i g n e df o rs p e c i a ln e e d s i ti sm a i n l yu s e d t oi m p l e m e n tt h ed i g i t a l o fs o m es p e c i a lf i e l d ss u c ha sm 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 ea n d s oo n f o r 也e 1 i m i t so fo p t i c a lw i d t ho ns i n g l ec c d ,i ti sp a r t i c u l a r l yi m p o r t a n tt os t u d ya n dd e v e l o p m u l t i c c dt e c h n o l o g y m u l t i c c ds c a n n e r w i l li n c r e a s et h es c a nb r e a d t h ,l m p r o v et h e s c a ns p e e da n ds c a np r e c i s i o nf a r t h e rm o r e t h et h e s i sw h o s er e s e a r c ho b j e c ti sm u l t i - c c ds c a n n e r , a n a l y s i st h et r a d i t i o h a l m u l t i c c ds t r u c t u r e ,p r e s e n t san e wm u l t i c c ds c a n n e rd a t a c o l l e c t i o ns 仃u c 饥l r e w h i c hi sc a l l e dt w ol a y e rm u l t i c c ds t r u c t u r e sb a s e do nv x w o r k s b ya d d i n g t 、) l ,o 1 a v e ro fe m b e d d e dc o n t r o ls y s t e mb e t w e e nc c dc o n t r o l l e ra n dp c ,t h et w ol a y e r m u l t i c c ds c a n 】a e rd a t ac o l l e c t i o ns y s t e mi si n g e n i o u s l yr e s o l v et h ep r o b l e mt h a t m u l t i c c dw o r ks i m u l t a n e i t y , i m a g ec o m b i n i n ga n dc u t t i n g ,i m a g ed a t as t o r a g e a l l d 仃a n s m i s s i o n ,i m a g eh o r i z o n t a ld i s l o c a t i o n ,a n d s oo n t h et w ol a y e rm u l t i - c c d s c a l m e rd a t ac 0 1 1 e c t i o ns y s t e mt r u l ya c h i e v e sm u l t i - c c dp a r a l l e ls c a n i n g ,p a r a l l e ld a t a a c c e s s i n g ,a n d 允n d 锄e n t a l l yi m p r o v e st h es c a ns p e e d t h i sp a p e rd e t a i l e d l yd i s c u s s e s 也ed e s i 盟c o n c e p t ,t h ep r o c e s sa n dt h es o f t w a r er e a l i z a t i o n ,a n dt h ei m a g eh o r i z o n 伽 d i s l o c a t i o ni s s u e sw e r ed i s c u s s e dt o o t h i sp a p e rh a sg i v e no n ek i n do fm e t h o d t o s 0 1 v ei i l l a g eh o r i z o n t a ld i s l o c a t i o nu n d e rt h e t w ol a y e rm u l t i c c ds c a n n e rd a t a c o i l e c t i o ns y s t e m f i n a l l y , c o n f i r m st h et w ol a y e rm u l t i c c ds c a n n e rd a t ac o l l e c t l o n s y s t e mf e a s i b i l i t ya n d t h ea c c u r a c yt h r o u g he x p e r i m e n t a t i o n k e y w o r d :v x w o r k s m u l t i - c c dd a t ac o l l e c t i o n n e t w o r ke o m m u n i e a t i o n 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:丝日期z 翌! 丝垒翌 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:邀 导师签名: 学函莲 日期垆 日期竺望:! 竺 第一章绪论 第一章绪论 1 1 课题背景 2 1 世纪是一个数字化的时代,扫描仪作为一种数字化的图像输入设备有着比 较广泛的应用,如测绘、g i s 、机械、建筑、勘测、交通、城市规划、国土资源、 印刷、医疗、航天等各个领域。国内外对图形图像输入设备的需求也比较大,特 别是对一些专用扫描仪有着广泛的需求。对于一些更特殊的需求,由于其幅面一 般比较大,所以在数字化时所需的扫描仪的扫描幅面要足够大。采用多c c d 的扫 描仪将增加扫描幅面,同时采用多c c d 的结构也可以提高扫描速度和提高扫描精 度,这是我们所要追求的。国外一些公司提出并设计过多c c d 的扫描仪,但其价 格比较昂贵。在追求自主知识产权的今天,有必要研发具有自主知识产权的产品。 在这样的背景下,我们提出了设计开发多c c d 大幅面扫描仪设备。 在现有l m 9 8 3 3 ( c c d 控制芯片,u s b l 1 接口) 之上,对于多c c d 大幅面 扫描仪的研究与开发已初见成效。其中最主要的思想是,多个u s b 设备( l m 9 8 3 3 ) 以复合设备方式【2 2 】连接到用户主机,p c 主机控制每一个c c d 单独工作一次,独 自完成其光路范围内的图像扫描,于是对于n 个c c d 来说就需要扫描n 次来完 成一个整幅面图像的扫描。这样虽然可以实现对于大幅面图像的扫描,但由于多 个c c d 之间依次顺序工作,并没有发挥多路并行扫描的优势。为了提高大幅面扫 描仪设备的扫描速度,真正体现多路c c d 同时工作的特性,就有必要开发设计一 套优秀的多c c d 扫描仪数据采集系统。 1 2 课题来源及主要工作 本课题来源于作者在读研究生期间参与的西电海光数码有限公司开发大幅面 工程扫描仪设备所做的工作,主要从事研究大幅面扫描仪设备中数据采集系统的 实现方法。具体工作内容是在传统扫描仪设备与用户p c 机之间添加两层嵌入式控 制系统,用于完成对多路c c d 图像数据的采集、裁减、拼接等工作,然后将用户 图像数据传输给用户p c 机,由图像软件生成最终图像。采用l m 9 8 3 3 为c c d 控 制芯片,以深圳研祥公司的e c 5 1 7 1 3 和p c i 0 4 1 6 2 2 工控板为硬件平台,基于 v x w o r k s 嵌入式操作系统完成实验平台的搭建,完成一个双层数据采集结构的设 计,完成各个通信模块功能的测试,并在此基础上完成大幅面扫描仪设备中数据 采集系统的设计与实现,配合大幅面工程扫描仪硬件系统与图像软件系统工作, 形成最终产品。 2 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 其核心工作包括以下几个方面。 ( 1 ) 完成数据采集系统结构设计。 ( 2 ) v x w o r k s 向研祥e c 5 1 7 1 3 、p c i 0 4 1 6 2 2 工控板移植。 ( 3 ) v x w o r k s 下l m 9 8 3 3 ( c c d 控制芯片) 驱动开发。 ( 4 ) 数据采集嵌入式软件系统设计与实现。 1 3 论文的章节安排 按照论述的内容,本文共分为六章,各章主要内容安排如下: 第一章绪论。主要介绍论文的选题背景和来源,以及论文的内容组织。 第二章数据采集系统整体设计。介绍大幅面扫描仪数据采集系统现状,提出 了一些新的系统设计的思想,并从硬件结构和软件功能上给出了一种双层数据采 集结构设计方案。 第三章v x w o r k s 操作系统及数据采集系统平台的建立。简要介绍v x w o r k s 操 作系统,并介绍了双层多c c d 扫描仪数据采集系统平台的建立过程。 第四章v x w o r k s 下l m 9 8 3 3 驱动开发。对v x w o r k s 下u s b 协议栈做简要分析, 详细介绍v x w b r k s 下c c d 控制芯片l m 9 8 3 3 驱动的实现。 第五章数据采集系统的设计与实现。介绍数据采集系统软件的详细设计、实 现过程及方法。 第六章系统测试与调试。对系统的调试过程及遇到的一些问题做了阐述。 结束语。对全文进行总结,并指出设计中尚待改进之处。 最后为致谢、参考文献等。 第二章数据采集系统整体设计 3 第二章数据采集系统整体设计 2 1 扫描仪数据采集系统的研究任务 随着现代计算机技术与图像获取技术的不断发展,扫描仪通常用来做为数字 化的图像输入设备,在诸多领域得到了广泛的应用。按照设计目标与功能的不同, 扫描仪设备一般由机械结构、光学系统、数据采集系统和图像软件四部分组成, 其中数据采集作为扫描仪设备的主要功能部分,用于完成数据的采集、存储、处 理、控制等工作,其性能直接影响扫描速度与精度,因此数据采集系统的设计至 关重要。归纳起来,扫描仪数据采集系统主要有以下工作任务: ( 1 ) 准确实现对c c d 信号的采集与控制。 ( 2 ) 完成图像数据的采集、存储、拼接与裁减。 ( 3 ) 完成图像数据的可靠传输。 2 2 面临的问题 但随着用户需求的特殊化,对于大幅面图像的输入需求也日益增加,传统单 c c d 扫描结构已经满足不了特殊用户群体的需求。国内目前主要的c c d 控制芯片 是美国国家半导体公司( n a t i o n a ls e m i c o n d u c t o r ) 的l m 9 8 3 3 主控芯片,该芯片在 一块独立的i c 上实现了一套c c d 控制系统,用于控制c c d 工作。由于l m 9 8 3 3 u s b 接口采用u s b l 1 接口标准,其单独工作最大扫描速率约为1 m b p s 。如何在 现有硬件芯片基础上开发出幅面更大、精度更高、速度更快的扫描仪设备,就成 为了研究的课题,而其中最关键的就是数据采集系统的设计。多c c d 扫描仪正是 为满足用户对大幅面介质进行数字化而设计的。由于单个c c d 的物理光路宽度是 有限的,所以要到达对幅面比较大的介质的扫描就需要将多个c c d 组合起来,使 其物理光路成像范围可以足够的大。只满足幅面的要求还不够,还必须保证采集 图像的完整、清晰及连续等特性。这样就必须考虑以下几个问题: ( 1 ) 多个c c d 如何协同工作并且保证其实时性。 ( 2 ) 数据拼接图何时来做,谁来做,如何来做。 ( 3 ) 采集的数据如何传输到用户主机。 在解决好以上问题的前提下,还应着重提高扫描仪的扫描速度。一全幅面a 0 图像,采用6 0 0 d p i 、2 4 位彩色扫描时,其图像数据量约为1 6 g b ,若单c c d 以最 大速率扫描则需要纯扫描时间约为3 0 分钟,而且实际上6 0 0 d p i 时,并不能达到其 4 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 最高的扫描速度,再除去控制、传输、处理时间,一个完整幅面的扫描会需要更 长的时间来完成。 2 3 系统设计新思想 在设计大幅面工程扫描仪设备时,传统扫描模式遇到了挑战。为了解决好幅 面小、速度慢、精度低等问题,在现有硬件( l m 9 8 3 3 ) 条件下,有必要重新设计 数据采集系统。数据采集系统的设计主要是为了完成数据的采集、存储、处理、 控制等工作,为了更好地对多路c c d 数据进行采集,提高大幅面扫描仪设备的扫 描速度。设计中在传统扫描仪设备与用户p c 机之间添加一层或两层嵌入式控制系 统,由该控制系统完成对扫描仪设备中多路c c d 的控制管理,主要完成对多路 c c d 的控制、同步以及图像数据的采集,然后将采集到的图像数据传输到用户p c 机,由用户p c 机软件生成扫描图像,完成整个扫面过程。设计的好处有: ( 1 ) 可实现多路c c d 并行扫描。 ( 2 ) 对多路c c d 由嵌入式控制系统管理。 ( 3 ) 把多c c d 的图像采集、拼接、裁减从图像软件中分离出来,由嵌入式 控制系统完成。 ( 4 ) 容易实现多路c c d 之间的同步,提高扫描质量。 当然,这种设计增加了采集系统本身结构的复杂性,并且提高了硬件成本。 2 4 数据采集系统结构建立 数据采集系统结构又称体系结构,是系统整体结构的一个规划,其作用就是 描述系统组件的数量、每个组件的类型和不同组件之间的连接方式,为组件的设 计提供依据。体系结构的创建是对系统进行分析之后的第一个实质性的阶段。 2 4 1 传统多c c d 结构 在传统大幅面扫描仪设备当中,多路c c d 控制芯片直接通过u s b 与用户p c 机相连,由p c 机直接控制多路l m 9 8 3 3 2 2 1 ,其工作模式可抽象如图2 1 所示。 第二章数据采集系统整体设计 图2 1 传统多c c d 模型 由于p c 机直接与c c d 控制芯片相连,无法实时地对每一行图像数据进行拼 接,因此在扫描时必须由各个l m 9 8 3 3 分别控制电机完成各自c c d 光路范围内图 像的扫描,最后再将多路的图像数据整体拼接。其最大的缺点就是需要多次走步 才能完成一个整幅面的扫描,并且其扫描速度与单c c d 扫描速度无异。该结构只 解决了大幅面的扫描问题,但并没有注重扫描的效率与质量。 2 4 2 单层多c c d 结构 所谓单层多c c d 结构是指在多路c c d 控制芯片与用户p c 机之间采用一级嵌 入式系统完成对多路c c d 图像数据的采集、拼接、裁减等工作。其工作模型可抽 象如图2 2 所示。 图2 2 单层多c c d 结构模型 多路l m 9 8 3 3 通过u s b 与嵌入式控制板相连接,嵌入式系统采集多路l m 9 8 3 3 数据并对其进行处理,最后生成图像数据通过网络传输给用户p c 机,由用户p c 机生成最终的扫描图像。在扫描时可由一路l m 9 8 3 3 来控制电机走动,多路同时 开始扫描,由嵌入式软件依次完成对每一个l m 9 8 3 3 数据的读取、拼接等工作, 从而真正实现一次扫描一次成像( 一次电机走步) 。 其特点是: ( 1 ) 嵌入式控制板对多路u s b 设备( l m 9 8 3 3 ) 进行管理,采集多路数据。 ( 2 ) 由一路l m 9 8 3 3 控制电机走步,多路同时扫描。 ( 3 ) 多路l m 9 8 3 3 公用一个u s bh o s t 端,各l m 9 8 3 3 虽并行工作,但串行 读取。 ( 4 ) 并行扫描时由于多路之和受u s b l 1 限制,故需要对每个l m 9 8 3 3 扫描 速率做限制,否则会造成电机走步阻塞现象( 当l m 9 8 3 3 读取速度小于扫描速度 6 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 时,l m 9 8 3 3 内部缓冲区有可能放满,当缓冲区满时电机停止走步,停止扫描,不 满时继续走步,继续扫描,这种现象就是电机走步阻塞) 。由于l m 9 8 3 3 固有的特 性,一次限制幅度较大,从而使多路扫描速度再次降低。 2 4 3 双层多c c d 结构 所谓双层多c c d 结构是指在多个c c d 控制芯片与用户p c 机之间采用两级嵌 入式系统完成对多路c c d 图像数据的采集、拼接、裁减等工作,其工作模型可抽 象如图2 3 所示。 图2 3 双层多c c d 结构模型 多路l m 9 8 3 3 通过u s b 线缆与各自控制板相连接,每一路利用一个前端控制 板进行单路( l m 9 8 3 3 ) 控制与数据采集,并将各自采集到的图像数据通过网络发 送到主控制板,主控制板对多路( 前端系统) 数据进行拼接、裁减等处理后再通 过网络发送到用户p c 机,由用户p c 机生成最终的扫描图像。扫描命令的流向依 次是p c 机一 主控板一 前端控制板- - l m 9 8 3 3 。在扫描时可由一路l m 9 8 3 3 来控 制电机走动,多路同时起始扫描,由各前端嵌入式软件系统完成对单独l m 9 8 3 3 数据的读取工作,并发送至主控板,主控板做拼接与裁减后发送到p c 机,这样不 仅可以真正实现一次扫描一次成像,而且可以让多路l m 9 8 3 3 并行工作,数据并 行读取,从而从根本上提高扫描速度。 其特点是: ( 1 ) 对于每一路l m 9 8 3 3 分别由一个嵌入式控制板控制,称之为前端板。前 端板只对一路l m 9 8 3 3 进行数据采集工作。这样可以做到一路l m 9 8 3 3 对应一个 u s bh o s t 端。 ( 2 ) 由一路l m 9 8 3 3 控制电机走步,多路同时扫描,并行读取,可是实现真 正的多路c c d 并行工作。 ( 3 ) 对各个前端控制板的数据的拼接、裁减用另外一套嵌入式控制板来完成, 称之为主控板。主控板需要双网卡支持,其中一块网卡向下与各个前端控制板相 连,完成前端板与主控板之间的通信;另外一块向上与用户p c 机相连,完成主控 板与用户p c 机之间的通信。 第二章数据采集系统整体设计 7 ( 4 ) 对于用户p c 机图像程序来说,多路c c d 对其是透明的,它并不关心该 扫描仪设备由几路c c d 组成,而将其看作一个整体的设备,接收数据时也只接收 经拼接、裁减后的一行有效图像数据。 双层结构在结构设计上明显复杂于单层结构,需要更多的硬件系统。但由于 其为每一路l m 9 8 3 3 单独提供一个u s bh o s t 端,而且网络的传输速率远高于几倍 的u s b l 1 高速,所以该设计从理论上可以满足多路l m 9 8 3 3 并行工作需求,可以 实现真正意义上的多c c d 并行扫描,从而大大提高扫描仪的扫描速度。在实际中, 4 路c c d 就可以满足对a 0 幅面的扫描需求。 这样,可以将扫描仪系统整体从硬件上分为三层,用户p c 机、嵌入式控制系 统、c c d 控制芯片。而嵌入式控制系统部分又可分为前端控制系统部分和主控制 系统部分。 2 5 1 软件平台选择 2 5 软件、硬件平台选择 针对本系统的特殊性需求,由于其功能单一,基于高可靠性与高实时性的考 虑,设计采用嵌入式实时操作系统v x w o r k s 为嵌入式目标板系统,t o r n a d 0 2 2 为开 发工具,其中集成了v x w b r k s 5 5 。v x w o r k s 操作系统是美国风河公司设计开发的 一种嵌入式实时操作系统,具有强实时、微内核设计、可裁减性、可移植性、高 可靠性等特点。针对该系统设计的需求,除了最小系统外,只需要再加入u s b 组 件和网络组件即可。 2 5 2 硬件平台选择 前端控制板为研祥p c i 0 4 1 6 2 2 工业控制板,c p u 采用i n t e lp e n t i u m 3 架构, 芯片组为i n t e l 8 4 5 g v ,1 个u s bh o s t 端,集成u h c i ( u n i v e r s a lh o s tc o n t r o l l e r i n t e r f a c e ) 控制芯片,集成r e a l t e kr t l 8 1 3 9 网卡芯片,c f 支持。其中c f 卡作为 前端系统的启动引导设备,用于存放b o o tr o m 和v x w o r k s 映像文件。 主控制板为研祥e c 5 1 7 1 3 工业控制板,c p u 采用i n t e lp e n t i u m 4 架构,芯片 组为i n t e l 8 4 5 g v ,集成i n t e l 8 2 5 6 2 网卡芯片,同时可通过p c i 扩展第二块网卡,第 二块网卡采用美国3 c o m 公司的3 c 9 0 5 bf a s te t h e r l i n kx l 网卡,c f 支持。其中 c f 卡作为主控系统的启动引导设备,用于存放b o o tr o m 和v x w o r k s 映像文件。 这样在进行嵌入式操作系统v x w o r k s 向p c i 0 4 。1 6 2 2 和e c 5 1 7 1 3 的移植时只 需要根据p c p e n t i u m 3b s p 和p c p e n t i u m 4b s p 进行修改即可。 8 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 2 6 采集系统整体设计 在经过采集结构、软件平台、硬件平台的选择之后,将整个多c c d 大幅面扫 描仪数据采集系统可具体设计如图2 4 所示。 用户p c 计算机 蘑爱磐每晦搦 | l 磨攒赫斓 隧拶茅霸 一 直连网线 图2 4 双层多c c d 数据采集系统结构图 其中控制命令的流向是由上至下,依次为用户p c 机、主控系统、前端控制系 统、c c d 控制芯片( l m 9 8 3 3 ) 。其中p c 机扫描仪驱动程序根据用户的扫描设置, 将用户操作转化成一个约定的命令格式发送给主控制系统,主控制系统对用户p c 机发来的扫描命令进行解释,并分别发送至前端控制板;前端控制板再对主控制 板发送来的命令进行解释,并发送至自己所控制的l m 9 8 3 3 ,控制c c d 控制芯片 工作。 图像数据的流向则是由下至上,依次为c c d 控制芯片( l m 9 8 3 3 ) 、前端控制 第二章数据采集系统整体设计 9 系统、主控系统、用户p c 机。其中l m 9 8 3 3 为一个i c 上c c d 控制系统,当它接 收到开始扫描命令后便开始工作,并将扫描数据存放在自身的一个缓冲区当中; 前端控制系统读取l m 9 8 3 3 缓冲区中的图像数据,并按行发送至主控制板;主控 制板按行接收由多个前端控制系统通过网络发送来的图像数据,并对这些数据进 行拼接与裁减,生成一行真实的用户数据;再通过网络发送至用户p c 机;用户 p c 机按行接收有效的图像数据,由图像软件生成最后的扫描图像,完成扫描工作。 按照系统设计的要求可以将双层结构数据采集系统功能分解到各层,从而使 各层能够专注于完成自己的功能,从而使整个系统的可靠性与稳定性提高。 2 7 软件系统 采集结构只为数据采集提供一个可以实现的平台依据,其功能的实现主要在 于软件系统的设计。软件系统的设计就是要解决数据采集、拼接、裁减、传输等 具体实现的问题。按照双层采集结构,各层完成自己独立的功能,这样软件系统 也按照分层设计来完成,分为前端控制软件系统和主控制软件系统,这也是本文 的核心工作。另外用户p c 机的图像处理软件中的一部分也属于采集系统,但不包 含在论文工作之内。首先将各层功能划分如下。 前端控制系统层主要功能有: ( 1 ) 系统上电自启动,初始化网络,初始化u s b 主控制器( u h c i ) ,加载 l m 9 8 3 3 驱动( 需要开发v x w o r k s 下的l m 9 8 3 3 驱动) 。 ( 2 ) 与主控板之间的网络通信,接收主控制板命令。 ( 3 ) 采集l m 9 8 3 3 数据,并进行缓冲。 ( 4 ) 与主控板之间的网络通信,完成图像数据传输。 其中主要的通信模块是前端系统与l m 9 8 3 3 的通信( u s b ) ,前端系统与主控 系统的通信( 网络) 。这样就需要开发v x w o r k s 下l m 9 8 3 3 的驱动程序。 主控制系统层主要功能有: ( 1 ) 系统上电自启动,初始化网络,启动双网卡。 ( 2 ) 与用户p c 机之间网络通信,接收p c 机用户命令。 ( 3 ) 与多个前端控制板网络通信,发送控制命令。 ( 4 ) 收多个前端板发送的图像数据,对多路数据进行拼接、裁减,生成有效 图像数据发送到用户p c 机。 这样主控系统的软件主要集中在网络程序的编写,用于实现v x w o r k s 、 v x w o r k s 和w i n d o w s 三者之间的通信。 软件整体框架如图2 5 所示。 1 0 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 镕笏移7 ”“7 碍搦 鹚户p c 机系统软僻甥 缓酝女nm。? 庇i 缓 控 j 图 制 像 命 数 令 据 1r 匿每萎碉 控 j 图 制 像 命 数 令 据 1r 隧震懋繁篓灞 8 3 3 数据 图2 5 软件整体框架 2 8 小结 本章首先讲述了数据采集系统在扫描仪设备当中的作用与地位。在分析现有 多c c d 数据采集结构的基础上,提出了一种双层多c c d 结构的扫描仪数据采集 系统的设计方法;从整体上确定了数据采集系统设计的方案,并分别在整体结构 和软件系统上进一步做了阐述,为数据采集系统的进一步实现提供了依据。 第三章v x w o r k s 操作系统及数据采集系统平台建立 i i 第三章v x w o r k s 操作系统及数据采集系统平台建立 3 1v x w - o r k s 操作系统 3 1 1v x w o r k s 操作系统简介 v x w o r k s 操作系统是风河公司设计开发的一种嵌入式实时操作系统,具有强 实时、微内核设计、可裁减性、可移植性、高可靠性等特点。v x w o r k s 包括进程 管理、存储管理、文件系统管理、网络协议及系统应用等,占用很小的存储空间, 支持高度裁减,保证系统能以较高的效率运行。v x w o r k s 体系结构如图3 1 所示。 嬲一一辑黟鬻紫写箍赢赫瓣一一”一矽穗 雾, 应用程序 ;羹 爹囊 蓄 i o 系统v x w o r k s 库t c p i p 秀 j lk 一磁 髂 蓼,r ,i 缓 篓 文件系统轷i n d 肉核 貔篇簇蕊赫纛毫纛如; i _ ,t ,该 锄黝糍锄菇鑫意;i 键程蒜。翟施赫鑫缸矗么编籀矗瘟渤勃貔貌盔 蔷搋巍揣渤私磊自么兢滋 黟 黟缁罗锈矽嘲琴 w ; ”镩毪蟹i 张鼍獬州帑。= j fj 、i 张譬黟嚣! ;节鬣妒臀翔鬻冀移辫i 鼍7 。嬲 与硬件相关的软件 彰 笏1r , 搿 嚣 s c s il a n 秀 k 驱动程序 ,b g p 驱动程序 撼黝 ;* a _ ,。麂# 。虢童垅) 0 施 & 磁j 锄k # 硫口# 貔t | 黝0 翰施就:也。堋也t 铭搋为藏荔幺z 。o ? o 秽缈? 麟 j 聊? 。笏囊缵警黪謦纂辩r ”? 鳓、 | 掣i ”。:辨辑纬渺静嚣f 精 秽獬譬蛩 t ”硬件纵 崩 缓, 雾 s c s i s c c l 以太掰 ,渤 , 控制嚣 “|定时器 铹 l 控制器 “f * t i ,”! 川? 曲z |貉;嚣黝s ;盎赫崩t ,蠕,渤琥艚# 嚣。囊磁# 戚k ,j l 蕊 。墉;黝燃 图3 1v x w o r k s 体系结构 由图3 1 可知,v x w o r k s 体系共有三层,最底层是硬件系统层( h a r d w a r e ) , 包括网络控制器、定时器、串口、s c s i 接口等。最高层是独立于硬件的软件 ( h a r d w a r ei n d e p e n d e n ts o f t w a r e ) ,包括文件系统、i 0 系统、t c p i p 协议栈、 v x w o r k s 应用程序等。中间层是与硬件相关的软件( h a r d w a r ed e p e n d e n ts o f t w a r e ) 包括w i n dk e r n e l 、b s p ( 板极支持包) 以及各种驱动等,它是连接硬件与上层软 件的桥梁。 1 2 基于v x w o r k s 的多c c d 扫描仪数据采集系统设计与实现 3 1 2 内核组件 v x w o r k s 内核( w i n d ) 及其组件的基本功能分为如下几大类 6 】: 任务管理 事件和异步信号服务 信号量服务 消息队列服务 内存管理 中断服务程序 时钟管理和定时器服务 出错处理 3 1 3 多任务环境 在v x w o r k s 下代码是以任务方式运行的,任务是竞争系统资源的最小运行单 元。v x w o r k s 实时内核w i n d 提供了基本的多任务环境,从宏观上看多个任务同时 执行,微观上系统内核根据一定的调度算法让它们交替运行。任务可以使用或等 待c p u 、i o 设备及内存等资源,并独立于其它任务,与它们一起并发运行。 任务之间通过共享内存、信号量、消息对立、管道等机制进行互相通信,完 成任务之间的同步与互斥。多任务之间默认采用抢占方式运行,辅助采用时间片 轮转法。w i n d 内核任务优先级划分为2 5 6 级( 0 2 5 5 ) ,优先级0 为最高优先级, 优先级2 5 5 为最低优先级。不同优先级任务之间采用抢占调度算法,高优先级任 务抢占低优先级任务运行;相同优先级任务之间采用时间片轮转调度算法,每一 个相同优先级任务执行一个相等的时间片。时间片的长度可由系统调用 k e r n e r t i m e s l i c e 0 来指定,当指定为0 时就不采用轮转调度算法。 3 2 板级支持包 板级支持包( b o a r ds u p p o r tp a c k a g e ,b s p ) 来源于嵌入式操作系统与硬件无 关的设计思想,操作系统被设计为运行在虚拟的硬件平台上。对于具体的硬件平 台,与硬件相关的代码都被封装在b s p 中,由b s p 向上提供虚拟的硬件平台,b s p 与操作系统通过定义好的接口进行交互。所谓b s p 就是指针对具体的硬件平台, 用户所编写的启动代码和部分设备驱动程序的集合。它所实现的功能包括初始化 硬件系统、驱动部分设备等。 在v x w o r k s 系统中,对b s p 的简单描述为介于低层硬件环境和v x w o r k s 之间 的一个软件接口,它的主要功能是系统加电后初始化目标机硬件、初始化操作系 第三章v x w o r k s 操作系统及数据采集系统平台建立 1 3 统及其部分硬件的驱动程序,具体功能包括。 ( 1 ) 初始化。所谓初始化是指从系统上电复位开始直到v x w o r k s 开始初始化 用户应用时的一段时间所执行的过程。这个过程主要包括三个部分的工作。 c p u 初始化。初始化c p u 内部寄存器( 状态寄存器、控制寄存器等) 。 目标机初始化。初始化控制芯片的其存器( 如b u s 、d m a 、d 洲) 、y o 设备寄存器( 驱动各个设备) ,为整个软件系统提供低层硬件环境的支持。 系统资源初始化。为操作系统及系统的正常运行做准备。 ( 2 ) 使v x w o r k s 能够访问硬件驱动程序。 ( 3 ) 在v x w o r k s 系统中,集成了与硬件相关( h a r d w a r e d e p e n d e n t ) 的软件 和部分硬件无关( h a r d w a r e i n d e p e n d e n t ) 的软件。 b s p 文件位于i n s t a l l d i r t o m a d 0 2 2 t a r g e t e o n f i g b s p n a m e 目录下,可以对其根 据自己的目标机环境进行修改、配置。 3 3v x w o r k s 在p e n t i u m 机上的启动 v x w o r k si m a g e 的文件类型有三种【1 8 】。 l o a d a b l ei m a g e s :由b o o tr o mi m a g e 引导通过网口、串口或其它存储设备 加载到r a m 。 r o m - b a s e di m a g e s ( 压缩没有压缩) :即将i m a g e 直接烧入r o m ,运行 时将i m a g e 拷入r a m 中运行。 r o m r e s i d e n ti m a g e s :i m a g e 的指令部分驻留在r o m 中运行,仅将数据 段部分拷入r a m 。 这三种映像都包含v x w o r k s 操作系统,其中后两种可以直接启动,但第一种 映像必须借助于b o o tr o mi m a g e 映像才能运行,由b o o t r o mi m a g e 程序将l o a d a b l e i m a g e 映像加载至r a m 并启动v x w o r k s 。b o o tr o mi m a g e 是和l o a d a b l ei m a g e 结 合使用的。b o o tr o mi m a g e 包含一段叫做b o o t s t r a pp r o g r a m s 的程序和一段r o m b o o tp r o g r a m 程序,b o o t s t r a pp r o g r a m s 负责将r o mb o o tp r o g r a m 程序加载到r a m 中的r a m h i g h a d r s 处,然后控制权交给b o o tp r o g r a m ,由b o o tp r o g r a m 负 责一系列简单的硬件初始化( 网口,串口等) ,开始下载l o a d a b l ei m a g e s ( 即包含 应用的v x w o r k s 操作系统) 到r a ml o wa d r s ,然后控制权交给v x w o r k s 操 作系统开始执行。本设计中,所有v x w o r k s 系统都采用l o a d a b l ei m a g e s 型映像, 映像文件存放于c f 卡上。目标机均为p e n t i u m 架构,v x w o r k s 在p e n t i u m 机上启 动顺序为: 1 、p c 机上电,执行b i o s 程序。 2 、b i o s 查找m b r ( 主引导记录) ,并将m b r 的5 1 2 字节加载到内存0 x 7 x 0 0 基于v x w o s 的多c c d 扫描仪数据采集系统设计与实现 处,跳转到该地址执行。 3 、m b r 运行后搜索硬盘的可引导分区( 活动分区) ,加载该分区的引导扇区 内的程序( 引导程序) 。v x w o r k s 的引导程序叫v x l d 。 4 、v x l d 加载b o o t r o mi m a g e 至内存的0 x 0 0 1 0 8 0 0 0 处,井跳转该地址执行。 5 、b o o tr o m 血a 辨完成基本的对c p u 、r a m 等必要硬件的初始化,加载 v x w o r k si m a g e 至0 x 0 0 3 0 8 0 0 0 处,并跳转至该地址执行。 6 、v x w o k r s 系统启动。 3 4t o r n a d o 集成开发环境 t o r n a d o 是为开发v x w o r k s 应用系统提供的集成开发环境,如图33 所示 盈盈互匦墨墨墨_ 目昌;犀 图3 3t o r n a d 0 2 2 集成开发环境 运行t o r n a d o 的一方称为宿主机,而运行v x w o r k s 的一方称为目标机,二者 根据实际应用可以通过网络或串行线连接。宿主机的工作目录在、b 唧a d o 岫n 下 而目标系统的目录与文件在t o r n a d o t a r g e t 下。宿主机与目标机构成交叉开发环境, 而t o r n a d o 是宿主机上的集成开发环境。它主要功能有【6 j : 集成c 、c h 编译器和m a k e 工具。 集成v x w o r k s 目标机仿真器( v x s i m ) ,可下载程序到h o s t 的v x s i m 运行。 使用t o r n a d os h a l l ( w m d s h ) 工具运行程序,它是一种c 语言命令解释器。 使用b m w 盯工具查看目标机内存使用情况。 使用w m d e w 逻辑分析仪,用于动态观察任务上下文切换、事件的发生, 第三章v x w o r k s 操作系统及数据采集系统平台建立 1 5 查看信号量、消息队列和看门狗时钟的实时状态等。 使用d e b u g g e r 工具进行调试。 3 5 数据采集系统开发平台建立 3 5 1 前端系统开发平台建立 嵌入式开发通常有宿主机和目标机之分,宿主机通常是开发工具运行的平台, 一般为通用p c 机;目标机是最终目标系统运行的平台。开发环境是建立在宿主机 和目标机之间的,称之为交叉开发环境。 前端系统开发采用t o r n a d 0 2 2 + v x w o r k s 5 5 。t o r n a d o 是v x w o r k s 在宿主机上 的集成开发环境,t o r n a d o 使用t a r g c ts e r v e r - a g e n t 模式建立宿主机和目标机的交 叉开发环境。前端系统中,c p u 采用的是i n t e p e n t i u m 3 体系结构。下面以p e n t i u m 3 目标机为例介绍前端系统搭建开发环境的过程,v x w o r k s 采用b o o t r o m i a m g e + l o a d a b l ei m a g e 从c f 卡启动方式。在p c i 0 4 1 6 2 2 工控板中,c f 当作a 1 渔 硬盘挂在s e c o n d a r y - m a s t e r ( i d e 控制器1 ,主盘) 。 第一步b s p 文件配置 p e n t i u m 3

温馨提示

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

评论

0/150

提交评论