找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 3034|回复: 3

[TI] 蓝牙低功耗CC2540/1模组功能定制

[复制链接]
连续签到天数:2天
签到总天数:43天
签到总奖励:314金币
发表于 2016-5-9 10:24:05 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×

颖特新科技研发及销售蓝牙4.0/4.1超低功耗蓝牙模块。超低功耗蓝牙模块的出现,使得蓝牙在短距离无线数据交换领域取得了重要的地位,推动了蓝牙模块在各行各业的应用。
蓝牙4.0是如何实现超低功耗的呢?一、待机功耗的下降
传统蓝牙设备的待机耗电量大一直是为人所诟病的缺陷之一,这与传统蓝牙技术动辄采用16~32个频道进行广播不无关系,而低功耗蓝牙仅使用了3个广播通道,且每次广播时射频的开启时间也由传统的22.5ms减少到0.6~1.2ms,这两个协议规范上的改变显然大大降低了因为广播数据导致的待机功耗;此外低功耗蓝牙设计了用深度睡眠状态来替换传统蓝牙的空闲状态,在深度睡眠状态下,主机长时间处于超低的负载循环(DutyCycle)状态,只在需要运作时由控制器来启动,因主机较控制器消耗更多的能源,因此这样的设计也节省了最多的能源;在深度睡眠状态下,协议也针对此通讯模式进行了优化,数据发送间隔时间也增加到0.5~4s,传感器类应用程序发送的数据量较平常要少很多,而且所有连接均采用先进的嗅探性次额定(Sn i f f-Subrating)功能模式,因此此时的射频能耗几乎可以忽略不计,综合以上因素,低功耗蓝牙的待机功耗较传统蓝牙大大减少。
二、高速连接的实现
要明白这一过程,我们必须先介绍一下蓝牙设备和主机设备的连接步骤。
第一步:通过扫描,试图发现新设备
第二步:确认发现的设备没有而已软件,也没有处于锁定状况
第三步:发送IP地址
第四步:收到并解读待配对设备发送过来的数据
第五步:建立并保存连接
按照传统的蓝牙协议的规范,若某一蓝牙设备正在进行广播,则它不会响应当前正在进行的设备扫描,而低功耗蓝牙协议规范允许正在进行广播的设备连接到正在扫描的设备上,这就有效避免了重复扫描,而通过对连接机制的改善,低功耗蓝牙下的设备连接建立过程已可控制在3ms内完成,同时能以应用程序迅速启动链接器,并以数毫秒的传输速度完成经认可的数据传递后并立即关闭连结,而传统蓝牙协议下即使只是建立链路层连接都需要花费100ms,建立L2CAP(逻辑链路控制与适应协议)层的连接建立时间则更长。
蓝牙低功耗协议还对拓扑结构进行了优化,通过在每个从设备及每个数据包上使用32位的存取地址,能够让数十亿个设备能被同时连接。此技术不但将传统蓝牙一对一的连结优化,同时也利用星状拓扑来完成一对多点的连结。在连接和断线切换迅速的应用场景下,数据能够在网状拓扑之间移动,但不至于为了维持此网络而显得过于复杂,这也有效减轻了连接复杂性,减少了连接建立时间。
三、降低峰值功率
低功耗蓝牙对数据包长度进行了更加严格的定义,支持超短(8~27Byte)数据封包,并使用了随机射频参数和增加了GSFK调制索引,这些措施最大限度地减少了数据收发的复杂性;此外低功耗蓝牙还通过增加调变指数,并采用24位的CRC(循环冗余检查)确保封包在受干扰时具有更大的稳定度,低功耗蓝牙的射程增加至100m以上,以上措施结合蓝牙传统的跳频原理,有效降低了峰值功率。

你好科技 QQ:1694524733




楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:2天
签到总天数:43天
签到总奖励:314金币
 楼主| 发表于 2016-5-9 10:27:17 | 显示全部楼层
1.TI的蓝牙平台支持2种协议栈/应用配置:单一设备配置、网络处理器配置

2.协议栈最顶层2个通用profile:

GAP 通用访问配置文件层 Generic Access Profile

GATT 通用属性配置文件层 Generic Attribute Profile

3. GAP:处理设备的接入方式及接入过程:①设备发现 ②链路建立 ③链路终止 ④启动安全功能 ⑤设备配置(主要是连接参数配置)

GATT:完成服务器与客户端之间通信的相关子过程

4.BLE支持40个信道的跳频机制,其中3个通道用于Advertise,剩下的用于数据通信

5.OS抽象层:疑问 如何配置一个新的任务,任务的优先级,事件触发机制,消息的传递

6.主要用于实现的是2个代码文件:

OSAL_SimpleBLEPeripheral.c 任务回调函数数据的定义 和 任务初始化函数定义 作为OSAL的外部全局变量

SimpleBLEPeripheral.c BLE应用程序的实现代码,该源文件调用一系列的BLE API函数,完成复杂的蓝牙协议

通过 const pTaskEventHandleFn tasksArr[] 数组来存储要调用的函数

simpleBLEPeripheral.h 一些常量的定义,和蓝牙应用程序任务初始化和任务回调函数声明。

7.LL层任务函数优先级 最高, 而应用程序函数的优先级最低

8.OSAL为每个任务分配了1个16位的Event,每一位代表一个事件,最高位代表SYS_EVENT_MSG,这个事件被OSAL系统保留

9.main()函数中最后进入的 void osal_run_system( void ),这个函数就是看相应任务有没有事件发生,有时间发生就跳转到相应的函数

10.任务间通信,一般通过 事件 和 消息 进行,每当任务间有消息传递,都会触发SYS_EVENT_MSG事件,并且每次处理完事件后,都要清空标志位。

osal_set_event() OSAL.h中 该函数会直接调度一个事件

osal_start_timerEx() OSAL_Timers.h中 需要掩饰触发的事件,调用这个函数

11.Heap Manager(堆栈管理),函数osal_mem_alloc,给函数分配需要的字节数,osal_mem_free()用来释放内存。
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:2天
签到总天数:43天
签到总奖励:314金币
 楼主| 发表于 2016-5-9 10:28:17 | 显示全部楼层
1.OSAL中的消息:

发送消息前,用osal_msg_allocate()函数分配内存空间,填充数据,调用osal_msg_send()将消息发送到指定的函数中去。然后置位该函数的SYS_EVENT_MSG,然后接收端使用osal_mem_receive()将消息接收过来,接收完成后,使用osal_mem_deallocate()函数来回收当前消息所占用的内存。OSAL推荐在任务中使用独立的消息接收函数来处理消息,例如: simpleBLEPeripheral_ProcessOSALMsg()函数。

2.GAP (通用访问配置文件层 Generic Access Profile )

连接过程:①设备发现 ②链路建立 ③链路终止 ④启动安全功能 ⑤设备配置(主要是连接参数配置)

GAP层总是工作在以下角色中的1种:

Broadcaster 广播员,表明我在,但是你们只能看到我,不可以连接我

Observer 观察者,看看谁在,我只观察,不连接

Peripheral 外设,我存在,设想连我,我就连谁

Centeral 中心,看看谁在,工作在单层或多层的连接

3.连接过程: Peripheral向外广播->Centeral接收到向从机发送“Scan”命令->Peripheral以“ScanResp”命令回应->Centeral发送连接请求

4.Connect Interval 通信间隙 每个间隔1.25ms为基本单位,最小6单位7.5mS,最大3200单位4.0S。

5.Slave Latency 从机延时 表示Peripheral可以连续忽略的连接数,最大不能超过499个,最长不能超过32S。

6.Supervision Timeout 监管超时 2个成功连接事件之间的最大间隔。

7.Profile 一种规范 ; Service 一个服务 ; Characteristic 特征值 ; UUID 统一标识码(Service,Characteristic都需要),Centeral与Peripheral间的通信,均通过Characteristic实现

8.发送数据

主->从 Client调用GATT_WriteCharValue()函数发送;

从->主 Service调用GATT_Notification()函数实现。

9.接收数据

从<-主 从机接收后,会产生1个GATT_Profile_Callback调用;
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:17天
签到总天数:930天
签到总奖励:39272金币
发表于 2016-7-18 02:03:20 | 显示全部楼层
mark
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-5-16 02:36 , Processed in 0.262043 second(s), 15 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表