单片机和USB接口技术

发布时间 : 星期六 文章单片机和USB接口技术更新完毕开始阅读

USB_ D 12_Create():主要是用来在USB设备和驱动程序之间建立连接,当以打开文件的名义打开设备准备读写时,调用它。

USB_ D 12_pnp():处理即插即用的操作。 USB_ D 12_power():处理和电源相关的操作。

USB_ D 12_ Read()/USB_ D12_ Write():用来读写数据,把数据读到数据缓存区或把数据从缓存区写到端点专用寄存器,由此发往USB主机。

USB_ D 12_DeviceloControl():设备操作,一般是用来对硬件发出一些控制命令。 USB_ D 12_closeHandle():当用户关闭文件时,调用它清扫系统,卸载驱动程序。。 USB_ D 12_ AddDevice()第一次安装硬件(插上板子)时使用

USB_ D 12_ DriverUnload():卸载硬件时使用,当硬件完全卸载后,调用它清理此硬件在系统中留下的痕迹,释放全局变量中注册表路径字符串所占的内存。

以上是驱动程序中的几个重要的分发历程,只有上述这些例程正确执行,编译生成的*.SYS文件才是有效的,驱动程序才可以使用,设备才能和上位机通信。设备插上主机后,主机发现新硬件并提示安装驱动程序。

4.2.5 USB设备驱动程序的调用

USB设备通过客户驱动程序与设备打交道并响应内核或用户应用程序请求。在内核级,命令由客户驱动程序使用内部的IOCTL发送给USB系统,而不能用于用户态应用程序。最有用的IOCTL是IOCT_ INTERNAL USB_ SUBMIT_ URB,它发出USB请求块(URB)给系统USB驱动程序。URB允许发出多个功能调用给USB系统,通过URB进行与USB设备的大多数交互。用户只需在相应的分发例程中构造URB块(读取USB的描述表、选择配置和接口),并根据设备所支持的传输类型和设备自有的命令字将其通过USBDI发送下去,由USB类驱动程序处理所有的低层I/O,从而实现对USB设备的控制。

USB总线驱动程序由操作系统提供,它位于USB功能驱动程序的下面,负责与实际的硬件打交道,实现烦琐的低层通信。USB功能驱动程序由设备开发者编写,位于USB总线驱动程序的上面,不与实际的硬件打交道,而是通过向USB总线驱动程序发送包含URB (Request Block, USB请求块)的IRP (I/O Request Packet,IRP请求包),来实现对USB设备信息的发送或接收。采用这种分层驱动程序的方法有两个优点:

(1)多个USB设备可以通过USB总线驱动程序来协调它们的工作;

29

(2)编写分层驱动程序较之编写单一驱动程序相对简单,且可以节省内存和资源,不易出错。 整个驱动程序模型如图15所示。

图15 USB设备驱动程序的调用

USB设备驱动程序的工作原理可以通过图15单描述。若应用程序想对设备进行I/O操作,它便使用Windows API函数对WIN32子系统进行WIN32调用。此调用由I/O系统服务接收并通知I/O管理器,I/O管理器将此请求构造成一个合适的I/O请求包(I/O Request Packet IRP)并把它传送给USB功能驱动程序。USB功能驱动程序接收到这个IRP以后,根据IRP中包含的具体操作代码,构造相应的USB请求块 把该URP放到一个新的IRP中,并通过USBDI传送给USB驱动程序(USBD), USBD驱动程序根据IRP包含的不同传输类型将IRPs分解开来,并调用主控制器驱动程序来处理IRPs,同时将处理结果返还给I/O管理器,并最终返还给应用程序,从而实现了应用程序对设备的读写操作。

在此过程中,应用程序通过文件名(即设备名)和文件描述符找到设备驱动程序,驱动程序通过设备描述符和设备标识使用设备,三者为一链式调用方式。

功能驱动程序除负责处理应用程序的I/O请求外,还要处理PnP管理器发送给它的PnP请求(如设备启动请求IRP_ MN_ START_ DEVICE,设备删除请IRP MN REMOVE DEVICE等)。通过对这些请求的处理,USB功能驱动程序可支持设备的热插拔和即插即用功能。

30

结束语

通过实际系统的设计、开发和调试,我们觉得对于现在各种以串行口、并行口为接口的产品,都可以设计成带USB接口的产品。在硬件设计时,只需把串口控制芯片或并口控制芯片换成USB接口芯片即可。目前USB芯片的价格也不是很高,一般的只需十几元或几十元人民币即可,这样不仅没有增加成本,而且极大提高了数据传输速度,同时也使得系统具有USB所具有的支持即插即用、热插拔、灵活、方便等技术优势,极大地改善了系统的性能,给用户带来了极大的方便,尤其是适用于产品改造型设计。USB接口完全可以代替串行口和并行口实现数据传输。

限于我的水平和开发条件,该USB数据采集系统还有待改进和完善的地方。从实用性的角度来说,本系统的数据库管理软件还需进一步完善,操作界面可以采用更直观的图形化按钮;将AD转换的内核做到FPGA当中,将采集设备中的数字器件集成到FPGA中,会大大的简化电路,并且有利于将来系统的升级。也可以把 USB控制的核一并做到FPGA中,则电路将会更加简单,不过对于FPGA的工作量就会比较繁重一些。

USB2.0的出现极大地提高了USB的通信速度,但是,随着USB应用领域的逐渐扩大,人们对USB的期望也越来越高,希望USB能应用在没有PC的领域,这也正是USB的一个致命的弱点。为了解决USB的这一缺陷,USB组织在2001年12月正式发布了OTG 1.0协议,OTG全称为USB On-The-Go,是USB主机嵌入式化的一种实现。USB OTG技术己成为业界的热点并有着非常好的发展前景。OTG 1.0是USB2.0的补充协议,基本上符合USB2.0规范。符合OTG 1.0规范的设备完全抛开了PC,既可以作为主机,也可以作为外设,它可以与其他OTG设备直接实现点对点(Pear to Pear)通信。

另外,无线USB(WUSB)技术的提出是USB技术的又一革命性创新。2004年春季Intel技术峰会(美国)上,无线USB促进联盟(Wireless USB Promoter Group)宣布成立。这个联盟包括7家有相当实力的业界巨擎:Agere Systems惠普,英特尔,微软,NEC,飞利浦半导体和韩国三星。这个联盟的每个成员都被授权可以制订WUSB的详细规格。在详细规格上,已经达成共识的是每秒480Mb的传输速率,这一规格和有线的USB 2.0设备间高速传输规格维持一致。

WUSB将会提供适当的带宽,来满足一般的有线USB设备的连接要求。WUSB的带宽为480Mb/s,和现在的有线USB2.0标准是相同的。WUSB的目标是象无线电的发展一样,通过各种新的技术改进,逐步由开始的480Mb/s,达到l Gb/s的极限。当在设备之间或者设备与主机之间连接时,最大的距离不能超过10米,才能够保证高质、高速互相传输。

未来,WUSB将会向整合的方向发展,变成一个标准芯片组的一部分。如同有线的USB技术一

31

样,无线的WUSB将会提供一些USB所不能提供的功能。无线WUSB联盟正在努力的制订一个标准的规格书,同时,工业上也在开发WUSB产品,为消费者提供更好的方便性和移动性。无线USB的实现将把人们的生活全面带进无线环境当中。

参考文献

1 2 3 4 5 6 7 8 9 10 11 12

田良,王尧,黄正瑾,陈建元,束海泉·综合电子设计与实践·南京:东南大学出版社,2002 谢自美·电子线路设计、实验与测试·武汉:华中科技大学出版社,2000 康华光,邹寿彬·电子技术基础(数字部分) ·北京:高等教育出版社,2000

孙涵芳,徐爱卿·MCS-51/96系列单片机原理及应用·北京:北京航空航天大学出版社,1996 吴产乐·微机系统与接口技术·武汉:华中科技大学出版社,2002 吴延海·微型计算机接口技术·重庆:重庆大学出版社,1997

吕杨,刘瑞敏,邹金慧,蔡光程·微型计算机原理、接口及应用·重庆:重庆大学出版社,2000 沈美明,温冬婵·IBM-PC汇编语言程序设计·北京:清华大学出版社,1991 周明德·微型计算机系统原理及应用·北京:清华大学出版社

姚胜,徐淑华,崔刚·IBM-PC宏汇编语言程序设计·哈尔滨:哈尔滨工业大学出版社,1992 幸云辉·16位微型计算机原理及应用·北京:北京邮电大学出版社,1992

何立民·单片机应用系统设计、系统配置与接口技术·北京:北京航空航天大学出版社

Design on the basis of the high-speed data collecting system of the

one-chip computer and USB interface technology

Wang Rui The electric information engneering institute,Pan Zhihua College

Abstract Data acquisition uses a combination of PC-based measurement hardware and software to provide a flexible, user-defined measurement system. Data acquisition involves gathering signals from measurement sources and digitizing the signal for storage, analysis, and presentation on a personal computer (PC).As a new interface Specification.the Universal Serial Bus (USB) has the advantages of convenient、expansibility、low cost and anti—disturbance. So it is more fit for the communication interface between the host and available peripherals USB delivers an inexpensive, easy-to-use connection between data acquisition devices/instruments and PCs. This thesis mainly introduce the hardware and software design for the high speed data acquisition system based on USB.

Key words data acquisition;universal serial bus (USB);Single-chip processor

32

致谢

本文是在郑会军老师的指导下完成的,感谢老师这么久以来对我在学业上的悉心指导和生活上无微不至的关怀,我所取得的每一点成绩和进步都凝聚了老师对我的教诲和心血。导师严谨求实的治学态度、脚踏实地的工作作风、敏锐的思想给我留下了深刻的印象,成为我一生中一笔宝贵的财富,使我终生受益。

在整个设计的过程中,也得到了图书管理员和攀枝花学院2001级同学的帮忙和鼓励,他们提出了一些有益的建议,在此对他们表示诚挚的谢意,感谢所有关心过和支持过我的人们!

33

联系合同范文客服:xxxxx#qq.com(#替换为@)