说说这些把人绕晕的串口通信(232,485,422)
时间:
2021-06-22作者:安服优
什么是串口通信?
串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也就是会有8根线,每一根线代表一个位。一次传输就可以传一个字节,而串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次,串口通信就是把数据串在一根线上传输,所以就叫串口。
那么,在很多设备上,不方便接太多线,比如接8根数据线,也不方便接同步时钟信号(这个后面再说),于是一种异步串行通信就诞生了。
相对来说,异步串口通信,就只需要一根线就可以发送数据了。在对速率要求不高的情况,使用一根线发送数据是带来大大的方便和实用价值的。
串口通信主要为分232,485,422 通信三种方式。
232 232 通信主要是由RX,TX,GND三根线组成。RX与TX,TX接RX,GND接GND。这样还是比较好理解吧。因为发送和接收分别是由不同的线处理的,也就是能同时发送数据和接收数据,这就是所谓的全双工。 485 485是为了解决232通信距离的问题。原理什么之类的就不多讲了。反正232通信距离就是不长。485主要是以一种差分信号进行传输,只需要两根线,+,-两根线,或者也叫A,B两根线。A,B两根线的差分电平信号就是作为数据信号传输。那么问题来了,那是不是就没有RX和TX的概念了。是的,发送和接收就不能分开了。发送和接收都是靠这两根的来传输,也就是每次只能作发送或者只能作接收,这就是半双工的概念了,这在效率上就比232弱很多了。就像对讲机一样,经常是某个人讲完之后,都要说一个over,确保当前说完了,等待对方回复。 485就是这样牺牲了232全双工的效率来达到自己传输距离远的代价。那有没有即保留了232的全双工,又可以像485这样提高传输距离呢,于是,422出来了。
422
422呢,有些标注为485-4。而485就标注为485-2。有什么区别呢。就是为了好记呢。485-2就是2根线。485-4就是4根线。422就是把232的RX分成两根线,RX+,RX-,把TX分成TX+,TX-。这样就可以同时发送和同时接收了,还可以像485这样,有较远的传输距离。可是这样一种很有优势的通信方式,为什么大家却用的不多呢。优优觉得应该是:线太多了。绕来绕去的乱麻接线想想就脑阔疼,超过3根线就头晕。搞个通信还需要接这么多线,什么TX,RX,正啊负啊,交换来交换去。
好了,本期关于串口通信的基本分享就到这里吧,我们下期再见。
如有以上两款串口购买需求的小伙伴,欢迎点击以下两个链接进入:
232在这里:https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-23153952211.36.69e35de2HJbBOm&id=634225593976
485在这里:https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-23153952211.39.69e35de2HJbBOm&id=634819799925