DA14580蓝牙透传模块简介 DA14580模块是针对无线智能产品设计的一款超低功耗的蓝牙的模块。具有 32 位 ARM Cortex M0™ 处理器国际标准的Blue-tooth® Smart协议栈。 应用于智能穿戴式设备、蓝牙手表、无线键盘、无线鼠标、平板电脑、手机、笔记本电脑等多个 1. .1 1 主 要 的 特 点 l 超低功耗 l 最小尺寸 l 内嵌16MHZ 32位 ARMCortex M0™ 处理器 l 专用链路层处理器 l 内置aes -128 位加密处理器 l 32kB One-Time-Programmable(OTP)内存 l 42kB 系统SRAM l 84kB ROM l 8kB **存储器 l 支持多个数字接口:通用I /o、2个 UARTs与硬件流控制 1MBd、SPI +™接口 l I2C总线在 100kHz,400 千赫 l 硬件正交解码能力 l 支持模拟接口设备内置 4 通道 10-bitADC l 完全集成2.4 GHzCMOS 收发器 l 单线天线:内置50 欧姆天线匹配直接连接2.4G 的天线 l VBAT3 V电源电流: l 0dBm 传输输出功率 l -93dBm 接收机灵敏度 1. .2 2 应 用 市 场 智能穿戴式设备 蓝牙手表 无线键盘 无线鼠标 平板电脑 手机 笔记本电脑 1. .3 3 管 脚 定 义 序 号 名 称 功 能 输 入 输 出 说 明 Pin1 Pin10 GND 接地 — Pin2 VCC 模块电源正极 2.7V、 3V — 支持纽扣电池、聚 合物电池 Pin21 TX 模块串口发送端 O Pin22 RX 模块串口接收端 I Pin25 RST 复位,低有效 I 1. .4 4 模 块 管 脚 说 明 芯片脚位 输入输出 功能 P0_4 输出 串口输出脚 P0_5 输入 串口输入脚 P0_1 输入 模块状态切换脚 (下降沿唤醒、上升沿睡眠) P0_2 输入 串口状态切换脚 (高电平为指令模式、 低电平为透传模式) P0_3 输出(可不接) 蓝牙状态引脚 (是否处于连接状态,处于连接状态为低,处于断开状态位高) P0_6 输出(可不接) 蓝牙接收数据状态脚 (有数据时自动拉低,方便唤醒cpu,数据发送完后自动拉高) 1. .5 5 尺 寸 图 1. .6 6 外 围 参 考 设 计 1. .7 7 模 块 功 耗 睡眠模式:2ua 唤醒后功耗:500ua 连接状态功耗(以 1k的发送速率):625ua 1. .8 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"。 如一些特殊指令返回另外的字符 串将在下面中提到。 1. .9 9 、 裸 机 模 块 开 发 环 境 运行环境:keil 仿真环境:jlink 烧写工具:SmartSnippets 2. . 模块 块 A AT 指 令 : 模块上电后,给模块一个 P0_1 下降沿触发模块唤醒(唤醒成功模块将返回" AT:WAKEUP\r"),并将 P0_2拉高使模块处于指令模式(切换成功模块将返回"AT:CMD\r"),接 下来就可以发送 AT指令来控制模块了。注:通过 AT指令设置的参数,掉电后都不保存。 指令接收成功则返回"AT:OK\r\n"失败则返回"AT:Err\r\n"。 如一些特殊指令返回另外的字符 串将在下面中提到。 2. .1 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 3 开 启 关 闭 广 播 “DA:AdvON/OFF\r\n” 用户可通过发送 DA:AdvON\r\n 开启广播 或 DA:AdvOFF\r\n 关闭广播 以达到近一步节 省功耗的目的。模块默认为开启广播。当用户需要修改广播数据时,需先关闭广播,待修改完 后,再次开启广播。则广播数据已更新。 2. .4 4 设 置 广 播 数 据 “DA:Advda+Data\r\n” 用户可通过如上指令来修改广播数据。注意广播包中前3个字节已经在模块中配置好 (0x02,0x01,0x06),用户修改的广播数据是直接追加在此3个字节之后。另用户修改广播数据 请遵循蓝牙联盟的广播数据规范。祥见(第375页 ADVERTISING AND SCAN RESPONSE DATA FORMAT)用户修改后需重新开启广播。 2. .5 5 获 取 蓝 牙 当 前 连 接 状 态 “DA:Statu\r\n” 发送该指令,成功模块将返回模块是否处于连接状态。连接状态返回"AT:Connect\r\n" 未连接状态返回"AT:Disconnect\r\n"。若指令错误则返回"AT:Err\r\n" 注:为方便用户唤醒cpu 当模块被连接后P0_3会拉低。断开连接后会重新拉高。 2. .6 6 设 置 模 块 串 口 波 特 率 “DA:Set_Uart_X\r\n” X表示参数(1~7) 分别对应波特率9600 、14400、19200、28800、38400、 57600、115200。 波特率修改完后立马生效,所以串口无**常接收指令操作结果。 2. .7 7 设 置 串 口 发 送 延 时 “DA:Set_Delay+Data\r\n” 其中Data为2字节的ascii码。单位为4ms。通过设置该参数。模块在接收到蓝牙发送过来的 数据时。会将P0_6拉低,并根据该参数延时一段时间后再通过串口发送数据至MCU。再串口发 送完数据后, 该IO将拉高, 等待下一次接收数据以此类推。 通过设定此参数, 方便用户唤醒MCU, 以达到降低功耗。 2. .8 8 断 开 蓝 牙 连 接 “DA:Discon\r\n” 发送该指令,模块将主动断开蓝牙连接。成功则返回"AT:Disconnect\r\n"。 3 、 模 块 透 传 数 据 通 道 服务 特征值 属性 说明 0xFFF0 0xFFF1 Notify(通知) 通过此通道模块将数据发送至主机端 0xFFF2 write 通过此通道,模块将接收到主机的数据
|