51单片机(七)串行口通信

一、并行与串行通信

1、并行通信

将数据每一字节的各位用多条数据线同时进行传送。每个字节8位,由8条数据线同时传送一位,同一时间总共传送1个字节。除了8条数据线外,还有一条信号线和若干控制线。

由于发送设备和接收设备之间需要的接线较多,采用长途信号传送使得成本激增,所以并行通信一般用于短途通信。
在这里插入图片描述

2、串行通信

将数据的一个字节分成8位,一位一位的在一条传输线上传送,数据线只需要一条即可,此外还需一条公共信号地线和若干控制信号线。由于只需要一条数据线,在长途通信中成本不会很高,并且可以利用电话网等现有的设备。
在这里插入图片描述

3、并行通信和串行通信优缺点

1)并行通信

优点:控制简单,相对传输速度快
缺点:长距离传输时成本高,一个字节的8位同时发送和接收存在困难,较串行通信抗干扰能力弱

2)串行通信

优点:传输线少,长距离传输成本低,可利用现有设备进行传输,较并行通信抗干扰能力强
缺点:控制比较复杂,较并行通信控制更复杂

4、异步串行通信、同步串行通信

1)异步串行通信

通信的接收方、发送方使用各自的时钟控制数据的接收和发送。(为使双方收发协调,要求发送和接收设备的时钟尽可能一致)
在这里插入图片描述

2)异步串行通信的俩个指标——字符帧格式、波特率

异步串行通信中数据通常以字符或者字节为单位组成字符帧传送。字符帧在发送设备逐帧发送,接收设备逐帧接收。发送端和接收端由各自的时钟控制,俩个时钟互不影响、彼此独立。

字符与字符之间的间隔是任意的。任一字符内部的每一位之间的间隔是固定的。

波特率之后着重讲解

3)异步串行通信的常用总线类型

①RS-232
通常 RS-232 接口以9个引脚(DB-9) 或是25个引脚 (DB-25) 的型态出现

在这里插入图片描述
在这里插入图片描述

S232接口电平值较高,其任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3V ~ -15V;逻辑“0”为+3V ~ +15V

RS232与TTL电平不兼容,故需要使用电平转换器才能让RS232与TTL电路连接。如MAX232把TTL电平从0V和5V转换到3V~15V或-3V ~ -15V

RS232传输距离较短,若距离过长,会导致信号失真、抗干扰能力较差。

②RS-485

在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。

RS-485采用半双工工作方式,所以收、发双方不能同时进行收和发,同一时间只有一方在发送、另一方在接收。

USB转RS485:
在这里插入图片描述

③USB(通用串行总线)

4)异步串行通信的特点

不要求收发双方时钟严格一致,实现容易,设备开销小,但每个字符需要附加2~3位用于起始位、校验位、停止位,各帧之间还有间隔,因此传输效率不高。

单片机与单片机、单片机与计算机之间的通信,都为异步串行通信方式

5)同步串行通信

要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间距”的整数倍,同时传送的字符间不留间隙即保持字符同步关系。

同步分为外同步和自同步。

外同步:
在这里插入图片描述

自同步:
在这里插入图片描述

6)串行通信的奇偶校验

发送数据时,在数据位后面尾随的一位是奇偶校验位。
奇校验时,数据中的1的个数+奇偶校验位中1的个数=奇数,若不为奇数,说明数据传输中出现错误。
偶校验时,数据中的1的个数+奇偶校验位中1的个数=偶数,若不为偶数,说明数据传输中出现错误

还想进一步了解的朋友可以去参考《通信原理》的【差错控制编码】——>【奇偶监督码】和【二维奇偶监督码】

二、MAX232实现RS232电平与TTL电平转换(板子嵌用)

中文参考手册:

在这里插入图片描述

单片机原理图:

在这里插入图片描述

图一可知:T1in与T2in为TTL电平输入,T1out、T2out为RS232输出。R1in与R2in为RS232电平输入,R1out与R2out为TTL电平输出。

所以MAX232可以将TTL电平转为RS232电平,也可以将RS232电平转为TTL电平

图二可知,单片机芯片P30接单片机R1out,为MAX232芯片的TTL电平输出引脚,单片机P31接T1in,为MAX芯片的TTL电平输入引脚。

信号流程:
单片机通过P31引脚发送信号,到MAX232的T1in引脚,经过转为,变为RS232电平,传输到其他设备,完成信号传送。
其他设备传送的信号,送入MAX232,进过转换,从R1out输出TTL电平,进入单片机P30引脚,单片机接收到其他设备的信号。

所以单片机P30是信号接收引脚,P31是信号发送引脚。

在这里插入图片描述

打开8051芯片,发现P30的确是接收引脚,P31的确是发送引脚。

再看MAX232的单片机原理图(上图二):

注:J1是焊接在板子上的接口,我的板子是公口,外插母口进行信号传送

J1的2引脚接R1in,为RS232电平的输入引脚,所以外接的母口的对应2引脚为其他设备的信号输出端。(指另一端设备备接口转换器的输出端)

J1的3引脚接T1out,为RS232电平的输出,所以J1的3引脚接外接母口的对应3引脚,接其他设备的输人端。(指另一端设备备接口转换器的输入端)

总结:
.
发送:单片机P31引脚——>MAX232的T1in引脚——>经转换在MAX232的T1out引脚输出——>J1公口的3引脚——>外插母口的3引脚——>其他设备的接口转换器输入端(若接口也为MAX232,则接R1in或R2in)

接收:其他设备的接口转换器输出端(若接口也为MAX232,则为T1out或T2out)——>外接母口引脚2——>本单片机J1的2引脚——>MAX232的R1in——>经转换后MAX232的R1out输出——>单片机P30引脚

三、波特率与定时器初值

之前总结异步串行通信的俩个指标——字符帧格式与波特率时,未对波特率进行总结,现总结波特率以及与定时器初值的关系

1、波特率

单片机或计算机在串口通信时的速率用波特率表示,它表示每秒传输二进制代码的位数,即1波特=X位/秒,单位是bps(位/秒)。如当异步串行传输包含1个起始位、1个停止位、8位数据位,每秒传输200个字符,则此时的波特率为10×200=2000bps。

《通信原理》中将传信率(又称比特率)Rb,表示传输的信息速率,单位是比特/秒,b/s或bps。传码率RB表示码元传输速率&

  • 7
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独独白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值