如下图所示,我想设计一个模块,有一个MCU,上位机接口是RS485,只有4条线:
GND, POWER, 485A, 485B
想实现低功耗休眠:
方案A,上位机通过断开电源的方式。
方案B,通过自己模块上的MCU软件控制,通过485的命令让MCU进入STOP模式,并用485的通讯唤醒。
问题:
1. RS485收发器能实现高阻态吗?
2. RS485A,B上的上拉,下拉电阻要设置断开?
3. RS485的终端电阻要断开?
如何设计一个低功耗RS485模块?
RS485 芯片有低功耗唤醒的版本,可以在使能接收的时候,也保持很低的功耗,但是这种芯片速率比较低常规的 485 芯片只能是 disable 接收和发送的情况下,才能保持低功耗
常规芯片想要靠总线数据唤醒 MCU,建议在 D- 数据在线单独拉一个电阻到 MCU 的唤醒脚
D- 的下拉电阻可以一直存在(整个总线至少有一处要保持下拉),D+ 的上拉电阻低功耗的时候断开终端电阻我一般不接,你要接的话,也不需要断开
我这个图,之所以 D- 也加了控制,只是个人喜好
(因为我的上位机端可能有上下拉,也可能没有,如果主机有上下拉,且如果我不想本机重复上下拉的话,我就把本机的上下拉全断开)
我这个图其实是一台主机,它下面有若干从机,主要是主机给从机供电,主机休眠的时候,断掉从机的供电(以及 D+ 的上拉,D+、D-、VBUS 全部是 0V)
如果主机休眠了,有个别自带电池的从机想唤醒主机,向总线发一个数据包即可(其它从机不需要加休眠唤醒相关的电路)
或者是上位机想配置此主机的时候,也可以通过这个方式唤醒主机(上位机平时不连接总线)
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |