(24) -通信系统之USB

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • (24) -通信系统之USB
  • 登录
接下来我们讲讲通用串行总线USB接口 在部分的C2000芯片里面 它是包含USB控制机的 比如[听不清]里面的2806X 2807X [听不清]里面的2837XS 和2837XD 我们的USB控制器是符合USB2.0协议的 包括和挂起和恢复的信号 每个USB控制器 包含了32个端点 其中16个用于输入 16个用于输出 USB的工作速度是不同的 在不同模式下 是不同的 在device模式下 它工作在12兆的全速模式 在主机的host模式下 它可以工作在 12兆的全速模式下 也可以工作在1.5兆的低速模式下 我们看看下面这个框图中 是我们USB控制器的一个系统框图 从这个框图 我们看到 它是包含几个部分 首先 是我们的端点控制器 还有我们的片内集成的fire部分 还有我们的数据包的解码 和编码部分 还有我们的RAM控制器 以及CPU的接口 DMA的控制器 其中DMA这块的话 主要是使能 让我们的USB接口 能支持我们的DMA总线的 支持DAM总线带来的一个好处是我们的访问的效率 或者传输的效率会极大提高 其中我们有六个端点是可以来独立产生DMA的一个请求 三个是输出 三个是输入 USB所有的标准协议都是由USB-IF 应用者论坛 来制定的 USB-IF定义了通用USB标准化的接口 比如把标准接口分为HID MSC大容量存储类 CDC通用设备的 还有DFU设备固件升级的这些 其实从本质上讲 USB是一个叉分的异步串行通信接口 它支持的是NRZI的编码方式 USB是一个叉分的串接通信 因此它只需要两根线 一个D+ 一个D- 其实我们在很多的USB接口中 它一般是D+ D-加上一个电源 四根线 就可以了 USB总线的话 也是一个以总线为主机的连接方式 接下来看看USB总线通讯的架构 USB2.0支持的话是一个基础的网络结构 其中六层是host 最后一层是设备层 在USB总线上 我们所有的设备分为三种类型 一种是host 我们的主机 device我们的设备 从机的设备 hub既不是主机也不是设备 既不是主机也不是从机 它只是总线上用于扩展的一个设备 在USB2.0里面 它支持六层结构 第一层是主机 第二层是主机的hub 主机的hub接的是下面的一层 也就是第三层的hub 以及第三层上的设备 依次往下推 每个Hub扩载到下面一层 USB的总线相当于是一个金字塔类型的 上面是主机 最下面是device中间是device加hub 来组成的各个层次 那么主机是USB总线上的中心 只有主机能跟踪总线上的其他设备 只有主机能启动所有的事件 发起传送 从机相当于我们的device 只是响应主机的命令 这样的一个架构 整个USB总线 整个实施的过程非常简单 非常便宜的 接下来我们讲讲USB里面最重要的一个特点 就是枚举类型 枚举就是我在USB总线上接入一个新的设备的时候 主机对这个设备辨识 然后给它分配地址 包括提供驱动程序等等 以及最后完成 将这个设备接入到 我的总线里面来 这样一个过程就是枚举 由于枚举的特性 我们的USB能得到非常广泛的应用 主机如何检测到一个新设备的插入 这就是我们的hub的作用 每个hub上有两根信号线 每个线上都有15k欧姆的下拉电阻 每个电阻都是1.5千瓦的上拉电阻 当我的设备接到我的hub上来的时候 设备上的上拉电阻会让hub上的信号线 电位上拉 被上拉后 被我的hub检测到 主机检测到这样一个电流变换 就有新的设备进入的时候 主机会发起一阵轮循 轮循的一个过程 来查询我接入的设备的传入的速率啊 它的最高的数据化的程度啊 等等这些属性 根据检测到的属性 主机会建立一个通讯的链路 给这个设备分配一个地址 并且根据设备是否需要提供驱动程序 根据它的需求 来提供驱动程序 这个过程直到最后 设备接入进来 并且能跟它通讯 是一个完整的过程 是一个枚举 通过这样一个枚举 任何一个设备 都可以插入总线上非常方便了 这也是USB它支持热插法的功能 我们看看C2000上的USB 它在硬件上是怎么接线的 在USB总线上 一般有三根线 一个D+ D- Vbus Vbus是监视我的总线上的电压 信号 其实在大部分应用中 Vbus其实并不需要 因此在我们的C2000 USB控制器里面 我们只固定分配了D+ D-的两根总线 Vbus假如在某些特定情况下 比如你设计一个自己提供电源能力的USB控制器的话 它需要VBUS 这种情况下 我们用一个GPIO口 来完成电压的监控 其实C2000的IO口是支持3.3V的 所以USB直接接5伏的话 会烧坏我的USB口 所以我们建议在GPIO口上串一个100K 欧姆的电阻 但如果我的电压超过GPIO能承受的3.3伏或者0伏的时候 我的GPIO口并联两个ESD的二极管 会被打通 其他一个保护作用 刚才也说了 VBUS这个电压检测功能 只有在自供电的应用中才需要 在其他功能中 我们只需要D+ D-就好了 而且我们的D+ D-具有特殊的缓冲 因此可以支持USB的高速需求 器件上的位置 是不可以自由选择的 是固定的两个口 总结一下 USB的控制器 主要有几点 一个是USB控制器支持USD2.0通讯协议的 能运行在高速模式下 使用device模式 device模式可以运行在高速模式下 作为从主机 既可以工作在12兆的全速模式 也可以工作在1.5的低速模式下 它支持DMA 我们提供的所有USB样例例子 都可以在controlSUITE中找到
课程介绍 共计28课时,4小时27分22秒

C2837x入门指南

TI C2000 MCU PWM F2837xD ADC DAC DMA CLA C2837x CMP SDFM CAP QEP c28x

F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。

推荐帖子

28335在线更新程序的问题,flash_api code调用擦除函数返回值为24
如题: 我的烧录方法是: 将ti官方提供的flash_api code工程依据自己的需求做合适的修改,编译并转换成16进制的机器码。 然后再应用程序cmd文件中定义相关的flash段,将16进制的机器码以一个数组的形式存放到分配的段里。 上位机是sdflash,sdflash向dsp发送烧录命令时,应用程序将16进制的机器码从flash段复制到ram中,然后跳转到flash_api cod...
anyber 微控制器 MCU
[TI首届低功耗设计大赛]+低功耗测试+430BOOST-Nokia1202lcd+0.1F超级电容低功耗测试
本帖最后由 IC爬虫 于 2014-11-14 13:55 编辑       接触430很久了,但一直以来对430的低功耗的特性有一个比较清晰的认识,看到很多使用TI官方的夏普LCD扩展板在0.1F的超级电容供电的条件下可以运行非常的久非常的羡慕,我使普通的单色LCD仿照这那个板子也做了一个一块扩展板,写了一个简单的程序测试一下仅使用0.1F的超级电容的...
IC爬虫 微控制器 MCU
德州仪器:TMS320DM365 数字媒体处理器示例
$('swf_jlU').innerHTML=AC_FL_RunContent('width', '550', 'height', '400', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', encodeURI('http://player.youku.com/player.php/sid/XMjc4MzUx...
德仪DSP新天地 DSP 与 ARM 处理器
[TI首届低功耗设计大赛]+slider触摸移植
[TI首届低功耗设计大赛]+slider触摸移植 一、硬件说明: 二、程序移植: 1 、管脚初始化: // CapSense Setup. GPIO pins P1.3-1.5 and P3.4-3.6 are used for capacitive touch so let's     // switch them to inputs.   &nb...
蓝雨夜 微控制器 MCU
分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved