串口半双工与全双工

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


半双工:使用同一根线传输,既可发送又可以接收数据,但不能同时发送和接收。 
全双工:分别由两根同时发送和接收传送,双方都可以在同一时刻进行发送和接收。 
RS485 半双工接法为:RX+ 和TX+ 并联为Data+;RX- 和TX- 并联为Data-。 
RS485 全双工接法为:FULL 和GND 短接;信号线为RX+,TX+,RX-,TX-,可根据需要连接GND。  
232:......
http://baike.baidu.com/view/1154433.htm



以前弄过一段时间串行通信,翻过一些读物,我看到的情况大概是这样: 
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都遵循兼容的法则,只要你决定如何使用就好了。 




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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值