国产午夜精品a在线观看一区二区三区,亚洲精品无码久久久久,99精品在线观看,亚洲中文在线一区二区三区中文

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

行業(yè)新聞|2022-05-21|YIPPEE


時(shí)下智能語(yǔ)音交互市場(chǎng)火熱,越來(lái)越多的設(shè)備都開(kāi)始支持遠(yuǎn)場(chǎng)AI語(yǔ)音交互。

例如:智能音箱,智能電視等等。但這類產(chǎn)品的識(shí)別率和誤喚醒率還需再不斷的優(yōu)化提升,以至于日常生活中人們還是離不開(kāi)各式各樣的遙控器。而藍(lán)牙語(yǔ)音遙控器這一產(chǎn)品,作為遠(yuǎn)場(chǎng)語(yǔ)音交互的一個(gè)近場(chǎng)配件,也搭上了這趟語(yǔ)音交互的快速列車,成長(zhǎng)速度令人驚訝?;贏ctions炬芯的ATB1103芯片的語(yǔ)音遙控器,打造了一個(gè)AIoT時(shí)代的高性價(jià)比精品。

一、藍(lán)牙語(yǔ)音遙控器應(yīng)用總體架構(gòu)

遙控器總體架構(gòu)分四層,從上到下依次為應(yīng)用層、應(yīng)用框架層、硬件抽象層、底層驅(qū)動(dòng)層

1.1、應(yīng)用層

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

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

? 應(yīng)用輸入處理– 處理底層來(lái)的不同按鍵消息

? 應(yīng)用音頻輸入處理– 將底層的音頻處理消息,進(jìn)行編碼,然后通過(guò)藍(lán)牙發(fā)送給對(duì)端設(shè)備

? BLE profile

– HID profile,提供按鍵輸入輸出接口服務(wù)

– BAS service,提供電池服務(wù)

– DIS service,提供讀取設(shè)備基本信息的接口服務(wù)

– ota profile,提供OTA 升級(jí)服務(wù)

1.2、應(yīng)用框架層

? 輸入管理– 按鍵映射處理、按鍵過(guò)濾機(jī)制

? 消息管理– 消息分配和釋放、 消息發(fā)送和接收

? 內(nèi)存管理– 動(dòng)態(tài)內(nèi)存管理

? 閃燈管理– 燈資源分配和釋放

? 電池管理– 電量讀取、電量管理策略

1.3、硬件抽象層

將應(yīng)用層和驅(qū)動(dòng)層剝離開(kāi)的中間件層

1.4、底層驅(qū)動(dòng)層

底層硬件操作接口

二、遙控器模塊流程概述

2.1、系統(tǒng)啟動(dòng)

系統(tǒng)相關(guān)初始化、板級(jí)相關(guān)外設(shè)初始化、藍(lán)牙協(xié)議棧相關(guān)初始化、HidApp 應(yīng)用初始化,并進(jìn)入Main 主循環(huán),等待消息處理

2.2、遙控器狀態(tài)機(jī)

遙控器在運(yùn)行過(guò)程中,主要靠如下3 種狀態(tài)維持他的正常運(yùn)行。

2.2.1. 觸發(fā)遙控器進(jìn)去空閑狀態(tài)的事件:

> 廣播狀態(tài),沒(méi)有連接成功,出現(xiàn)超時(shí)事件,進(jìn)入idle

> 連接狀態(tài),斷開(kāi)連接,如無(wú)操作主動(dòng)斷開(kāi)連接,然后進(jìn)入idle

2.2.2. 觸發(fā)遙控器進(jìn)入激活狀態(tài)的事件:

> 空閑狀態(tài),有按鍵、首次上電,進(jìn)入激活狀態(tài)

> 連接狀態(tài),出現(xiàn)異常斷開(kāi),需要回連,進(jìn)入激活狀態(tài)

2.2.3. 觸發(fā)遙控器進(jìn)入工作狀態(tài)的事件:

> 激活狀態(tài)下,配對(duì)成功或者回連成功,進(jìn)入工作狀態(tài)。

2.3、按鍵處理

由于遙控器的鍵值較多,通常用矩陣鍵盤(pán)方式以節(jié)省pin 的使用。當(dāng)使能Key 模塊后,Key 控制器就會(huì)處于矩陣掃描狀態(tài),當(dāng)檢測(cè)到外部按鍵有值時(shí),就會(huì)產(chǎn)生中斷,中斷就將按鍵信息上報(bào)給應(yīng)用。

2.4、紅外處理

? 在非連接狀態(tài)下,按下按鍵,就會(huì)發(fā)射紅外碼,進(jìn)而通過(guò)紅外操作對(duì)端設(shè)備,如使用紅外進(jìn)行配對(duì).

? IRC 協(xié)議上,短的紅外碼重發(fā)時(shí)間為108 ms,而按鍵的重復(fù)上報(bào)時(shí)間,可能小于108ms,也可能大于108ms,因此按鍵輸入和紅外發(fā)送模塊時(shí)間上存在三種可能:

2.4.1. 慢速點(diǎn)按

慢速點(diǎn)按動(dòng)作特征是在大于Trpc 時(shí)間后有多次的按鍵輸入。在Ta 時(shí)刻,發(fā)出初次按鍵值,在Tb 時(shí)刻,不做任何響應(yīng),在Tc 時(shí)刻,繼續(xù)發(fā)送檢測(cè)到的按鍵值,不會(huì)發(fā)送重復(fù)碼.

2.4.2. 快速點(diǎn)按

快速點(diǎn)按的動(dòng)作特征是用戶在Trpc 時(shí)間內(nèi)有兩次或者以上的按鍵按下彈起的動(dòng)作. 在Ta 時(shí)刻,將發(fā)送出初次按鍵,而Tb 時(shí)刻并不發(fā)送按鍵值,在Tc 時(shí)刻,如果按鍵仍然是按下?tīng)顟B(tài),將發(fā)出按鍵值,否則將丟掉按鍵值.

2.4.3. 長(zhǎng)按

長(zhǎng)按的動(dòng)作特征是按鍵按下后,一直不放開(kāi)。此時(shí)CPU 檢測(cè)到按鍵的持續(xù)按下,則在Ta 時(shí)刻發(fā)送出初次按鍵,發(fā)送出此時(shí)按鍵對(duì)應(yīng)的紅外鍵碼,而在Trpc 時(shí)間內(nèi)沒(méi)有檢測(cè)到按鍵的松開(kāi),則在Tb 時(shí)間輸出重復(fù)碼,直至檢測(cè)到按鍵彈起為止.

2.5、語(yǔ)音采集

? 當(dāng)啟動(dòng)Voice Key 后,ADC 開(kāi)始采集

? 采集的數(shù)據(jù)通過(guò)DMA 搬運(yùn)到應(yīng)用的循環(huán)buffer 中,同時(shí)發(fā)送消息給Main 線程,讓其處理語(yǔ)音數(shù)據(jù)。

? 如果Main 線程處理速度不夠快,audioin 驅(qū)動(dòng)就會(huì)因?yàn)榉植坏絙uffer,而將采集的語(yǔ)音數(shù)據(jù)丟棄。

2.6、BLE數(shù)據(jù)傳送

? 將audioin 驅(qū)動(dòng)發(fā)送上來(lái)的數(shù)據(jù)進(jìn)行編碼壓縮。

? 然后將編碼后的壓縮數(shù)據(jù)切成幾個(gè)20byte 的數(shù)據(jù)包

? 后通過(guò)hid profile notify 接口發(fā)送給BLE 協(xié)議棧

2.7、應(yīng)用軟件Timer管理模塊

2.8、LED管理模塊

遙控器定義了幾種LED 指示燈,用于指示遙控器的一些狀態(tài),如下表所示

通常遙控器只有一個(gè)物理的LED 燈用于各種場(chǎng)景的指示,這就需要軟件上讓其分時(shí)復(fù)用,如果同時(shí)需要顯示兩種狀態(tài),狀態(tài)需要定義優(yōu)先級(jí),優(yōu)先級(jí)高的狀態(tài)先指示。如在配對(duì)模式下,處于閃燈狀態(tài)下,這時(shí)候按下按鍵,那么燈還是處于快閃狀態(tài)。

2.9、O