- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVRUSB技术文档
AVRUSB技术探讨
作者:邵子扬、王育强、吕益光
摘要
本文介绍了一种独特的AVR单片机和计算机进行USB通信的方法:AVRUSB。介绍了AVRUSB技术的基本原理、特点、应用,同时还详细的介绍了AVRUSB系统的单片机软件开发和计算机软件开发的方法。
关键字:
AVRUSB,LibUSB,LibUSB-Win32
简介
AVRUSB是什么
AVRUSB技术是利用高性能的8位RISC架构的AVR单片机,使用单片机的IO口来模拟USB的通信端口,由软件来实现USB通信协议,将普通的AVR单片机模拟成一个USB低速设备,从而实现AVR单片机与计算机之间的通信和控制。
AVRUSB技术的基本原理就是利用AVR单片机的普通IO端口来模拟USB的硬件端口进行通信。因为低速USB设备的速度是1.5M位/秒,而AVR单片机是单指令周期的,在单片机使用12MHz的时钟频率时,正好是1.5MHz的8倍。也就是说,单片机每8条指令就精确完成一个数据位的采集。采用这种方法时,对单片机的时序要求非常严格,所以软件的核心部分代码完全由汇编语言实现。
AVRUSB的历史
AVRUSB技术最早的文档可见于AVR的官方应用笔记《AVR309 Software Universal Serial Bus (USB)》(软件USB)一文中。在这篇应用笔记里,详细的介绍了如何使用AVR单片机的普通IO口来实现USB通信,同时介绍了计算机的驱动程序以及计算机上用户程序的编程方法,并提供了全部源码。但是AVR309中介绍的单片机程序完全是使用汇编语言编写的,不利于将程序移植到其他应用环境中,也不利于程序的维护(毕竟使用汇编语言的人相对比较少,使用C语言编程是大部分人的选择),这使得其应用受到了很多限制。
后来,OBJECTIVE公司推出了AVRUSB。它以汇编语言实现USB通信的底层接口,用C语言实现用户层的程序接口。用户接口被简化为很简单的几个函数(在最简化的情况下,只需要三个函数,一个初始化函数、一个轮询函数和一个数据处理函数)和一个配置文件,用户可以完全不会使用汇编语言编程。同时它还提供了一个稳定而成熟的用户程序框架,用户可以在此框架的基础上,通过修改和扩展接口函数的功能来实现各种USB通信功能和控制功能,实现各种带USB接口的应用系统。并且,AVRUSB支持目前最流行的AVR GCC编译器和IAR C编译器,因此具有很强的实用性。
AVRUSB的特点
低成本
传统的单片机与计算机进行USB通信,需要使用专用的接口芯片进行USB协议转换,如CP2101、FT232、CH342、PDIUSBD12、SL811等。象CP2101、FT232这样的芯片使用起来虽然简单,但是功能比较单一;而PDIUSBD12、SL811功能较强,但是使用复杂。并且这些专用芯片的价格都相对较高,增加了系统的成本。而AVRUSB简单易用,成本低廉,只需要一个普通的低成本AVR单片机以及很少的几个外部元件,就可以组成一个USB系统。
AVRUSB的代码为AVR GCC编译器做了高度优化,同时也完全兼容于更专业的IAR C编译器。程序编译后在最小情况下还不到2KB,因此绝大部分的AVR单片机都可以使用AVRUSB(只要支持外部中断INT0,Flash容量不小于2KB就可以实现AVRUSB的功能)。这样在很多低成本的小容量AVR单片机上也可以使用AVRUSB,如ATtiny2313、ATmega45、ATmega48等,因此AVRUSB技术具有很高的实用价值。
资源丰富,容易开发
AVRUSB提供了一个完整而又简单易用、成熟稳定的应用程序框架。这个框架包括了底层(单片机部分)和上层(PC部分),单片机可以使用gcc(或者IAR)编程;PC上则可以使用各种通用编程软件,如Windows下使用VC、VB、Delphi、C++ Builder、BDS2006、GCC,Linux下使用GCC等等。用户可以在这个框架基础上添加和扩展各种功能,快速开发出适合于各种需求的单片机控制系统,而且AVRUSB支持Windows、Linux、MacOS等多种操作系统,具有很好的跨平台特性。
AVRUSB的应用
AVR单片机低成本、高性能的特性,使得AVRUSB非常适合于应用到USB加密狗、USB接口的系统控制、低速USB数据采集等,这样构成的具有USB通信功能的单片机系统比很多使用专用芯片的系统简单、成本低。
目前,AVRUSB已经成功应用到了很多产品上,比较有名的有:USBasp(USB接口的AVR编程器)、AVRCDC(USB转RS232串口)、USB Bootlader(USB接口的Bootloader软件)等。在http://www.obdev.at/product
您可能关注的文档
- 97年系所評鑑問答集.doc
- 5產業文化資產保存工作Ⅱ學習產業勞動智慧的厚度.ppt
- 98-2-3七年級國文科試題卷.doc(152KB).doc
- 991國一英文課程(三大出版社).doc
- 9(借位,減左方數目11-2=9).ppt
- 97年度「學海飛颺」鼓勵國內大學校院選送人才出國研修心得報告.ppt
- 863计划-中国科学院苏州生物医学工程技术研究所.doc
- 教授候補者応募に必要な書類-hsc.okayama.doc
- Access对象模型.ppt
- 教育部大專校院就業職能平台(UCAN).doc
- 2024年度安永全球另类投资基金调查报告.docx
- 2024年中国汽车产业出海回顾分析 -中汽信科国际化研究团队.docx
- 【民航局国际合作服务中心】马尔代夫民航业发展研究报告.docx
- 2025走向融合与深化的中国媒介市场报告-星传媒体.docx
- 2023Givaudan和ESG目的与性能.docx
- 中国民间应对气候变化行动故事集-教育故事.docx
- 2025AI制药市场规模产业链构成应用现状及AI制药公司分析报告.docx
- 医疗器械专题之基因测序:分子诊断掌上明珠,四代测序开启规模化应用时代.docx
- 2024年中央银行黄金储备调查报告 202406.docx
- 智慧芽 -2024第4季度全球潜力靶点及FIC产品调研报告.docx
文档评论(0)