串口通信-接口标准

1. 概述

1.1 前言

在一块板卡上,总是涉及到各种各样的通讯接口和通信方式,初入嵌入式,感到一头雾水,为何又用SPI又用CAN又用UART,为何又用RS422又用网口又用USB,这些不都是用来通信的吗,一块板上用一个不就行了?
以上有些概念都混淆了,近段时间涉及到RS422调试,索性对此做一个总结。本文主要是对串口通信接口标准进行介绍。当然知识是无穷尽的,不可能一蹴而就,估计目前所写也是沧海一粟,能勇敢的迈出第一步,也得感恩自己,谁知道这一步不会让你变成大师?
言归正传。

1.2 串口接口标准介绍

1.2.1 串口是什么

首先说一说串口,即我们熟知的COM(cluster communication port)口,它是指一种物理接口(硬件实体)。它一般有9针和25针的,即DB9和DB25。以针引出来的叫公头,孔引出来的叫母头。
DB9接口
在这里插入图片描述

DB9接口DB25
DB25接口

电脑上一般自带一个DB9接口,它是RS232标准的接口,一般指的是COM1.
在板卡调试时,你可以直接使用电脑自带串口,也可利用USB经过MOXA卡(通用多串口转换器)转换成各种标准的串口进行使用,当然后者使用范围更广。
在这里插入图片描述
moxa卡

接入串口设备后,你可以根据需要对不同的COM口进行配置,包括端口号,波特率,数据位,奇偶校验,停止位等。

  • 端口号:指的是COM1,COM2,COM3等,查看计算机端口属性,一个COM,包括256个端口号,你可以扩展COM增加端口号。
  • 波特率:指的是每秒传的码元(脉冲)数,一个码元可以包含多个bit。常见的波特率为9600,115200等。顺便提一下比特率,比特率单位为bps,指每秒传的bit数,所以比特率=波特率*一个码元包括的位数。那么在示波器上观看一个二机制数的时间为1/比特率。
    -数据位:根据串口协议,在数据传输时包括的有效数据的位数,一般有4-8位
    -奇偶校验:一种检错方式,确保传输的数据是奇数或者偶数。包括奇校验和偶校验。在发送端传数据时,当为奇校验时,数据位里1的个数为奇数,则校验位为0,否则为1,偶校验同理。
    -停止位:串口协议中,包括一个起始位,0-7位数据位,一个校验位,和一个停止位。数据传完的标志是发送完停止位。
    数据包的组成如下:
    在这里插入图片描述
    这里还想简单介绍一下驱动程序。因为任何硬件接入计算机时,都需要驱动程序。
    设备驱动程序,是直接作用在硬件上的软件,没有驱动程序,计算机没法通过指令来控制硬件,再优秀的硬件被接入时也只能是摆设。
    理论上,任何硬件都需要安装驱动程序,但是一些必要的硬件,比如显示器,内存,cpu等,在早期,已经设计进去了驱动程序,其他一些硬件,如显卡声卡等没有设计驱动程序,就需要自己安装了。

1.2.2 接口标准

串口通信接口标准,是一种用来进行串行通信的物理接口标准,它只表征电气特性,而不涉及到接插件,电缆和协议等。我们平常见到的RS232,RS422,RS485就属于物理接口标准。
不同的接口标准用不同的电平表示,首先介绍最常见的两种电平,TTL电平和CMOS电平。
TTL电平:晶体管晶体管逻辑电平。
输出:高电平>=2.4V,低电平<=0.4V;
输入:高电平>=2.0V,低电平<=0.8V。
CMOS电平:mos电平
输出:高电平=Vcc,低电平=GND(Vcc为电源电压);
输入:高电平>=0.7Vcc,低电平<=0.2Vcc。
CMOS电路可直接驱动TTL电路,TTL不可以直接驱动CMOS,一般得接上拉电阻。
为了远距离传输,在以上两种电平基础上衍生出了RS232电平,因为其电平电压高,所以相比之下,受干扰小,可传输的更远。尽管如此还不能满足人们对远距离传输的要求,所以进一步衍生出RS422,RS485.
通信接口的作用:

  1. 实现数据格式化,异步通信方式下,自动生成起止式的帧数据格式。在同步方式下,接口要在待传送的数据块前加上同步字符。
  2. 实现串并转化。计算机处理数据是并行数据。
  3. 控制传输速率
  4. 错误检测
  5. 电平转换

1.2.3 传输过程影响因素

既然上面谈到了传输距离,说一下什么影响了传输距离和速度。

  • 信号反射
    在通信过程中,有两种信号因素导致信号反射:阻抗不连续和阻抗不匹配。这就是RS422/RS485要加终端电阻的原因。
  • 信号衰减
    传输的电缆存在分布电容和分布电感,传到终端时信号时会被LC低通滤波器滤掉,导致衰减。
  • 负载
    带负载数越多,信号能传输的距离就越小,因为负载越大,线路损耗越多,所以能传的距离越短。
  • 分布电容
    分布电容除了会对信号造成衰减外,还会导致数据接收错误。
    在这里插入图片描述
    解决的方式是:
    (1)降低数据传输的波特率;
    (2)使用分布电容小的电缆,提高传输线的质量。
    下面正式进入三种标准的介绍。
    (关于串口通信速率的问题,最近有被问道。再理理。串口通信的速率跟串口芯片(差分驱动器)应该是没有关系的,驱动器只是将单端转为差分,以am26c31为例,延时才10ns,而平时说的串口通信速率115200,即传输速率115Kb/s,应该是受串口通信接口标准的影响,RS232最高20kb/s,RS422最高10Mb/s。)

2. RS232

RS232(RS:recommend standard,232为标识号),不平衡传输串口通信接口标准。它是一种点对点的异步串行通信传输方式,只适用于一对收发设备。
通信方式是全双工。
顺便提一下全双工,半双工,单工。
全双工:允许数据在两个方向上同时传输,可同时收发。
半双工:允许数据在两个方向上同时传输,但某一时刻,只能进行一种动作,发完才能收。
单工:只能一个方向进行传输,一方固定为发送端,一方则固定为接收端

2.1 电气特性

逻辑1:-3V~-15V
逻辑0:+3~+15V

2.2 特点

1)接口的信号电平值较高,易损坏接口电路的芯片
2)与TTL电平不兼容,故需使用电平转换电路方可与TTL电路连接。
3)传输速率较低,在异步传输时,波特率为20Kbps左右。
4)接口使用两根线共地传输,易产生共模干扰,故抗噪声干扰差。
5)传输距离有限,最大传输距离15米左右。

2.3 应用

RS232
RS232接口一般是DB9类型的接口,目前只用TXD,RXD,GND,其余的引脚不用管。
目前在板卡设计上,RS232用的较少。

3. RS422

RS422,全名为平衡数字电压数字接口电路的电气特性。它是差分传输,有四根信号线,通信方式为全双工,可实现多个主从传输。

3.1 电气特性

发送端:
逻辑1:AB电压差为+2V~+6V
逻辑0:AB电压差为-2~-6V

接收端:
逻辑1:A-B>200mV
逻辑0:A-B<-200mV

3.2 特点

  1. RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。
  2. 高输入阻抗,驱动能力强,可连接多个节点。
  3. 电平低,可与TTL兼容

3.3 应用

在这里插入图片描述
RS422采用4根信号线,两根用于Tx,两根用于Rx.
下面是应用电路:
在这里插入图片描述

  • R416(120Ω)电阻用于终端匹配,C202是为了减小直流损耗。
  • R421-R424作用是,在RS422/RS485总线空闲时,让其有个确定的电平。因为A-B在-200mV~+200mV状态是不确定的,一般A上拉,B下拉,所以它取值的大小要保证A-B>200mV
  • D11-D13用来进行瞬态抑制。
    (备注:上图中有误,Rx-应下拉,TX+应上拉)
    给上位机发送的Tx+,Tx-波形如下
    在这里插入图片描述
    简单介绍一下RS422通信单元与上位机的通信过程:
    1 )上位机按照通信协议,将发送的数据通过通信控制模块发送到 RS-422 通信单元。然后进入等待,确认回复信息。
    2) RS-422通信单元接收到上位的命令后,将命令内容存储到缓存内。
    3) 在条件允许时,按照通信协议对命令帧进行解析,得到实际应发送的数据及波特率。同时,RS-422 通信单元将向上位返回确认信息,即确认帧表示接收正常。

4. RS485

RS485是在RS422基础上衍生的,它也是差分传输,但是它是半双工模式,相比RS422,可挂接更多设备。

4.1 电气特性

发送端:
逻辑1:AB间电压差+2V~+6V
逻辑0:AB间电压差-2~-6V

接收端:
逻辑1:A-B>200mV
逻辑0:A-B<-200mV

4.2 特点

1)其最大传输距离约为1219米,最大传输速率为10Mb/s。
2)需要2个终端电阻,其阻值要求等于传输电缆的特性阻抗,一般取值为120Ω,短距离或低速时(大约300m),可不使用。
3)允许最多并联32台驱动器和32台接收器。
4)相对于RS422, 增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性。

4.3 应用

在这里插入图片描述
RS485也是采用差分传输方式,但是只用了两根双绞线。

5. 总结

RS232,RS422,RS485特点总结如下:
在这里插入图片描述
RS422,RS485区别如下:

  • RS422用于不同站通信,不能用于总线网;RS485用于总线通信。
  • RS485能满足RS422所有参数,反之不成立。
  • RS485的共模电压的输出范围是-7V和+12V之间,RS-422仅有±7V,这表明RS422可承受的电压范围更小,其电路更易被损坏。
  • RS-422串行接收器的最小输入电阻是4KΩ,而RS-485则是12KΩ,所以驱动能力更强。
  • RS-422是全双工,RS-485是半双工。
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值