多功能USB组合设备的结构设计
来源:21IC 作者:—— 时间:2011-11-15 10:52
该组合设备采用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间的传输协议。目前,不少芯片厂商也逐渐提供了组合设备的芯片方案。
- •关键节点落地! 美国芯片关税迈入“第二阶段”2026-04-15
- •“2026半导体产业发展趋势大会”成功举办!2026-04-13
- •不撤反进?欧洲大厂深度绑定中国供应链,释放重要信号2026-03-24
- •中东局势升级:一场正在逼近的全球芯片供应链危机2026-03-24
- •突发!三星9万人准备罢工:全球芯片要变天了?2026-03-18
- •芯片价格全面失控:最高暴涨70%,这一轮半导体周期不一样了2026-03-18
- •2026最硬科技!原子级3D成像揭示芯片内部“鼠咬”缺陷,芯片研发从此不同2026-03-06
- •芯片战再升级!美政府采购禁令来袭,SIA强烈发声反对2026-03-05
- •2026半导体大爆发:全球销售预计首破1万亿美元!AI赋能新时代2026-02-10
- •涨价潮背后,全球半导体迎“超级周期”2026-01-29






