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