USB转RS485串口电路设计「建议收藏」

USB转RS485串口电路设计「建议收藏」USB转串口芯片的串口信号一般为TTL/CMOS电平,在实现半双工RS485串口时需要外接485电平转换芯片,设计中需要有信号来控制485转接芯片的发送和接收使能端,建议选择自带485控制引脚的转接芯片(如CH340/CH342系列芯片的TNOW引脚),该引脚默认为低电平,当串口处于发送状态时会自动拉高处于有效状态,发送完成再恢复低电平。同理,可以延伸到其他应用场景,如单片机串口转485电路设计中可以使用GPIO口来控制485转接芯片的发送和接收使能。以MAX485为例:1.DE..

大家好,又见面了,我是你们的朋友全栈君。

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串口电路:

USB转RS485串口电路设计「建议收藏」

注:CH342F的DTR引脚在接下拉电阻时会切换为TNOW引脚,上图中所用为4.7K。

应用电路2

若选用型号没有485控制信号,只使用 TXD 和 RXD 两根信号线来完成 485 电路转换的需求也是十分普遍的。下面为原理图:

USB转RS485串口电路设计「建议收藏」

实现原理:将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账号...

(0)


相关推荐

  • 深入理解Java类加载器(1):Java类加载原理解析

    深入理解Java类加载器(1):Java类加载原理解析1      基本信息每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性

  • flume和kafka区别

    flume和kafka区别kafka和flume都是日志系统,kafka是分布式消息中间件,自带存储;flume每一部分都是可以定制。kafka更合适做日志缓存,flume数据采集部分做的很好,可以定制很多数据源,减少开发量。kafka和flume都是日志系统,kafka是分布式消息中间件,自带存储,提供push和pull存取数据功能。flume分为agent(数据采集器),collector(数据简单处理和写入),storage(存储器)三部分,每一部分都是可以定制的。比如agent采用RPC(Thri.

  • CCS6.2超详细使用方法

    CCS6.2超详细使用方法本文介绍了如何安装CCS6.2、一步一步的建立工程、以及建立工程以后编译、调试、如何方便快捷有效率的使用CCS6.2。

  • vue人脸识别_vue信息识别系统

    vue人脸识别_vue信息识别系统1.vue报错:无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

  • Django 模型_Z模型

    Django 模型_Z模型前言随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:1.SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句。2.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号