鐘志峰


本文提出一種基于低功耗藍牙( BLE)技術的智能遙控器設計方案。整個系統包含藍牙soc芯片、加速度計、陀螺儀、音頻編解碼器等,利用這些器件實現的智能遙控器,能給智能電視提供如按鍵、體感數據、語音識別等服務。該遙控器相比傳統紅外遙控器有著響應速度快、無方向性、功能豐富等特點。
隨著科技的日新月異,電視正朝著越來越智能化的方向發展,各種搭載智能操作系統的電視也逐漸進入尋常百姓家。然而傳統紅外遙控器響應速度慢、具有方向性、無法穿越障礙物等缺點,卻限制著智能電視用戶體驗的提升。因此,如何尋找一種新型的遙控方式成了電視生產廠商的一大難題。低功耗藍牙技術的出現正好給這個難題提供了一種解決方法。
此款智能遙控器采用的核心器件為高通公司的CS R1011藍牙芯片,它是一款基于BLE的sOc芯片,集成有藍牙協議棧和微控制器,遙控器以此為核心,使用矩陣鍵盤獲取按鍵控制指令,通過BMI160和MAX9860分別采集體感數據和語音數據,并通過藍牙將這些數據傳送給智能電視,實現對智能電視的控制。
一、硬件電路設計
整個硬件框圖如圖1所示,主要由藍牙核心器件CSR1011、存儲器件AT24C512.六軸(加速度和陀螺儀)傳感器BMI160、音頻編解碼芯片MAX9860和鍵盤矩陣組成。藍牙核心器件CSR1011為系統控制核心,負責與智能電視進行藍牙數據通信以及控制周邊外設;AT24C512用于存放應用程序以及程序運行過程中需要保存的數據;BMI160負責體感數據的采集,并通過IIC接口將數據傳送給CSR1011;MAX9860負責語音數據的采集,通過IIS接口將數據傳送給CSR1011;鍵盤矩陣由CS R1011的數字10口搭建,CSR1010通過對I0口的不斷掃描直接獲取按鍵數據。
(一)藍牙主控模塊。主控由藍牙SOC CSR1011搭配兩顆晶振和一顆存儲芯片構成,兩顆晶振的頻率分別為32kHz和16MHz,其中32kHz主要在低功耗時使用,16MHz是全速運行時使用。存儲芯片AT24C512的作用是存放CSR1011的應用程序和程序運行中的一些數據。為了保證穩定性,它通過一組獨立的IIC與CSR1011相連,并使用PI02給其供電。
(二)音頻編解碼芯片。MAX9860是一款16位單聲道音頻編解碼芯片,在此遙控器中,其作用是采集用戶的語音數據,然后通過IIS將數據傳送給藍牙芯片。硬件上,需要CS R1011的七個I0口分別與MAX9860的IRO、SCL、SDA、MCLK、SDOUT、BCLK、LRCLK相連。其中,IRO為中斷引腳,需要上拉10k歐姆電阻到Vbat;SCL和SDA為IIC通信引腳,主要用于對MAX9860進行配置,需要上拉4.7k歐姆電阻到Vbat;MCLK、SDOUT、BCLK和LRCLK為IIS引腳,用于傳送音頻數據。
(三)六軸傳感器。BMI160是一顆集成了加速度計和陀螺儀的六軸傳感器,通過IIC與CS R1011相連,設計上可以將SCL和SDA與MAX9860使用同一組IIC總線。除此之外還需要額外兩個I0口來連接BMI160的INT1和INT3,用于中斷信號輸出。
(四)鍵盤矩陣。鍵盤掃描可以由CSR1011的數字I0口完成,由于此遙控器有12個按鍵,因此我們可以選擇4*3的鍵盤矩陣,只需要將對應I0口接到鍵盤中,剩下的工作就交給軟件來完成。
二、軟件設計
軟件設計的主要工作是將音頻數據、六軸傳感器數據和按鍵信息采集到藍牙芯片,然后藍牙芯片通過BLE將這些數據傳送給智能電視端,以達到遙控智能電視的目的。
(一)音頻數據處理。MAX9860的音頻數據是通過IIS輸出到外部芯片的,而CSR1011沒有專門的IIS接口,我們可以利用CSR1011的51核來模擬IIS。用于語音識別的音頻為16位16kHz采樣率的數據,因此每秒的原始數據量為:
然后對原始數據做1/4的PCM編碼,得到1秒鐘的數據量為8000Bytes。根據BLE connection Interval的設置,每秒可以與電視通信100次,而BLE中定義數據包的長度為20字節,因此,得到每次通信需要發送的數據包為:
所以,在軟件上,可以設置為在語音輸入時,每次與主機通信需要發4個20字節長度的語音數據包。
(二)六軸傳感器處理。六軸傳感器與藍牙芯片之間通過IIC相連,在正常讀取體感數據情況下,可以設置一個定時器每IOms去讀一次加速度計和陀螺儀數據,每次讀到的數據量為6字節加速度計數據、6字節陀螺儀數據和2字節溫度數據,總共14字節,完全可以在一個數據包內將其傳送到電視端。
(三)鍵盤矩陣掃描。由于鍵盤矩陣掃描是時時刻刻進行的,因此我們需要借助低功耗的51核上實現鍵盤的掃描,相關掃描代碼需要與IIS處理代碼進行整合。主要工作方式是:平時進行鍵盤掃描,當掃描到按鍵后,判斷是不是音頻按鍵,如果是則切換至IIS以處理音頻數據,同時一直檢測音頻按鍵是否松開,一旦松開則切換回鍵盤掃描。
采用低功耗藍牙設計的智能遙控器,不光在響應速度上有很大提升,同時還能實現傳統紅外遙控器不能實現的功能,比如語音輸入、空中鼠標等。由于BLE在大多數情況下處于休眠狀態,因此在功耗表現方面也十分出色,經實際測試,在日常使用情況下,兩節五號電池能持續使用半年以上。因此,基于低功耗藍牙的智能遙控器一定會被越來越多的人接受,它的使用也一定會越來越廣泛。