- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于QNX的图像采集系统的设计与软件实现
?
?
王昱霖王文华
摘要QNX系统是面向嵌入式应用的高性能实时操作系统,基于QNX的图像采集系统可用于对稳定性和可靠性要求较高的工业及其他特殊环境中。本文简要分析了QNX视频采集系统的驱动原理,定制了用于视频采集的QNX嵌入式系统,并利用C++语言编写了基于工业摄像机抓取图像的上层应用程序,通过抓取一桢图像的实验,验证了该设计方法的可行性。
【关键词】QNX图像采集系统定制驱动开发
1前沿
随着工控自动化技术的发展,工业领域中的大数据量视频数据采集对实时性和稳定性的要求越来越高。QNXNeutrino实时操作系统是一种功能全面、运行稳健的操作系统,其真正的微内核设计和模块化架构可帮助使用者以极低的成本创建高度优化和超可靠的系统。基于QNX操作系统进行视频数据采集可有效满足工业环境对实时性和稳定性的要求。但QNX作为一款专用的嵌入式操作系统也存在开发难度大,开发周期长等问题,如何能够快速开发基于QNX的工业摄像机使用的驱动程序模块推广应用QNX系统的重要基础。
2QNX系统介绍
QNX是一个分布式、微内核、抢占式、多用户、多任务、可嵌入式的实时操作系统。被广泛应用到电信、航天仪器、工业自动化等方面[1]。QNX有独特的微内核和进程管理单元,以及基于消息传递的进程通信机制,同时采用内核调度的抢占式优先级进程管理,使得系统保证在任务时间内完成对上下文的快速切换,具有极好的实时性。在QNXNeutrino环境下,所有驱动程序、应用程序、协议栈和文件系统都在内核以外的内存受保护的用户空间内安全运行。QNX操作系统符合POSIX基本标准和实时标准,使其应用可以方便的进行移植。QNX的微内核仅提供进程通信、进程调度、中断处理和底层网络通信等4中服务。
QNX设备驱动与其他操作系统的设备驱动有所不同,其驱动程序与内核运行在不同的地址空间中,即设备驱动无需编译到内核中去,而是由QNX特有的资源管理器管理,资源管理器负责给不同类型的设备提供接口。同时,不同的设备驱动还可以通过消息传递的方式,经过进程管理器,将消息传递给其他设备驱动。QNX的网络驱动核心是NetworkManager,应用程序调用函数库中的函数,通过消息传递机制访问资源管理器,并通过TCP/IP协议调用资源管理器中的函数与驱动程序进行连接。网络驱动模块的原理图如图1所示。
3QNX系统定制
开发QNX驱动程序前首先需要定制系统,其过程为:构建Buildfile-编译Buildfile生成系统映像文件-启动目标系统-嵌入式系统软件设计。
其中最重要的就是构建Buildfile。在通常的嵌入式系统中,都需要一个可启动的操作系统映像文件(OSImage)。构建Buildfile的过程就是配置操作系统映像的过程。Buildfile由三部分组成,分别为bootstrapscript(启动引导脚本)、startupscript(启动脚本)、filelist(文件列表)。
首先构建Buildfile。bootstrapscript如下所示,
[virtual=x86,bIOS+compress].bootstrap={
Start-bIOS–Ntarget
PATH=/proc/boot:/bin:/sbin:/usr/bin:/usr/sbin:/usr/photon/bin
LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/lib:/lib/dll:/usr/lib:/usr/lib/dllprocnto}
其中“virtual”表明该Buildfile将构造一个与启动时产生的虚拟地址空间相对应的启动映象。关键词“x86,bIOS”则分别指处理器(x86)和机器类型(通过bIOS启动)。而“+compress”使得映象文件被压缩,以产生更小的映象文件。startup-bIOS是运行于具有BIOS的PC兼容系统的可执行程序,主要负责利用BIOS检测PC硬件资源。启动脚本是在系统启动后自动执行的一系列命令列表,可在此对系统进行初步配置,如网络配置,显卡设置等操作。
将制作好的Buildfile导入到IDE中,编译生成MyCamera.ifs文件。在开发机上将MyCamera.ifs复制到目标机的/net/Target/.boot中,这样就可以实现目标机自动启动QNX系统,系统定制完成。
4软件实现
4.1安装API函数库
本系统采用了德国baslerpylonpiA2400-17gc摄像头,分辨率为2454*2056,帧速率可以达到17fps,采用千兆网卡接口,位深度为12bits。视频采集卡采用intelPRO1000网卡。使用该摄像头需要在目标机上
您可能关注的文档
- ZigBee无线通信技术的研究郝立钢.docx
- 《聚焦式观察:儿童观察、评价与课程设计》简介.docx
- 儿童哮喘慢性持续期采用中医推拿结合顺尔宁治疗对机体抵抗力的提升效果.docx
- 互联网+时代事业单位档案管理优化探索.docx
- 城市修补-浅析贵阳老城城垣步道规划与建设.docx
- 2025届吉林省辽河高级中学高三一诊考试生物试卷含解析.doc
- 湖北省宜昌金东方高级中学2025届高考仿真卷历史试卷含解析.doc
- 山西省忻州市第一中学2025届高考历史三模试卷含解析.doc
- 四川省成都七中万达学校2025届高考生物倒计时模拟卷含解析.doc
- 河北省保定市定州中学2025届高三下学期第六次检测生物试卷含解析.doc
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
文档评论(0)