完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题所示,最近在做一个无线发射的实验,无线发射板与接收板都用的A7139作为发射接收芯片,发射板与接收板都采用STM8L+A7139的形式。
然后发射板采集18B20温度与电池电压然后通过A7139发送到接收板,接收板通过串口输出接收到的数据。 然后我设计了第一次实验: 1:1块发射板采集18B20温度与电池电压然后通过A7139发送到1块接收板,接受显示正常。 然后我设计了第二次实验: 2:10块发射板采集18B20温度与电池电压然后通过A7139发送到1块接收板,发射板采集发射时间间隔为5分钟,在此期间休眠,保持低功耗状态。 实验现象: 1小时内:接收板收到所有的电路板数据,没有出现数据丢失现象。 1小时后:接收板出现数据丢失现象,查看数据后发现,例如在接受到7号数据时,如果同时4号数据也发送过来,此时7号与4号相互覆盖,出现数据丢失情况。 经过仔细排查,发现原因如下: 发射板STM8L在无数据发送,等待定时五分钟到来时,此时因为所有定时器都关闭,仅有RTC可以唤醒STM8L,RTC唤醒时间不精确,造成5分钟上下波动,传输数据会与其它的无线数据相互覆盖。 仔细思考后,改进方法如下: 1:不使用低功耗模式,使用定时器定时,时间精确,但是耗电,而且在使用中,如果断开某一个发射板,再通电,就有可能造成数据相互覆盖,丢失数据。 2:发送数据时,先询问接收板是否有空,有空发送数据,此时其它发射板保持静默。没有空就等待接收板有空再发送。这种方法有效的保证了数据一定能被接受到,但是消耗电最低翻倍,不可取。 3:使用RTC功能,设置时间日期,定时1号在1分1秒发送数据,2号定时1分3秒发送数据,以此类推,但是这样STM8L就无法进入低功耗,耗电量上升。 请问大家有什么其它的解决方法,能兼顾低功耗的设计方案吗?基于目前STM8L+A7139的形式 |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 05:03 , Processed in 0.628485 second(s), Total 46, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号