OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3214|回复: 13

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

[复制链接]

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2018-10-24 18:35:14 | 显示全部楼层 |阅读模式
本帖最后由 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。然后自主唤醒。醒来以后,你在处理一些事情可以又进入低功耗。我把这种模式称为低功耗震荡模式。

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

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














自己选择的路,成家前走完。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-10-24 19:48:16 | 显示全部楼层
外部中断,扒开的时候RX和TX会出现电平变化,5V_IN也会出现变化
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-10-24 20:52:56 | 显示全部楼层
自主唤醒后发测试包?
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-10-25 09:12:34 | 显示全部楼层
Snail_Feng 发表于 2018-10-24 19:48
外部中断,扒开的时候RX和TX会出现电平变化,5V_IN也会出现变化

这单片机无外部中断唤醒机制。而且还不能低电平唤醒。
只能是高电平唤醒。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-10-25 09:15:27 | 显示全部楼层
d1z1y2 发表于 2018-10-24 20:52
自主唤醒后发测试包?

对。这个方案的难点是,如果不同步,后果不堪设想。   发射器和接收器除了RTC时间到了,会自主唤醒。他们还有各自的按键唤醒。举个例子,如果发射器被按键唤醒了,这个时候接收器还在休眠,那么他们之间是无法进行握手的。但是串口线还接着,这个后果就是判断错误。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-10-25 09:26:08 | 显示全部楼层
aiyeba 发表于 2018-10-25 09:12
这单片机无外部中断唤醒机制。而且还不能低电平唤醒。
只能是高电平唤醒。

什么单片机
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-10-25 09:34:57 | 显示全部楼层

nRF24LE1。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

1

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2018-8-16
在线时间
70 小时
发表于 2018-10-25 09:35:23 | 显示全部楼层
不是有串口吗? 2接受发射都把串口中断打开 做一个心跳包类似的 2S 检测一次
回复 支持 反对

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-10-25 10:35:30 | 显示全部楼层

为什么我百度了看到是有的
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-10-25 15:47:30 | 显示全部楼层
swa00000 发表于 2018-10-25 09:35
不是有串口吗? 2接受发射都把串口中断打开 做一个心跳包类似的 2S 检测一次

你没看到低功耗吗?

低功耗的时候,存在有一方休眠了,你发握手包肯定没有反应的。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-10-27 10:54:46 | 显示全部楼层
aiyeba 发表于 2018-10-25 09:15
对。这个方案的难点是,如果不同步,后果不堪设想。   发射器和接收器除了RTC时间到了,会自主唤醒。他们 ...

自主唤醒后发测试包,如果没有应答会有两种可能:1、断开了串口线。2、对方正在休眠。
只要再想办法区分一下这两种可能,比如1.5s再发送一个测试包,这样的缺点是实时性不好
回复 支持 反对

使用道具 举报

1

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2018-8-16
在线时间
70 小时
发表于 2018-10-31 14:03:16 | 显示全部楼层
aiyeba 发表于 2018-10-25 15:47
你没看到低功耗吗?

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

你不知道有个uart 有中断唤醒么?
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
 楼主| 发表于 2018-11-1 11:53:54 | 显示全部楼层
swa00000 发表于 2018-10-31 14:03
你不知道有个uart 有中断唤醒么?

啊,我怎么没有看到,你指的是stm32吧。

我这个是51的单片机,不可能有吧。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

1

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2018-8-16
在线时间
70 小时
发表于 2018-11-20 09:38:10 | 显示全部楼层
还有个方案就是 在接受脚和外部中断脚接在一起 当第一中断进来 吧中断取消 串口接收 当进入低功耗 在设置外部中断使能 就OK了 如果第一针收据发送时乱码 可以间隔 从新发送有效数据
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 22:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表