ninghao80的个人空间 https://bbs.21ic.com/?720557 [收藏] [复制] [RSS]

日志

最小蓝牙模块

已有 528 次阅读2015-1-20 11:16 |系统分类:个人广告| 最小蓝牙模块

DA14580  模块简介
MN581N 模块是针对无线智能产品设计的一款超低功耗的,超小体积的蓝牙模块。基于德国DAILOG 超级蓝牙芯片 DA14580 设计,包含天线部分仅有 5.50mm*8.0mm, 高度仅有 1.7mm片上集成 32 位 ARM Cortex M0™ 处理器国际标准的 Blue-tooth® Smart 协议栈。特别适合对体积和高度有特殊需求的智能穿戴式设备。例如智能手环,蓝牙手表、无线键盘、无线鼠标、 平板电脑、手机、笔记本电脑等产品。可帮助客户快速开发蓝牙4.0产品。
1.1  主要的特点
 超低功耗
 最小尺寸
 内嵌16MHZ32位ARMCortex M0™ 处理器
 专用链路层处理器
 内置aes - 128 位加密处理器
 32kBOne-Time-Programmable(OTP)内存
 42kB系统SRAM
 84kB ROM
 8kB记忆存储器
 支持多个数字接口:通用I/o、2个UARTs与硬件流控制1 MBd 、SPI +™接口
 I2C总线在100kHz,400千赫
 硬件正交解码能力
 支持模拟接口设备内置 4通道10-bitADC
 完全集成2.4GHzCMOS收发器
 单线天线:内置50欧姆天线匹配直接连接2.4G的天线
 VBAT3V电源电流:
 0dBm传输输出功率
 -93dBm接收机灵敏度
1.2  应用市场
智能穿戴式设备,蓝牙手表,无线键盘,无线鼠标,平板电脑,手机,笔记本电脑
1.3  管脚定义及尺寸图
名称 功能 输入输出 说明
GND 接地 —VCC
模块电源正极 2.7V to
3.3V
支持聚合物(需降压)、
钮扣电池
P0_6/TX 模块串口发送端 O
P0_5/RX 模块串口接收端 I
P0_3 模块状态切换脚 I
模块状态切换脚(下降沿唤醒、上升沿睡眠)
P0_0 蓝牙数据引脚 O
蓝牙数据引脚(蓝牙连接\断开\接收数据时都会使此IO 电平变换)
SW_CLK
(P1_4)
Jlink 调试口
( 串口状态切换脚 )
I
(I)
调试软件用
(切换透传、指令模式。高电平为指令模式、低电平为透传模式)
SWDIO
(P1_5)
Jlink 调试口
蓝牙状态引脚
IO
(O)
调试软件用蓝牙状态引脚,是否处于连接状态,处于连接状态为低,处于断开状态位高)
1.4  外围参考设计
1.5  模块功耗
睡眠模式:2uA
唤醒后功耗:500uA
连接状态功耗(以1k的发送速率):625uA
1.6  模块工作说明
本模块为透传模块,在配置完模块的对应 I/O 后,应切换下 P0_3 的高低电平以保证, 模块处于用户所希望的状态(睡眠或者唤醒)。模块默认为状态为透传模式。模块可以从串口一次性最大接收256个字节的数据包,模块在接收到串口数据后,会根据是否处于连接并使能了通知后。自动将数据分包发送出去。模块接收到蓝牙发送过来的数据后,会将 P0_0 拉低,并且延时一段时间,默认为 4ms ,以方便用户唤醒 MCU(注:此处接收蓝牙发送数据的 buf 也是256字节)。在延时过后 ,串口将输出数据,当串口数据发送完毕后,P0_0 将拉高。等待下次接收数据后的拉低。
注:用户可根据产品要求的吞吐量来设置模块的连接间隔、串口波特率这些参数。
由主机端向模块发送数据的流程如下:
1、当模块发生连接,P1_5将会拉低,模块断开连接后,P1_5将会拉高。当模块接收到数据后P0_0将拉低电平,并延时 4ms(此处可通过命令设置延时时长),用户在此段时间内,可执行唤醒MCU,并且将模块置为透传模式,则可接收到蓝牙主机端发送过来的数据。
2、模块默认不发送任何 AT 指令返回内容(唤醒、睡眠、切换为指令模式、透传模式)。只会向MCU发送接收到的透传数据。如希望开启此类打印内容,需要在指令模式下,输入“DA:Open\r\n"此指令会开启打印数据。对应输入“DA:Close\r\n",关闭打印。
3、模块在处于指令模式下,即使收到主机端通过蓝牙发送过来的数据时,也不会向 MCU端发送, 而是放入到串口缓存中, 等待模块切换为透传模式, 才会将缓存中的数据发送给 MCU。
蓝牙模块返回数据指令说明:
状态 说明
“AT:WAKEUP\r\n” 模块切换为唤醒状态
"AT:SLEEP\r\n" 模块切换为睡眠状态
"AT:Connect\r\n" 模块处于连接状态
"AT:Is_Disconn\r\n" 模块处于正在断开连接中
"AT:Disconnect\r\n" 模块断开连接
"AT:CMD\r\n" 模块处于指令模式
"AT:SEND\r\n" 模块处于透传模式
"AT:OK\r\n" 模块成功接收指令
"AT:Err\r\n" 模块接收指令错误
1.7 、裸机模块开发环境
运行环境:keil
仿真环境:jlink
烧写工具:SmartSnippets
2. 模块 AT  指令:
模块上电后,给模块一个 P0_3 下降沿触发模块唤醒(唤醒成功模块将返回"AT:WAKEUP\r",默认不打印),并将P1_4拉高使模块处于指令模式(切换成功模块将返回"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.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 DATAFORMAT)用户修改后需重新开启广播。
2.4  获取蓝牙当前连接状态“DA:Statu\r\n”发送该指令,成功模块将返回模块是否处于连接状态。连接状态返回"AT:Connect\r\n"未连接状态返回"AT:Disconnect\r\n"。若指令错误则返回"AT:Err\r\n"
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。通过设置该参数。模块在接收到蓝牙发送过来的数据时。会将P0_0拉低,并根据该参数延时一段时间后再通过串口发送数据至MCU。再串口发送完数据后, 该IO将拉高, 等待下一次接收数据以此类推。 通过设定此参数, 方便用户唤醒MCU,以达到降低功耗。
2.7  断开蓝牙连接“DA:Discon\r\n”发送该指令,模块将主动断开蓝牙连接。成功则返回"AT:Is_Disconn\r\n" ,100ms 后接着返回"AT:Disconnect\r\n"。
2.8  开启打印指令
"DA:Open\r\n"
此指令将开启模块打印唤醒、睡眠、指令、透传模式的切换。
2.9  关闭打印指令
"DA:Close\r\n"
此指令将关闭模块打印唤醒、睡眠、指令、透传模式的切换。
3 、模块透传数据通道
服务 特征值 属性 说明
0xFFF0 0xFFF1 Notify(通知)
通过此通道模块将数据发送至主机端
0xFFF2 write
通过此通道,模块将接收到主机的数


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)