1 USB 简介
USB 外设实现了全速USB2.0 总线和APB1 总线之间的接口。
USB Device 可以配合USB Host 特殊驱动来停止设备时钟,使USB 设备进入低
功耗。
2 USB 外设特点
符合USB2.0 Full-Speed
高达8 个USB 端点
CRC 校验,反向不归零编码、解码和位填充
支持同步传输
支持批量传输、同步传输的双缓冲区加速
支持USB 挂起与恢复操作,可以实现低功耗
生成帧锁定时钟脉冲
注: USB 和CAN 共用一个专用的512 字节的SRAM 存储器用于数据的发送和接收,因此不能同时使用
USB 和CAN,也就是共享的SRAM 被USB 和CAN 模块互斥地访问。
下面为USB 框图:
3 USB 功能描述
USB 外设提供了一个符合USB-IF 认证兼容连接的USB Device。USB Host 和该
外设之间的数据传输是通过共享专用的SRAM 实现,该SRAM 能被USB 外设
直接访问。端点数目和每个端点最大的数据分组大小决定了USB 外设专用
SRAM 的容量,每个端点最大可使用512 字节,多达16 个单向或8 个双向端点
可以使用。USB 外设同Host 主机通信,根据USB 规范实现令牌分组的检测,数
据收发的处理,和握手分组的实现。整个传输的格式自动完成,软件只需解决用
户数据处理问题。
一个缓冲区描述块对应一个端点,该块用于描述对应端点使用的缓冲区地址、大
小和需要传输的字节数信息。当USB 外设识别出一个有效的端点的令牌分组时,
就可以进行数据传输。USB 外设通过一个内部的16 位寄存器实现端口与专用缓
冲区的数据交换。在所有的数据传输完成后,如果需要,则根据传输的方向,发
送握手分组。在数据传输结束时,USB 外设将触发与端点相关的中断信号,通
过读状态寄存器和或利用不同的中断处理程序,MCU 可以确定:
第几个端点需要服务
发生的事务类型(如位填充、格式、CRC、协议、缺失ACK、
缓冲区溢出/缓冲区未满等错误时)
USB 外设对同步传输模式和批量传输提供了双缓冲区机制,加速传输。
在不需要使用USB 外设时,通过写CNTR 寄存器总可以使USB 外设处于
SUSPEND 模式。在这种模式下,无静态电流消耗,USB 时钟也会减慢甚至停止。
通过对USB 数据线检测,可以在低功耗模式下重新使USB 外设正常工作。也可
以将特定的中断输入源连接到唤醒引脚,以使系统能立即恢复正常的时钟系统。
|