当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]提出了一种具有体感控制功能的多功能遥控器的设计方案。遥控器通过蓝牙与主机通信,数字加速度传感器、数字陀螺仪和磁力计的数据通过体感算法处理后,实现对空中鼠标以及体感游戏的控制。在此基础上,遥控器还加入了键盘和语音传输功能。经测试证明,该方案是可行的。

随着三网融合[1]的推进,多功能电视机顶盒已经进入了千家万户。电视除了能够收看电视节目外,视频点播、浏览网页、多媒体游戏、视频通话等功能也已经或即将被引入现代电视(或电视机顶盒)中。因此,仅具有按键功能的红外线遥控器已经无法满足如此众多的功能需求。为此,本文在普通遥控器的按键功能上增加了体感模块和语音模块,引入了体感控制算法,并以蓝牙协议作为通信方式,设计了一款具有体感控制功能的多功能遥控器。

1 系统总体设计

系统总体设计框图如图1所示。系统以HL1010芯片为控制核心,数字加速度传感器、数字陀螺仪和地磁计的数据通过I2C总线传至HL1010的8051微控制器,经过滤波和体感算法的处理,转化为主机服务端可用的数据,由HL1010的蓝牙控制器传至主机服务端。8051微控制器对键盘模块进行键盘扫描,将键值通过蓝牙发送至主机服务端外,还可以进行简单的音频压缩和解码,并通过蓝牙控制器和语音模块,完成遥控器和主机服务端的语音传输。遥控器中加入了E2PROM,用以存储程序和初始化数据以及蓝牙通信所需的重连信息。电源管理模块用以管理各个模块之间的电源,达到节能和延长电池使用寿命的作用。此外,串口接口为HL1010烧录程序的接口。


2 硬件设计

2.1 HL1010接口及外围电路

HL1010为蓝牙控制芯片,其特点是:除了具有独立的蓝牙控制核心外,还集成了一颗8051微控制器核心;具有28个独立的GPIO,两路语音输入输出通道;集成了I2C和SPI控制器,便于外围设备的扩展;内部固化了键盘扫描固件,可以通过简单的寄存器读写完成键盘扫描。

利用HL1010的外围电路,其中,GPIO10~GPIO17作为键盘行扫描,GPIO30~GPI-O37作为键盘列扫描;GPIO20~GPIO27为电源管理GPIO,分别通过软件来控制加速度传感器、数字陀螺仪、地磁计、E2PROM、扬声器、振动电机等模块的开关,以达到节能的作用;Pin44、45、48、49、50为语音模块接口,pin23、24为I2C接口。其余引脚为芯片的供电和射频匹配电路。HL1010的外围电路可参考文献[2]。

2.2 传感器模块

表1为本设计中传感器的部分参数,三个传感器都通过I2C总线与主控芯片进行交互,电路设计较为简单。


3 软件设计

3.1 体感算法

体感功能中最常用的是空中鼠标,即通过遥控器在空中的挥舞来控制屏幕中鼠标的运动,同时通过遥控器按键实现鼠标按键的操作,从而使用户能在远距离的三维空间中获得鼠标的操作功能。为了实现空中鼠标的功能,本文采用陀螺仪和加速度传感器。通过对陀螺仪得到的角速度数据分析得出遥控器的运动状态,作为空中鼠标的主要数据;通过对加速度传感器提供的加速度(主要是判断重力加速度的方向)数据进行分析,得到遥控器所处的姿态,从而对陀螺仪的数据进行坐标转换。陀螺仪所得数据中与重力加速度平行的方向为Y轴,与重力加速度垂直的为X轴,使最终空中鼠标的Y轴与重力加速度的平行方向始终一致、X轴与重力加速度的垂直方向始终一致。其数学方法如下[3-4]:

遥控器的加速度为as,大地系加速度为ai,两者的转化关系为:

ai=asRis(1)
其中,Ris为遥控器相对于大地系的余弦阵,其表达式为:


经过坐标转换后,无论使用者如何将遥控器握在手中(正握,反握,竖立,倒立等),空中鼠标的运动仅与使用者手臂的运动方向有关,而与遥控器的运动方向无关。

算法的主要流程为:(1)对角速度进行采样,并进行数字滤波;(2)对加速度进行采样,并进行数字滤波;(3)通过加速度传感器数据对陀螺仪的坐标轴进行旋转;(4)计算鼠标两个轴的偏移量;(5)通过键盘扫描得到鼠标按键键值;(6)通过HID协议将键值发送给服务端。数据流程如图2所示。


3.2 状态机

软件通过状态机控制遥控器处于不同的工作状态。该状态机包括配对状态、重连状态、连接状态和休眠状态。遥控器状态示意图如图3所示。

(1)睡眠状态。系统开机首先进入睡眠模式,当按下任意按键(配对键除外)或者摇动遥控器时,遥控器被唤醒,如果遥控器中已经存有重连信息(最近一次与之配对的主机信息,包括BD Address和Pin Code)并且电量足够则进入重连状态,否则继续停留在睡眠状态。在睡眠状态中,遥控器将关闭8051微控制器、蓝牙控制器、加速度传感器、地磁传感器、E2PROM、语音模块以及所有LED,键盘和数字陀螺仪仍保持工作,但会降低采样频率,用作唤醒系统之用。

(2)重连状态。进入重连状态后,遥控器读取重连信息并尝试与最近一次配对的主机进行重连。如果重连成功则进入工作状态,如果多次重连失败则重新进入睡眠状态。在重连状态中,加速度传感器、地磁传感器、数字陀螺仪和语音模块将被关闭。

(3)配对状态。在任意状态下,如果用户按下配对键(工作模式下需要长按配对键),则遥控器清除重连信息并进入可发现状态。这时主机可以发现遥控器,并进行配对操作。在可发现状态中,加速度传感器、地磁传感器、数字陀螺仪和语音模块将被关闭。

(4)连接状态。进入工作状态后,如果用户长时间不使用遥控器,系统会增长sniff的间隔来降低功耗,最后会使系统进入睡眠状态。如果主机主动断开,连接系统则进入睡眠状态,如果连接意外断开,则系统会进入重连状态。在工作状态中,遥控器会根据不同的报文格式来选择所需的传感器和模块并控制是否给其供电,而且选择不同的sniff间隔以减少功耗。

通过样机的使用和测试,本设计方案中的遥控器解决了一般体感遥控器存在的主要问题[5]:(1)做到了高性能与低成本的平衡:HL1010中的8051微控制器不仅满足了遥控器的性能要求,与一般的蓝牙控制芯片比较,不需要在外部另加微控制器,大大降低了成本;(2)有良好的抗环境干扰:方案中选用的蓝牙通信技术具有高速、高带宽和高保真等特点,并且运用调频技术可有效地防干扰;(3)功耗低:遥控器通过电源管理模块、状态机控制和连接时的长短sniff状态切换,有效降低了功耗,睡眠状态时电流在100 ?滋A以下,空中鼠标状态下,短sniff时电流为5 mA左右,长sniff时电流为1 mA左右;(4)良好的用户体验:空中鼠标中加入了体感算法后,用户无论以什么姿势握住遥控器都可以轻松地控制鼠标,加入了防抖程序后空中鼠标可以过滤掉用户手部的细微抖动,增加了控制的精确度,在缩短sniff间隔后遥控器可以做到每1000帧/s以上的报告速率,可以完成某些高要求的体感游戏的控制。遥控器中的键盘功能和语音功能实现比较简单,并且与体感算法无关。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭