基于嵌入式Linux的多CCD扫描仪数据传输系统设计与实现
发布时间:2020-08-13 12:25
【摘要】:大幅面扫描仪在满足大幅面数据采集需求的同时,还需具备较高的分辨率,这使得扫描仪采集到的数据量成倍增加、多个CCD之间的同步控制变得复杂。因而,如何设计出一套扫描仪数据传输系统,使扫描仪快速高效的工作,成为大幅面扫描仪研发的关键。 本文选取实时性比较高的Linux2.6操作系统内核,通过分析Linux操作系统启动过程各个阶段的执行机制,构建出适用于X86架构CPU控制板的嵌入式Linux系统。在此系统之上,通过分析多CCD扫描仪数据传输的特性,选用数据传输速率高且可靠性有保障的RUDP传输协议,设计开发出基于嵌入式Linux的多CCD扫描仪数据传输系统。经过测试,该数据传输系统可成功应用于双层控制多CCD扫描仪设备之上,有效的解决了多个CCD之间的并行工作、图像拼接与裁减、图像数据的传输、图像的水平错位等问题。
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP334.22
【图文】:
为了解决多个CCD之间的同步扫描问题,选用实时性比较好的Linux2.6内核操作系统,双层控制多CCD扫描仪选用的是基于X86架构CPU的嵌入式控制板,但没有配套的Linux2.6内核操作系统。同时,为了使Linux系统适合扫描仪系统的特性需求,需要自行构建基于X86架构CPU的嵌入式Linux系统。本章将在分析Linux启动过程各个阶段的原理后,给出定制各个阶段功能的方法。4.1Linux启动过程概述Linux的启动过程包含了Linux工作原理的精髓,而且在嵌入式的开发过程中也非常需要这方面知识的积累。基于X86架构CPU的嵌入式主控板,其Linux系统启动过程虽然没有普通X86架构PC机复杂,但它也经过这样一个流程。以这个流程为线索,分析每一个阶段的原理与实现,再对其进行修改定制,便会构建出适合于嵌入式应用的LimiX系统。Linux启动流程如图4.1所示l’2]。
第三阶段执行init程序(也就是系统初始化工作),init程序调用了rc.s等程序,而rc.sysinit和rc在完成系统初始化和运行服务的任务后,返回的第四阶段,init启动mingetty,打开终端供用户登录系统,用户登录成了Shell,这样就完成了从开打L到登录的整个启动过程。4.2BIOS系统Blos是英文“BasieInputoutputsystem”的缩略语,直译过来后中文名基本输入输出系统”。它的全称应该是ROM一BIOS,意思是只读存储器输出系统。BIOS的结构和功能最新的计算机BIOS软件体系由四部分组成【’3}:硬件抽象层、设备驱动、面以及应用层,如图4.2所示。
In一s八lsr/src/linux/inelude/linuxlinuxIn一s/tlsr/sre/linux八nelude/sesisesi这是配置非常重要的一部分。删除掉/usr/inctude下的asm、hnux和Scsi,再创建新的链接指向新内核源代码目录下的同名的目录。这些头文件目着保证内核在系统上正确编译所需要的重要的头文件。内核配置过程比较烦琐,配置的内容与日后linux的运行直接相关,要针应用的嵌入式,对于每项应该清楚,这样不会把不用的模块编泽到内核内内核增大,同时也要把必要的配置内容选上,否则在做成系统的时候,很可不了或者出现其他的问题。配置内核有四种方式,有基于字符终端的也有在图形界面下配置的:makeconfig基于文本的最为传统的配置界面,这是一种字符配置界面,于对Linux内核非常熟悉的人,不推荐使用;makemenuconfig基于文本选单的配置界面,如图4.6所示,这是比较常种内核配置方式,本文选用的就是这种方式;
本文编号:2791994
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP334.22
【图文】:
为了解决多个CCD之间的同步扫描问题,选用实时性比较好的Linux2.6内核操作系统,双层控制多CCD扫描仪选用的是基于X86架构CPU的嵌入式控制板,但没有配套的Linux2.6内核操作系统。同时,为了使Linux系统适合扫描仪系统的特性需求,需要自行构建基于X86架构CPU的嵌入式Linux系统。本章将在分析Linux启动过程各个阶段的原理后,给出定制各个阶段功能的方法。4.1Linux启动过程概述Linux的启动过程包含了Linux工作原理的精髓,而且在嵌入式的开发过程中也非常需要这方面知识的积累。基于X86架构CPU的嵌入式主控板,其Linux系统启动过程虽然没有普通X86架构PC机复杂,但它也经过这样一个流程。以这个流程为线索,分析每一个阶段的原理与实现,再对其进行修改定制,便会构建出适合于嵌入式应用的LimiX系统。Linux启动流程如图4.1所示l’2]。
第三阶段执行init程序(也就是系统初始化工作),init程序调用了rc.s等程序,而rc.sysinit和rc在完成系统初始化和运行服务的任务后,返回的第四阶段,init启动mingetty,打开终端供用户登录系统,用户登录成了Shell,这样就完成了从开打L到登录的整个启动过程。4.2BIOS系统Blos是英文“BasieInputoutputsystem”的缩略语,直译过来后中文名基本输入输出系统”。它的全称应该是ROM一BIOS,意思是只读存储器输出系统。BIOS的结构和功能最新的计算机BIOS软件体系由四部分组成【’3}:硬件抽象层、设备驱动、面以及应用层,如图4.2所示。
In一s八lsr/src/linux/inelude/linuxlinuxIn一s/tlsr/sre/linux八nelude/sesisesi这是配置非常重要的一部分。删除掉/usr/inctude下的asm、hnux和Scsi,再创建新的链接指向新内核源代码目录下的同名的目录。这些头文件目着保证内核在系统上正确编译所需要的重要的头文件。内核配置过程比较烦琐,配置的内容与日后linux的运行直接相关,要针应用的嵌入式,对于每项应该清楚,这样不会把不用的模块编泽到内核内内核增大,同时也要把必要的配置内容选上,否则在做成系统的时候,很可不了或者出现其他的问题。配置内核有四种方式,有基于字符终端的也有在图形界面下配置的:makeconfig基于文本的最为传统的配置界面,这是一种字符配置界面,于对Linux内核非常熟悉的人,不推荐使用;makemenuconfig基于文本选单的配置界面,如图4.6所示,这是比较常种内核配置方式,本文选用的就是这种方式;
【参考文献】
相关期刊论文 前6条
1 徐雪松;章兢;;基于嵌入式Linux系统的启动引导技术研究[J];电子技术;2007年01期
2 王继刚;顾国昌;徐立峰;王陈;;可靠UDP数据传输协议的研究与设计[J];计算机工程与应用;2006年15期
3 梁丁;李迅波;蔡勇;;应用中的嵌入式Linux实时优化[J];计算机工程;2007年01期
4 廖根为,王力生,陈望斌;嵌入式Linux操作系统的实时性能分析与改进[J];计算机应用研究;2004年01期
5 胡广;宋薇;;基于RUDP的可靠数据传输研究与应用[J];交通与计算机;2006年01期
6 韦安,刘国平;工业实时TCP/IP协议栈的研究与开发[J];控制工程;2005年04期
相关硕士学位论文 前3条
1 胡藉;面向下一代PC体系结构的主板BIOS研究与实现[D];南京航空航天大学;2005年
2 谢卓;多CCD专业扫描仪上层软件设计与实现[D];西安电子科技大学;2006年
3 张更;基于VxWorks的多CCD扫描仪数据采集系统设计与实现[D];西安电子科技大学;2008年
本文编号:2791994
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2791994.html