串口通信、UART、RS485、RS232、RS422 到底是个啥

    技术2022-07-11  94

    不介绍具体电气参数,只说说自己的理解

     

    串口通信:

     通信类型如果按照数据传输方式:分为串行通信、并行通信

    串口通信=串行通信:就是利用串行的方式进行通信;(网上有人区分串口通信与串行通信的概念区别,个人觉得不重要)

     

    严格意义:SPI、I2C、UART等等常见的通信方式都是串行通信(串口通信);只要符合串行通信的定义,都可以叫串行(口)通信

     

    但注意!!!!!

    在实际使用过程中,也不知道怎么滴,当大家说到串口通信时都不约而同的、非常默契的认为就是UART;当说其他通信协议的时候又会明确的指出是SPI、I2C的

     

    结论:人家说串口通信时,大概率就是UART通信

     

    UART、RS485、RS422、RS232是个啥

    UART:(Universal Asynchronous Receiver/Transmitter)翻译过来就是:通用异步收发传输器

    从翻译来看 它是个器件,长什么样呢?一般具备UART通信的芯片内部会具备这些硬件

    它的功能:把串行通信转换成并行通信,因为在芯片内部,UART(它是个器件)与CPU的通信方式是并行的

     

    那它与485 422 232  又有什么关系呢?

     

    现在手里有两个需要通过UART通信的芯片

    情况一:发现两个芯片电压匹配,比如都是3.3V,那就RX接TX  TX接RX  直接连上就可以通信

     

    情况二:还是那两个芯片,但应用于工业的,传输距离远;需要使用232/485/422通信

     可见本质上还是使用UART(器件)进行通信,不同的是表示数字0和1对应的电压范围不一样

     

    比如对于232 :当电压值为-3~-15V时,认为它是数字1信号;当电压值为+3V~+15V时,认为它是0信号。

    到了485:  开始使用差分信号,根据两条线的电压差表示0和1;

    本质都是一样,只是表示0和1的方法不一样

     

     

    由此可见本质上RS485、RS422、RS232只是规定一种电气(即用什么样的信号表示0和1);他们都是UART通信;、

     

    严格意义上说:有人说我这是UART通信(我就要想一想它是RS232通信还是RS485通信等等);

    当实际交流时,

    当他说我是UART通信:我一般认为就是  两个芯片直连通信

    当说485通信:其实也是使用UART,只不过为了强调使用的电气属性(可怜的UART)

     

     

     

    参考文献:

    1、https://mp.weixin.qq.com/s?src=11×tamp=1593588010&ver=2433&signature=ZBP8b2axvgU224jRT10PvRroK1bxI6KeNQee41dRT9rXlFTy4B1sOQwC9TAnjYru2e7aB3oQ5Lf9pjj9c5XauLWYZ67fMOcrmTGmLG8blcUPKZeH0HvGLHKFqm6DysRN&new=1

    2、https://wenku.baidu.com/view/aefb9154250c844769eae009581b6bd97e19bc77.html

     

    Processed: 0.014, SQL: 9