在电子发烧友网站上,看到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. cocos2dx 公告效果

    第一种方法: http://blog.csdn.net/jackystudio/article/details/12991977 [玩转cocos2d-x之十六]滚动字幕和公告 第二种方法: http ...

  2. Java HashMap 如何正确遍历并删除元素

    (一)HashMap的遍历 HashMap的遍历主要有两种方式: 第一种采用的是foreach模式,适用于不需要修改HashMap内元素的遍历,只需要获取元素的键/值的情况. HashMap<K ...

  3. 一段JavaScript代码

    eval(function(p, a, c, k, e, d) { e = function(c) { return c.toString(36) }; if (!''.replace(/^/, St ...

  4. 深入浅出ECharts系列(一)地图+散点图

    深入浅出ECharts系列(一) 目标 本次教程的目标是实现“微博签到点亮中国”散点图,实现结果如图: 2. 准备工作 a)         首先下载ECharts插件,你可以根据自己的实际需求选择你 ...

  5. linux基于file的logger

    我们可能会遇到这样的问题:即写出的代码可能需要编译成动态连接库并在不同运行环境下运行,而这些运行环境下log的输出方式可能不同,一种运行环境的log方式在另一种运行环境下可能无法输出.而为保证多种运行 ...

  6. Rshare Pro是否可以放入至客户企业App Store?

    现在很多客户内部部署了苹果授权的企业内部的AppStore,我们的Rshare Pro 是完全允许放入企业搭建的AppStore平台中.但每份需要收费20美元,换成人民币是120元.

  7. 【重叠I/O之系列三】I/O完成端口

    一   串行模式和并行模式 一般一个服务应用程序采用以下两个架构模型之一: 串行模式  一个线程等待一个客户发出的请求,当请求到达的时候,线程会被换醒来处理客户的请求. 并发模式.一个线程等待一个客户 ...

  8. Extjs4使用iframe注意事项

    "video" : { render : function(panel, eOpts) { // 因为iframe在video // panel渲染的时候就已经完全移动到video ...

  9. asp.net网页中上传并且浏览pdf文件的实现

    本文主要讲解在asp.net中的gridview中浏览pdf文件.下面来看一下具体的实现: 第一步,使用sqlserver 创建一个数据库表. 第二步,新建一个webform,命名为uploadpdf ...

  10. 解决VS报表.rdl 显示乱码“小方块”问题

    报表在编辑状态显示文本显示小方块 如图 原因:字体格式是英文状态下. 解决:选中文本框,选择文本框属性,选择字体,字体改成宋体或微软雅黑.就可以了.