前文介绍了太阳集团tcy8722研发生产的E610-XXXTXX系列高速连续传输型无线数传模块的产品功能及常见应用场景简介,E610系列无线数传模块产品是太阳集团tcy8722研发的高速连续传输型无线数传模组,内置高性能单片机与无线收发芯片。工作分别在410~441MHz频段、850~870MHz频段、902~928MHz频段,发射功率为20~30dBm。本文将详细介绍该无线连续传输模块功能配置及工作模式详解。
举例:将无线数传模块A地址设置为0xFFFF,信道设置为0x04。
当无线模块A作为发射时(相同模式,透明传输方式),0x04 信道下所有的接收模块都可以收到数据,达到广播的目的。
举例:将无线模块A地址设置为0xFFFF,信道设置为0x04。
当无线模块A作为接收时,可以接收到0x04信道下所有的数据,达到监听的目的。
无线连续传输模块上电后,AUX将立即输出低电平,并进行硬件自检,以及按照用户参数进行工作方式设置;
在此过程中,AUX保持低电平,完毕后AUX输出高电平,并按照M1、M0组合而成的工作模式开始正常工作;
所以,用户需要等待AUX上升沿,作为模块正常工作的起点。
AUX 用于无线收发缓冲指示和自检指示。
它指示模块是否有数据尚未通过无线发射出去,或已经收到无线数据是否尚未通过串口全部发出,或无线模块正在初始化自检过程中。
用于唤醒休眠中的外部 MCU;
无线模块串口外发数据时,AUX 引脚时序图
缓冲区空:内部4096 字节缓冲区的数据,都被写入到无线芯片(自动分包);
当AUX=1 时用户连续发起小于 4096 字节的数据,不会溢出;
当AUX=0 时缓冲区不为空:内部 4096 字节缓冲区的数据,尚未全部写入到无线芯片并开启发射,此时无线模块有可能在等待用户数据结束超时,或正在进行无线分包发射。
缓冲区中数据是“即存即取”,那么缓冲区大小可认为是无穷大。
【注意】:AUX=1 时并不代表模块全部串口数据均通过无线发射完毕,也可能最后一包数据正在发射中。
无线模块接收串口数据时,AUX 引脚时序图
仅在上电复位、指令复位和退出休眠模式(模式 3)时,呈现以下状态。
无线模块自检时,AUX 引脚时序图
图中‘T1’:代表单片机外设初始化(初始化时间为 4~5ms);
图中‘T2’:代表射频芯片配置参数初始化(初始化时间为 500ms 左右);
AUX 引脚在单片机初始化时,由于配置GPIO外设会导致该引脚会出现瞬间的拉低,如下图所示。
无线模块上电初始化时,AUX 引脚时序图
通过M0、M1硬件切换模式流程:
① M0、M1引脚外部中断触发;
② AUX拉低引脚;
③ 退出当前任务模式,再读取M0、M1引脚电平判断新模式;
④ 进入新模式任务,AUX拉高,完成模式切换(切换时间40ms左右)。
无线模块切换模式时,AUX引脚时序图
无线数传模块有四种工作模式,由引脚M1、M0 设置;详细情况如下表所示:
模式(0-3) | M1 | M0 | 模式介绍 | 备注 |
0 连续模式 | 0 | 0 | 模块内部会根据用户配置串口波特率自动计算连续不间断传输所需的空中传输速率,用户不间断传入数据即可 | 支持连续不间断传输 |
1 一般模式 | 0 | 1 | 模块内部会执行用户配置的空中传输速率。会按照55 字节每包进行分包传输。 | 一般透明传输 |
2 配置模式 | 1 | 0 | 用户可通过串口对寄存器进行访问,从而控制模块工作状态 | 需波特率9600下配置 |
3 深度休眠 | 1 | 1 | 模块进入休眠 | 低功耗 |
序号 | 备注 |
1 | 用户可以将 M1、M0 进行高低电平组合,确定模块工作模式。可使用 MCU 的 2 个 GPIO 来控制模式切换; 当改变 M1、M0 后:若模块空闲,1ms 后,即可按照新的模式开始工作; 若模块有串口数据尚未通过无线发射完毕,则发射完毕后,才能进入新的工作模式; 若模块收到无线数据后并通过串口向外发出数据,则需要发完后才能进入新的工作模式; 所以模式切换只能在 AUX 输出 1 的时候有效,否则会延迟切换。 |
2 | 例如:用户连续输入大量数据,并同时进行模式切换,此时的切换模式操作是无效的;模块会将所有用户数据处理完毕后,才进行新的模式检测; 所以一般建议为:检测 AUX 引脚输出状态,等待输出高电平后 2ms 再进行切换。 |
3 | 当无线模块从其他模式被切换到休眠模式时,如果有数据尚未处理完毕; 无线数模块会将这些数据(包括收和发)处理完毕后,才能进入休眠模式。这个特征可以用于快速休眠,从而节省功耗;例如:发射模块工作在模式 0,用户发起串口数据“12345”,然后不必等待 AUX引脚空闲(高电平),可以直接切换到休眠模式,并将用户主 MCU 立即休眠,模块会自动将用户数据全部通过无线发出后,1ms 内自动进入休眠; 从而节省 MCU 的工作时间,降低功耗。 |
4 | 同理,任何模式切换,都可以利用这个特征,模块处理完当前模式事件后,在 1ms 内,会自动进入新的模式;从而省去了用户查询 AUX 的工作,且能达到快速切换的目的; 例如从发射模式切换到接收模式;用户 MCU 也可以在模式切换前提前进入休眠,使用外部中断功能来获取 AUX 变化,从而进行模式切换。 |
5 | 此操作方式是非常灵活而高效的,完全按照用户 MCU 的操作方便性而设计,并可以尽可能降低整个系统的工作负荷,提高系统效率,降低功耗。 |
类型 | 当 M0 = 0,M1 = 0 时,模块工作在模式 0 |
发射 | 根据用户配置的串口波特率自动计算连续传输需要的空中速率; 用户可以通过串口输入数据,模块会启动无线发射。 |
接收 | 在非发射状态时,可以正常接收数据。 |
在连续传输模式下,带来的直观体验是用户不需要等待全部数据打包才能把数据传输出去,而是模块从第一帧数据就开始传输,直到完成用户需要传输的数据。从而节省了数据打包、分包的时间,极大的缩短数据延时时间。
数据延时示意图(在串口波特率为115200,发送22个字节的情况下)
连续传输模式又分为“距离优先”和“速度优先”两种连传策略可供用户选择。从下表的参考数据我们可以看出,在串口波特率越高、发送的数据量越小的时候,两种策略数据的延时时间差异并不明显。但是一旦数据达到上千字节时,数据延时的问题就会凸显出来。
串口波特率 | 连传策略 | 数 据 延 时(ms) | 1 byte | 22 byte | 55 byte | ||
2400 | 距离优先 | 77.634 | 213.094 | 417.224 | |||
速度优先 | 57.267 | 161.193 | 161.233 | ||||
4800 | 距离优先 | 41.396 | 111.040 | 216.195 | |||
速度优先 | 29.028 | 81.043 | 81.043 | ||||
9600 | 距离优先 | 21.024 | 55.926 | 108.611 | |||
速度优先 | 15.274 | 41.675 | 41.651 | ||||
19200 | 距离优先 | 10.853 | 28.355 | 54.736 | |||
速度优先 | 7.973 | 21.199 | 21.211 | ||||
38400 | 距离优先 | 6.160 | 15.031 | 28.083 | |||
速度优先 | 4.701 | 11.085 | 11.080 | ||||
57600 | 距离优先 | 4.392 | 10.352 | 19.101 | |||
速度优先 | 3.373 | 7.569 | 7.583 | ||||
115200 | 距离优先 | 2.478 | 5.364 | 9.890 | |||
速度优先 | 1.867 | 3.874 | 3.890 |
* 实验测试数据会有些许误差,请以实物实际测试为准 *
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3