低功耗智能点读笔设计方案分享——用户“Lucien”撰稿

发布时间:2020-02-26 阅读量:3818 来源: 我爱方案网 作者:

【编者按】传统点读笔具有待机时间不长;在互动性上只能简单的语音互动,难以给小朋友带来生动印象等特点。为了解决这个问题,在传统点读笔上改进,结合书本和大屏幕电视动画播放,采用目前流行的低功耗蓝牙技术。改良的点读笔可以让孩子通过参与各种针对性的游戏和活动,不断刺激触觉、视觉、听觉等感官来丰富他们的体验,增长他们的兴趣,开发他们的脑神经。点读笔小巧方便,非常便携,可随时、随处使用,它将声音和视频加于枯燥的文字之上,使图书内容更丰富,使阅读和学习更有趣,可充分实现寓教于乐。

· 系统概述

    如下图所示,整个系统运行设计这几个整体部分:带传感器的点读笔,扑了二维码的书本,智能电视。使用点读笔可以通过它的传感器识别到二维码的数据中的二维码信息,然后通过点读笔的蓝牙BLE芯片发送传感器读取到的数据到智能Android电视端,电视端可以和云端结合,播放云端或者本地的动画视频。

 

点读笔.png 

 

· 点读笔硬件设计

1. 主控芯片

硬件上采用的主控芯片是Dialog公司的DA14580芯片。这是一款经典的BLE芯片,小米手环的第一代就是用这款芯片设计的。

DA14580特性如下

(1) 蓝牙4.2协议

(2) 支持达到8BLE连接

(3) 支持AES-128 bit 加密处理器

(4) 32 kB OTP ;50 kB Data/Retention SRAM; 84 kB ROM

(5) 集成在芯片内部的Buck/Boost DCDC 转换

(6) Fully integrated 2.4 GHz CMOS transceiver;0 dBm 发射输出功率

(7) 支持2 x UART SPI+10-bit ADC

(8) 芯片最低待机功耗低于2uA

点读笔da.jpg 

DA14580框图

 

2. 点读笔主要原理图

点读笔原理图1.png 

点读笔原理图2.jpg 

点读笔原理图

    如上图所示,点读笔硬件上主要有这几部分,主控DA14580MPR7612读头传感器,充电部分和锂电池,以及片外的Flash(主要用于存放代码)。细心的读者可能注意到这里使用了两颗晶振,一颗是32K频率的,一颗是12MHz的。对于无线控制低功耗系统,其实一般会使用两路时钟,高速和低速的。低速用户睡眠时运行的时钟,高速用于倍频到2.4G信号,调制与解调需要发送的无线数据。为啥在睡眠时不直接使用高速呢?其实是因为采用高速时钟运行的话,功耗一般都很高。其实DA14580内部也有32K的低速晶振,如果使用芯片内部的32K低速晶振,功耗会略微高一点点,这里原理图上保留兼容使用内部32K或者外部32K晶振的设计。


3. MPR7612 传感器结构要求


识读头成品成像效果不仅与识读光头模组本身参数有关,还会受到识读塑胶头内部结构参数的影响。塑胶头影响成像的参数主要:塑胶材质是否透明.塑胶头出光孔的直径大小. 塑胶头内部弧度.

1. 塑胶材质:不能使用透明和半透明材质,如POM,透明ABS,PC,透明和半透明材质因为漏光,会让识读头光的强度下降,即使在外表面喷涂其他颜色油 漆,也难以掩盖,所以用白色ABS等为原材料, 观面可以喷涂其他颜色,内壁颜色必须为白色

2. 塑胶头内壁不能是光滑面,光滑面会产生镜面反射, 应在模具上晒细纹,让光产生漫反射

3. 塑胶头出光孔的直径和1026D一样,直径3.6MM, 且出口不能做直身位,应做成图A中的出光孔,以免成像时出现阴影

4. 焦距: 焦距是识读模组的出光口到塑胶顶面的距离,该距离必须保证为7.15MM,如图A


 

Mpr.jpg

 

· 点读笔软件设计

4. 软件概述

    本软件主要架构图如下图,紫色区域为SDK本身自带模块,其他为需要实现的模块。主要实现了电量检测功能,电源控制,三色LED显示指示,以及传感器采集点读笔数据通过打包后发送到FIFO后,通过自定义服务发送到Android电视APP端等

 

app端.jpg

5. App通信协议设计

由于应用数据比较简单,这里协议就简单设计。协议采用不定长统一的数据格式。从Android电视APP到点读笔和从点读笔到Android电视采用此数据格式。

包头

长度

类型

数据

校验和

Header

Length

Type

Data

CheckSum

[2]

[2]

[1]

[N]

[1]

 

数据包基本数据格式

包头:此协议定义为0xaa 0xaa

长度(Length):描述为DATA区选项加命令加校验和的字节数。

类型(Type):标识不同的数据类型。

数据区(Data):对应不同的类型不一样,不固定长度。

校验和(CheckSum):校验长度+命令+数据字段

6. BLE相关通信协议

    BLE通信相关涉及两个主要的服务,一个是OTA服务,一个是透传服务。OTA服务Dialog官方本身已经提供,剩下的应用需要透传数据的服务需要自定义。

Handle

UUID

Permission

Value

size

1

Server declare

R

Generic Attribute


2

Char declare

R

char UUID + handle + permission

2+2+1

3

char value

I

Service changed

4

4

CCC

W/R

Client characteristic Configuration

2





// 11 

5

server declare

R

CHAT server


6

char declare

R

char UUID + handle + permission

16+2+1

7

char value

N

TX

20

8

CCC

W/R

Client characteristic Configuration

2

9

char declare

R

char UUID + handle + permission

16+2+1

a

char value

W/R

RX

20 





// 41+39

GATT属性表

 

 

7. 传感器MP7612驱动设计

    传感器厂家并没有提供驱动代码,所以需要自己写相关的驱动代码,这里主要是使用SPI方式进行数据通信。

读寄存器:

    读取寄存器值前需要将寄存器页设置,写入0xfd = 当前页号。例如:将当前寄存器页设置在第二页,需操作寄存器接口写入 0xfd = 0x02;向SPI3字节序列(0x02addrdummy_data),其中0x02为读寄存器命令字,addr为读取的目标寄存器地址,dummy_data为任意数值,然后从SPI读取一个字节,获得的数值即为目标寄存器的值,持续输入时钟并且SPI_CS保持低电平读地址会自动加1,连着读取下一个寄存器的数值。

 

寄存器.jpgSPI读寄存器时序

写寄存器:

写寄存器值前需要将寄存器页设置,写入0xfd = 当前页号。例如:将当前寄存器页设置在第二页,需操作寄存器接口写入 0xfd = 0x02;直接向SPI3字节序列(0x01addrvalue),其中0x01为写命令字,addr为写入的目标寄存器地址,value为要写入的寄存器值;

寄存器2.jpg 

SPI写寄存器时序

8. 应用层工作模式模块

下图为各种状态下蓝牙、LED指示灯、传感器等的工作状态。

工作状态-.jpg 

工作状态逻辑图

9. 功耗优化和功耗估算

模块工作时平均功耗:

传感器:1.4mA  LED: 1.5mA

蓝牙: 广播状态:14uA  连接状态20uA  关闭状态3uA

电池电量: 1000mAh


Xxxxxxx  待增加如何优化和功耗估算公式

    功耗主要消耗在传感器和LED,蓝牙部分其实使用占比较少部分。待机时,功耗可以低至3uA,理论待机可以待机好几个月。也可以持续使用几周。

 

作者:LucienKUANG, 多年BLE 和Mesh相关开发和支持经验,先后开发过,空气波压力治疗仪系统,共享单车锁,自拍杆,点读笔电子价签系统等等嵌入式软件产品的嵌入式软件开发。支持过ST,Dialog等大厂BLE相关产品的开发。在我爱方案网的个人店铺为“路恩”,有类似的项目开发需求者欢迎联系。 

 


相关资讯
无源晶振YSX321SL应用于高精度HUD平视显示系统YXC3225

在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。

拥有卓越性能的高精度超薄低功耗心电贴—YSX211SL

随着医疗技术的进步,心电监护设备在日常生活和医疗领域中起到了至关重要的作用。而无源晶振 YSX211SL 作为一种先进的心电贴产品,以其独特的优势在市场上备受瞩目。

可编程晶振选型应该注意事项

对于可编程晶振选型的话,需要根据企业的需求选择。在选择可编程晶振的时候注重晶振外观、晶振的频率、晶振的输出模式、晶振的型号等等,这些都是要注意的,尤其是晶振的频率和晶振输出模式以及晶振的型号都是需要注意的。

性能高的服务器—宽电压有源晶振YSO110TR 25MHZ,多种精度选择支持±10PPM—±30PPM

在现代科技发展中,服务器扮演着越来越重要的角色,为各种应用提供强大的计算和数据存储能力。而高品质的服务器组件是确保服务器稳定运行的关键。YSO110TR宽电压有源晶振,作为服务器的重要组成部分,具备多项优势,成为业界必备的可靠之选。

差分晶振怎么测量

其实对于差分晶振怎么测量方式有很多种,主要还是要看自己选择什么样的方式了,因为选择不同的测量方式步骤和操作方式是不同的。关于差分晶振怎么测量的方式,小扬给大家详细的分享一些吧!