首页 > 其他分享 >这几种485通讯自动收发电lu

这几种485通讯自动收发电lu

时间:2022-12-08 12:00:28浏览次数:83  
标签:接收器 通讯 高电平 芯片 引脚 RE lu 485

摘要:关于485通讯大家肯定不陌生,那么你会设计一个485电路而且能自带收发功能的吗?或者还是直接随便找一个电路甚至不管其中的原理就用上了。485通信一般离不了单片机控制,所以一般单片机尤其是STM32单片机之类的开发板上面都有RS485通信模块,因为485通讯只需要你的MCU有串口就可以了。

下面再某宝上找了几款STM32开发板上面关于485通信模块的电路图,发现有几家竟然电路图一模一样,而且画法也一模一样。

 

  • 原子哥
  • 硬石
  • 普中
  • 洋桃
  • 安富莱
  • 野火
正点原子 普中科技 硬石电子 洋桃电子 安富莱电子 野火电子

可以发现,485通讯模块大家普遍用的只有两种芯片,SP3485和MAX485,而且原理图画的都差不多。

1、传统RS485电路

不管是SP3485还是MAX485它们电路都是一样的。

先说一下原理:因为单片机通信一般是TTL电平,而我们的外接设备如果是485设备,通信的电平就是485电平,这两者的电平是不一样的,所以两者不能直接相接一起。中间需要一个电平转换的芯片来协商一下,所以就有了我们的485芯片。因为485通信是半双工的,就是发送数据的时候不能同时接收数据,所以我们又把485芯片叫做半双工收发器。而SP3485芯片就是一款非常经典的低功耗半双工收发器,满足RS-485串行协议要求。

然后这款芯片的引脚定义如下:

  • RO 一 接收器输出
  • RE 一 接收器输出使能(低电平有效)
  • DE — 驱动器输出使能(高电平有效)
  • DI 一 驱动器输入
  • GND 一 连接地
  • A — 驱动器输出/接收器输入(同相)
  • B — 驱动器输出/接收器输入(反相)
  • VCC —芯片供电

现在你可能有疑问?这个引脚怎么叫做接收器也叫输出器啊?还真人这么问。一般在485设备的数据向MCU发送时我们把芯片叫做接收器,因为它接收了外界的数据。在MCU向485设备发送数据时我们把芯片叫做驱动器,因为这时候像是我们驱动了芯片让它向外发送数据。

SP3485的驱动器输出是差分输出,空载时输出电压的大小为0V~+3.3V。SP3485有一根使能控制线(高电平有效)。DE上的逻辑高电平(1)将使能驱动器的差分输出。

SP3485接收器的输入是差分输入,接收器的输入电阻通常为15K。如果RE为低,接收器使能,反之接收器禁止。

这样就得到了一个结论:

  1. ED:1 发送使能;0发送禁止
  2. RE:0 接收使能;1接收禁止

因此,我们一般将ED和RE接在一起,单片机MCU向外发送数据时,将USART_EN置位1,单片机MCU接收外界送数据时,将USART_EN置位0,即可。

当然我们在写程序时候,就相对会比较麻烦,因为我们要在接收和发送时将USART_EN引脚置位不同的电平。

那么有没有一种可以自动收发功能的电路呢?

答案是有的,只要我们在这个电路的基础上加一个三极管就可以解决了。

2、自动切换收发的RS485电路

大家看我们在前面电路的基础上加了一个经典的三极管开关电路。电阻R6、电阻R7和NPN三极管Q1组成一个典型的三极管开关电路。R7是限流电阻,最好选择4.7K,也可以选择10K。R6是上拉电阻,可以选择4.7K或者10K。

学过模电大家知道,NPN三极管,高电平导通。当TX高电平,三极管导通,RE和DE引脚接地,进入接收模式。当TX低电平,三极管截止,RE和DE引脚接高电平,进入发送模式。

疑问?

DI引脚本来是接TX的,现在直接接地了,那岂不是发送的数据都是0?可以正常工作吗?

答:当然可以!

发送数据过程

发送数据,用的是单片机的TX引脚,也就是说,在TX引脚上表现数据。要发送数据0x32,写成二进制就是0x00110010,TXD引脚上就会依次的用高低电平体现1和0。

当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。

当TX发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R3把A拉高,R2把B拉低,所以,AB传输的是1。所以,当TXD发送1时,AB引脚发送1。

一句话:TXD发1,AB就发1;TXD发0,AB就发0。

接收数据过程

接收数据,用的是单片机引脚RX,在RXD引脚上表现数据。在接收数据的过程中,TX引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。

怎么样神奇吧!

那么有没有一款芯片可以自带自动切换收发功能的呢?答案是有的。

3、自动切换方向芯片MAX13487

为了克服软件参与的方向控制不确定性,美信公司发布了宣称首款支持芯片自动换向的RS485芯片MAX13487。

对比其他的RS485芯片,MAX16487的RE引脚有两个用处

  1. RE为低电平时,打开RO方向的接收数据。
  2. RE为高电平时,芯片进入自动方向切换模式。

我们将RE连接高电平,即自动换向模式。

对应的原理图就是下面这样:

直接将PIN2和PIN3接到VCC即可实现自动收发功能。而且MAX13487E还要便宜一些。

那么如果现在让你设计一个485电路,你会采取那种方案呢?

 

原文链接:这几种485通讯自动收发电路你一定要掌握
转载自:果果小师弟
文章来源于单片机

版权说明:本文来源网络,免费传达知识,版权归作者所有,如涉及版权问题,请联系我进行删除。

标签:接收器,通讯,高电平,芯片,引脚,RE,lu,485
From: https://www.cnblogs.com/fw-qql/p/16965710.html

相关文章

  • mybatis-plus基础知识-实体类
    实体类(数据库表的映射类),先上图:@TableId:指定数据库表的主键,包含type和value两种属性,value指定列名,通过type指定主键策略,目前我用到的版本支持五种主键策略IdType.AUTO......
  • 黑马程序员2022新版SSM框架Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实
    Spring为什么要学Spring?1.专业角度:简化开发,降低企业级开发的复杂性框架整合,高效整合其他计算,提高企业级应用开发与运行效率2.学什么?简化开发IOCAOP事务......
  • 使用SpringBoot时出现了找不到测试类的情况或There are test failures
    出现场景:在使用SpringBoot做单元测试时在Maven编译或打包项目时具体bug描述:Therearetestfailures或者找不到测试类解决方案:首先去运行控制台看causeby后面的......
  • 行业重磅!神策可视化全埋点正式支持 Flutter 平台!
     Flutter框架推出至今,已经在超过50 万个应用中使用,从2019年到现在一直保持着强劲的增长趋势。优秀的性能、跨平台能力和活跃的技术社区使得其愈发受到广大开发者的青......
  • 电阻电位器电子尺转RS-485,位移角度转Modbus模块 检测模拟信号 YL123
    特点:●电阻电位器电子尺信号采集转换为RS-485输出●采用12位AD转换器,测量精度优于0.1%●通过RS-485接口可以程控校准模块精度●信号输入/输出之间隔离耐压1000VDC●......
  • yum -y install centos-release-gluster安装报错
    创建完yum仓库yum安装报错yum安装centos-release-gluster安装报错:版本过高,先解除依赖关系(极大可能)建完yum仓库再三检查没错,甚至有很多人yumcleanall&&yumcakecache......
  • CVE-2015-4852 Weblogic T3 反序列化分析
    0x01前言看到很多师傅的面经里面都有提到Weblogic这一个漏洞,最近正好有一些闲暇时间,可以看一看。因为环境上总是有一些小问题,所以会在本地和云服务器切换着调试。0x0......
  • mybatis-plus简介
    看到这个名字,就知道它是一个mybatis的增强版。个人觉得mybatis-plus同时拥有了JPA的便捷性和mybatis的灵活性,可谓集二者之优点:当你只需要简单的CRUD的时候,它内置了许多方......
  • [BUUCTF][Web][ACTF2020 新生赛]Include 1
    打开靶机对应的url显示一个tips超链接点击访问超链接,对应Url为http://469398f2-5677-4270-a4a4-55c5e4a7504a.node4.buuoj.cn:81/?file=flag.php显示信息Canyoufin......
  • mybatis-plus分页查询详解
    文章目录​​一、官方文档​​​​二、内置的分页方法​​​​1、内置方法​​​​2、selectPage单元测试​​​​3、PaginationInnerInterceptor分页插件配置​​​​三、......