人C交ZO ZOⅩ全过_香蕉66精品久久久_欧美国产激情二区三区_娇小12-13╳YⅩ╳毛片高清

公司新聞
行業新聞
炬芯-藍牙語音遙控器方案

行業新聞|2020-11-12|YIPPEE

時下智能語音交互市場發展火熱,越來越多的設備都開始支持遠場AI語音數據交互。例如:智能音箱,智能手機電視系統等等。但這類產品的識別率和誤喚醒率還需再不斷的優化提升,即使在日常生活中,人們仍然離不開各種遙控器。 藍牙語音遙控產品作為遠場語音交互的近場配件,也搭上了這趟語音交互的高速列車,成長過也是令人驚訝。基于炬芯的ATB1103芯片的語音遙控器方案,打造了一個AIoT時代的高性價比精品。

1949.jpg

遙控器應用總體架構
遙控器的整體結構分為四層,從上到下分別是應用層、應用框架層、硬件抽象層、底層驅動層。

應用層

應用狀態機–事件觸發讓遙控器應用處理不同的狀態

應用定時器– 定時觸發不同的事件,驅動遙控器正常運行

應用輸入處理-處底層的不同按鍵信息

應用音頻輸入處理–對底層音頻處理消息進行編碼,并通過藍牙將其發送到對方設備。

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

BAS服務,提供電池服務
DIS service,提供數據讀取設備進行基本信息的接口服務
ota profile,提供 ota 升級服務


應用框架層:輸入管理–按鍵映射處理、按鍵過濾機制,消息管理-消息的分配和發布,消息的發送和接收,內存管理–動態內存管理,閃燈管理– 燈資源進行分配和釋放電池管理: 電源讀取和電源管理。
   硬件抽象層:分離應用層和驅動層的中間件層。
底層驅動層:底層硬件操作接口。


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

觸發遙控器進入激活狀態的事件:空閑狀態,有按鍵、首次上電,進入激活狀態,連接狀態,異常斷開,需要連接回來,進入激活狀態

觸發遙控器進入工作狀態的事件:激活狀態下,配對成功或者回連成功,進入工作狀態。

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

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

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

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

語音采集
當語音鍵啟動時,模數轉換器開始采集。
采集的數據可以通過DMA 搬運到應用的循環buffer 中,同時發送消息給Main 線程,讓其處理語音數據。
如果主線程不夠快,audioin 驅動程序會丟棄收集到的語音數據,因為它沒有緩沖區。

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