基于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所示
3USB固件程序设计本系统模块的USB固件程序采用符合ANSIC标准的GCC编译器设计,结合分层次的模块化结构,可移植性强