多功能USB组合设备的结构设计

发布者:huanran最新更新时间:2016-04-25 来源: jlck关键字:USB  组合设备  结构设计 手机看文章 扫描二维码
随时随地手机看文章
  引言

  随着USB通信技术的不断发展,USB接口得到了广泛的应用。单一功能的USB设备,如USB键盘、USB鼠标、USB调制解调器等,已经不能满足人们对USB设备功能的要求。多功能的USB设备正不断涌现出来,常见的有带话筒的USB摄像头、USB可视电话等。因此,研究多功能USB设备对于满足人们对新型USB设备的需求是十分必要的。

  1 多功能USB设备的结构模型

  多功能USB设备通常是通过单个或多个USB控制器连接不同类型的设备来实现的。而在一个USB接口上实现多个设备有两种方法:一种是复合设备(Compound Device),一种是组合设备(Composite Device)。图1和图2分别给出了复合设备和组合设备的结构模型。

  实际上,USB设备应该被视为不同的功能。多个功能可以被封装在一起形成一个物理设备。所以复合设备其实就是几个设备通过一个USB Hub形成的单一设备,复合设备内的Hub和与Hub相连的各个功能会分配各自的设备地址。组合设备也就是具有多个接口的设备,每个接口代表一个独立的设备,但是组合设备只有一个设备地址。

  采用复合设备方法开发多功能USB设备时,其开发过程同开发两种不同类型的USB设备相同,开发难度较低。本文重点介绍组合设备的设计方法,并举例加以实现。

  2 组合设备的设计方法

  2.1 组合设备的特点

  USB组合设备是指具有多个接口且接口间相互独立的USB设备。一个USB设备只有一个设备地址,可以将不同的功能与不同的接口对应,来开发多功能USB设备。

  组合设备采用一个USB控制芯片,同时接A设备和B设备。主机可以同时与A设备和B设备通信。

  2.2 组合设备的描述符结构

  如图3所示,以两个接口的组合设备为例,来说明组合设备的描述符结构。一个设备描述符下有一个配置描述符,一个配置描述符下可以有多个接口描述符,分别对应不同的设备。每个接口描述符下又包含多个端点描述符。一个USB逻辑设备对USB系统来说就是一个端点集合。端点可以根据它们实现的接口来分类。所有的USB设备都需要实现一个缺省的控制方法。这种方法将端点0作为输入端点,同时也将端点0作为输出端点。USB系统用这个缺省方法初始化及一般地使用逻辑设备(即设置此设备)。设备可以有除端点0以外的其他端点,这取决于这些设备的实现。低速设备除端点0外,只能有2个额外的可选端点。而高速设备可具有的额外端点数仅受限于协议的定义。除缺省控制通道的缺省端点外,其他端点只有在设备被设置后才可使用。而且除端点0外,其他端点在不同接口间不能共享。

  组合设备使用一个USB控制芯片,通过控制不同的接口与不同的设备进行通信,解决了主机与组合设备内各个设备数据流的区分问题。

  3 组合设备的硬件实现

  3.1 USB接口部分

  设备采用Holtek公司的8位USB多媒体键盘编码器HT82K95E作为本系统的核心。鼠标、键盘等HID类设备为低速设备,所以该设备要能同时实现鼠标和键盘数据同PC机的双向传输,MCU首先必须具有低速的USB接口,并且支持3个端点(包括端点0)。综合考虑,选用了HT82K95E作为本系统的主控芯片。由于鼠标和键盘均属于低速设备,所以应在USB信号线上加1.5kΩ的上拉电阻。

  3.2 MCU部分



  USB接口部分原理图如图4所示。MCU的复位电路采用由R1和C1组成的RC积分电路来实现上电复位功能。上电瞬间,由于电容电压不能突变,所以复位引脚为低电平,然后电容开始缓慢充电,复位引脚电位开始升高,最后变为高电平,完成芯片的上电复位。HT82K95E微控制器内部还包含一个低电压复位电路(LVR)用于监视设备的供电电压。如果设备的供电电压下降到0.9VLVR的范围内并且超过1 ms的时间。那么LVR就会自动复位设备。

  应当注意的是,对于该设备的复位电路,还应加一个BAT54SW二极管,接法如图4中D1所示。如果不加D1,设备在第一次使用时能够正常复位,但在以后的使用中却无法正常复位,原因是电容中的电荷无法释放掉,而D1可以通过整个电路快速释放掉电容中的电荷。

  该组合设备采用HT82K95E USB控制芯片,通过对两个接口的管理,实现了鼠标和键盘的功能。

  4 固件设计

  USB固件程序是USB设备功能的核心。对于HID设备,其主要的功能设计都是在固件程序中进行的。这里采用Holtek C语言进行带键盘的鼠标组合设备的开发。

  HT82K95E芯片的ROM空间是按页(page)来划分的,1页为256个字。这样,整个ROM空间正好划分为若干连续的页。单片机ROM中的任何区域都可以用来查表。在这里只介绍Holtek C中的一种查表指令:TABRDL[m]。该指令用于查ROM中最后1页的数据。HT82K95E具有表指针寄存器TB HP,在使用TABRDL指令时,TBHP默认为最后1页的首址高位。通过查表,表格的低位字节送入[m],高位字节送入TBLH寄存器。

  在固件设计中,将描述符存储在ROM的最后1页,当主机请求设备的各种描述符时,通过TABRDL指令将描述符从最后1页取出,并传送给主机,完成设备的枚举过程。该组合设备的描述符在下面给出。


  ASM_CONFIG_LEN为配置描述符的大小,其值为配置描述符、接口描述符、HID描述符和端点描述符的大小的总和。ASM_ENTlTY_LEN_0为鼠标报告描述符的大小,ASM_ENTITY_LEN_1为键盘报告描述符的大小。描述符中其他各项的意义在本文中不作详细解释,通过使用周立功公司的USB分析仪USBAnalyser,可分析出该组合设备的枚举过程流程,如图5所示。

  结语

  本文简要分析了多功能USB设备两种结构模型的不同,重点介绍了组合设备的设计方法。基于该设计方法,采用Holtek的8位单片机HT82 K95E芯片设计了一款鼠标键盘组合设备。在开发此组合设备的过程中,可以分别调试两个接口,如果每个接口都可正确运行,接着就可编写两个接口的描述符,实现组合设备的功能。组合设备对USB控制器可提供的端点数量和这些端点所支持的传输类型有所限制。USB控制器需较好的支持设备A和设备B间的传输协议。目前,不少芯片厂商也逐渐提供了组合设备的芯片方案。

关键字:USB  组合设备  结构设计 引用地址:多功能USB组合设备的结构设计

上一篇:基于J1939的汽车CAN总线教学实验系统
下一篇:基于现场总线技术的网络建设浅析

推荐阅读最新更新时间:2024-05-03 00:20

利用USB供电的单节NiMH电池开关模式充电器电路设计
     虽然表面上Li+电池已经占据整个便携世界,但NiMH电池并没有被完全遗弃。令人吃惊的是,尽管单位重量的能量仍然有较大差距,但其单位体积的能量仅比Li+电池低大约15%。NiMH电池的最大缺点是自放电率较高,混合型NiMH电池在很大程度解决了这一问题,例如SANYOEneloop电池,静态下一年之后仍然能够保留85%的电量。NiMH电池的吸引力在于成本低、安全性高、用户更换方便等,至少标准电池具备这些优势。   图1所示便携设备由一节AA型NiMH电池供电,利用USB充电。充电器开关频率大约为150kHz,电池充电电流为1.1A (典型AA型NiMH电池在大约0.5°C条件下)。由于降压转换器将5V、500mA转换成电
[嵌入式]
USB 3.0供电电路设计的关键考量
  针对USB-IF对USB 3.0的重大更新规格中,USB 3.0界面升级,除了多数业者都相当关心的传输效能增进方面,其实USB 3.0因应相关设备的充电与驱动需求,所大幅提升的界面高电力供应规范,也带来USB界面设计不管在Host端或是Device端的保护电路设计新挑战。   多数消费者都希望可以大幅缩短行动装置的充电时间,例如Apple iPad装置,由于装置本身装载高容量的锂电池,若透过低电压、低电流的USB 2.0界面进行充电,势必会大幅增加充电所需时间,加上iPad推出市面初期,也有透过计算机USB 2.0界面充电过慢或是无法充电的疑虑,而在iPad随机提供的变压器上,针对此采提供高输出电流的变压器作为随机配件,但
[模拟电子]
基于CAN总线的嵌入式汽车电子测试系统
  汽车产业是国家的支柱产业,电子产业也是国家的支柱产业,作为汽车产业和电子产业的交集,汽车电子零部件产业的兴衰与国民经济息息相关。目前,我国汽车的产量逐年攀高,民族汽车品牌在自身不断成长的同时,也迫使国际汽车公司或合资公司不得不降低生产成本,实施汽车电子零部件国产化战略,这就为我国汽车电子产业化的发展提供了良好的机遇。   前装汽车电子产品除了其复杂的功能要求外,对于实时性、安全性、可靠性和环保性等的要求都非常严格,并且汽车厂商都具有自己相关的执行检测标准和生产流程规范,因此为前装汽车电子产品配套研发相应的故障检测系统是非常必要的。   1 系统设计方案   1.1 设计依据   CAN总线作为一种串行汽车总线,
[嵌入式]
基于USB接口的激光陀螺惯导系统数据通讯
  激光陀螺作为捷联惯性导航系统的核心器件,其性能远优越于传统的机电陀螺,已广泛应用于海、陆、空、天等军用和民用导航领域。   在激光陀螺捷联惯导系统中,惯性仪表(激光陀螺和加速度计)直接“捆绑”在载体上,所承受的力学环境要比平台恶劣。在某些军用环境所要求承受的强烈振动条件下,由于惯性组合体在力和运动的激励下产生多项误差,系统姿态和位置误差增长较快。研究表明,这些误差项有一部分具有较好的补偿性,可以通过误差补偿减小或消除部分误差,从而提高系统在强振动下的精度。这就需要将惯性仪表在振动环境下的输出数据高速采集并保存下来,然后在PC机上进行离线仿真以确定和分离各项误差系数。由于数据量庞大,无法直接存储在导航计算机中:例如以8 kHz对惯
[嵌入式]
EVD产业联盟否认终止原芯片合作伙伴
11月3日下午,针对有媒体报道称,“EVD产业联盟终止与美国LSI Logic公司合作和不使用其芯片”,EVD产业联盟对外正式发表申明称此为不实报道。 据悉,EVD产业联盟近日确实引入了上海晶晨公司提供的EVD芯片,用于EVD的生产。但EVD产业联盟在申明中称,“这引起外界误解,有报道称EVD产业联盟将终止与美国LSI Logic公司的合作,并不再使用其芯片,此说法并不属实”。 申明表示,美国LSI Logic公司一直是EVD芯片的供应商。上海晶晨的加入解决了EVD芯片“中国心”的问题,为碟机企业提供了多种功能和多种技术方案的选择。EVD“中国心”的解决将使EVD芯片成本下将50%以上。 据悉,EVD流媒体高清加油站使用的也是
[焦点新闻]
TDK推出为USB-C提供完整ESD保护的超紧凑型TVS二极管
TDK株式会社 针对USB-C端口和其他高速接口的ESD保护应用推出一款超紧凑型TVS二极管。 对于USB-C等符合USB4(第1版)规范且传输速度高达40 Gbit/s的高速接口 (Tx / Rx),ESD保护应用特别需要具有超低寄生电容和低钳位电压的TVS二极管。新的B74111U0033M060和B74121U0033M060型元件的在1 MHz条件下的寄生电容分别为0.48 pF和0.65 pF,钳位电压仅为3.8 V或3.9 V,ITLP为8 A,不会干扰信号完整性,因此非常适合此类应用。这些TVS二极管保护元件的设计ESD放电电压高达15 kV,并采用超紧凑的WLCSP 01005和WLCSP 0201扁平结构封装,高
[电源管理]
TDK推出为<font color='red'>USB</font>-C提供完整ESD保护的超紧凑型TVS二极管
USB 80Gbps接口标准正式发布 USB 3.0/USB4称呼被淘汰
10月19日,USB-IF组织正式发布了全新的USB4 v2.0标准规范,带来了新一代USB 80Gbps接口,还有全新的命名体系。说到命名骚操作,除了大名鼎鼎的微软“改名部”,最会玩的就是USB-IF组织了,从早期的Full Speed、High Speed,到后来的USB 3.2 Gen1/Gen2/Gen2x2,能让你分清楚算我输。 到了USB4,不但再次改变命名方式,技术上也变懒了,几乎直接承袭了Intel捐献的雷电3标准,从物理底层到技术规格都如出一辙。 新鲜出炉的USB4 v2.0,也不是接口名字,而只是规范命名。 从此以后(到下次再改名),USB接口将统一以传输带宽命名,USB4 v2.0对应USB 80
[手机便携]
<font color='red'>USB</font> 80Gbps接口标准正式发布 <font color='red'>USB</font> 3.0/<font color='red'>USB</font>4称呼被淘汰
TQ2440 学习笔记—— 5、Linux烧写——USB
用USB下载线烧写Linux 软件:TQBoardDNW 连接USB下载线和串口线 烧写前首先格式化Nand Flash格式化之后再烧写镜像文件 1、烧写u-boo镜像 2、烧写Linux内核镜像 3、烧写文件系统镜像 4、烧写开机logo镜像 烧写完uboot、内核、文件系统、和logo镜像后,拔掉USB下载线,然后选择命令8即boot the system 就可以启动Linux操作系统,开机后需要进行触屏校准!如果第一次没有校准,后面触屏操作将会很麻烦,也找不到再次校准的设置(我反正没找到,所以又重新烧写了一回) 设置Linux的启动方式 TQ2440 配套的uboot 和Linu
[单片机]
TQ2440 学习笔记—— 5、Linux烧写——<font color='red'>USB</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved