当前位置: 首页 > news >正文

1个串口用1根线实现多机半双工通信+开机控制电路

功能需求:
主机使用一个串口,与两个从机进行双向通信,主机向从机发送数据,从机能够返回数据,由于结构限制,主机与从机之间只有3根线(电源、地、数据线),并且从机上没有设物理的电源开关,需要通过与主机连接的数据线来控制开机,总结如下:
1、数据线只有1根
2、能够双向通信
3、主机能够控制从机开机
4、主机可以单独向1个从机发数据,也可以同时向两个从机发送数据

根据需求,设计出如下电路:在这里插入图片描述

工作原理分析:
VCC_24V_IN 、GND、LINE_L(LINE_R)三根线接线连接到从机,电源开启电路是从机内部的电源控制。
开机的逻辑*
主机先上电,LINE_L因为主机的R1上拉而有高电平,使Q6导通,Q5的G极电压被拉低而导通,VCC_24V电压向从机供电,从机MCU启动后,将PWR_EN拉高,维持电源导通。
关机的连逻辑:
从机MCU将PWR_EN拉低,Q7截止,当主机关机后,LINE_L没有电压,Q6截止,Q5的G极电压变高而截止,从机断电。

主机向从机发送数据:
主机的UART_TX脚输出低电平时,D2\D3二极管是正向导通,将L_RX拉低,输出高电平时,D2\D3二极管是反向截止,L_RX保持高电平,实现了主机向从机发送数据;而L_TX因为D1的隔离,保持电平不变;UART_RX会则通过D4又收到了TX发来的数据,因此在发送数据时,软件要把RX功能先失能。
工作条件:1、主机的TX_EN1为低电平,Q2截止;2、RX接收失能;3、从机的TX失能;

从机向主机发送数据:
从机的TX发送数据,与主机的发送工作原理相同。

因为数据线只有一根,为了保证数据信号不冲突,需要如下约定。
1、总是由主机先发送数据,从机一直处于接收状态,在收到主机的数据后,将RX接收失能,使能TX,切换为发送状态,向主机发完数据后,又切换为接收状态。
2、因为主机的TX\RX都是一根线分到两个从机,两个从机会同时收到数据,因此必须约定从机发数据的先后顺序,否则主机收到的数据会出错。
3、主机可以通过拉高TX_EN1脚,使LINE_L电压变低,从机就收不到数据。
4、因为二极管会产生压降,为了保证MCU能正确识别到高低电平,需选用0.3V压降的二极管,两个二极管加起来压降小于0.7V

此电路不需要用到多路选择芯片,线路简洁元件少成本低。
----------------文档结束-----------------

http://www.lryc.cn/news/20334.html

相关文章:

  • KUKA机器人外部自动运行模式的相关信号配置
  • 【RabbitMQ笔记02】消息队列RabbitMQ七种模式之最简单的模式
  • Spring MVC 源码- RequestToViewNameTranslator 组件
  • Linux--TCP编程--0216 17
  • 关于设计模式的记录
  • Lambda-常见的函数式接口
  • P1196 [NOI2002] 银河英雄传说 带权并查集
  • 【项目实战】快来入门Groovy的基础语法吧
  • Mybatis中的动态SQL
  • VUE常用API
  • 25 openEuler管理网络-使用nmcli命令配置ip
  • 如何安装和使用A-ops工具?
  • MySql数据库环境部署
  • 极品笔记,阿里P7爆款《K8s+Jenkins》技术笔记,职场必备
  • 数据结构:各种排序方法的综合比较
  • 【设计模式】 策略模式介绍及C代码实现
  • 【数据库】第二章 关系数据库
  • oracle和mysql的分页
  • 深拷贝与浅拷贝的理解
  • Shell变量
  • Android 8请求权限时弹窗BUG
  • 路漫漫:网络空间的监管趋势
  • 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
  • 数据库的基本查询
  • 10 分钟把你的 Web 应用转为桌面端应用
  • Delphi RSA加解密(二)
  • pytorch 深度学习早停设置
  • 【Vue学习】Vue高级特性
  • Android 12.0 系统Settings去掉开发者模式功能
  • buu [NCTF2019]babyRSA 1