- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USB模块电源系统 USB模块的电源系统内含双稳压器(3.3V和1.8V),当5V的VBUS可用时,允许整个MSP430从VBUS供电。作为可选,USB模块电源系统可以只为USB模块供电,可以为整个系统供电,也可以在一个自供电设备中完全不被使用。USB为整个系统供电时的结构框图。 Packet 格式(2/) Packet 格式(3/) Packet 格式(3)--Data PID Toggle(1) Data Toggle 用于数据的同步和重发 正确的数据传输流程 Packet 格式(3)--Data PID Toggle(2) Data Toggle 用于数据的同步和重发 当数据被破坏或者没有正确接收 Packet 格式(3)--Data PID Toggle(3) Data Toggle 用于数据的同步和重发 当ACK的传输被破坏 Packet 格式(4) 低速设备: 支持最多3个端点 全速和高速设备: 支持最多16个IN和OUT端点 Packet 格式(5) 11 位 主机每发出一个帧,帧号都会自加1 当帧号达到7FFH时,将归零重新开始计数 仅在每个SOF帧的帧首传输帧号 Packet 格式(6) 根据传输类型的不同,数据域的数据长度从0到1024字节不等。 Packet 格式(7) ?Token CRC 计算IN,OUT,和SETUP Token地址域的CRC 计算SOF Token的帧号域的CRC G(X) = X5+ X2+ 1 Data CRC 计算所有数据域数据的CRC G(X) = X16+ X15+ X2+ 1 Packet类型 Packet分四大类: 命令(Token) Packet 帧首(Start of Frame) Packet 数据(Data) Packet 握手(Handshake) Packet Packet类型(1): Token Packet Packet类型(2): Start of Frame Packet Packet类型(3): Data Packet Packet类型(4): Handshake Packet 传输类型 USB协议定义了四种传输类型: ? 控制传输(Control Transfers):突发,非周期性, 由主 机发起,用于命令和状态的传输。 ? 同步传输(Isochronous Transfers):周期性,持续性的 传输,用于传输与时效相关的信息,并且在数据中保存 时间戳的信息。 ? 中断传输(Interrupt Transfers):周期性,低频率,允 许有限延迟的通信。 ? 大容量数据传输(Bulk Transfers):非周期性,大容量 突发数据的通信,数据可以占用任意带宽,并容忍延迟。 USB 设备的状态(1) USB 设备的状态(2) USB 设备的插入检测 USB 设备枚举 当一个USB设备插入主机后,会有以下活动: USB分类 从传输速度上区分:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。不同的设备要求的传输类型不同 从传输类型上区分:同步传输、批量传输、中断传输和控制传输。 功能设备根据数据量和通信特点又进行了多达18种的详细分类,包括人机接口类(HID,如键盘、鼠标),图像类(如打印机、扫描仪),大容量存储设备类(MessStorage,如优盘)等。 注意:以上三种分类是典型分类方式,具体实物可以同时属于三类中的一种,比如鼠标既是低速设备,采用中断传输方式,又属于人机接口类。 MSP430 USB模块和函数库 在编程环境中,API被设计成自动适应选定设备。代码保持不变,但需选择正确的设备。三类USB设备(CDC/HID/MSC)共用一个USB分层,协议栈空间分为API空间和应用程序空间。 应用程序 发送和接收 事务处理 CDC API HID API MSC API USB API 应用程序空间 API空间 MSP430 头文件 PLL锁相环模块 PLL锁相环模块为USB操作提供高精度低抖动的48MHz的时钟。 USB API 利用TI官方提供的USB API,实验者只需要大概知道USB运行原理,会调用API即可,无需透彻理解USB协议,也可以容易地完成USB驱动开发。 所有的通信协议都是由API自动处理。应用程序开发之前,用户必须通过MSP430 USB描述符工具配置堆栈和USB描述符。用户没有必要修改API源代码 TI官方提供的库函数,如右图所示。 USB文件(1) 文件夹名称 文件文件 描述 USB_API / USB_CDC_API UsbCdc.h/.c CDC相关功能实现 USB_API / USB_Common defMSP4
文档评论(0)