电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于AVR单片机的通用USB接口模块设计

基于AVR单片机的通用USB接口模块设计_第1页
1/8
基于AVR单片机的通用USB接口模块设计_第2页
2/8
基于AVR单片机的通用USB接口模块设计_第3页
3/8
精品文档---下载后可任意编辑基于 AVR 单片机的通用 USB 接口模块设计[日期:2008-6-25]来源:中电网 张洪,董秀成[字体:大 中 小] 1 引言 USB 接口以其数据传输快、连接简单、易于扩展、支持热插拔等特点已成为外设与 PC 通信的主要方式之一。随着嵌入式系统的开展,嵌入式微处理器需增加通用的 USB 接口,以便实现与 PC 等 USB 主机系统的通信。针对这样的需求,这里采纳 PHILIPS 公司的 USB接口器件 PDIUSBD12 和 Atmel 公司的 AVR 系列单片机 ATmega8 设计一种通用的 USB接口模块。该模块可方便为各种嵌入式微处理器增加 USB 接口,从而实现与 USB 主机系统的高速通信。2 系统硬件设计该系统模块的控制核心是 AVR 高速单片机 ATmega8。AVR 单片机是新一代基于哈佛结构的高速 RISC 微控制器,具有速度快、价格低、可靠性高,I/O 口线驱动能力强和片内集成外设资源丰富等特点,其内部集成有可进行 ISP 下载编程的 Flash,EEPROM、熔丝位和锁定位。AVR 单片机的 ISP 下载电缆制作简单、本钱低廉,还有免费的下载软件(例如PonyProg)支持。PDIUSBD12 是一款高性价比 USB 接口器件,完全符合 USB1.l 标准,易于与各种微处理器接口。系统模块 AVR 单片机与 PDIUSBD12 的电路连接如图 1 所示。精品文档---下载后可任意编辑由图 1 看出,由于 AVR 单片机具有高速性,可利用 I/O 端口线以软件方式模拟PDIUSBD12 的时序,对其读写。这种方式可根据不同的微处理器速度灵活控制PDIUSBD12 的时序和地址,无需译码电路,从而简化硬件设计,降低本钱。由于 ATmega8 片内集成了 UART,SPI,I2C 等接口,该接口模块可利用这些接口与其他系统通信,使得该接口模块成为通用的接口转换器。其系统硬件结构框图如图 2 所示。3 USB 固件程序设计本系统模块的 USB 固件程序采纳符合 ANSI C 标准的 GCC 编译器设计,结合分层次的模块化结构,可移植性强,只需略微修改硬件接口层即可将其移植到别的硬件平台,可重复利用代码。USB 固件程序设计是基于状态机和标准的前后台式程序架构。整个同件程序的模块化层次结构如图 3 所示。首先编写硬件接口层 hal.c 和 PDIUSBD12 器件的命令接口层,以供上层模块调用。硬件接口层含有对 PDIUSBD12 写指令和读写数据的函数,以供上层模块调用。当 CPU 不同时,只需修改这些函数即可。由于 CPU 访问 PDIUS-BD12 与普通存储器一...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于AVR单片机的通用USB接口模块设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部