RM新时代官方网站-首页

公司新聞
行業(yè)新聞
炬芯-藍(lán)牙語音遙控器方案

行業(yè)新聞|2021-11-12|YIPPEE

時下智能語音交互市場發(fā)展火熱,越來越多的設(shè)備都開始支持遠(yuǎn)場AI語音數(shù)據(jù)交互。例如:智能音箱,智能手機電視系統(tǒng)等等。但這類產(chǎn)品的識別率和誤喚醒率還需再不斷的優(yōu)化提升,即使在日常生活中,人們?nèi)匀浑x不開各種遙控器。 藍(lán)牙語音遙控產(chǎn)品作為遠(yuǎn)場語音交互的近場配件,也搭上了這趟語音交互的高速列車,成長過也是令人驚訝?;诰嫘镜腁TB1103芯片的語音遙控器方案,打造了一個AIoT時代的高性價比精品。

1949.jpg

遙控器應(yīng)用總體架構(gòu)
遙控器的整體結(jié)構(gòu)分為四層,從上到下分別是應(yīng)用層、應(yīng)用框架層、硬件抽象層、底層驅(qū)動層。

應(yīng)用層

應(yīng)用狀態(tài)機–事件觸發(fā)讓遙控器應(yīng)用處理不同的狀態(tài)

應(yīng)用定時器– 定時觸發(fā)不同的事件,驅(qū)動遙控器正常運行

應(yīng)用輸入處理-處底層的不同按鍵信息

應(yīng)用音頻輸入處理–對底層音頻處理消息進(jìn)行編碼,并通過藍(lán)牙將其發(fā)送到對方設(shè)備。

  BLE profile
Hid 配置文件,提供按鍵輸入/輸出接口服務(wù)

BAS服務(wù),提供電池服務(wù)
DIS service,提供數(shù)據(jù)讀取設(shè)備進(jìn)行基本信息的接口服務(wù)
ota profile,提供 ota 升級服務(wù)


應(yīng)用框架層:輸入管理–按鍵映射處理、按鍵過濾機制,消息管理-消息的分配和發(fā)布,消息的發(fā)送和接收,內(nèi)存管理–動態(tài)內(nèi)存管理,閃燈管理– 燈資源進(jìn)行分配和釋放電池管理: 電源讀取和電源管理。
   硬件抽象層:分離應(yīng)用層和驅(qū)動層的中間件層。
底層驅(qū)動層:底層硬件操作接口。


遙控器模塊流程概述
系統(tǒng)啟動:系統(tǒng)相關(guān)初始化、板級相關(guān)外設(shè)初始化、藍(lán)牙協(xié)議棧相關(guān)初始化、HidApp應(yīng)用初始化,進(jìn)入Main循環(huán)等待消息處理。遙控器狀態(tài)機:遙控器在運行中,主要靠如下3 種狀態(tài)可以維持他的正常運行。
觸發(fā)遙控器進(jìn)入空閑狀態(tài)的事件:廣播狀態(tài),無連接成功,超時事件,進(jìn)入空閑,連接狀態(tài),斷開,如無操作斷開主動連接,然后進(jìn)入空閑狀態(tài)。

觸發(fā)遙控器進(jìn)入激活狀態(tài)的事件:空閑狀態(tài),有按鍵、首次上電,進(jìn)入激活狀態(tài),連接狀態(tài),異常斷開,需要連接回來,進(jìn)入激活狀態(tài)

觸發(fā)遙控器進(jìn)入工作狀態(tài)的事件:激活狀態(tài)下,配對成功或者回連成功,進(jìn)入工作狀態(tài)。

按鍵處理:因為遙控器有很多鍵值,所以通常使用矩陣鍵盤來節(jié)省pin的使用。當(dāng)使能Key 模塊后,鑰匙控制器將處于矩陣掃描狀態(tài)。當(dāng)檢測到外部按鍵有值時,它將生成一個中斷,中斷將按鍵信息上報給應(yīng)用。

  紅外處理:在非連接狀態(tài)下,按下按鍵,就會發(fā)射紅外碼,進(jìn)而可以通過利用紅外操作對端設(shè)備,如使用一個紅外進(jìn)行配對在 irc 上,短的 ir 代碼重新傳輸時間為108ms,而按鍵重新傳輸時間可能小于108ms 或大于108ms,因此按鍵輸入和 ir 傳輸模塊時間有三種可能性:
慢速點按

  慢速點按動作的特點是超過Trpc時間后有多個按鍵輸入。Ta時發(fā)送[敏感詞]個鍵值,Tb時不響應(yīng),Tc時繼續(xù)發(fā)送檢測到的鍵值,不發(fā)送重碼。

快速點按
  快速點按動作是在 trpc 時間內(nèi)的兩個或多個推送擁有屬性動作。在 Ta 時刻,將發(fā)送出初次按鍵,而 tb 時刻不發(fā)送按鍵值。在 tc 時,如果鍵仍然按下,則鍵值將被發(fā)送,否則將丟掉按鍵值長按。

語音采集
當(dāng)語音鍵啟動時,模數(shù)轉(zhuǎn)換器開始采集。
采集的數(shù)據(jù)可以通過DMA 搬運到應(yīng)用的循環(huán)buffer 中,同時發(fā)送消息給Main 線程,讓其處理語音數(shù)據(jù)。
如果主線程不夠快,audioin 驅(qū)動程序會丟棄收集到的語音數(shù)據(jù),因為它沒有緩沖區(qū)。

ble 數(shù)據(jù)傳輸:
編碼和壓縮 audioin 驅(qū)動程序發(fā)送的數(shù)據(jù)。
然后將編碼后的壓縮數(shù)據(jù)切成幾個20byte 的數(shù)據(jù)包
后可以通過hid profile notify 接口發(fā)送給BLE 協(xié)議棧

RM新时代官方网站-首页