微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于USB的家电自动化

基于USB的家电自动化

时间:04-24 来源:互联网 点击:

四种不同类型的数据传输:

  1. 控制传输方式。控制传输在设备插入时对其进行配置,并能用于其他的设备特定用途,诸如对设备上的其他通道进行控制等。

  2. 批量传输方式。在数据的产生和使用量相对较大时采用批量传输方式。

  3. 中断传输方式。中断传输用于及时且可靠的数据传送。例如,具有人类可感知反应或反馈响应特征的字符或坐标,等等。

  4. 同步传输方式。同步传输方式在预先约定的传输延迟时间占用预定的USB 带宽。同步传输也称为"流实时传输"。

  A 型USB 连接器专用于数据下行传输,即,数据从设备传输到主机。所以,A 型连接器位于设备上。

  B 型USB 连接器专用于数据上行传输,即,数据从USB 主机传输到设备或从集线器传输到设备。B 型连接器位于主机和集线器上,如图2 所示。

  有时为了使占用空间更小,可以使用微型USB 连接器。

  

  USB 设备通过拉高D+ 或D-端线电平来指示其速度,最高为3.3 伏。全速设备在D+ 端接一个上拉电阻表明它是全速设备,如图3 所示。

  

  如果没有上拉电阻, USB 就假定总线上没有连接任何东西。有些设备中,上拉电阻是内置的,能通过固件开启和关闭。另一些设备则需要外部上拉电阻。在这种情况下,通过固件进行速度控制会受到限制,并且要求另外对外部中继服务进行实现与编码。

  低速设备在D-端连接上拉电阻,表明其为低速设备,如图4 所示。

  最开始,高速设备被当作全速设备进行连接(D+ →1.5k 至3.3V)。初始连接之后,设备在复位时将发出高速的啁啾声,然后与主机建立高速连接。一旦设备经初始化进入高速模式,上拉电阻就被禁用。

  USB数据流模式:枚举在设备可以与应用进行通信前,USB 主机需要了解设备状态并给它分配设备驱动程序。实现这一初始信息交换的过程就叫作枚举。在枚举过程中,根据USB V2.0 规范的定义,设备将经历以下设备状态:

  1. 上电状态(Powered)

  2. 缺省状态(Default)

  3. 地址状态(Address)

  4. 配置状态(Configured)

  另外还有两个USB 设备状态,"连接状态"(attached)和"挂起状态"(suspended)。枚举过程的具体细节超出了本文的范围;不过,在设备配置中使用的命令与结构是相关的。

  描述符是让USB 主机能获取设备信息的数据结构。在枚举过程中,主机请求描述符,从最上层设备描述符开始,一直到最低层端点描述符,顺序如图5 所示。

  

  枚举过程

  下面概述一下USB 设备的枚举过程所包含的步骤,并讲解设备在枚举过程如何经历从上电到缺省、地址以及配置这几个状态。

  1. 用户将一个USB 设备插入USB 端口。主机为端口供电,设备此时处于上电状态。

  2. 主机检测设备。

  3. 集线器使用中断通道将事件报告给主机。

  4. 主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。

  5. 集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status 请求的响应。

  6. 主机发送Set_Port_Feature(写端口状态)请求给集线器,要求它复位端口。

  7. 集线器对设备复位。

  8. 主机使用Chirp K 信号来了解全速设备是否支持高速运行。

  9. 主机发送另一个Get_Port_Status 请求,确定设备是否已经从复位状态退出。

  10. 设备此时处于缺省状态,且已准备好在零端点通过缺省通道响应主机控制传输。缺省地址为00h,设备能从总线获取高达100mA 的电流。

  11. 主机发送Get_Descriptor(读设备描述符)报文,以便确定最大数据包大小。设备描述符的八个字节是bMaxPacketSize。

  12. 通过发送Set_Address(写地址)请求,主机分配地址,设备此时处于地址状态。

  13. 主机发送Get_Descriptor 报文,以获取更多的设备信息。主机通过发送描述符响应设备请求,随后发送全部的次级描述符。

  14. 主机分配并加载设备驱动程序。

  15. 通过发送Set_Configuration(写配置)请求,主机的设备驱动程序选择一个有效配置。设备此时处于配置状态。

  16. 主机为复合设备接口分配驱动程序。

  17. 如果集线器检测到有过流现象,或者主机要求集线器关闭电源,则USB 总线切断设备供电电源。在这种情况下,设备与主机无法通信,但设备处于连接状态。

  18. 如果在3 毫秒内设备在总线上未见任何动作,则它将进入挂起状态,在挂起状态设备消耗的总线电能最少。

  USB 协议层

控制传输使主机和设备之间可以交换设备配置信息和其他控制信息。控制传输在低速和全速传输运行时占用10% 的带宽,在高速运行时占用20% 的带宽。控制传输由设置阶段、可选的数据阶段

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top