- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MC9S08JM定制USB应用
应用笔记AN3564
使用MC9S08JM 定制USB 应用
——深入理解Freescale MC9S08JM 设备USB 协议栈
文件编号:AN3564
版本:0,08/2005
苏州大学飞思卡尔嵌入式系统研发中心翻译
2009 年 11 月
I
使用MC9S08JM定制USB应用
使用MC9S08JM 定制USB 应用 I
1. USB 协议栈简介 1
1.1 约束(限制) 1
2 .USB 模块概述 1
3 .协议栈的结构 2
3.1 主程序结构 2
3.1.1 系统初始化 2
3.1.2 主循环 3
3.1.3 USB 中断子程序 3
4.定制应用 5
4.1 端点声明 5
4.1.1 USB 描述符 5
4.1.2 管道 5
4.1.3 USB 内存访问 5
4.1.4 端点使能 6
4.1.5 枚举工程 6
4.2 发送及接收数据 7
4.2.1 怎样发送数据 8
4.2.2 怎样读取接收到的数据 8
5. USB 应用启动 9
6 USB 和外设桥(SPI、IIC 、SCI)通信 10
6.1 应用描述 10
6.2 应用配置 10
6.3 桥协议 10
6.4 如何使用协议栈 12
II
USB模块概述
1. USB协议栈简介
MC9S08JM 是Freescale Flexis 系列MCU 中的一部分。Flexis 系列包括8 位和32
位的微控制器,它们引脚兼容、使用同样的开发工具并且有相同的外围设备。Flexis 连
接了Freescale 控制器,使得8 位和32 位兼容成为现实。
8 位MC9S08JM 系列MCU 包含片内收发器的全速USB2.0 模块。提供了同类中最
好的USB 模块性能、系统集成以及软件支持。MC9S08JM 系列MCU 的USB 模块有7
个端点、256 字节的RAM 。
启用USB 的设备需要软件支持以允许在设备和主机之间通信事务。尽管像物理信
号和一些数据过滤这些USB 模块实现了,但还需要软件控制这些层。这就是USB 协议
栈。它处理一些事务像USB 模块配置、USB 枚举、事务类型设置、端点处理以及发送
接收数据等。该协议栈可以使得配置完成后,用户代码简单以加速应用开发。
本文描述了Freescale MC9S98JM 设备USB 协议栈的软件结构,阐明了怎样配置它
并指导用户快速开发USB 应用。为了更好了理解该文档,需要基本理解USB 协议。
1.1 约束(限制)
本文及软件协议栈覆盖了使用MC9S08JM USB 模块传输信息的基本要素。除了端
点配置外不包括像批量、中断、同步传输这样的高层传输。对于完全的实现,请参考
MC9S08JM 的CMX 协议栈中的USB-Lite 、AN3565 、USB 以及使用MC9S08JM 的CMX
文档评论(0)