McuPlayer的学习笔记 https://bbs.21ic.com/?292145 [收藏] [复制] [RSS]

日志

用Holtek USB MCU实现USB Device(3)

已有 1467 次阅读2006-9-4 03:09 |个人分类:HOLTEK单片机|系统分类:单片机

HOLTEK单片机的USB SIE承担USB通讯的很多协议层及其以下层次()的细节,
也就是说电气和协议层等USB spec的内容,只需粗略读一下即可。
而Firmware处理的多是Device Frame(spec ch9)的内容。

详细如下(其实很费话,因为几乎所有的USB MCU都如此,或者很类似)

USB SIE处理下面的工作:
1、转换接受到的编码数据,编码准备在USB总线上传输的数据。
2、硬件CRC检查和CRC产生。如果CRC错误,硬件不会ACK给HOST,并且设置FLAG
3、硬件自动更新、发送数据反转位,(Data1/0)
4、自动发送ACK或者NAK
5、SETUP/IN/OUT的Token自动识别,并设置对应的寄存器
6、把收到的数据保存到对应的FIFO
7、位填充、去填充
8、地址检查,只有与自己Address对应的数据才接受
9、端点检查,根据HOST的要求,设置对应的寄存器

Firmware需要做余下的工作:
1、通过响应来自的HOST的USB Request完成枚举
2、填充或者清空FIFO,完成数据的读写
3、挂起/恢复 USB Device 状态,通过USB SIE控制器存取
4、完成Remote wake up,如果需要的话
5、透过USB中断,依据各个Register的状态,branch到各个不同的处理路径

下面会介绍HOLTEK单片机的USB所对应的寄存器


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)