最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【转】AVR-HID:HID接口实现传感数据采集

USB crifan 2318浏览 0评论

【转】AVR-HID:HID接口实现传感数据采集

因为系统自带HID驱动,所以省去了上位机驱动开发的环节,对于一些简单的设备,这是一个非常经典的实现方案。本文涉及的内容很多,从下位机HID设备端的开发,一直延伸到上位机应用软件的开发。

    先从AVR-HID说起吧,AVR-HID利用usb的HID标准实现跟计算机的usb通讯,实现传感数据采集,可以支持Windows,Mac,Linux等多个操作系统。AVR-HID的核心是ATmega16单片机,提供了8通道10位ADC,实现传感采集。AVR-HID的固件采用标准C编写,跟昨天的恶作剧装备一样,也采用了AVR-USB库。

   大多数支持usb的操作系统都缺省安装了HID的驱动程序,所以上位机的驱动开发工作就避免了,可以直接使用系统自带的驱动。

    至于上位机应用软件的开发,也就是如何使用HID驱动的问题,可以参考《单片机与嵌入式系统应用》杂志的这篇论文基于HID类的USB人机接口设计,文章采用C8051F120微控制器和PDIUSBD12 USB控制器结合的方式实现HID,读完这篇文章,你可以对HID设备固件和应用软件开发有一个全面地初步认识。

   关于HID应用软件的开发,我还找到两个实例代码。

   一个是Jan Axelson版本的,Jan Axelson是书籍《USB complete》的作者,《USB complete》的中文版由电力出版社发行,叫做《USB大全》,在其《USB complete》的官方网站上,收集了大量跟usb开发相关的网络资源,涵盖了市场上常见的各种USB驱动器,包括Microchip系列、EZ-USB系列、Cypress系列,National Semiconductor的USBN9603、NXP的PDIUSBD12,同时还提供了大量的不同语言版本的USB应用软件的实例代码,包括Visual Basic .NET、Visual C#、Visual C++等等。从官网下载VC版本的实例代码。点击此处下载VC版本的实例代码 ourdev_427277.zip(文件大小:236K) (原文件名:usbhidio_vc6.zip) 

   另一个是Alan Macek版本的,Alan使用的单片机是PIC16C745,其固件是采用汇编编写的,我对汇编不感冒,所以没仔细看。Alan的主机端软件是Visual Basic编写的,也有VC版本的,他的一个网友Jim Koornneef将USB的开发包(DDK)封装成了一个C++类(usb.husb.c),用起来非常方便。

   至于USB通讯的调试,如果没有一个合适的软件帮忙,将是非常头疼的,借助通讯数据监视软件,可以把调试的难度和工作量减少很多,在这一点上,Bus Hound是最常见和最被推崇的,就不罗嗦了。

以上中文资料摘自:http://www.getproject.com.cn/post/34.html

转载请注明:在路上 » 【转】AVR-HID:HID接口实现传感数据采集

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.151 seconds, using 22.08MB memory