串行口通信

本文介绍了通信的基本概念,包括并行与串行通信的区别,重点讨论了串行通信,如串行通信硬件电路、UART接口、电平标准以及异步和同步通信的工作方式。此外,还提到了串行通信的传输方向(单工、半双工、全双工)以及关键参数如波特率和校验位。
摘要由CSDN通过智能技术生成

目录

1、通信方式 

2、串行通信介绍

3、串行通信硬件电路 

4、常见通信接口比较

4.1 异步通信与同步通信 

4.2 串行通信的传输方向

5、串行参数及时序


1、通信方式 

通信是什么呢?通信指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递,从广义上指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法、任意媒质,将信息从某方准确安全地传送到另一方。

我们常说的计算机通信又是是什么呢?其实计算机通信,顾名思义,就是将计算机技术 和通信技术相结合,完成计算机与外部设备或者计算机与计算机之间的信息交换。可以分为两个大类:并行通信与串行通信。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。通信有并行通信串行通信两种方式。接下来我们就对这两种进行学习。

并行通信通常是将数据字节的各位用多条数据线同时进行传送 。如下图:

并行通信控制优点:简单、传输速度快。

并行通信控制优点:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。

串行通信是将数据字节分成一位一位的形式在 一条传输线上逐个地传送。如下图:

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。下面将对串行通信进行学习。

2、串行通信介绍

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。 

3、串行通信硬件电路 

简单双向串口通信有两根通信线(发送端TXD和接收端RXD),使用串口需要注意以下几点:

(1)TXD与RXD要交叉连接。(这是很多初学者经常忽略的问题,导致两个设备之间不能进行通信)

(2)当只需单向的数据传输时,可以直接一根通信线。

(3)当电平标准不一致时,需要加电平转换芯片。

当两个设备进行通信时,相应的接线如下图:

 解释一下电平标准:电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

(1)TTL电平:+5V表示1,0V表示0。

(2)RS232电平:-3~-15V表示1,+3~+15V表示0。

(3)RS485电平:两线压差+2~+6V表示1,-2~-6V表示0。

4、常见通信接口比较

名称引脚定义通信方式特点
UARTTXD、RXD全双工、异步点对点通信
I2C

SCL、SDA

半双工、同步可挂载多个设备
SPISCLK、MOSI、MISO、CS全双工、同步可挂载多个设备
1-WireDQ半双工、异步可挂载多个设备

4.1 异步通信与同步通信 

异步通信:异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致;意思就是通信双方各自约定通信速率。比如:我0.5秒发送一次,你0.5秒接收一次。

异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。

异步通信的数据格式:

 异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。

同步通信:同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。简单来说,通信双方靠一根时钟线来约定通信速率。发送方对接收方的同步可以通过两种方法实现。

4.2 串行通信的传输方向

 1、单工:单工是指数据传输仅能沿一个方向,不能实现反向传输。也就是说两个设备进行通信时,只能由一方发送到另一方,不能反向传输。如下图:

 2、半双工:半双工是指数据传输可以沿两个方向,但需要分时进行。意思是两个通信设备双方可以互相传输数据,但必须分时复用一根数据线。如下图:

 3、全双工:全双工是指数据可以同时进行双向传输。就是双方通信设备可以在同一时刻互相传输数据。如下图:

最后了解一下总线的概念吧,很多初学者在看电路原理图时,有时会见到一根总线把各个I/O端口连接起来,但是只是知道它是总线,但不知道总线是什么,有什么作用?下面,我们了解一下总线的概念;

总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)。想必这样一说大家就明白了。

5、串行参数及时序

 波特率:串口通信的速率(发送和接收各数据位的间隔时间)。波特率就是异步通信和同步通信约定的通信速率。

检验位:用于数据验证。

比如:奇偶校验。

奇偶校验:在发送数据时,数据位尾随的1位为奇偶校验位(1或0),奇校验时数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。

 同理,偶校验亦是如此。

停止位:用于数据帧间隔。就是一个数据八位发完后,它就需要一定的时间进行停止。很少用得到的。

了解了串行通信之后,对我们学习单片机得串口通信就有很大的帮助了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值