多功能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间的传输协议。目前,不少芯片厂商也逐渐提供了组合设备的芯片方案。
- •免费直播预告 | 从理论到实操,全面解析ADC/DAC芯片测试前沿方案!2025-06-17
- •摩尔斯微电子携手Gateworks,利用Wi-Fi HaLow革新工业连接2025-06-04
- •4000+人次!“2025半导体产业发展趋势大会”成功举办!2025-04-14
- •定档4月11日!“2025半导体产业发展趋势大会”报名启动!2025-02-17
- •最新半导体关键终端市场销售情况及产业分析 | 2025.012025-02-13
- •【ICDIA参会指南】首个IC应用展,Show出中国芯力量!2024-09-24
- •创新·互联·芯生态 | 2024半导体产业发展趋势大会暨颁奖盛典圆满举办2024-04-13
- •重磅!中国或禁止政府采购这类芯片和品牌2024-03-25
- •互联芯生·共创未来 | 2023年半导体产业发展趋势高峰论坛暨颁奖盛典圆满落幕2023-04-26
- •“2022年度华强电子网优质供应商&电子元器件行业优秀国产品牌评选”获奖榜单公布!2023-03-22