嘉立创产业服务站群
发作品签到
标准版

uart总线 一对多通信

工程标签

3.1k
0
0
3

简介

利用二极管实现uart一对多通信

简介:利用二极管实现uart一对多通信

开源协议

GPL 3.0

创建时间:2022-03-23 12:54:06更新时间:2022-05-12 07:41:35

描述

详细介绍:https://blog.csdn.net/Ajisa_i/article/details/124731439?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22124731439%22%2C%22source%22%3A%22Ajisa_i%22%7D&ctrtid=EKJuC

验证方案可行。type-c不接电源不影响串口总线的使用,接入电源的时候可以引出5v与3.3v接口给模块供电。板子简陋,你们知道原理就行,可以用到自己的工程里。

原理:

1.硬件层改造
        当我们使用的单片机uart接口不足,我们可以利用UART实现总线型一主多从通讯结构,如图所示。

图1 UART总线型通讯结构

        如果直接将从机的TX连接到主机的RX,那么从机之间的TX引脚就连接在一起,如图2所示。当Slave1尝试向Master发送信息时,由于UART以低电平为起始标志,Slave1的TX引脚为低电平,而Slave2的TX引脚为高电平。此时电流由Slave2的TX引脚流向Slave1的TX引脚,Slave1的TX引脚灌电流升高。由于器件存在内阻,电流增大导致节点p电压升高,最终我们看到Slave1的TX引脚电平升高了。

        由于引脚电平升高,Master的RX端接收不到Slave1的TX端发来的低电平,串口通信也就无从开始。

图2 灌电流引起引脚电平升高

        解决方案的其中之一是将从机的通信引脚设置为开漏输出。在开漏输出模式下,引脚在高电平逻辑下既不输出高电平,也不输出低电平,而是高阻态,需要外接上拉电阻以输出高电平。由于上拉电阻的存在,灌电流非常小,也就避免了引脚电平升高的问题。但是,我们往往无法对从机进行二次开发,即无法改变其通信引脚的输出模式。

        图3展示了另外一种解决方案,此方案中,从机的TX引脚与二极管阴极相连,二极管阳极连接到主机的RX引脚。由于二极管的单向导通性,灌电流将被限制在一个极小的范围,相当于断路,从而避免了引脚低电平升高的问题。由于主机的RX引脚是一个上拉输入的状态,因此二极管截止的时候也不会影响高电平的采样。

图3 使用二极管限制灌电流

实际上根据原理,N+1个从机只需要N个二极管,这个就留给你们去验证吧。

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
110uC1C06031
20.1uC10,C13C06032
31N4148WS_C908249D1,D2,D3SOD-323_L1.8-W1.3-LS2.5-RD3
4HDR-M-2.54_1x3J1,J2,J3,J4,J5,J6,J7HDR-M-2.54_1X37
5LED-0603_RLED1LED0603_RED1

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航