百度智能手环硬件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
百度智能手环硬件设计
百度在线网络技术(北京)有限公司
目录
1. 硬件方案总体介绍 (3)
2. MCU和蓝牙模块 (5)
3. G-sensor模块 (7)
4. 按键输入模块 (8)
5. LED显示模块 (8)
5.1 LED灯控制模块 (8)
5.2 LED点阵列控制模块 (9)
6. 马达控制模块 (11)
6.1 普通马达模块 (11)
6.2 线性马达模块 (11)
7.电量检测模块 (12)
8.外部复位模块 (13)
9.充电电路模块 (14)
10.系统电源模块 (14)
11.电池保护模块 (15)
12.调试接口 (16)
13.手环layout建议 (16)
13.1 天线 (16)
13.2 射频电路 (17)
13.3 传输线阻抗匹配 (18)
13.4 晶振走线 (20)
13.5 地平面 (20)
13.6 电源 (20)
13.7 Buck芯片走线 (22)
附表1 (22)
1.硬件方案总体介绍
百度智能手环基于Nordic公司nRF51822芯片开发,芯片集成BLE蓝牙4.0协议。
使用LIS3DH作为加速度传感器,进行运动和睡眠监测。
开源遵循 Apache License, Version 2.0,详情参见:
/licenses/LICENSE-2.0
手环硬件电路设计部分,包括一颗集成BLE功能的MCU(nrf51822),和由MCU控制的各种外设:
●蓝牙射频电路;
●使用SPI接口的G-sensor;
●使用I2C接口的线性马达驱动电路;
●使用I2C接口的LED点阵驱动,与线性马达共用总线;
●使用GPIO的按键输入;
●使用GPIO的LED灯;
●使用GPIO的普通马达驱动电路;
●外部复位电路。
下图是百度智能手环公版的结构图:
在公版基础上,各家厂商可以根据自己的需求自定义版本,比如LED 显示模块以及马达控制模块的选择。
除了上述公版结构图涉及的功能模块以外,手环电源部分的总体设计方案:
● 充电电路完成5V 到电池电压的转换,不充电时保持低功耗;
● DCDC 完成高效率的电池电压到系统电压(2.8V )的转换;
● 电池保护电路用于完成过流关断、欠压保护等功能;
后面章节对MCU 芯片以及其控制的外设模块的电路设计做出详细的介绍,以及设计中遇到的一些注意点。
2.MCU和蓝牙模块
nRF51822是一款为超低功耗无线应用(ULP wireless applications)设计的的多协议单芯片解决方案。芯片支持BLE4.0 和2.4GHZ协议栈,整合了射频发射电路,一个ARM Cortex M0核以及256KB的flash + 16KB的RAM。
●nRF51822的IO配置十分灵活,除了ADC必须配置在8个规定的PIN脚上外,SPI、I2C
等功能可以灵活配置在31个GPIO上,便于设计接近尺寸极限的设备;
●nRF51822内部电源工作在LDO模式下(虽然内置了DCDC模式,但是因为芯片本身的
bug,功耗过大,放弃使用),外部可以输入1.8V到3.6V供给芯片;
●nRF51822使用一个16MHz的外置高频晶振和一个32.768kHz的外置低频晶振。芯片内
部有32.768KHZ的RC振荡器,但是因为振荡器的精度无法满足计时要求(内部RC振荡器的精度如下图所示),所以我们加入了外部低频晶振,占用了2个PIN脚(P0.26、P0.27);
内部RC振荡器的误差是2%(30分钟/天),即使校准后只能达到250ppm(22秒/天);
外部晶振,一般能达到40ppm(3秒/天),误差非常小;
●蓝牙BALUN可以使用分立器件,也可以使用ST定制的BAL-01D3。设计中我们使用
了定制器件BAL-01D3,保证了信号的性能以及减小了的板卡尺寸。注意:如果更改nRF51822的封装,需要将定制器件型号改成BAL-02D3;
●BALUN电路输出端,需要一个π形电路(起到阻抗匹配的作用),需要根据实际情
况在三个位置上增加电容或者电感。调整的依据是根据史密斯圆图(如下图所示),把阻抗调整到中心点,达到最大的功率输出效果。
注:文档最后附录了nRF51822中IO口的使用表
3.G-sensor模块
G-sensor中文是重力传感器的意思(英文全称是Gravity-sensor),它能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力,比如晃动、跌落、上升、下降等各种移动变化都能被G-sensor转化为电信号,然后通过微处理器的计算分析后,就能够完成程序设计好的功能,比如MP3能根据使用者的甩动方向,前后更换歌曲,放进衣袋的时候也能够计算出使用者的前进步伐。
百度智能手环中使用的三轴加速度计是ST出品的LIS3DH,输入电压支持1.71V到3.6V。16bit精度输出,内置数据FIFO。
G-sensor模块电路接口比较简单,需要注意以下几点:
●芯片本身支持SPI或者I2C接口,实际使用时选择SPI。因为SPI的速度远超过I2C
(目前nRF51822的SPI接口最高速率8Mbps,I2C是400kbps),能减少CPU运行
的时间,从而降低功耗;
●芯片加速度部分的供电虽然和数字IO的供电电压相等。但是需要保证IO部分先于
加速度部分工作,否则芯片初始化会有问题,因此VDD引脚(加速度部分的供电)
另外并联了一个大电容保证足够的上电时间;
●ADC1和ADC2脚不使用,需要接到固定电平。之所以分别接到不同的电平上,是
为了和升级版LSI3DSH(内置计步算法)保持引脚兼容,在升级版芯片中,这两个
位置需要作为供电和参考地脚;