基于嵌入式WinCE的USB摄像头驱动开发
- 格式:pdf
- 大小:233.88 KB
- 文档页数:3
收稿日期:2006-10-24基金项目:安徽省教育厅自然科学研究项目(2005K J006ZD );安徽工程科技学院青年科研基金(2004YQ008)作者简介:凌有铸(1962-),男,安徽庐江人,副教授,研究方向为控制理论与控制工程。
基于WinCE 的嵌入式远程实时监控系统凌有铸,徐晓光,潘 伟(安徽工程科技学院电气传动与控制安徽省高校省级重点实验室,安徽芜湖241000)摘 要:在分析嵌入式技术在工业控制中的应用的基础上,对嵌入式WinCE 系统在远程数据采集中的应用和嵌入式系统中串口通信软件、动态Web 页面以及嵌入式数据库的设计进行了研究。
并以“环保数据远程采集系统”为项目背景,分析了相关的系统模型和程序代码,并对嵌入式系统远程数据采集的设计步骤进行了阐述。
关键词:WinCE 操作系统;串口通信;数据采集中图分类号:TP311 文献标识码:A 文章编号:1673-629X (2007)07-0204-03R emote T esting and Control System B ased on Embedded WinCEL IN G Y ou 2zhu ,XU Xiao 2guang ,PAN Wei(Anhui Province K ey Laboratory of Electric Driver and Control ,Anhui Universityof Technology and Science ,Wuhu 241000,China )Abstract :Analyses the usage that embedded technique used in industry control system.Researched the communication software ,dynamic page and embedded database which used in embedded WinCE system.At last ,analyses the system model and some codes ,demonstrated the steps in this system design.K ey w ords :WinCE operation system ;serial port communication ;data collection 现代工业检测控制中,需要进行统一监控的设备的数量不断增多,而且检测设备的分布越来越广,很多情况下需要通过Internet 进行数据的交换。
-1885-0引言USB 接口的普通摄像头由于价格低廉,性能较好,被应用在很多方面,比如可视电话、视频聊天和普通的视频监控。
Dihom (digital house monitor )就是摄像头在视频监控应用的一个例子。
摄像头由主控芯片和传感芯片组成。
主控芯片负责图像采集、压缩以及和主机的通信,通信协议一般采用USB1.1。
在我们的系统中,前端采用摄像头进行图像采集,摄像头连接到嵌入式模块,通过嵌入式模块上的无线网卡发送到远端。
嵌入式模块上采用linux 系统,因此我们需要在其上开发摄像头驱动。
我们使用的摄像头主控芯片型号为Sonix 公司的SN9C101,传感芯片是PAS106。
本文有重点地分析USB 协议驱动模块的分层结构,描述驱动程序的实现,介绍驱动的移植和测试工作。
1USB 协议USB 是一种分层总线结构,并且由一个主机来控制。
主机用主/从协议来和外部USB 设备通信。
USB 上的通信主要有两个方向,分别是主机到设备的下行方向和设备到主机的上行方向,不支持设备之间的直接通信。
每个USB 设备都会有一个或者多个逻辑连接点,称为端点。
每个端点有4种传输方式:控制传输、等时传输、成批传输和中断传输。
但是端点0缺省用来传送配置和控制信息。
同样性质的一组端点的组合叫做接口,而同种类型的接口组合称为配置。
不同配置用于改变整个设备的设置,比如电源消耗等。
每次只能有一个配置处于激活状态,一旦某个配置被激活,里面的接口和端点都可同时使用。
配置、接口和端点的信息存放在称为描述符的数据结构中。
2驱动模块层次结构USB 驱动程序由主控制器驱动、USB 核心驱动和USB 设备驱动程序组成。
通常操作系统本身带有前面两个驱动程序,而开发者只需完成USB 设备驱动的开发工作。
它们之间的层次关系如图1所示。
USB 核心子系统连接USB 设备驱动和主控制器驱动,它通过定义一些数据结构、宏和功能函数来抽象下层硬件设备。
USB 核心子系统为硬件处理供下层接口(lowerAPI ),同时通过上层接口(upperAPI )为USB 设备驱动提供服务。
WinCE中的驱动程序开发一.实验目的1、熟悉WinCE中流式接口驱动程序的12个接口的功能。
2、掌握流式驱动程序的工作过程。
3、能够编写出流式接口的驱动程序。
二.实验内容使用VS2005的智能设备应用程序开发方法,进行网络通信的编程,并通信多线程技术实现服务器与客户端之间的文件传输。
三.实验设备及工具硬件:PC机一台;软件:Windows XP操作系统,VS2005开发环境,WinCE 6.0开发环境,或Windows Mobile 5.0 SDK四.实验步骤及说明(1)写出流式接口驱动程序的12个接口,及每个接口的功能。
答:见教材515页(2)写出流式驱动程序的工作过程。
答:第一步:加载驱动程序,主要有两种加载方式:(1)当系统启动时,设备管理器搜寻注册表的HKEY_LOCAL_MACHINE\Drivers\BuiltIn键下面的子键,并逐一加载该子键下的每一个驱动,此过程称为BusEnum;(2)应用程序可调用ActivateDeviceEx()函数动态地加载驱动程序。
第二步:设备管理器从注册表的dll键值中获取驱动程序所在的DLL文件名。
第三步:设备管理器调用LoadDriver()函数把该DLL加载到自己的虚拟地址空间中。
第四步:设备管理器在注册表的HKEY_LOCAL_MACHINE\Drivers\Active下,记录所有已经加载的驱动程序。
第五步:设备管理器调用驱动程序中的COM_Init函数,并把上一步中添加的注册表项的完整路径作为COM_Init函数的第1个参数传入驱动程序内。
第六步:在COM_Init中,通常须对硬件进行一些最基本的初始化操作。
通过以上的操作完成流式驱动程序的加载任务。
对驱动程序的操作:第一步:应用程序使用该设备。
首先,应用程序调用CreateFile(TEXT(“COM1”)….)打开设备。
然后,文件系统判断打开的是文件还是设备。
最后,如果打开的是设备,就将控制权交回设备管理器。
基于嵌入式WinCE的温度采样系统设计作者:吴秀明胡捷来源:《城市建设理论研究》2013年第21期摘要:本文提出了一种基于S3C6410嵌入式开发平台和DS18B20的智能数字温控系统的设计方法。
该系统通过数字温度传感器DS18B20将温度数据采集并存储,同时将温度信息通过串口传送至LCD输出显示,实现对当前环境温度数据显示和实时温度变化曲线的绘制。
系统测试表明,该系统操作简单,处理速度快,测量精度范围不超过±1℃,具备较高的实际应用价值,能够满足在特定场合下对实时温度的采集要求。
关键词:WinCE;S3C6410;DS18B20;温度采集;中图分类号:S611 文献标识码:A 文章编号:1 引言嵌入式系统是针对具体应用设计的“专用系统”。
它的硬件和软件具有高效的设计,力争在较少的资源上实现更高的性能。
与通用计算机相比,嵌入式系统以其体积小,功耗低,集成度高等优点广泛应用于军事国防,消费类电子,信息家电,工业控制等领域。
温度是工业生产中重要的参数之一,对温度的实时监测对于保证产品质量与安全生产尤为重要。
传统的温度采集系统由于存在响应慢、精度低、可靠性差、效率低等弊端,已经不能完全适应现代化工业的高速发展。
随着嵌入式系统的迅猛发展,设计高速度,高效率,低成本,高可靠性的温度采集系统成为当务之急。
基于以上两点,本文提出了以嵌入式系统硬件平台与WinCE6.0操作系统相结合的温度采样系统。
该系统具有处理速度快,测量精度高等特点,能够稳定运行在恶劣的工作环境。
2 系统硬件介绍本系统基于飞凌OK6410嵌入式平台,该平台集成了多种高端接口,如复合视频信号、摄像头、USB、SD卡、液晶屏、以太网,并配备温度传感器和红外接收头等外围设备接口。
采样系统硬件主要包括显示屏,数字温度计DS18B20以及基于ARM11处理器S3C6410。
ARM11处理器拥有强大的内部资源和视频处理能力,可稳定运行在667MHz主频以上,支持Mobile DDR和多种NAND Flash。
winusb设备的开发方法
开发WinUSB设备涉及一些复杂的步骤和概念,需要一定的专业
知识和经验。
以下是开发WinUSB设备的一般步骤和方法:
1. 硬件设计,首先需要设计和制造符合WinUSB标准的硬件设备。
这可能涉及选择合适的芯片、接口和电路设计。
2. 驱动程序开发,WinUSB设备需要相应的驱动程序来与Windows操作系统进行通信。
通常使用微软提供的WinUSB驱动框架
来开发驱动程序。
开发驱动程序需要熟悉Windows Driver Kit (WDK) 和 Windows Driver Framework (WDF)。
3. USB描述符配置,在设备固件中配置USB描述符,以确保设
备能够正确地与Windows系统进行通信。
描述符包括设备描述符、
配置描述符、接口描述符等。
4. 测试和调试,在开发过程中需要进行大量的测试和调试工作,确保设备和驱动程序的稳定性和兼容性。
可以使用微软提供的HLK (Windows Hardware Lab Kit) 进行测试。
5. 证书签名,最终的WinUSB驱动程序需要通过微软的数字签名认证,以确保安全性和兼容性。
这需要申请和获取相应的数字证书。
需要注意的是,开发WinUSB设备需要一定的专业知识和经验,包括硬件设计、驱动程序开发、USB协议等方面的知识。
此外,开发过程中可能会遇到各种问题和挑战,需要耐心和细心地解决。
最好的方法是参考微软官方文档和开发者社区的经验,以及与经验丰富的开发者进行交流和讨论。