DA14580模块简介
DA14580模块是针对无线智能产品设计的一款超低功耗的蓝牙的模块。具有32位ARM Cortex M0™ 处理器国际标准的Blue-tooth® Smart协议栈。应用于智能穿戴式设备、蓝牙手表、无线键盘、无线鼠标、平板电脑、手机、笔记本电脑等。有带flash和不带flash两种版本可选择。
1.1主要的特点
l 超低功耗
l 最小尺寸
l 内嵌16MHZ 32位ARM Cortex M0™ 处理器
l 专用链路层处理器
l 内置aes - 128位加密处理器
l 32 kB One-Time-Programmable(OTP)内存 (flash版本包含8M容量的flash)
l 42 kB系统SRAM
l 84 kB ROM
l 8 kB记忆存储器
l 支持多个数字接口:通用I / o、2 个UARTs与硬件流控制1 MBd 、SPI +™接口
l I2C总线在100 kHz,400千赫
l 硬件正交解码能力
l 支持模拟接口设备内置n4通道 10-bit ADC
l 完全集成2.4 GHz CMOS收发器
l 单线天线:内置50欧姆天线匹配直接连接2.4G的天线
l VBAT 3 V电源电流:
l 0 dBm传输输出功率
l -93 dBm接收机灵敏度
1.2应用市场
智能穿戴式设备
蓝牙手表
无线键盘
无线鼠标
平板电脑
手机
笔记本电脑
1.3管脚定义及尺寸图
序号 |
名称 |
功能 |
输入输出 |
说明 |
Pin18 Pin21 |
GND |
接地 |
— |
|
Pin20 |
VCC |
模块电源正极2.7V to 3.3V |
— |
支持聚合物(需降压)、钮扣电池 |
Pin10 |
TX |
模块串口发送端 |
O |
|
Pin12 |
RX |
模块串口接收端 |
I |
|
Pin19 |
RST |
复位,高有效 |
I |
不用时接地 |
1.4模块管脚说明
芯片脚位 |
输入输出 |
功能 |
VPP,SW_CLK,SWDIO |
-- |
调试软件用 |
P0_0/NC,P0_3/NC,P0_5/NC,P0_6/NC |
I/O |
通用I/O,Flash版本为NC不可用 |
P2_7,P2_8,P2_9,P2_0,P0_1,P0_2,P1_0,P1_1,P1_2,P1_3,P2_5,P2_6 |
I/O |
通用I/O |
P0_7 |
输入 |
模块状态切换脚(下降沿唤醒、上升沿睡眠) |
P2_2 |
输入 |
串口状态切换脚(高电平为指令模式、低电平为透传模式) |
P2_3 |
输出(可不接) |
蓝牙状态引脚(是否处于连接状态,处于连接状态为低,处于断开状态位高) |
P2_4 |
输出(可不接) |
蓝牙接收数据状态脚(有数据时自动拉低,方便唤醒cpu,数据发送完后自动拉高) |
1.5外围参考设计
1.6模块功耗
睡眠模式:2uA
唤醒后功耗:500uA
连接状态功耗(以1k的发送速率):625uA
1.7模块工作说明
1、 本模块为透传模块,在配置完模块的对应I/O 后,应切换下P0_7的高低电平以保证,模块处于用户所希望的状态(睡眠或者唤醒)。当用户需要使用模块来发送数据时,应该切换模块状态位唤醒。并拉高或拉低P2_2将模块切换为对应的模式。模块可以从串口一次性最大接收256个字节的数据包,模块在接收到串口数据后,会根据是否处于连接并使能了通知后。自动将数据分包发送出去。模块接收到蓝牙发送过来的数据后,会将P2_4拉低,并且延时一段时间,默认为4ms ,以方便用户唤醒MCU(注:此处接收蓝牙发送数据的buf也是256字节)。在延时过后 ,串口将输出数据,当串口数据发送完毕后,P2_4将拉高。等待下次接收数据后的拉低。
注:用户可根据产品要求的吞吐量来设置模块的连接间隔、串口波特率这些参数。当串口接收速率大于连接间隔时,会造成串口接收buf溢出。
2、模块在处于透传模式下,默认不发送任何AT指令返回内容(唤醒、睡眠、切换为指令模式、透传模式)。只会向MCU发送接收到的透传数据。如希望开启此类打印内容,需要在指令模式下,输入 “DA:Open\r\n"此指令会开启打印数据。对应输入“DA:Close\r\n",关闭打印。
3、模块在处于指令模式下,即使收到主机端通过蓝牙发送过来的数据时,也不会向MCU端发送,而是放入到串口缓存中,等待模块切换为透传模式,才会将缓存中的数据发送给MCU。
1.8、裸机模块开发环境
运行环境:keil
仿真环境:jlink
烧写工具:SmartSnippets
2.模块AT指令:
模块上电后,给模块一个P0_7下降沿触发模块唤醒(唤醒成功模块将返回"AT:WAKEUP\r",默认不打印),并将P2_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码0x0d 0x0a 为结束符)
修改成功将返回"AT:OK\r\n"(此指令可在连接后使用,方便随时更新连接间隔,默认连接间隔为10ms~20ms之间。因此间隔直接影响到透传发送速率。用户需仔细考虑)
2.2开启关闭广播
“DA:AdvON/OFF\r\n”
用户可通过发送DA:AdvON\r\n 开启广播 或DA:AdvOFF\r\n 关闭广播 以达到近一步节省功耗的目的。模块默认为开启广播。当用户需要修改广播数据时,需先关闭广播,待修改完后,再次开启广播。则广播数据已更新。
2.3设置广播数据
“DA:Advda+Data\r\n”
用户可通过如上指令来修改广播数据。注意广播包中前3个字节已经在模块中配置好(0x02,0x01,0x06),用户修改的广播数据是直接追加在此3个字节之后。另用户修改广播数据请遵循蓝牙联盟的广播数据规范。祥见(第375页 ADVERTISING AND SCAN RESPONSE DATA FORMAT) 用户修改后需重新开启广播。
2.4获取蓝牙当前连接状态
“DA:Statu\r\n”
发送该指令,成功模块将返回模块是否处于连接状态。连接状态返回"AT:Connect\r\n"
未连接状态返回"AT:Disconnect\r\n"。若指令错误则返回"AT:Err\r\n"
注:为方便用户唤醒cpu 当模块被连接后P2_3会拉低。断开连接后会重新拉高。
2.5设置模块串口波特率
“DA:Set_Uart_X\r\n”
X表示参数(1~7)分别对应波特率9600 、14400、19200、28800、38400、57600、115200。波特率修改完后立马生效,所以串口无法正常接收指令操作结果。
2.6设置串口发送延时
“DA:Set_Delay+Data\r\n”
其中Data为2字节的ascii码。单位为4ms。通过设置该参数。模块在接收到蓝牙发送过来的数据时。会将P2_4拉低,并根据该参数延时一段时间后再通过串口发送数据至MCU。再串口发送完数据后,该IO将拉高,等待下一次接收数据以此类推。通过设定此参数,方便用户唤醒MCU,以达到降低功耗。
2.7 断开蓝牙连接
“DA:Discon\r\n”
发送该指令,模块将主动断开蓝牙连接。成功则返回"AT:Disconnect\r\n"。
2.8 开启打印指令
"DA:Open\r\n"
此指令将开启模块打印唤醒、睡眠、指令、透传模式的切换。
2.9 关闭打印指令
"DA:Close\r\n"
此指令将关闭模块打印唤醒、睡眠、指令、透传模式的切换。
3、模块透传数据通道
服务 |
特征值 |
属性 |
说明 |
0xFFF0 |
0xFFF1 |
Notify(通知) |
通过此通道模块将数据发送至主机端 |
|
0xFFF2 |
write |
通过此通道,模块将接收到主机的数据 |
淘宝地址:http://item.taobao.com/item.htm?spm=686.1000925.0.0.4lHQKM&id=41068771809
http://item.taobao.com/item.htm?spm=686.1000925.0.0.4lHQKM&id=41617638359
发表评论 评论 (0 个评论)