搜索
bottom↓
回复: 62

请教:RS485通信方式是全双工,还是半双工的?还有RS232是全双工的吗?

[复制链接]

出0入0汤圆

发表于 2007-10-17 12:56:30 | 显示全部楼层 |阅读模式
请教:RS485通信方式是全双工,还是半双工的?还有RS232是全双工的吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2007-10-17 13:41:13 | 显示全部楼层
485半双工

出0入0汤圆

发表于 2007-10-17 13:47:47 | 显示全部楼层
RS485是半双工,电脑和单片机上的串口是全双工的

出0入0汤圆

发表于 2007-10-17 14:41:19 | 显示全部楼层
485半双工,422全双工 , 232全双工 , 单片机的UART 全双工
修正:电脑上的就是232,和单片机的UART是不一样滴

出0入0汤圆

 楼主| 发表于 2007-10-17 16:22:45 | 显示全部楼层
想了一下,RS485两条通信线,同一时间只能传输一个方向的信号,半双工。RS232三条通信线,同一时间能传输两个方向的信号,全双工。不知对不?

出0入0汤圆

发表于 2007-10-17 16:36:26 | 显示全部楼层
对,RS422就是一对的RS485,一个用来发送一个用来接收,也是全双工

出0入0汤圆

发表于 2007-10-17 21:15:55 | 显示全部楼层
半双工:使用同一根线传输,既可发送又可以接收数据,但不能同时发送和接收。
全双工:分别由两根同时发送和接收传送,双方都可以在同一时刻进行发送和接收。
RS485 半双工接法为:RX+ 和TX+ 并联为Data+;RX- 和TX- 并联为Data-。
RS485 全双工接法为:FULL 和GND 短接;信号线为RX+,TX+,RX-,TX-,可根据需要连接GND。
232:......

出0入0汤圆

发表于 2007-10-17 22:03:00 | 显示全部楼层
怎么这么多人认为485是半双工?大家能不能看一下具体的定义啊?!不要认为我们经常使用485的半双工方式就认为485是半双工的。485、422、232都是全双工的。但是实际使用过程中我们一直是把485设计成半双工使用。其实485类似422,只不过在个别参数上比422更加灵活,也就是说485可以兼容422(一般情况下),但反过来就不一定了。485如果接成四线就是全双工,如果把输入和输出并接,并且只接两条线那么就是半双工的了。因为实际使用半双工的比较多。另外好多芯片内部就把输入和输出并接了。

出0入0汤圆

发表于 2007-10-17 22:30:37 | 显示全部楼层
以前弄过一段时间串行通信,翻过一些读物,我看到的情况大概是这样:
RS232,RS422,RS485是电气标准,就是逻辑是如何表示的。
RS232使用12V,0,-12V电压来表示逻辑,(好象-12V表示逻辑1,12V表示逻辑0),全双工,最少3条通信线(RX,TX,GND),因为使用绝对电压表示逻辑,由于干扰,导线电阻等原因,通讯距离不远,低速时几十米也是可以的。
RS422,在RS232后推出,使用TLL差动电平表示逻辑,就是两根的电压差表示逻辑,RS422定义为全双工的,所以最少要4根通信线(一般要还要多拉一根地线),一个驱动器可以驱动(最多)10个接收器,通讯距离与通讯速率有关系,一般距离短时可以使用高速率进行通信,速率低时可以进行较远距离通信,一般可达数百上千米。
RS485,在RS422后推出,绝大部分继承了422,主要的差别是RS485可以是半双工的,而且一个驱动器的驱动能力至少可以驱动32个接收器,当使用阻抗更高的接收器时可以驱动更多的接收器。所以现在大多数全双工485驱动/接收器对都是标:RS422/485的,因为全双工RS485的驱动/接收器对一定可以用在RS422网络。

很多人都认为全双工的是422,半双工的是485,我不知道依据是什么(要不是他们错了就是我看到《串行端口大全》的作者Jan Axelson错了)。

串行通信,同步串行与异步串行
串行通信就是数据位按时间顺序一位一位地发送接收,其中同步串行通信数据的传输必须包含数据信号和时钟信号,例如I2C,SPI等都有时钟信号,所以一般速率高但通信距离短,甚至就是板内或板间通信。异步串行通信不包含时钟信号,如何理解一个数据位是靠双方预先协商,例如使用9600B的速率就定了一位数据的时间大概是100来us,再定一个法则就可以进行通信了,例如要起始通信,用一个0表示,然后就是n位数据,再就是校验,停止之类表示一个完整数据帧,一般PC的232接口和MCU的UART都遵循兼容的法则,只要你决定如何使用就好了。


多说一句:我是做软件的,对硬件只希望能正确了解,知道其工作原理就行,所以不深究,最好有明白人详细指明/正确或错误。

出0入0汤圆

发表于 2007-10-18 09:20:05 | 显示全部楼层
哈哈,确实是这样的问题。理论上485确实是可以做到全双工的,但是一般做到全双工就变得和422差不多了,所以干脆就叫作422了。
所以现在统称485半双工,422全双工。

虽然电气特性上略有不同,但是由于485兼容422,所以、所以 全双工的485也就变成了422

出0入0汤圆

 楼主| 发表于 2007-10-18 09:46:43 | 显示全部楼层
看着多位大侠的讲解,又有点糊涂了。RS485到底是全双工,还是半双工的?看了下MAX485的数据文档,(E文不好)好象没有RS485全双工的接法。那位大侠能发个RS485的全双工接法?下面是MAX485的数据文档:点击此处打开ourdev_177322.pdf(文件大小:134K)

出0入0汤圆

发表于 2007-10-18 09:54:55 | 显示全部楼层
MAX485是半双工工作模式的485接收发送器,另外有全双工的485接收发送器的。  

MAX485不是485的全部,可以说大多数人接触485时都被 MAX485给蒙骗了。
485的世界大得很啊!

出0入0汤圆

发表于 2007-10-18 09:54:58 | 显示全部楼层
MAX485是半双工工作模式的485接收发送器,另外有全双工的485接收发送器的。  

MAX485不是485的全部,可以说大多数人一开始接触485时都被 MAX485给蒙骗了。
485的世界大得很啊!

出0入0汤圆

发表于 2007-10-18 11:01:51 | 显示全部楼层
9楼:理论上485确实是可以做到全双工的,但是一般做到全双工就变得和422差不多了……

不是理论上485可以做到全双工,而是485本来就有全双工和半双工2种工作模式,因为定义时422的驱动器负载最小为100欧,485为60欧,422的接收器为1/10单位负载,485为1/32单位负载,其他参数和工作方式都是一样的,所以说485驱动/接收器兼容422而不是一样的东西。为什么485很少用全双工方式呢?主要是何种方式有优势的问题,使用全双工要多一倍左右的导线,而相对芯片而言导线的成本要高很多(当两点距离数十数百米时);另一方面,全双工通信最有效的模式是一主多从,除非是2个节点,否则要接成对等网是不可能的,半双工模式就可以,只要使用合适的协议,网络上一个节点可以呼叫另任意一节点,同时,全双工模式在网络上也要用协议实现,通讯速率优势也不大,甚至半双工可以使用MCU的多机通讯模式来简化寻址,协议也复杂不了多少,所以半双工485比全双工485流行。
不过全双工485也不是一无是处,当你的网络是一主多从模式(例如使用机房的PC做设备监控时),从机部署又比较密集,并且节点数量成百上千,你就要考虑使用中继把网络按某种规划分开,这时的全双工485网络很容易中继;而半双工485的中继就比较麻烦,往往需要使用MCU做转换,否则联一个大网是不现实的。

出0入0汤圆

 楼主| 发表于 2007-10-19 11:37:04 | 显示全部楼层
原来是MAX485芯片不能完全实现RS485的通信协议。

出0入0汤圆

发表于 2007-10-19 19:57:55 | 显示全部楼层
max有全双工的485片子的。

出0入0汤圆

发表于 2007-10-19 21:45:14 | 显示全部楼层
又学习了,   看来我是被MAX485给蒙了。

出0入0汤圆

发表于 2007-10-20 02:30:09 | 显示全部楼层
好贴,顶一下。

希望这样的讨论应该多一点,能深入下去。这实际上是最简单的通信接口了,USB要复杂多了。

出0入0汤圆

发表于 2008-9-5 17:31:47 | 显示全部楼层
【3楼】 trinove 阿力

       回答非常棒

出0入0汤圆

发表于 2010-3-9 20:42:00 | 显示全部楼层
ji

出0入0汤圆

发表于 2010-3-10 10:25:28 | 显示全部楼层
mark.重新认识485

出0入0汤圆

发表于 2010-3-11 16:48:54 | 显示全部楼层
mark.

出0入0汤圆

发表于 2010-3-11 17:16:50 | 显示全部楼层
看楼主哭成啥样了!

出0入0汤圆

发表于 2010-3-18 16:36:38 | 显示全部楼层
终于明白了

出0入0汤圆

发表于 2010-12-9 10:55:27 | 显示全部楼层
恩,不错,如此看来有的书定义RS422是全双工,RS485为半双工是不恰当的

出0入0汤圆

发表于 2010-12-9 10:56:32 | 显示全部楼层
只有两根线,一次一个信号,应该是半双工的吧~

出0入0汤圆

发表于 2011-1-12 14:42:29 | 显示全部楼层
用过一个片子MAX1482是485全双工的。


(原文件名:1482.jpg)

出0入0汤圆

发表于 2011-1-12 14:56:58 | 显示全部楼层
长见识了。百度也不可靠。

出0入0汤圆

发表于 2011-6-6 14:44:09 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-6-9 14:20:48 | 显示全部楼层
支持6楼的说法

出0入0汤圆

发表于 2011-6-10 09:12:02 | 显示全部楼层
好帖,绑定

出0入0汤圆

发表于 2011-6-10 10:25:18 | 显示全部楼层
一直都是用的半双,还真没试过全双

出0入0汤圆

发表于 2011-6-10 11:03:10 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2011-6-10 11:06:58 | 显示全部楼层
没试过全双工的 估计协议自定义协议和处理数据时时序会很麻烦

出0入0汤圆

发表于 2011-6-10 15:18:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-29 12:29:22 | 显示全部楼层
学习了。485确实被梦了!!!

出0入0汤圆

发表于 2011-7-4 17:47:48 | 显示全部楼层
非常OK的帖子,学习了!!!

出0入0汤圆

发表于 2011-7-5 16:02:36 | 显示全部楼层
最近正在弄的一个项目用到485通信,学习了

出0入0汤圆

发表于 2011-7-11 16:38:05 | 显示全部楼层
回复【楼主位】liulwn
-----------------------------------------------------------------------
一直都是用的半双,还真没试过全双 ,不过可以用全双工的饿

出0入0汤圆

发表于 2011-7-31 23:14:28 | 显示全部楼层
各位大侠,RS485,RS232是串口吧,但是他们用的协议是什么?是UART吗,还有“RS485通信协议”是仅指电器特性上的标准协议,还是指偏上层的通信协议,例如“UART”呢,偶对这个问题好困惑,查拉很多资料也没搞清楚,请大侠指点迷津啊~~

出0入0汤圆

发表于 2011-12-13 12:25:54 | 显示全部楼层
485全时半双工,232全双工,希望可以帮助到您

出0入0汤圆

发表于 2012-3-4 13:10:29 | 显示全部楼层
mk

出0入0汤圆

发表于 2012-7-17 14:17:12 | 显示全部楼层
看出来了,40楼是来捣糨糊的。

好贴!mark

出0入0汤圆

发表于 2012-7-17 18:08:18 | 显示全部楼层
favr 发表于 2007-10-18 11:01
9楼:理论上485确实是可以做到全双工的,但是一般做到全双工就变得和422差不多了……

不是理论上485可以做 ...

出0入0汤圆

发表于 2012-8-14 16:03:34 | 显示全部楼层
mark      

出0入0汤圆

发表于 2012-8-14 16:29:54 | 显示全部楼层
tianhaiyixian 发表于 2011-7-31 23:14
各位大侠,RS485,RS232是串口吧,但是他们用的协议是什么?是UART吗,还有“RS485通信协议”是仅指电器特性 ...

rs485和rs232都是现场总线的一种,只是传输的电平不一样
你可以认为,他们都是两根线传输数据,只是因为485用电压差分的方式传输,所以距离会比232距离远,(什么是差分,你可以往后再了解)
通讯协议一般指通讯双方约定好的软件协议,比如modbus协议(工业控制常见的一种,其实就是约定双方通讯传输几个字节啦,什么含义啦。。。)
你用rs485和rs232需要考虑他们的区别和你自己的需求
232的距离比较近,10米以内,你可以考虑,比如开发板用上位机调试看结果;485的距离比较远,可达500米(其他手段还可以更远)。
232一般是一对一的通讯;485可以一对多,同过一定的协议(比如modbus)达到多机通讯不会出问题(知道协议是干什么的了吧?)

出0入0汤圆

发表于 2012-10-16 23:41:13 | 显示全部楼层
mark,学习了。

出0入0汤圆

发表于 2012-11-10 13:20:35 | 显示全部楼层
max485只是一种芯片,而RS485是一种串口标准,很多人看了MAX485手册只是半双工的就认为485通信是半双工的,

出0入0汤圆

发表于 2013-1-29 20:09:58 | 显示全部楼层
mark   学习,485,232

出0入0汤圆

发表于 2013-1-29 20:11:33 | 显示全部楼层
485半双工的

出0入0汤圆

发表于 2013-1-29 20:14:28 | 显示全部楼层
doming 发表于 2011-1-12 14:42
用过一个片子MAX1482是485全双工的。

这个到底是485还是422

出0入0汤圆

发表于 2013-1-29 20:46:30 | 显示全部楼层
物理层, 链路层不要搞混。
RS-232C协议是包括电气特性(电平), 机械特性(连接器),  功能规程的。
但其他RS-422等只有电气特性。

还有V.11 vs. RS-422,是不同组织提出的不同说法,是CCITT直接借用了EIA。
至于V.24与R-S232C,有点特殊,因为前面说到的,RS-232C还除了电气特性外(V.24)还包括其他特性,因此还要加上功能和规程特性(V.28)。

另外,平时我们就管RS-232C叫串口了,实际上串口并口只是根据不同通信方式来说的(在工控等场合会有RS-485 RS-422等串口)。
当然,在不引起混淆的情况下也可以混用。

出0入0汤圆

发表于 2013-5-10 15:38:44 | 显示全部楼层
RS485全双工

出0入0汤圆

发表于 2013-5-11 14:03:49 | 显示全部楼层
RS485,RS232是串口吧,但是他们用的协议是什么?  <- 物理定義
协议是自定吧

出0入0汤圆

发表于 2013-6-27 14:07:47 | 显示全部楼层
liulwn 发表于 2007-10-17 16:22
想了一下,RS485两条通信线,同一时间只能传输一个方向的信号,半双工。RS232三条通信线,同一时间能传输两 ...

RS232 一条发送,一条接收,哪来的三条通信线?

出0入0汤圆

发表于 2013-7-9 16:09:28 | 显示全部楼层

出0入0汤圆

发表于 2013-11-19 21:56:55 | 显示全部楼层
machao 发表于 2007-10-20 02:30
好贴,顶一下。

希望这样的讨论应该多一点,能深入下去。这实际上是最简单的通信接口了,USB要复杂多了。 ...

马老师您好:
            请教您一个问题,最近我做了一个422的全双工通讯,设计电路时按照datasheet上设计的,为什么无法通讯。我的设计电路如下所:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-9-7 19:47:21 | 显示全部楼层
mark      

出0入0汤圆

发表于 2016-9-8 00:26:15 | 显示全部楼层
我记得都有啊,看你怎么接线

出0入0汤圆

发表于 2017-2-18 16:08:36 | 显示全部楼层
485全双工的程序就直接接发就行了吗

出0入0汤圆

发表于 2017-2-18 21:44:39 | 显示全部楼层
学习。Mark

出0入0汤圆

发表于 2017-2-20 09:01:10 | 显示全部楼层
485是半双工,232是全双工,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 13:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表