大家好,又见面了,我是你们的朋友全栈君。
USB转串口芯片的串口信号一般为 TTL/CMOS电平,在实现半双工 RS485 串口时需要外接485电平转换芯片,设计中需要有信号来控制 485 转接芯片的发送和接收使能端,建议选择自带485控制引脚的转接芯片(如 CH340/CH342 系列芯片的 TNOW 引脚),该引脚默认为低电平,当串口处于发送状态时会自动拉高处于有效状态,发送完成再恢复低电平。同理,可以延伸到其他应用场景,如单片机串口转485电路设计中可以使用GPIO口来控制485转接芯片的发送和接收使能。
以MAX485为例:
1. DE为发送使能,RE为接收使能,DI为TTL/CMOS串口发送,RO为TTL/CMOS串口接收。
2. TNOW控制信号脚同时连接DE和RE;串口发送状态下,TNOW输出高电平,打开DE接收使能;串口不发送时,TNOW输出低电平,默认打开RE接收使能;
常见问题Q&A
Q:串口端经常收到0x00误码值?
A:接收使能状态下,一般485的A和B信号端为高阻态,发送和接收切换过程中A和B信号保持,没有恢复到空闲态。导致RO端采样出错。此时,在A端接一个上拉电阻,B端接一个下拉电阻,阻值需根据手册和实际应用计算。
Q:AB端是否需要并联终端匹配电阻?
A:根据手册来定,目前很多芯片内置120欧匹配电阻,并不是必须选项。
Q:级联设备数量怎么计算?
A:需根据手册标注的接收输入阻抗来确定,一般也会直接标注出允许的最大收发器数量。
应用电路1
下图为使用自带TNOW引脚485控制信号的USB 转双串口芯片 CH342F 设计的双路RS485串口电路:
注:CH342F的DTR引脚在接下拉电阻时会切换为TNOW引脚,上图中所用为4.7K。
应用电路2
若选用型号没有485控制信号,只使用 TXD 和 RXD 两根信号线来完成 485 电路转换的需求也是十分普遍的。下面为原理图:
实现原理:将RE一直置0,使能接收使能(RE 与 DE 直接短接也可以),将TXD反向后连接发送使能端 DE。TXD 输出为高电平时,连接的485芯片的发送使能无效,总线输出为空闲(高电平),TXD 输出低电平时,发送使能有效。相较于应用1,因有三极管反向电路,信号输出控制会有延迟,高波特率通讯下不建议选用。
以上转换电路与设计原理在485转换电路中使用频率较高,用户可根据需要灵活选用。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132437.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...