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

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

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

雅特力AT32 MCU HOGP開(kāi)發(fā)指南

雅特力 AT32 MCU ? 2023-12-30 08:14 ? 次閱讀

HOGP概述

HOGP(HID over GATT)是由Bluetooth SIG維護(hù)的藍(lán)牙配置文件規(guī)范,通過(guò)低功耗藍(lán)牙實(shí)現(xiàn)HID的配置文件并作為與計(jì)算器之間的接口,消除HID中對(duì)電線或物理連接的需求。

HID角色

在HID中,以及在HOGP的延伸中,定義了兩個(gè)角色,這些角色是HID主機(jī)和HID設(shè)備。HID設(shè)備一次只能主動(dòng)連接到單個(gè)HID主機(jī);然而一個(gè)HID主機(jī)可以連接到多個(gè)HID設(shè)備。有關(guān)主機(jī)和設(shè)備如何交互的細(xì)節(jié),請(qǐng)參閱HOGP規(guī)范中的第3章HID設(shè)備需求和第4章HID主機(jī)需求和行為。

一、HID主機(jī)

HID主機(jī)實(shí)現(xiàn)藍(lán)牙GAP中的中心(Central)角色,接收輸入訊息并使用提供的數(shù)據(jù)進(jìn)行更進(jìn)一步的處理。例如,計(jì)算器會(huì)是HID主機(jī),因?yàn)檫@是接收HID數(shù)據(jù)的設(shè)備。HID主機(jī)對(duì)HID功能的正確執(zhí)行有許多責(zé)任與需求,但在此開(kāi)發(fā)指南中所提供的范例僅實(shí)現(xiàn)了HID設(shè)備,因此本文檔不涉及這些內(nèi)容。想要了解HID主機(jī)的職責(zé)和需求,請(qǐng)參閱HOGP規(guī)范中的第2章配置、第4章HID主機(jī)需求和行為、第5章連線建立。

二、HID設(shè)備HID設(shè)備實(shí)現(xiàn)藍(lán)牙GAP中的外設(shè)(Peripheral)角色,負(fù)責(zé)將輸入信息傳輸?shù)街醒胗?jì)算器。例如,鼠標(biāo)或鍵盤會(huì)是HID設(shè)備,因?yàn)樗鼈儗⑤斎霐?shù)據(jù)發(fā)送到計(jì)算器設(shè)備。

Bluetooth Profile

要透過(guò)藍(lán)牙實(shí)現(xiàn)HID功能,那就必須要事先定義好規(guī)范,如此主機(jī)及裝置雙方才能夠順利通信,由于本開(kāi)發(fā)指南是針對(duì)裝置的部份進(jìn)行說(shuō)明,故此處只列出裝置所需的服務(wù)。

表1. HID裝置的必須服務(wù)

6ddc09f4-a6a8-11ee-9ee2-92fbcf53809c.png

這邊要注意到Device Information Service中的PnP特征,如果是開(kāi)發(fā)一個(gè)標(biāo)準(zhǔn)的鍵盤或鼠標(biāo),請(qǐng)根據(jù)已經(jīng)注冊(cè)的Vendor ID及Product ID填入其中。

例 HID裝置實(shí)做

HOGP 工程是一個(gè)在 AT32WB415 上實(shí)現(xiàn) HOGP 規(guī)范的低功耗藍(lán)牙工程,該工程使用 HOGP 規(guī)范指定的藍(lán)牙外設(shè)角色,演示了 HOGP 的鍵盤及鼠標(biāo)。通過(guò)使用通知(Notification)和 GATT 配置文件,該項(xiàng)目能夠通過(guò)低功耗藍(lán)牙 HID 裝置并與 HID 主機(jī)正確連接。HOGP 工程中有幾個(gè)復(fù)雜的部份,在本文檔中進(jìn)行了討論,這些部份組合在一起以實(shí)現(xiàn)整體功能。

報(bào)告映射討論

HOGP工程依賴于報(bào)告映像,報(bào)告映射是HOGP用于實(shí)現(xiàn)低功耗藍(lán)牙HID功能的結(jié)構(gòu)。報(bào)告映像用于告訴主機(jī)許要從HID設(shè)備獲得什么功能和什么樣的數(shù)據(jù),在原始的HID USB規(guī)范中,報(bào)告映射稱為報(bào)告描述符,報(bào)告映射和報(bào)告描述符是相同的,它們之間唯一的區(qū)別是報(bào)告映射用于HOGP,報(bào)告描述符用于HID USB。該工程使用的報(bào)告映像可以在app_hid.c文件中找到,并且包含在gHIDReportDescriptor變量中,此工程中的報(bào)告映像包含鍵盤的輸入信息。該結(jié)構(gòu)分為多個(gè)部份,應(yīng)用程序以及HID主機(jī)能夠通過(guò)使用報(bào)告ID字段找到所需的部份??梢暂p松修改報(bào)告映像以包含不同的輸入或修改已經(jīng)存在的輸入,USB實(shí)現(xiàn)者論壇的設(shè)備工作組有一個(gè)報(bào)告描述符建構(gòu)器工具,可以用于輕松創(chuàng)建報(bào)告映射。下面的程序代碼顯示了報(bào)告映像結(jié)構(gòu)片段,所有字段都有標(biāo)簽,可以輕松修改。例如,如果需要不同數(shù)量的鍵盤按鍵,則可以輕松修改相關(guān)字段。

  • HID Report

6de573f4-a6a8-11ee-9ee2-92fbcf53809c.png

修改裝置類型

只有當(dāng)開(kāi)發(fā)者正確地填入裝置類型參數(shù),主機(jī)端才能顯示出合適的裝置圖標(biāo),即便在廣播的時(shí)候能夠正確辨識(shí)出裝置的類型,但如果沒(méi)有修改GAP中的Appearance數(shù)值,聯(lián)機(jī)后的裝置圖標(biāo)依然會(huì)顯示異常,以下特別列出在開(kāi)發(fā)時(shí)容易疏忽的地方:1. 廣播時(shí)的Appearance,主機(jī)掃描到時(shí)就會(huì)將裝置類型顯示出來(lái),比如說(shuō)鍵盤或是鼠標(biāo),在代碼中位于user_config.h里面的宏定義APP_HID_ADV_DATA_APPEARANCE, 0x03C2代表鼠標(biāo), 0x03C1代表鍵盤,更詳細(xì)的內(nèi)容可以參考SIG的Spec.圖1. Appearance Part of ADV Data6df72bf8-a6a8-11ee-9ee2-92fbcf53809c.png2.?聯(lián)機(jī)建立后,主機(jī)會(huì)來(lái)讀取裝置的GAP, 這個(gè)時(shí)候就會(huì)得到這個(gè)裝置是屬于哪一種類型,如果沒(méi)有正確填寫,在主機(jī)端的驅(qū)動(dòng)安裝完成后,顯示的裝置類型會(huì)與預(yù)期的不同。這個(gè)部份的代碼位于app_task.c中的gapc_get_dev_info_req_ind_handler函式,代碼中已將鍵盤及鼠標(biāo)的Appearance給定義起來(lái),使用者可以依據(jù)需求擴(kuò)充。圖2. GAP Client Gets Device Apperance6e066fd2-a6a8-11ee-9ee2-92fbcf53809c.png3.?在新增HID Profile時(shí),填入當(dāng)前的應(yīng)用類型,這位于app_hid.c中的app_hid_add_hids函式,使用者可以根據(jù)當(dāng)前需求填入鍵盤或是鼠標(biāo)的宏定義,但要記得一定要有Protocol Mode才能正常使用。圖3. GAP Client Gets Device Apperance6e13c15a-a6a8-11ee-9ee2-92fbcf53809c.png

資源類型

1) 硬件環(huán)境:對(duì)應(yīng)產(chǎn)品型號(hào)的AT-START BOARD2) 軟件環(huán)境wb415_hogp_bt_demo\projects\ble_app_remotewb415_hogp_mcu_demo\utilities\wb415_hogp_mcu_demo\mdk_v5

軟件設(shè)計(jì)

1) 配置流程a) MCU端

  • 配置USER KEY作為擊鍵
  • 編寫USART3通訊函數(shù)
  • 輪詢USER KEY是否按下
  • 根據(jù)需求去配置USER KEY按下后發(fā)出的AT command

b) BT端

  • 將HOGP的Profile加入database
  • 編寫應(yīng)用層與GATT之間的界面
  • 在應(yīng)用層中輪詢AT command
  • 透過(guò)HOGP將不同的key function發(fā)給host端

2) 代碼介紹a)MCU端

  • main函數(shù)代碼描述

6e2655a4-a6a8-11ee-9ee2-92fbcf53809c.pngb)?BT端
原則上不需要去修改Profile層的內(nèi)容,由APP層去設(shè)定HID裝置的內(nèi)容即可

  • 初始化HOGP裝置變量

6e425434-a6a8-11ee-9ee2-92fbcf53809c.png

  • 將HOGP加入database

6e56e700-a6a8-11ee-9ee2-92fbcf53809c.png在main函數(shù)之中的while loop不斷輪詢app_user_entry()來(lái)確認(rèn)有無(wú)收到AT command,如果收到有收到AT command則執(zhí)行該命令的內(nèi)容。

  • 解析AT command并執(zhí)行對(duì)應(yīng)的程序

6e68b2a0-a6a8-11ee-9ee2-92fbcf53809c.png

實(shí)驗(yàn)效果

  • 按下AT-START板上的USER KEY發(fā)送www back按鍵,則瀏覽器頁(yè)面返回上一頁(yè)
  • 按下AT-START板上的USER KEY發(fā)送volume up按鍵,則音量提高(需要修改ATcommand)
  • 按下AT-START板上的USER KEY發(fā)送volume down按鍵,則音量降低(需要修改AT command)

按鍵定義

本應(yīng)用指南以多媒體按鍵為例,在代碼中定義了多媒體按鍵值的數(shù)組,用戶可以在app_key.c中找到以下代碼:

  • 多媒體按鍵值定義

6e823b9e-a6a8-11ee-9ee2-92fbcf53809c.png在app.c中的app_user_entry函數(shù),每當(dāng)添加一個(gè)新的按鍵實(shí)例,必須透過(guò)app_hid_send_report這個(gè)函數(shù),將按鍵值及長(zhǎng)度發(fā)送給主機(jī)端,主機(jī)才能根據(jù)按鍵值做出對(duì)應(yīng)的行為;舉例來(lái)說(shuō),要發(fā)出降低音量的按鍵功能,從上面的注釋可以看到volume down對(duì)應(yīng)到第九列,是整個(gè)數(shù)組的第18個(gè)數(shù),因此調(diào)用發(fā)送函數(shù)時(shí)寫成app_hid_send_report(&key_copy[18], 2),其他按鍵也是如此使用。

HOGP相關(guān)AT command

本應(yīng)用指南中,已經(jīng)建立部分的AT command,如下表:表2. HOGP相關(guān)AT command

6e948c68-a6a8-11ee-9ee2-92fbcf53809c.png

用戶自行添加AT command時(shí),需要在MCU端及BT端同時(shí)增加對(duì)應(yīng)的實(shí)例;MCU端要在at_cmd.h中新增AT command的請(qǐng)求及期待的響應(yīng);BT端要在app.h中新增要解析的AT command字符串、command的枚舉以及回復(fù)的枚舉,數(shù)量上如果對(duì)不上的話則發(fā)出的按鍵功能可能會(huì)不正常。另外鼠目標(biāo)AT command及位移都是填入Dummy Data, 使用者如果要反應(yīng)真實(shí)的位移及實(shí)作按鍵、滾輪等功能,需要自己由傳感器讀取數(shù)據(jù),并修改鼠標(biāo)的AT command讓它可以攜帶真實(shí)參數(shù),接收AT command的部份也要實(shí)做解析函數(shù)去取出AT command中的參數(shù)內(nèi)容,并填入Notification之中。關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場(chǎng)32位微控制器(MCU)創(chuàng)新趨勢(shì)的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

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

    關(guān)注

    146

    文章

    16885

    瀏覽量

    349916
  • 雅特力
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    7959
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    110

    瀏覽量

    2058
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AT32 HOGP開(kāi)發(fā)指南

    AT32 HOGP開(kāi)發(fā)指南前言人機(jī)接口設(shè)備(Human Interface Devices, HID)的主要目的是基于USB實(shí)現(xiàn)者論壇所維護(hù)的規(guī)格書(shū),提供用戶與計(jì)算器之間的接口。HID涵蓋了顯示器
    發(fā)表于 08-26 19:29

    AT32 MCU SDIO入門指南

    AT32 MCU SDIO入門指南本應(yīng)用入門指南主要介紹以下幾部分內(nèi)容:1.基于
    發(fā)表于 10-25 08:08

    AT32 HOGP開(kāi)發(fā)指南

    AT32 HOGP開(kāi)發(fā)指南人機(jī)接口設(shè)備(Human Interface Devices, HID)的主要目的是基于USB實(shí)現(xiàn)者論壇所維護(hù)的規(guī)格書(shū),提供用戶與計(jì)算器之間的接口。
    發(fā)表于 10-26 06:18

    攜高效能AT32 MCU“芯”動(dòng)亮相ICCAD 2020

    高峰論壇,獲得了業(yè)界人士、廣大客戶及眾多媒體的廣泛關(guān)注。 (供圖,下同) 在同期舉辦的IP 與 IC 設(shè)計(jì)專題論壇上,
    的頭像 發(fā)表于 12-16 17:12 ?2030次閱讀

    攜高性能AT32 MCU精彩亮相全球MCU生態(tài)發(fā)展大會(huì)

    技術(shù)、邊緣AI、新興應(yīng)用和生態(tài)發(fā)展等熱門議題。 業(yè)務(wù)處長(zhǎng)陳佳延在大會(huì)發(fā)表了題為“
    的頭像 發(fā)表于 08-30 10:04 ?4478次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相全球<b class='flag-5'>MCU</b>生態(tài)發(fā)展大會(huì)

    AT32 SPI

    AT32 SPI 科技AT32F415系
    發(fā)表于 03-30 10:44 ?460次閱讀

    攜高性能AT32 MCU精彩亮相D Forum 2021 微控制器論壇

    AT32高效能MCU平臺(tái)–持續(xù)布局多元化應(yīng)用市場(chǎng)”的主題演講。產(chǎn)品與行銷處長(zhǎng)杜立博先生在演講中首先介紹了公司近幾年來(lái)取得的成績(jī),
    的頭像 發(fā)表于 02-24 09:33 ?684次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相D Forum 2021 微控制器論壇

    攜高性能AT32 MCU精彩亮相全球MCU生態(tài)發(fā)展大會(huì)

    技術(shù)、邊緣AI、新興應(yīng)用和生態(tài)發(fā)展等熱門議題。業(yè)務(wù)處長(zhǎng)陳佳延在大會(huì)發(fā)表了題為“AT3
    的頭像 發(fā)表于 02-24 09:31 ?544次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相全球<b class='flag-5'>MCU</b>生態(tài)發(fā)展大會(huì)

    AT32 MCU完整生態(tài)系統(tǒng),加速創(chuàng)新開(kāi)發(fā)進(jìn)程

    和技術(shù)支持等都是MCU產(chǎn)品競(jìng)爭(zhēng)的關(guān)鍵。除了用先進(jìn)工藝開(kāi)發(fā)產(chǎn)品,還秉持服務(wù)精神持續(xù)完善整個(gè)
    的頭像 發(fā)表于 03-17 09:42 ?825次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>完整生態(tài)系統(tǒng),加速創(chuàng)新<b class='flag-5'>開(kāi)發(fā)</b>進(jìn)程

    展臺(tái)首日速遞,AT32 MCU精彩亮相

    8月23日,elexcon2023深圳國(guó)際電子展在深圳會(huì)展中心(福田)正式拉開(kāi)帷幕!攜AT32MCU精彩亮相,電機(jī)控制、工業(yè)控制、消費(fèi)&商務(wù)、電力&電源、智能家電及汽車電子等
    的頭像 發(fā)表于 08-24 08:17 ?605次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>展臺(tái)首日速遞,<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相

    如何使用AT32 MCU定時(shí)器進(jìn)行PWM輸入測(cè)試

    如何使用AT32 MCU定時(shí)器進(jìn)行PWM輸入測(cè)試
    的頭像 發(fā)表于 10-27 14:20 ?2387次閱讀
    如何使用<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>定時(shí)器進(jìn)行PWM輸入測(cè)試

    AT32 MCU實(shí)現(xiàn)高效電機(jī)驅(qū)動(dòng)控制與應(yīng)用

    發(fā)展。受邀出席此次會(huì)議,產(chǎn)品市場(chǎng)總監(jiān)林金海發(fā)表了題為“AT32
    的頭像 發(fā)表于 11-17 08:15 ?780次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>實(shí)現(xiàn)高效電機(jī)驅(qū)動(dòng)控制與應(yīng)用

    AT32 MCU與SEGGER攜手合作,開(kāi)發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32MCU產(chǎn)品,SEGGER工具鏈的加持使AT32MC
    的頭像 發(fā)表于 02-22 08:13 ?437次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>與SEGGER攜手合作,<b class='flag-5'>開(kāi)發(fā)</b>量產(chǎn)事半功倍

    AT32 MCU與SEGGER攜手合作,開(kāi)發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32 MCU產(chǎn)品,SEGGER工具鏈的加持使
    的頭像 發(fā)表于 02-23 10:27 ?341次閱讀

    AT32F423入門使用指南

    初步環(huán)境準(zhǔn)備開(kāi)發(fā)環(huán)境下載地址:
    的頭像 發(fā)表于 05-14 08:15 ?1248次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423入門使用<b class='flag-5'>指南</b>