串口通信基础知识

目录

前言

       以前也零散的接触到串口这方面的知识,但是对串口的理解不是很清晰,现在重新学习了一遍串口方面的知识写一篇博客复习一下。

一、串口通信

       在360百科里写到:串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

简单来说,串口就是一种非常通用的设备通信的协议。

二、串口通信工作原理

1.通信方式

串行通信,即数据一位一位得按顺序发送。并行通信,即数据的各位同时发送(这里对并行通信不做过多介绍)。
如下图所示:

《串口通信基础知识》

两种通信方式各自的优缺点:
《串口通信基础知识》

2.串行通讯的分类

2.1按通讯方式分类

同步通讯:也称抑制载波双边带通信。它是一种在发射端发送一个抑制载波的双边带信号,而在接收端恢复载波,再进行检波的通信方式。因为恢复的载波与被接收的信号载波同频同相,故取名为同步通信。

特点:带时钟同步信号传输。

比如:SPI(全双工),IIC(半双工)通信接口。

《串口通信基础知识》

异步通讯:异步通信”是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。

特点:不带时钟同步信号;通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

比如:UART(全双工),单总线(半双工)。

《串口通信基础知识》

2.2安数据传输方向分类

单工:只支持数据在一个方向上传输;

《串口通信基础知识》

半双工:允许数据在两个方向上传输,某一时刻只有一个传输方向;

《串口通信基础知识》

全双工:允许数据同时在两个方向上传输。

《串口通信基础知识》

三、串口通信数据格式

       异步通信规定传输的数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成,如图1所示
《串口通信基础知识》
       一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
       每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。

1.起始位:

       起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

2.数据位:

       数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,标准的ASCII码是0127(7位),扩展的ASCII码是0255(8位)。传输数据时先传送字符的低位,后传送字符的高位。

3.奇偶校验位:

       奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

4.停止位:

       停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

5.波特率:

       波特率(BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量。

参考资料:
https://baike.so.com/doc/6286784-6500266.html
https://baike.so.com/doc/6374135-6587781.html
https://blog.csdn.net/huwei2003/article/details/36418471

    原文作者:persist_with
    原文地址: https://blog.csdn.net/persist_with/article/details/118695363
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞