锻炼你们的解决方案的能力,帮我想想

2019-07-21 07:42发布

本帖最后由 aiyeba 于 2018-10-25 09:34 编辑

A:发射器    B:接收器            (无线的)   A和B都是用的铝电池

发射器带有oled,尺寸也大些,所有就做了USB充电。              接收器尺寸太小了无法做USB充电。故用的是A升压到5v供给  B充电。


现在遇到这么一个情况:      接收器插入插槽中充电。(A:5V_OUT、RX、TX、GND     B:5V_IN 、TX、RX、GND)

A这边有一个判断机制,一旦判断到B插入了,oled这边就显示为充电模式。那B什么时候拔出了怎么判断呢。利用的是串口握手。每个3分钟发送一个握手包来交流一下。OK这些都已经实现了。

接收器充电的时候,消耗的是发射器的电池。那么当接收器充电完成以后,就需要低功耗来对待。   于是,一旦接收器判断到充电完成,就发包告诉发射器。双方就要进行低功耗处理了。

发射器和接收器  有一种模式     RTC模式,可以设置在低功耗下长达最多2s。然后自主唤醒。醒来以后,你在处理一些事情可以又进入低功耗。我把这种模式称为低功耗震荡模式。

说这么多,现在遇到的问题是:双方进入低功耗了,如果接收器拔出去以后,双方怎么判断退出充电模式,回归到无线发送接收模式????

这个问题在复述一下,就是说,发射器和接收器假如都在运行的时候,判断他们之间的串口线还有没有连接,只需要周期性的握手就知道。但现如今,接收器充电完成以后,双方都进入低功耗震荡
这个握手机制显得特别的麻烦。难点在于同步,我这里还是想用握手机制来判断串口有没有拔出。 不知道大家还有没有其它的方案














友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
swa00000
1楼-- · 2019-07-22 10:51
 精彩回答 2  元偷偷看……
Snail_Feng
2楼-- · 2019-07-22 11:24
aiyeba 发表于 2018-10-25 09:34
nRF24LE1。

为什么我百度了看到是有的
aiyeba
3楼-- · 2019-07-22 15:24
swa00000 发表于 2018-10-25 09:35
不是有串口吗? 2接受发射都把串口中断打开 做一个心跳包类似的 2S 检测一次

你没看到低功耗吗?

低功耗的时候,存在有一方休眠了,你发握手包肯定没有反应的。
d1z1y2
4楼-- · 2019-07-22 15:53
aiyeba 发表于 2018-10-25 09:15
对。这个方案的难点是,如果不同步,后果不堪设想。   发射器和接收器除了RTC时间到了,会自主唤醒。他们 ...

自主唤醒后发测试包,如果没有应答会有两种可能:1、断开了串口线。2、对方正在休眠。
只要再想办法区分一下这两种可能,比如1.5s再发送一个测试包,这样的缺点是实时性不好
swa00000
5楼-- · 2019-07-22 18:17
aiyeba 发表于 2018-10-25 15:47
你没看到低功耗吗?

低功耗的时候,存在有一方休眠了,你发握手包肯定没有反应的。

你不知道有个uart 有中断唤醒么?
aiyeba
6楼-- · 2019-07-22 21:59
 精彩回答 2  元偷偷看……

一周热门 更多>