本文介绍了太阳集团tcy8722蓝牙模块系列的数据 “有效指示功能”及相关用法。
数据有效指示是通过模块一个引脚DATA(数据有效指示引脚,不同型号可能名称不同)的电平变化来实现的,在实际应用中,模块与外部MCU协同工作,外部MCU的一个引脚与模块的DATA相连接即可实现数据有效指示等功能。
数据有效指示是指在透传模式下,蓝牙从机接收到数据后通过串口向外输出透传数据时,从串口开始发送时,数据指示引脚以低电平或者高电平来指示。发送完毕之后,数据指示引脚电平翻转。如以低电平来作为数据有效指示,无输出延时时,如图表 2‑1所示。
图表2‑1无输出延时时数据有效指示
上图中,DATA引脚作为数据有效指示引脚,在蓝牙接收完一帧数据并串口的TXD发送该数据时,DATA引脚拉低为低电平并保持,指示当前正在发送数据,直到该帧数据发送完毕,DATA引脚翻转为高电平,表示此时串口空闲。
数据输出延时是指,模块蓝牙接收到数据后,先拉低DATA引脚,10ms后通过串口发送数据。如图表 2‑2所示。
图表2‑2开启输出延时时数据有效指示
上图中,在开启数据输出延时时,蓝牙接收完一帧数据后,先拉低DATA引脚并保持10ms,然后串口才开始发送数据,白色柱形为串口正在输出数据。
各个蓝牙模块输出延时指令可能不一致,详细描述如下(以下指令参考自最新的用户手册)。
开启数据输出延时指令如表格 2‑1所示。
指令 | 说明 |
<APPON> | 打开串口10ms的延迟 |
成功,返回<OK> |
表格2‑1开启数据输出延时指令
关闭数据输出延时指令如表格 2‑2所示。
指令 | 说明 |
<APPOFF> | 关闭串口延迟 |
成功,返回<OK> |
表格2‑2关闭数据输出指令
E104-BT51和E104-BT51A输出延时指令如表格 2‑3所示。
指令 | 应答 | 参数 |
查询:AT+DELAYDATA? | +OK=[para] | para:0、1 0:关闭 1:开启 |
设置:AT+DELAYDATA=[para] | +OK:成功 +ERR=[NUM]:错误 | |
说明:立即生效,掉电保存 |
表格2‑3 E104-BT51和E104-BT51A输出延时指令
E104-BT5011A和E104-5032A输出延时指令如表格 2‑5所示。
指令 | 应答 | |
查询 | AT+DELAY? | +OK=[para] |
设置 | AT+DELAY=[para] | +OK:成功 +ERR=[NUM]:错误 |
参数 | para(ASCII) | 描述 |
0 | 关闭 | |
1 | 开启(默认) | |
说明 | 立即生效,掉电保存; 开启数据输出延时,数据包最大不超过244字节; 开启输出延迟,空中包输入过快,会导致整包丢失。 |
表格2‑5 E104-BT5011A和E104-5032A输出延时指令
蓝牙系列部分模块的数据有效指示功能如表格 2‑6所示。
模块名称 | 数据延时电平 | 延时时间 | 数据有效指示电平 | 可通过指令开启/关闭数据指示 |
E104-BT02 | 低电平 | 固定10ms | 低电平 | 是 |
E104-BT51(A) | 低电平 | 固定10ms | 高电平 | 是 |
E104-BT5011A | 低电平 | 固定10ms | 低电平 | 是 |
E104-BT5005 | 低电平 | 固定10ms | 低电平 | 是 |
E104-BT5032A | 低电平 | 固定10ms | 低电平 | 是 |
E104-BT52 | 无 | 无 | 高电平 | 否 |
表格2‑6蓝牙系列模块数据有效指示功能汇总
从上述表格可以看出,开启数据输出延时功能时,延时时,DATA(数据有效指示引脚)为低电平保持且保持时间均为10ms;在串口发送数据过程中,仅E104-BT51(A)为高电平保持;其他型号为低电平保持,数据发送完毕后电平翻转。E104-BT52无输出延时且数据有效指示为高电平。
数据有效指示用法由具体应用决定,即外部MCU是否在串口空闲时进入休眠状态以降低功耗。
如果为低功耗应用,DATA(数据有效指示引脚)可用于唤醒外部MCU,串口准备发送数据并启动延时时,DATA引脚从高电平切换为低电平产生一个下降沿,外部MCU引脚可设置为下降中断,在休眠和正常状态之间切换;在输出延时10ms内,外部MCU可从休眠中醒来并初始化相关外设。
如果为非低功耗应用,模块将要发送数据时,DATA引脚产生的下降沿也可以提醒外部MCU,可以开启串口接收透传数据了。即外部MCU连接至DATA的引脚可设置为下降沿中断,这样当模块每当要发送数据时,外部MCU可及时整理本地内存,存放即将接收的数据。
在开启输出延时后,有以下注意事项:
l 不支持流传输,因为在延时期间,串口处于空闲状态,串口数据流会出现分帧;
l 若空中数据包接收得过快,会导致数据整包丢失;
因此,输出延时较适用于数据量不大且外部MCU不断地进入休眠状态的应用。
我司大部分蓝牙模块均支持数据有效指示功能,可根据实际情况启用该功能,但需要注意的是,在开发硬件时,已将DATA引脚引出且连接至外部MCU。数据有效指示功能为实现更低功耗提供了可能,也便于二次开发省时省力。
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3