AVR-HID:HID接口实现传感数据采集
2008-04-13 21:56
330 查看
因为系统自带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版本的实例代码。
另一个是Alan Macek版本的,Alan使用的单片机是PIC16C745,其固件是采用汇编编写的,我对汇编不感冒,所以没仔细看。Alan的主机端软件是Visual Basic编写的,也有VC版本的,他的一个网友Jim Koornneef将USB的开发包(DDK)封装成了一个C++类(usb.h、usb.c),用起来非常方便。
至于USB通讯的调试,如果没有一个合适的软件帮忙,将是非常头疼的,借助通讯数据监视软件,可以把调试的难度和工作量减少很多,在这一点上,Bus Hound是最常见和最被推崇的,就不罗嗦了。
Copyright © 2008
继续阅读《AVR-HID:HID接口实现传感数据采集》的全文内容...
分类: 奇趣创意 | Tags: 数据采集 USB | 添加评论(0)
PIC18F2550实现的基于HID的USB示波器 (2008-5-31 20:25:13)
USB键盘的“杀手级”恶作剧 (2008-4-12 21:59:8)
一个开源的usb主机协议栈 (2008-4-8 22:4:30)
一个利用SL811HS实现的usb host参考实例 (2008-4-7 22:7:56)
先从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版本的实例代码。
另一个是Alan Macek版本的,Alan使用的单片机是PIC16C745,其固件是采用汇编编写的,我对汇编不感冒,所以没仔细看。Alan的主机端软件是Visual Basic编写的,也有VC版本的,他的一个网友Jim Koornneef将USB的开发包(DDK)封装成了一个C++类(usb.h、usb.c),用起来非常方便。
至于USB通讯的调试,如果没有一个合适的软件帮忙,将是非常头疼的,借助通讯数据监视软件,可以把调试的难度和工作量减少很多,在这一点上,Bus Hound是最常见和最被推崇的,就不罗嗦了。
Copyright © 2008
继续阅读《AVR-HID:HID接口实现传感数据采集》的全文内容...
分类: 奇趣创意 | Tags: 数据采集 USB | 添加评论(0)
相关文章:
Google Code上两个LPC21XX开源项目 (2009-7-4 14:30:32)PIC18F2550实现的基于HID的USB示波器 (2008-5-31 20:25:13)
USB键盘的“杀手级”恶作剧 (2008-4-12 21:59:8)
一个开源的usb主机协议栈 (2008-4-8 22:4:30)
一个利用SL811HS实现的usb host参考实例 (2008-4-7 22:7:56)
相关文章推荐
- 【android开发】实现语音数据实时采集/播放
- java程序中调用摄像头实现jsp程序摄像头数据采集
- 使用Parcelable接口实现数据的序列化
- webdis实现Redis的http接口及多数据格式共享 [含json,restful] 推荐
- [转载] 使用IValueConverter接口实现自定义绑定数据的显示方式
- Java 基础数据类型 和 深度克隆对象的2种方法(实现Cloneable接口或者实现对象序列化)
- webdis实现Redis的http接口及多数据格式共享
- JavaScript iframe数据共享接口实现方法
- Java编程通过list接口实现数据的增删改查代码示例
- 接口动态数据实现如图嵌套循环解决方案
- 利用昆仑通态触摸屏实现数据采集和逻辑判断的例子
- OPENcv从相机采集图像数据-图像处理接口IPLIMAGE结构的指针
- C#实现对网站数据的采集和抓取
- 新手入门:巧用Webbrowser实现网络数据采集
- 使用 NodeJs 实现一个本地接口数据系统,无需数据库,让前端独立于后台开发
- 浅谈在asp.net mvc3中使用IValidatableObject接口实现Model数据验证
- php将HTML表格每行每列转为数组实现采集表格数据的方法
- 自己在项目中的学习总结:利用工厂模式+反射机制+缓存机制,实现动态创建不同的数据层对象接口
- 基于USB的嵌入式CCD图像数据采集系统的实现
- 用百度天气接口的实现安卓天气预报(json数据)