首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   基于USB接口的数据采集系统设计      ★★★ 【字体: 】  
基于USB接口的数据采集系统设计
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:39:18   点击数:[]    

2.4.2 驱动程序设计

驱动开发工具有DDK和第三方开发工具。其中DDK开发难度最大,第三方开发工具有DriverStudio和Windriver等。DriverStudio难度适中,而Windriver则属于应用层驱动开发,难度小,但效率低,并存在发布问题。

DDK驱动程序开发工作包括:开发环境设置(VC编译环境)[5]、驱动程序设计[6]、安装文件(INF文件)设计。

驱动程序设计采用WDM(Windows Drive Mode)。WDM设备驱动程序提供了一个参考框架,大大降低了由DDK书写驱动程序带来的难度。

D12驱动使用的例程包括:DriverEntry、AddDevice、DispatchPnp、DispatchRead、DispatchWrite和DispatchDeviceControl例程, 以下是D12的WDM驱动程序函数:

DriverObject->MajorFunction[IRP_MJ_CREATE] = D12_Create;

DriverObject->MajorFunction[IRP_MJ_CLOSE] = D12_Close;

DriverObject->DriverUnload = D12_Unload;

DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL;

=D12_ProcessIOCTL;

DriverObject->MajorFunction[IRP_MJ_WRITE] = D12_Write;

DriverObject->MajorFunction[IRP_MJ_READ] = D12_Read;

DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL;

DriverObject->MajorFunction[IRP_MJ_PNP]=D12_Dispatch;

DriverObject->MajorFunction[IRP_MJ_POWER]=D12_Process-PowerIrp;

DriverObject->DriverExtension->AddDevice=D12_PnPAddDevice;

驱动程序与应用程序和硬件之间通信都是IRP(I/O请求包)完成的。IRP_MJ_PNP主要是实现USB即插即用,例如设备的添加、删除和资源的分配;IRP_MJ_POWER实现电源管理,例如设备的挂起和唤醒;IRP_MJ_CREATE(创建)、IRP_MJ_CLOSE(关闭)、IRP_MJ_

DEVICE_CONTROL(设备控制)、IRP_MJ_WRITE(读)和IRP_MJ_READ?穴写?雪是主要完成数据通信的函数,实现管道的创建、关闭和数据读写。其中设备控制具有输入输出缓冲区,可实现读和写功能;AddDevice和DriverUnload实现设备管理,在设备添加和卸载时,创建和删除设备,以及管理资源分配。

驱动程序通过安装文件(.inf文件)中PID(产品识别号)和VID(厂商识别号)识别USB设备。

2.4.3 应用程序设计

主机应用程序的编写使用VC编译环境中的API函数实现。

应用程序的编程方法与串口编程类似。首先必须查找设备,打开设备的句柄;然后进行读写和控制操作;最后是关闭设备句柄。为了提高效率,可使用多线程技术实现读写。

应用程序通过GUID(注册表驱动唯一识别号)查找驱动程序。

2.5 调 试

首先是固件调试,可用仿真机完成,驱动开发工具Windriver也是很好的固件调试工具,例如测试标准请求、厂商请求和管道读写。其次是驱动调试,这是USB接口开发最困难的部分,调试工具可用DriverStudio中Softice工具和文献[6]中DebugPrint跟踪工具,监视工具Bus Hound可监视USB的实际数据传输情况。需要注意的是,驱动调试必须在应用程序正确调用的前提下。

2.6 USB传输速度

主机每过1ms发出一个SOF(起始帧),四种USB传输类型都分布在1ms的帧内。所以为了提高传输速度,可加大端点缓冲区的大小和使用双缓冲(有些芯片还有四缓冲),在1ms内尽量多传输数据;采用DMA传输方式,USB设备不通过微控制器直接完成数据传输,当然相应硬件和软件开发的难度增加;如果单片机数据加载速度较慢,则可考虑使用高速指令的单片机;如果速度要求在1MB/s以上,则考虑采用USB2.0接口芯片。

本文以USB接口程序在16路温度采集系统中的应用为例,介绍了USB的接口标准和程序设计。该系统经过一段时间运行,稳定可靠,目前已广泛应用于航空电子设备的测温系统。




上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:采用滚动数码的鼠标概念防窥视密码键盘

  • 下一篇文章:焊缝检测系统中PCI总线高速数据采集卡的设计
  • 返回上一页】【打 印】【关闭窗口
    中查找“基于USB接口的数据采集系统设计”更多相关内容 5VAR论文频道
    中查找“基于USB接口的数据采集系统设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››基于USB2.0的高速同步数据采集系统...
  • ››基于USB2.0的同步高速数据采集器的...
  • ››基于USB接口的心电信号数据采集系统...
  • ››基于USB总线的实时数据采集系统设计...
  • ››基于USB2.0的MPEG视频卡的设计与实...
  • ››基于USB总线的高速数据采集系统
  • ››基于USB2.0的高速无线数传接收设备...
  • ››基于USB的CAN总线适配器设计
  • ››基于USB与DSP的指纹识别系统的设计...
  • ››基于USB总线的机器人上下位机通信
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .