C2837x入门指南(二十四)—通信系统之USB
Loading the player...
将在30s后自动为您播放下一课程
接下来我们讲讲通用串行总线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中找到 好
接下来我们讲讲通用串行总线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中找到 好
接下来我们讲讲通用串行总线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中找到
好
接下来我们讲讲通用串行总线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中找到 好
接下来我们讲讲通用串行总线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中找到
好
视频报错
手机看
扫码用手机观看
收藏本课程
视频简介
C2837x入门指南(二十四)—通信系统之USB
所属课程:C2837x入门指南
发布时间:2016.07.12
视频集数:28
本节视频时长:00:09:16
C2837x概述;芯片架构; 开发环境;外设寄存器操作;复位和中断;系统初始化;模拟子系统 ADC DAC CMP SDFM;控制类外设PWM CAP QEP。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>