DA14580 模块简介
DA14580模块是针对无线智能产品设计的一款超低功耗的蓝牙的模块。 具有32位ARM Cortex
M0™处理器国际标准的Blue-tooth®Smart协议栈。应用于智能穿戴式设备、蓝牙手表、无线
键盘、无线鼠标、平板电脑、手机、笔记本电脑等多个
1.1 主要的特点
超低功耗l
最小尺寸l
内嵌16MHZ32位ARMCortexM0™处理器l
专用链路层处理器l
内置aes-128位加密处理器l
32kBOne-Time-Programmable(OTP)内存l
42kB系统SRAMl
84kB ROMl
8kB记忆存储器l
支持多个数字接口:通用I/o、2个UARTs与硬件流控制1MBd、SPI+™接口l
I2C总线在100kHz,400千赫l
硬件正交解码能力l
支持模拟接口设备内置 4通道10-bitADCl
完全集成2.4GHzCMOS收发器l
单线天线:内置50欧姆天线匹配直接连接2.4G的天线l
VBAT3V电源电流:l
0dBm传输输出功率l
-93dBm接收机灵敏度l
1.2 应用市场
智能穿戴式设备
蓝牙手表
无线键盘
无线鼠标
平板电脑
手机
笔记本电脑
1.3 管脚定义
|
名称 |
功能 |
输入输出 |
说明 |
|
2 |
PO-1 |
模块唤醒脚 |
I |
高电平唤醒 低电平睡眠 |
|
3 |
PO-0 |
模式切换 |
I |
高电平命令模式 低电平透传模式 |
|
4 |
PO-3 |
连接状态 |
O |
高电平连接状态 低电平断开状态 |
|
5 |
PO-5 |
模块串口接收端 |
I |
|
|
9 |
VCC |
模块电源正极3.3V |
|
|
|
10 |
GND |
接地 |
|
|
|
11 |
PO-4 |
模块串口发送端 |
|
|
|
12 |
RST |
复位 |
|
|
|
19 |
GND |
地 |
|
|
|
名称 功能 输入输出 说明
2 PO-1 模块唤醒脚 I
高电平唤醒
低电平睡眠
3 PO-0 模式切换 I
高电平命令模式
低电平透传模式
4 PO-3 连接状态
O
高电平连接状态
低电平断开状态
5 PO-5 模块串口接收端 I
9 VCC
模块电源正极
3.3V
10 GND 接地
11 PO-4 模块串口发送端
12 RST 复位
19 GND 地
1.4 模块管脚说明
芯片脚位 |
输入输出 |
功能 |
P0_4 |
输出 |
串口输出脚 |
P0_5 |
输入 |
串口输入脚 |
P0_1 |
输入 |
模块状态切换脚(下降沿唤醒、上升沿睡眠) |
P0_2 |
输入 |
串口状态切换脚(高电平为指令模式、低电平为透传模式) |
P0_3 |
输出(可不接) |
蓝牙状态引脚(是否处于连接状态,处于连接状态为低,处于断开状态位高) |
P0_6 |
输出(可不接) |
蓝牙接收数据状态脚(有数据时自动拉低,方便唤醒cpu,数据发送完后自动拉高) |
芯片脚位 输入输出 功能
P0_4 输出 串口输出脚
P0_5 输入 串口输入脚
P0_1 输入
模块状态切换脚 (下降沿唤
醒、上升沿睡眠)
P0_2 输入
串口状态切换脚 (高电平为
指令模式、 低电平为透传模
式)
P0_3 输出(可不接)
蓝牙状态引脚 (是否处于连
接状态,处于连接状态为
低,处于断开状态位高)
P0_6 输出(可不接)
蓝牙接收数据状态脚 (有数
据时自动拉低,方便唤醒
cpu,数据发送完后自动拉
高)
1.5 尺寸图
1.6 外围参考设计
1.7 模块功耗
睡眠模式:8UA
待机功耗(开启广播500ms一次):
唤醒后功耗:500UA
连接状态功耗(以1k的发送速率):625UA
1.8 模块工作说明
本模块为透传模块,在配置完模块的对应 io 后,应切换下 P0_1 的高低电平以保证,模
块处于用户所希望的状态(睡眠或者唤醒) 。当用户需要使用模块来发送数据时,应该切换模
块状态位唤醒。并拉高或拉低 P0_2 将模块切换为对应的模式。模块可以从串口一次性最大接
收256个字节的数据包,模块在接收到串口数据后,会根据是否处于连接并使能了通知后。 自
动将数据分包发送出去。模块接收到蓝牙发送过来的数据后,会将 P0_6 拉低,并且延时一段
时间,默认为 4ms ,以方便用户唤醒 MCU(注:此处接收蓝牙发送数据的 buf 也是 256 字节) 。
在延时过后,串口将输出数据,当串口数据发送完毕后,P0_6 将拉高。等待下次接收数据后
的拉低。
注:用户可根据产品要求的吞吐量来设置模块的连接间隔、串口波特率这些参数。当串口
接收速率小于连接间隔时,造成串口接收buf溢出。模块将返回字符串"AT:Err+Busy\r\n"
2. 模块 AT 指令:
模块上电后,给模块一个 P0_1 下降沿触发模块唤醒(唤醒成功模块将返回
"AT:WAKEUP\r"),并将P0_2拉高使模块处于指令模式(切换成功模块将返回"AT:CMD\r"), 接
下来就可以发送AT指令来控制模块了。注:通过AT指令设置的参数,掉电后都不保存。
指令接收成功则返回"AT:OK\r\n"失败则返回"AT:Err\r\n"。 如一些特殊指令返回另外的字符
串将在下面中提到。
2.1 设置蓝牙连接间隔
“DA:Conn+Data\r\n”
如设置连接间隔 最小连接间隔 20ms (单位为 1.25ms)最大连接间隔 40ms (单位为
1.25ms) latency 为 0 , 超 时 设 置 为 10s 注 :ascii 码 ( 单 位 为 10ms) 则 需 发 送
DA:Conn+00100020000003e8\r\n(高位在前’\r\n’即hex码0x0d0x0a为结束符)
修改成功将返回"AT:OK\r\n"(此指令可在连接后使用,方便随时更新连接间隔,默认连
接间隔为10ms~20ms之间。因此间隔直接影响到透传发送速率。用户需仔细考虑)
2.3 开启关闭广播
“DA:AdvON/OFF\r\n”
用户可通过发送 DA:AdvON\r\n 开启广播或 DA:AdvOFF\r\n 关闭广播 以达到近一步节省
功耗的目的。 模块默认为开启广播。 当用户需要修改广播数据时, 需先关闭广播, 待修改完后,
再次开启广播。则广播数据已更新。
2.4 设置广播数据
“DA:Advda+Data\r\n”
用户可通过如上指令来修改广播数据。注意广播包中前3个字节已经在模块中配置好
(0x02,0x01,0x06),用户修改的广播数据是直接追加在此3个字节之后。另用户修改广播数据
请遵循蓝牙联盟的广播数据规范。祥见(第375页 ADVERTISING AND SCAN RESPONSE DATA
FORMAT)用户修改后需重新开启广播。
2.5 获取蓝牙当前连接状态
“DA:Statu\r\n”
发送该指令,成功模块将返回模块是否处于连接状态。连接状态返回"AT:Connect\r\n"
未连接状态返回"AT:Disconnect\r\n"。若指令错误则返回"AT:Err\r\n"
注:为方便用户唤醒cpu 当模块被连接后P0_3会拉低。断开连接后会重新拉高。
2.6 设置模块串口波特率
“DA:Set_Uart_X\r\n”
X表示参数(1~7)分别对应波特率9600 、14400、19200、28800、38400、57600、115200。
波特率修改完后立马生效,所以串口无法正常接收指令操作结果。
2.7 设置串口发送延时
“DA:Set_Delay+Data\r\n”
其中Data为2字节的ascii码。单位为4ms。通过设置该参数。模块在接收到蓝牙发送过来的
数据时。会将P0_6拉低,并根据该参数延时一段时间后再通过串口发送数据至MCU。再串口发
送完数据后, 该IO将拉高, 等待下一次接收数据以此类推。 通过设定此参数, 方便用户唤醒MCU,
以达到降低功耗。
2.8 断开蓝牙连接
“DA:Discon\r\n”
发送该指令,模块将主动断开蓝牙连接。成功则返回"AT:Disconnect\r\n"。
3 、模块透传数据通道
服务 |
特征值 |
属性 |
说明 |
0xFFF0 |
0xFFF1 |
Notify(通知) |
通过此通道模块将数据发送至主机端 |
|
0xFFF2 |
write |
通过此通道,模块将接收到主机的数据 |
发表评论 评论 (0 个评论)