0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【技术专栏】泰凌微电子USB HID 用户自定义设备应用及调试

泰凌微电子 来源:未知 2023-07-19 08:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文主要简单介绍USB HID Vendor Defined设备的应用和调试方法,结合Telink 8355 Dongle做简要说明。

1

USB HID Vendor Defined 设备概述

1、hid设备类型是由hid报告描述符中的用途页(USAGE PAGE)决定的,常见的有Generic Desktop Controls ,Keyboard/Keypad ,还有有厂商自定义(Vendor Defined Page)选项。常用的用途表如下:

382f2352-25cc-11ee-962d-dac502259ad0.png

2、借助USB HID Vendor Defined设备可以实现USB设备与上位机间的双向通信

2

新增一个USB HID Vendor Defined设备

1、修复报告描述符

开发者可以在已有的usb interface中新增一个vendor defined设备,也可以新增一个interface,把这个vendor defined设备挂在新增的接口下面。

38451d7e-25cc-11ee-962d-dac502259ad0.png

采用在一个单独的接口中添加Vendor Defined设备,report 描述符如下:

38507f8e-25cc-11ee-962d-dac502259ad0.png

通过上面的修改,usb设备枚举完成后,在bus hound中可以查看到两个Vendor Defined设备已经枚举成功。

386bec4c-25cc-11ee-962d-dac502259ad0.png

3

USB HID Vendor Defined设备的调试

1、Vendor Defined设备调试方法

根据第二章中的报告描述符,设置了两个usage page 并开辟了两个集合,分别对应两个Vendor Defined设备。第一个设备的usage page为0xFFEF,用来给dongle 升级使用。Report ID为6,既有输入也有输出,report长度都为63。第二个设备开发者可以自由决定他的用途,可以跟上位机做自定义的数据通信。设备2的Report ID,9,Report length为32。这两个设备都使用相同的输入输出端点,他们的数据通过不同的报告ID来进行区分。

38788f9c-25cc-11ee-962d-dac502259ad0.png

2、利用bus hound模拟上位机下发数据

对于上位机一般是通过指定的usage page来打开usb设备,然后进行数据读取和写入。使用bus hound可以简单的模拟上位机进行数据发送。

特别在发送数据的时候,要严格按照报告描述符中定义的report ID 和Report Length来发,否则可能出错。

双击上图中的USB Input Device,可以选Control Out 和 interrupt Out进行发送数据测试。如果接口里面有OUT端点,则set report命令下发数据和write file命令数据都是通过out端点下来,如果没有OUT端点,则set report命令数据是通过控制端点下发的。

01

通过Set report命令下发数据

Set report命令格式如下:

388c0c5c-25cc-11ee-962d-dac502259ad0.png

389fc8c8-25cc-11ee-962d-dac502259ad0.png

02

通过write file下发数据

38c0be7a-25cc-11ee-962d-dac502259ad0.png

03

MCU读取上位机发送的数据

  • 读取上位机set report命令数据

38d25784-25cc-11ee-962d-dac502259ad0.png

  • MCU读取上位机write file数据

38e4b91a-25cc-11ee-962d-dac502259ad0.png

04

Vendor Defined设备发送数据

上报数据就是通过往Vendor Defined设备所在接口的in端点里面写数据。

特别的,第一个字节需要为报告描述符指定的Report ID,数据长度需要为报告描述符指定的长度。

38f06102-25cc-11ee-962d-dac502259ad0.png

4

总结

USB HID Vendor Defined设备是一种非常常见的人机交互接口,可以方便的实现用户各种定制化的与上位机交互需求,广泛应用于固件升级、参数设置、命令收发等定制化场景。目前Telink 键鼠领域的各SDK均支持USB HID Vendor Defined 设备,用户只需简单调用接口便可以实现与上位机交互功能。

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

官网:www.telink-semi.com

微信公众号:telink-semi

泰凌开发者论坛

https://developers.telink-semi.cn/

销售接洽:

中国大陆(华东、华北) :

+86-21-20281118-8213

中国大陆(华南、香港、音频) :

+86-0755-26614003

telinksales@telink-semi.com

390ec732-25cc-11ee-962d-dac502259ad0.gif


原文标题:【技术专栏】泰凌微电子USB HID 用户自定义设备应用及调试

文章出处:【微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 泰凌微
    +关注

    关注

    7

    文章

    197

    浏览量

    11898

原文标题:【技术专栏】泰凌微电子USB HID 用户自定义设备应用及调试

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    微电子积极推进Matter 1.5落地

    智能家居领域再迎关键进展:Matter 1.5标准在近期正式发布,微电子第一时间同步支持,用硬核芯片方案解锁万物互联新可能!无论是针对开发者还是终端用户,这些升级都超有料。
    的头像 发表于 12-04 11:14 585次阅读

    微电子邀您相约EAC 2025

    在科技迭代加速的当下,芯片设计创新是驱动行业趋势、支撑产业增长的关键。作为一家致力于研发高性能低功耗无线物联网SoC的芯片设计公司,微电子始终以技术为锚点,通过针对性解决方案为合作
    的头像 发表于 10-21 16:24 608次阅读

    微电子荣获双碳节能领军企业奖

    在备受瞩目的 elexcon2025 第 22 届深圳国际电子展开幕之际,微电子凭借其在双碳节能领域的卓越表现,荣获“双碳节能领军企业”奖。这一荣誉不仅是对
    的头像 发表于 08-26 18:18 1067次阅读

    KiCad 中的自定义规则(KiCon 演讲)

    设计规则 展开,重点探讨了 那些复杂却强大的特性。 由于这些规则本质上是基于文本表达的,需要用户细致入微的理解。演讲的 核心目标 是引导用户有效实施这些规则,从而 规避布线问题、提升制造良率,并优化设计流程 。 讨论 始于对自定义
    的头像 发表于 06-16 11:17 1459次阅读
    KiCad 中的<b class='flag-5'>自定义</b>规则(KiCon 演讲)

    智能照明互联新突破:微电子邀您共探 Matter 技术前沿

      微电子将于2025年6月13日参加在广州举办的Matter开发者大会。此次参会,微电子
    发表于 06-05 15:06 2212次阅读
    智能照明互联新突破:<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>邀您共探 Matter <b class='flag-5'>技术</b>前沿

    HarmonyOS应用自定义键盘解决方案

    自定义键盘是一种替换系统默认键盘的解决方案,可实现键盘个性化交互。允许用户结合业务需求与操作习惯,对按键布局进行可视化重构、设置多功能组合键位,使输入更加便捷和舒适。在安全防护层面,自定义键盘可以
    的头像 发表于 06-05 14:19 1569次阅读

    国民技术N32G45x USB免驱例程

    本帖最后由 845977970 于 2025-4-17 10:12 编辑 USB 设备中有一大类就是 HID 设备,无需用户自己开发驱
    发表于 04-17 10:11

    如何添加自定义单板

    在开发过程中,用户有时需要创建自定义板配置。本节将通过一个实例讲解用户如何创建属于自己的machine,下面以g2l-test.conf为例进行说明。
    的头像 发表于 03-12 14:43 1082次阅读

    如何快速创建用户自定义Board和App工程

    概述自HPM_SDKv1.7.0发布开始,在HPM_ENV中新增了user_template文件夹,以方便用户快速创建自定义的Board和App工程。user_template是用户模板工程,
    的头像 发表于 02-08 13:38 998次阅读
    如何快速创建<b class='flag-5'>用户</b><b class='flag-5'>自定义</b>Board和App工程

    Altium Designer 15.0自定义元件设计

    电子发烧友网站提供《Altium Designer 15.0自定义元件设计.pdf》资料免费下载
    发表于 01-21 15:04 0次下载
    Altium Designer 15.0<b class='flag-5'>自定义</b>元件设计

    think-cell:自定义think-cell(四)

    C.5 设置默认议程幻灯片布局 think-cell 议程可以在演示文稿中使用特定的自定义布局来定义议程、位置和议程幻灯片上的其他形状,例如标题或图片。通过将此自定义布局添加到模板,您可以为整个组织
    的头像 发表于 01-13 10:37 880次阅读
    think-cell:<b class='flag-5'>自定义</b>think-cell(四)

    智能语音识别照明解决方案,平台自定义,中英切换

    智能语音识别照明方案引入NRK3502芯片,支持平台自定义,离线控制,中英双语切换。NRK3502具备高性能和灵活自定义能力,可推动智能照明革新,控制其他智能设备,为国际用户提供全方位
    的头像 发表于 01-10 13:23 798次阅读
    智能语音识别照明解决方案,平台<b class='flag-5'>自定义</b>,中英切换

    微电子精彩亮相CES 2025

    美国时间2025年1月7日,全球瞩目的科技盛会CES 2025在拉斯维加斯盛大开幕。微电子携前沿技术与创新产品重磅登场。
    的头像 发表于 01-09 16:54 1455次阅读

    think-cell;自定义think-cell(一)

    布局介绍了如何创建自定义议程幻灯片布局,第六部分 C.6 功能区自定义 介绍了如何使用 PowerPoint 的功能区自定义选项自定义 think-cell 的
    的头像 发表于 01-08 11:31 1240次阅读
    think-cell;<b class='flag-5'>自定义</b>think-cell(一)

    微电子荣获小米两项大奖

    在刚刚落幕的“2024小米生态合作伙伴大会”上,微电子凭借其在技术实力、产品性能和合作经验方面的卓越表现,荣获“小米 Vela 生态合作伙伴 —— 卓越表现奖”和“小米 IoT模组
    的头像 发表于 12-31 15:43 1299次阅读