資源描述:
《ble藍(lán)牙遙控器設(shè)計(jì)方案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于SYD8801的藍(lán)牙遙控器設(shè)計(jì)方案版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。BLE芯片興起已經(jīng)有好幾年了,從最初的TICC254x的火熱到后期之秀Dialog在小米手環(huán)的綻放,產(chǎn)品形態(tài)也從最初的防丟器應(yīng)用延時(shí)到可穿戴產(chǎn)品,智能家居和消費(fèi)類產(chǎn)品等各個(gè)方面。采用BLE技術(shù)的藍(lán)牙遙控器,也是最近興起的產(chǎn)品,有很大的市場空間。相比普通的紅外遙控器,藍(lán)牙遙控有很明顯的優(yōu)點(diǎn):1.360°無死角遙控,遙控距離更遠(yuǎn)2.通過與智能電視或者機(jī)頂盒配對(duì),可以實(shí)現(xiàn)獨(dú)立無干擾的控制3.可擴(kuò)展性強(qiáng),可以集成簡單的語音控制和體
2、感游戲控制4.增加很低的成本,即可兼具紅外遙控器功能和紅外學(xué)習(xí)功能。本文描述了基于SYD8801的藍(lán)牙遙控器設(shè)計(jì)方案,供開發(fā)人員參考。1.首先看看SYD8801的系統(tǒng)框圖和改芯片的主要性能參數(shù),對(duì)芯片有大致的了解:2.原理圖設(shè)計(jì)由于SYD8801片上集成了Balun,無需阻抗匹配網(wǎng)絡(luò),無需外掛晶振負(fù)載電容,最大限度地節(jié)省BOM成本。外部也只需要矩陣鍵盤和簡單的元器件,極具成本優(yōu)勢。3.軟件架構(gòu)描述intmain(void){__disable_irq();ble_init();//clkinitgpio_ini
3、t();dbg_init();dbg_printf("RCUPowerOn!r");#ifdefCONFIG_LEDled_config(LEDALL);led_flash();#endifRCU_set_work_mode(RCU_MODE_BT);io_irq_enable(BIT16
4、BIT17
5、BIT18
6、BIT19
7、IFR,&gpio_int_callback);__enable_irq();while(1){if(work_mode==RCU_MODE_IR_RECEIVING)//瞬態(tài)的自加
8、模式,會(huì)自動(dòng)降到下一模式{__disable_irq();pulse_time++;__enable_irq();}elseif(work_mode==RCU_MODE_IR_RECEIVE_WAITING)//紅外學(xué)習(xí)模式{if(IR_receive_CMP==1){IR_receive_CMP=0;RCU_receive_decode();enable_IR_receive(1);}KeyEvent_Handle();}else//藍(lán)牙模式、紅外發(fā)射模式{ble_sched_execute();KeyEve
9、nt_Handle();SystemSleep();}}}在BLE初始化中調(diào)用:evt.evt_mask=(GAP_EVT_CONNECTION_SLEEP
10、GAP_EVT_CONNECTION_INTERVAL);evt.p_callback=&ble_evt_callback;SetEvtCallback(&evt);給底層協(xié)議棧注冊ble_evt_callback(),當(dāng)發(fā)生藍(lán)牙事件的時(shí)候,會(huì)調(diào)用:staticvoidble_evt_callback(structgap_ble_evt*p_evt){if
11、(p_evt->evt_code==GAP_EVT_ADV_END){//廣播結(jié)束}elseif(p_evt->evt_code==GAP_EVT_ATT_READ){//讀特征}elseif(p_evt->evt_code==GAP_EVT_ATT_HANDLE_CONFIGURE){//配置服務(wù)}elseif(p_evt->evt_code==GAP_EVT_ENC_KEY){//配對(duì)}elseif(p_evt->evt_code==GAP_EVT_CONNECTED){//連接}elseif(p_evt-
12、>evt_code==GAP_EVT_DISCONNECTED){//斷開}}通過調(diào)用該函數(shù),處理相應(yīng)的藍(lán)牙事件。矩陣掃描通過中斷觸發(fā)gpio_int_callback();按鍵事件處理函數(shù)KeyEvent_Handle();通過主函數(shù)可以看到,遙控器一共有3種主要的運(yùn)行模式:藍(lán)牙模式、紅外發(fā)送模式、紅外接收(學(xué)習(xí))模式。紅外學(xué)習(xí)也采用中斷方式解碼紅外接收頭數(shù)據(jù),目前紅外主要采用NEC模式的紅外協(xié)議。紅外接收解碼基本上準(zhǔn)確無誤。4.藍(lán)牙服務(wù)描述TheRemotecontrolreferenceapplicati
13、onimplementsthefollowingservices:--GAP--GATT--DIS--HIDoverGATT--Battery其中HID服務(wù)可支持keyborad,mouse,systemcontrol,consumerkey等HID報(bào)告。5.功耗測試情況目前已經(jīng)在iphone4s,iphone5s,iphone6,華為P9,創(chuàng)維電視盒子上運(yùn)行OK。6.軟件開發(fā)環(huán)境采用