在电子发烧友网站上,看到RS232转RS485的一个电路图,如下图所示。元件主要是HN232CP和MAX485CPA,也就是TTL转232电路和TTL转485电路的结合体。可是这个电路却不好分析,几经查找与思考,才得到一点觉悟。

  此电路在使用时,PC机RS232公口或者标准串口接“直连串口通讯线”的一端,串口线的另一端接接该电路最左端的RS232接口上;右端就是RS485输出端。注意串口通讯线分为“直连线”和“交叉线”,这里用的是“直连线”。这是因为标准串口的2脚、3脚分别为“接收端”和“发送端”。该电路的发送端(T1OUT)和接收端(R1IN)分别接的是3脚和2脚,已经对发送端和接收端进行了交叉调换,所以用直连线就可以了。

  在正式分析之前,先看一下HIN232的结构框图,有助于我们接下来的分析。当然此结构图也就是电平转换,但需要注意的是信号的流向,从哪儿进来,又从哪儿出去。此外,RS232是负逻辑电平,我们可以认为逻辑“1”的时候,RS232对应的是-12V;逻辑“0”,RS232对应的是+12V。

  以RS232端作为参考端,在接收时,数据从RS485端向左通过转换电路中绿线所示的通路流向RS232端。处于接收状态的接收端,不会发送数据,也就是处于等待状态,此时TX管脚输出逻辑1(协议规定)。TX在串口公口上对应的引脚是管脚3,RS232是负逻辑,所以输出-12V,经过反相调整后输出TTL高电平,约4.6V。再经过三极管的Q1反相,输出低电平,RE、DE都为低电平的时候,MAX485处于接收状态。

  发送的情况有些复杂,需要耐心分析。数据从RS232端向右通过转换电路中蓝线所示的通路流向RS485端。当输出逻辑低电平,TX(3管脚)对应输出+12V,经过反向调整输出TTL低电平,约0.4V。再经过三极管的Q1反相,输出高电平,RE、DE都为高电平的时候,MAX485处于发送状态,可以正确的将逻辑低电平发送。  

  倘若输出逻辑高电平的时候,TX(3管脚)对应输出-12V,经过反向调整输出TTL高电平,约4.6V。再经过三极管的Q1反相,输出低电平,RE、DE都为低电平的时候,MAX485处于接收状态,如何会将1发送出去呢?

MAX485发送和接收逻辑电平转换关系表

  

  从转换关系表--左图中,可以看出当RE、DE都为低电平的时候,输出为高阻态,也就是说此时485总线是处于高阻态。当232转485电路发送的时候,最右边的总线节点处于接收状态,意味着此节点上的max485cpa的RE、DE都为低电平(通常我们把RE、DE短接)。从转换关系表--右图中可以看出,485总线高阻态的时候,它接收的结果是1。这不正是我们要发送的数据吗。

  或许人提出这样的疑问:既然转换电路中的max485都已经处于接收状态了(RE、DE都为低电平),为何又说它在发送数据1?这是由于一帧数据的发送,包括起始位0、有效数据区、停止位等。从左边向右边传输1帧数据的时候,肯定会先发起始位0以同步右边的接收器。紧接着,加入发送数据1,虽然转换电路中的max485处于接收状态,虽然此时的总线为高组态,但是右边的接收器仍然要把这个高组态翻译成1,并且保存起来,只是因为这个传送已经启动,要把一帧数据完全接收。

  所以,可见这样的发送,是从最右端接收数据的角度来说。整个发送过程,转换电路中的max485可能不断的切换发送与接收的状态,但是从接收端来讲,始终是在接收数据,这是行的通的。

参考网页:RS232转RS485电路图

     基于3.3V供电RS485接口实现远距离通信的电路设计

RS232转RS485电路图分析的更多相关文章

  1. RS-232, RS-422, RS-485 Serial Communication General Concepts(转载)

    前面转载的几篇文章重点介绍了UART及RS-232.在工控领域除了RS-232以外,常用的串行通信还有RS-485.本文转载的文章重点介绍了RS-232.RS-422和RS-485. Overview ...

  2. TTL、RS232、RS485、串口

    Point: 1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号). 2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电 ...

  3. RS232与RS485时序分析

    转载于:RS232,RS485波形分析 经常遇到初学者,对单片机串行通讯出了问题不知道如何办的情况.其实最有效的调试方法是用示波器观察收发数据的波形.通过观察波形可以确定以下情况: 是否有数据接收或发 ...

  4. 无源RS232转RS485(转)

    源:无源RS232转RS485 RS232  -485转换器主要包括了电源.232电平转换.485电路三部分.本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485 ...

  5. UART\RS232与RS485的关系

    https://blog.csdn.net/lhl161123/article/details/53510593 串口通讯是电子工程师面对的最基本的一个通讯方式,RS-232是其中最简单的一种.然而, ...

  6. 串口、COM口、TTL、RS-232、RS-485区别详解

    1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号).    2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电源线,避 ...

  7. 【转】RS232、RS485、TTL电平、CMOS电平

    原文网址:http://blog.sina.com.cn/s/blog_63a0638101018grc.html RS232.RS485.TTL电平.CMOS电平 什么是TTL电平.CMOS电平.R ...

  8. UART和RS232/RS485的关系,RS232与RS485编程

    http://wpp9977777.blog.163.com/blog/static/4625100720138495943540/ 串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232 ...

  9. RS232、RS485和TTL电平与串行通信

    RS232.RS485和TTL 作为一个底层软件开发工程师,经常会碰到RS232.RS485和TTL这一类的问题. 之前总是碰到问题之后Google一下,把当下的问题解决了之后就不管了,过个一两天就忘 ...

随机推荐

  1. 读取Log日志并打印到sdcard

    @SuppressLint("SimpleDateFormat") private static SimpleDateFormat sdf = new SimpleDateForm ...

  2. PHP之网络编程

    GET: $htmlsource=file_get_contents("http://192.168.0.13/s/interface/shangpin/shangpinDL"); ...

  3. 最小生成树------Kruskal算法

    Kruskal最小生成树算法的概略描述:1 T=Φ:2 while(T的边少于n-1条) {3 从E中选取一条最小成本的边(v,w):4 从E中删去(v,w):5 if((v,w)在T中不生成环) { ...

  4. [记录]java.math.biginteger cannot be cast to java.lang.long

    可以直接使用BigInteger类型进行接收, BigInteger id = (BigInteger)QueryRunner(conn,"SELECT LAST_INSERT_ID&quo ...

  5. [MSDN]关键字查询语言 (KQL) 语法参考

    MSDN:http://msdn.microsoft.com/library/ee558911(v=office.15) 了解如何构造 SharePoint 2013 中的搜索功能 的 KQL 查询. ...

  6. JavaScript 零散知识点1 (正则表达式+定时器+hover)

    1.clear:both清楚浮动影响//css中 2.正则表达式 search方法 :指明是否存在相应的匹配,如找到一个返回一个整数值,表明这个匹配距离字符串开始的偏移位置,如果没有找到匹配返回-1f ...

  7. 关于SAP4.7的几个架构图

    http://blog.itpub.net/92530/viewspace-154881/ 1.SAP基本架构图 2.SAP的应用层的工作进程架构图 3.SAP的内存类型图 4.SAP数据访问架构图 ...

  8. xp 中的IIS安装成功之后,访问网页显示没有权限访问解决方法

    在做xp的IIS发布网站时遇到一个问题就是当你访问网站的时候,显示没有权限访问网站,但是我已经开启了匿名访问网站了,怎么还没有权限访问呢?后来经过上网搜资料解决,当时很多网上都说没打开匿名访问,当时我 ...

  9. 使用 vmstat 监测系统性能

    在linux/unix下,vmstat是常用的系统性能监测工具.常用用法如下 vmstat 1 10 表示以1秒为间隔,做相关参数的采样,一共10次.输出范例如下: procs ----------- ...

  10. iBeacon 开发笔记

    iBeacon开发笔记 2015.10.19 airlocate ========= airlocate显示如何使用这个监控范围clbeaconregions. 代码还提供了一个例子,你如何能校准和配 ...