0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【技術(shù)專欄】泰凌微電子USB HID 用戶自定義設(shè)備應(yīng)用及調(diào)試

泰凌微電子 ? 來源:未知 ? 2023-07-19 08:40 ? 次閱讀

本文主要簡(jiǎn)單介紹USB HID Vendor Defined設(shè)備的應(yīng)用和調(diào)試方法,結(jié)合Telink 8355 Dongle做簡(jiǎn)要說明。

1

USB HID Vendor Defined 設(shè)備概述

1、hid設(shè)備類型是由hid報(bào)告描述符中的用途頁(yè)(USAGE PAGE)決定的,常見的有Generic Desktop Controls ,Keyboard/Keypad ,還有有廠商自定義(Vendor Defined Page)選項(xiàng)。常用的用途表如下:

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

2、借助USB HID Vendor Defined設(shè)備可以實(shí)現(xiàn)USB設(shè)備與上位機(jī)間的雙向通信。

2

新增一個(gè)USB HID Vendor Defined設(shè)備

1、修復(fù)報(bào)告描述符

開發(fā)者可以在已有的usb interface中新增一個(gè)vendor defined設(shè)備,也可以新增一個(gè)interface,把這個(gè)vendor defined設(shè)備掛在新增的接口下面。

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

采用在一個(gè)單獨(dú)的接口中添加Vendor Defined設(shè)備,report 描述符如下:

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

通過上面的修改,usb設(shè)備枚舉完成后,在bus hound中可以查看到兩個(gè)Vendor Defined設(shè)備已經(jīng)枚舉成功。

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

3

USB HID Vendor Defined設(shè)備的調(diào)試

1、Vendor Defined設(shè)備調(diào)試方法

根據(jù)第二章中的報(bào)告描述符,設(shè)置了兩個(gè)usage page 并開辟了兩個(gè)集合,分別對(duì)應(yīng)兩個(gè)Vendor Defined設(shè)備。第一個(gè)設(shè)備的usage page為0xFFEF,用來給dongle 升級(jí)使用。Report ID為6,既有輸入也有輸出,report長(zhǎng)度都為63。第二個(gè)設(shè)備開發(fā)者可以自由決定他的用途,可以跟上位機(jī)做自定義的數(shù)據(jù)通信。設(shè)備2的Report ID,9,Report length為32。這兩個(gè)設(shè)備都使用相同的輸入輸出端點(diǎn),他們的數(shù)據(jù)通過不同的報(bào)告ID來進(jìn)行區(qū)分。

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

2、利用bus hound模擬上位機(jī)下發(fā)數(shù)據(jù)

對(duì)于上位機(jī)一般是通過指定的usage page來打開usb設(shè)備,然后進(jìn)行數(shù)據(jù)讀取和寫入。使用bus hound可以簡(jiǎn)單的模擬上位機(jī)進(jìn)行數(shù)據(jù)發(fā)送。

特別在發(fā)送數(shù)據(jù)的時(shí)候,要嚴(yán)格按照?qǐng)?bào)告描述符中定義的report ID 和Report Length來發(fā),否則可能出錯(cuò)。

雙擊上圖中的USB Input Device,可以選Control Out 和 interrupt Out進(jìn)行發(fā)送數(shù)據(jù)測(cè)試。如果接口里面有OUT端點(diǎn),則set report命令下發(fā)數(shù)據(jù)和write file命令數(shù)據(jù)都是通過out端點(diǎn)下來,如果沒有OUT端點(diǎn),則set report命令數(shù)據(jù)是通過控制端點(diǎn)下發(fā)的。

01

通過Set report命令下發(fā)數(shù)據(jù)

Set report命令格式如下:

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

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

02

通過write file下發(fā)數(shù)據(jù)

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

03

MCU讀取上位機(jī)發(fā)送的數(shù)據(jù)

  • 讀取上位機(jī)set report命令數(shù)據(jù)

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

  • MCU讀取上位機(jī)write file數(shù)據(jù)

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

04

Vendor Defined設(shè)備發(fā)送數(shù)據(jù)

上報(bào)數(shù)據(jù)就是通過往Vendor Defined設(shè)備所在接口的in端點(diǎn)里面寫數(shù)據(jù)。

特別的,第一個(gè)字節(jié)需要為報(bào)告描述符指定的Report ID,數(shù)據(jù)長(zhǎng)度需要為報(bào)告描述符指定的長(zhǎng)度。

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

4

總結(jié)

USB HID Vendor Defined設(shè)備是一種非常常見的人機(jī)交互接口,可以方便的實(shí)現(xiàn)用戶各種定制化的與上位機(jī)交互需求,廣泛應(yīng)用于固件升級(jí)、參數(shù)設(shè)置、命令收發(fā)等定制化場(chǎng)景。目前Telink 鍵鼠領(lǐng)域的各SDK均支持USB HID Vendor Defined 設(shè)備,用戶只需簡(jiǎn)單調(diào)用接口便可以實(shí)現(xiàn)與上位機(jī)交互功能。

關(guān) 于 泰 凌

泰凌微電子致力于為客戶提供一站式的低功耗高性能無線連接SoC芯片解決方案,包括經(jīng)典藍(lán)牙,藍(lán)牙低功耗,藍(lán)牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協(xié)議等低功耗2.4GHz多協(xié)議無線連接系統(tǒng)級(jí)芯片和豐富的固件協(xié)議棧。公司產(chǎn)品廣泛應(yīng)用于智能照明,智能家居/樓宇,智能遙控,無線外設(shè),智能零售,穿戴設(shè)備,無線音頻,智能玩具,物流追蹤,智慧城市等各類消費(fèi)和商業(yè)應(yīng)用場(chǎng)景中。

官網(wǎng):www.telink-semi.com

微信公眾號(hào):telink-semi

泰凌開發(fā)者論壇

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

銷售接洽:

中國(guó)大陸(華東、華北) :

+86-21-20281118-8213

中國(guó)大陸(華南、香港、音頻) :

+86-0755-26614003

telinksales@telink-semi.com

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


原文標(biāo)題:【技術(shù)專欄】泰凌微電子USB HID 用戶自定義設(shè)備應(yīng)用及調(diào)試

文章出處:【微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 泰凌微
    +關(guān)注

    關(guān)注

    7

    文章

    152

    瀏覽量

    10816

原文標(biāo)題:【技術(shù)專欄】泰凌微電子USB HID 用戶自定義設(shè)備應(yīng)用及調(diào)試

文章出處:【微信號(hào):telink-semi,微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    C.5 設(shè)置默認(rèn)議程幻燈片布局 think-cell 議程可以在演示文稿中使用特定的自定義布局來定義議程、位置和議程幻燈片上的其他形狀,例如標(biāo)題或圖片。通過將此自定義布局添加到模板,您可以為整個(gè)組織
    的頭像 發(fā)表于 01-13 10:37 ?61次閱讀
    think-cell:<b class='flag-5'>自定義</b>think-cell(四)

    智能語(yǔ)音識(shí)別照明解決方案,平臺(tái)自定義,中英切換

    智能語(yǔ)音識(shí)別照明方案引入NRK3502芯片,支持平臺(tái)自定義,離線控制,中英雙語(yǔ)切換。NRK3502具備高性能和靈活自定義能力,可推動(dòng)智能照明革新,控制其他智能設(shè)備,為國(guó)際用戶提供全方位
    的頭像 發(fā)表于 01-10 13:23 ?53次閱讀
    智能語(yǔ)音識(shí)別照明解決方案,平臺(tái)<b class='flag-5'>自定義</b>,中英切換

    微電子精彩亮相CES 2025

    美國(guó)時(shí)間2025年1月7日,全球矚目的科技盛會(huì)CES 2025在拉斯維加斯盛大開幕。微電子攜前沿技術(shù)與創(chuàng)新產(chǎn)品重磅登場(chǎng)。
    的頭像 發(fā)表于 01-09 16:54 ?296次閱讀

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

    布局介紹了如何創(chuàng)建自定義議程幻燈片布局,第六部分 C.6 功能區(qū)自定義 介紹了如何使用 PowerPoint 的功能區(qū)自定義選項(xiàng)自定義 think-cell 的
    的頭像 發(fā)表于 01-08 11:31 ?107次閱讀
    think-cell;<b class='flag-5'>自定義</b>think-cell(一)

    微電子榮獲小米兩項(xiàng)大獎(jiǎng)

    在剛剛落幕的“2024小米生態(tài)合作伙伴大會(huì)”上,微電子憑借其在技術(shù)實(shí)力、產(chǎn)品性能和合作經(jīng)驗(yàn)方面的卓越表現(xiàn),榮獲“小米 Vela 生態(tài)合作伙伴 —— 卓越表現(xiàn)獎(jiǎng)”和“小米 IoT模組
    的頭像 發(fā)表于 12-31 15:43 ?176次閱讀

    微電子獲藍(lán)牙 6.0 認(rèn)證,助力藍(lán)牙技術(shù)拓展與應(yīng)用升級(jí)

    。尤為值得一提的是,微電子是全球范圍內(nèi)首個(gè)獲得該認(rèn)證的非手機(jī)芯片公司,也是中國(guó)第一家獲得藍(lán)牙6.0認(rèn)證的芯片公司。這一標(biāo)志性成果,再次有力地彰顯了
    發(fā)表于 11-26 14:07 ?271次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微電子</b>獲藍(lán)牙 6.0 認(rèn)證,助力藍(lán)牙<b class='flag-5'>技術(shù)</b>拓展與應(yīng)用升級(jí)

    創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL)

    電子發(fā)燒友網(wǎng)站提供《創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL).pdf》資料免費(fèi)下載
    發(fā)表于 09-19 10:50 ?0次下載
    創(chuàng)建<b class='flag-5'>自定義</b>的基于閃存的引導(dǎo)加載程序(BSL)

    微電子推出Wi-Fi 6多協(xié)議TLSR9118 SoC

    微電子(股票代碼:688591.SH),作為無線連接解決方案領(lǐng)域的創(chuàng)新先鋒,近日正式宣布其突破性成果——TLSR9118 SoC的問世。這款里程碑式的芯片不僅標(biāo)志著
    的頭像 發(fā)表于 08-30 16:29 ?1890次閱讀

    EtherCAT運(yùn)動(dòng)控制器PT/PVT實(shí)現(xiàn)用戶自定義軌跡規(guī)劃

    EtherCAT運(yùn)動(dòng)控制器PT/PVT實(shí)現(xiàn)用戶自定義軌跡規(guī)劃。
    的頭像 發(fā)表于 08-15 11:49 ?678次閱讀
    EtherCAT運(yùn)動(dòng)控制器PT/PVT實(shí)現(xiàn)<b class='flag-5'>用戶</b><b class='flag-5'>自定義</b>軌跡規(guī)劃

    esp32s2如何自定義HIDUSB開發(fā)?

    請(qǐng)問一下,想自定義HIDUSB開發(fā),對(duì)于底層的操作如中斷、上位機(jī)發(fā)送的請(qǐng)求、回復(fù)上位機(jī)請(qǐng)求等這些底層操作有示例嗎?通過ESP-IDF、Arduino或者Rust的方式。
    發(fā)表于 06-17 07:18

    一圖讀懂微電子2023年年度報(bào)告

    一圖讀懂微電子2023年年度報(bào)告
    的頭像 發(fā)表于 05-22 10:30 ?494次閱讀
    一圖讀懂<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微電子</b>2023年年度報(bào)告

    TSMaster 自定義 LIN 調(diào)度表編程指導(dǎo)

    LIN(LocalInterconnectNetwork)協(xié)議調(diào)度表是用于LIN總線通信中的消息調(diào)度的一種機(jī)制,我們收到越來越多來自不同用戶希望能夠通過接口實(shí)現(xiàn)自定義LIN調(diào)度表的需求。所以在
    的頭像 發(fā)表于 05-11 08:21 ?714次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調(diào)度表編程指導(dǎo)

    HarmonyOS開發(fā)實(shí)例:【自定義Emitter】

    使用[Emitter]實(shí)現(xiàn)事件的訂閱和發(fā)布,使用[自定義彈窗]設(shè)置廣告信息。
    的頭像 發(fā)表于 04-14 11:37 ?1025次閱讀
    HarmonyOS開發(fā)實(shí)例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實(shí)例:【自定義組件】

    組件是 OpenHarmony 頁(yè)面最小顯示單元,一個(gè)頁(yè)面可由多個(gè)組件組合而成,也可只由一個(gè)組件組合而成,這些組件可以是ArkUI開發(fā)框架自帶系統(tǒng)組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節(jié)筆者簡(jiǎn)單介紹一下自定義組件的語(yǔ)法規(guī)范。
    的頭像 發(fā)表于 04-08 10:17 ?670次閱讀

    STM32F401VC USB枚舉成自定義HID,為什么每臺(tái)設(shè)備連接到同一臺(tái)電腦上都要有一個(gè)加載驅(qū)動(dòng)的過程?

    我的項(xiàng)目用的是STM32[i]F401VC,USB枚舉成自定義HID.生產(chǎn)過程中每臺(tái)設(shè)備都要連接電腦下載數(shù)據(jù).現(xiàn)在的問題是每臺(tái)設(shè)備連接到同一
    發(fā)表于 04-01 06:17