讲师博文
什么是串行通讯及其工作方式 来源 : 原创     2021-03-19

串行通信是在数据处理设备和外围设备之间传输信息的最广泛使用的方法。通常,交流是指通过书面文件,口头单词,音频和视频课程在个人之间交换信息。

每个设备都可能是您的个人计算机,也可能是移动设备以串行协议运行。该协议是一种安全可靠的通信形式,具有由源主机(发送方)和目标主机(接收解决的一组规则为了获得更好的见解,我已经解释了串行通信的概念。

嵌入式系统中,串行通信是以串行数字二进制的形式使用不同方法交换数据的方式。用于数据交换的一些众所周知的接口是RS-232,RS-485,I2C,SPI等。

什么是串行通讯?

在串行通信中,数据采用二进制脉冲的形式。换句话说,我们可以说二进制1代表逻辑高或5伏,而零代表逻辑低或0伏。串行通信可以采用多种形式,具体取决于传输模式和数据传输的类型。传输模式被归类为单工,半双工和全双工。每种传输模式都有一个源(也称为发送者)和目的地(也称为接收者)。

传输模式-串行通讯

传输模式–串行通讯

单纯形法是单向通信技术。仅一个客户端(发送者或接收者一次处于活动状态)。如果发送方发送,则接收方只能接受。广播和电视传输是单工模式的示例。

半双工模式下,发送方和接收方均处于活动状态,但一次都不激活,即,如果发送方进行发送,则接收方可以接受但不能发送,反之亦然。互联网就是一个很好的例子。如果客户端(笔记本电脑)发送了对网页的请求,则Web服务器将处理该应用程序并发回信息。

全双工模式在世界上被广泛使用的通信。在这里,发送方和接收方都可以同时发送和接收。例如,您的智能手机。
 

除了传输模式外,我们还必须考虑主机(发送者或接收者)的字节顺序和协议设计。字节顺序是将数据存储在特定内存地址的方式。根据数据对齐方式,字节序被分类为

  • 小尾数和
  • 大端。

以这个例子来理解字节序的概念。假设我们有一个32位十六进制数据ABCD87E2这些数据如何存储在内存中?为了清楚起见,我已经解释了Little Endian和Big Endian之间区别

小端对大端

小端对大端

数据传输可以通过两种方式进行。它们是串行通信和并行通信。串行通信是一种用于使用两线制即发送器(发送器)和接收器逐位发送数据的技术。

例如,我想从发送器向接收器发送8位二进制数据11001110但是,哪一位先出?最高有效位– MSB(7位)或最低有效位-LSB(0位)。我们不能说。在这里,我考虑的是LSB首先移动(对于Endian而言)。

串行通讯

串行通讯

从上图可以看出,对于每个时钟脉冲;发送器将单个数据发送到接收器。

并行通信一次移动8、16或32位数据。打印机和Xerox机器使用并行通信来加快数据传输速度。

RS232并行通讯

RS232并行通讯

串行和并行通信之间的区别

串行通信一次仅发送一位。因此,这些需要较少的I / O(输入-输出)线。因此,占用更少的空间,并且更耐串扰。串行通信的主要优点是,整个嵌入式系统的成本变得便宜,并且可以长距离传输信息。串行传输用于调制解调器等DCE(数据通信设备)设备中。

 

在并行通信中,一次发送一块数据(8、16或32位)。因此,数据的每一位都需要一条单独的物理I / O线。并行通信的优点是速度快,但缺点是它使用更多数量的I / O(输入-输出)线。在PC(个人计算机)中使用并行传输来互连CPU(中央处理器),RAM(随机存取存储器),调制解调器,音频,视频和网络硬件。
 

注意:如果您的集成电路或处理器支持较少数量的输入/输出引脚,则最好选择串行通信

为了便于理解,这里是串行和并行通信的比较。

串行通讯 并行通讯
以一个时钟脉冲逐位发送数据 一次传输大量数据
需要一根线来传输数据 需要“ n”条线来传输“ n”位
通讯速度慢 通讯速度快
安装费用低 安装费用高
首选长距离通讯 用于短距离通讯
示例:计算机到计算机 电脑转多功能打印机

时钟同步

为了使串行设备高效工作,时钟是主要来源。时钟故障可能会导致意外结果。每个串行设备的时钟信号都不同,分为同步协议和异步协议。

同步串行接口

同步串行接口上的所有设备都使用单CPU总线共享时钟和数据。因此,数据传输速度更快。优点是不会出现波特率不匹配的情况。此外,接口组件所需的I / O(输入-输出)线更少。例如I2C,SPI等。

异步串行接口

异步接口不具有外部时钟信号,并将其即依赖于四个参数

  1. 波特率控制
  2. 数据流控制
  3. 收发控制
  4. 错误控制。

异步协议适用于稳定的通信。这些用于长距离应用。异步协议的示例是RS-232,RS-422和RS-485。

串行通讯如何工作?

诸如微控制器和微处理器之类的高级CPU利用串行通信与外界以及芯片外围设备进行通信。为了熟悉,让我们举一个简单的例子。假设,您要将便携式计算机中存在的文件发送到智能手机。您将如何发送?正确,可能是使用蓝牙或WiFi协议。

因此,以下是建立串行通讯的步骤

  1. 添加连接。

第一步,您的笔记本电脑将搜索100m附近的设备,并列出找到的设备。此过程通常称为漫游。

  1. 选择您要通信的设备。

要连接到您的手机,必须完成配对。默认配置已存在于软件中。因此,无需手动配置波特率。除此之外,还有四个未知的规则。它们是波特率,数据位选择(成帧),起止位和奇偶校验。

串行通讯规则

串行通讯规则

#1波特率是多少?

波特率是以每秒比特数的形式将数据从发送器传输到接收器的速度。一些标准波特率是1200、2400、4800、9600、57600。

 

您必须在两侧(移动设备和笔记本电脑)设置相同的波特率。
 

注意:波特率越高,可以在更少的时间内传输更多的数据。

但是,由于接收器端的采样频率不匹配,我建议最多使用115200作为安全限制。

#2取景

帧显示要从主机设备(笔记本电脑)发送到移动设备(接收器)的数据位数。是5、6、7还是8位?大多数情况下,首选8位。选择8位数据块后,发送方和接收方必须同意字节序。

#3同步

发送器将同步位 1个起始位和1或2个停止位)附加到原始数据帧。同步位可帮助接收器识别数据传输的开始和结束。此过程称为异步数据传输

#4错误控制

数据损坏可能是由于接收器端的外部噪声引起的。获得稳定输出的唯一解决方案是检查奇偶校验

如果二进制数据包含偶数1,则称为偶数奇偶校验,并且奇偶校验位设置为“ 1 ”。如果二进制数据包含1的奇数,则称为奇数奇偶校验,现在奇偶校验位设置为“ 0 ”。

异步串行协议

当您开始在嵌入式系统上工作时,最常见的问题是为什么要使用异步协议?

  • 要在较远的距离四处移动信息,
  • 为了更可靠的数据传输。

一些异步通信协议是:

RS-232协议

  • RS232是用于连接电话调制解调器的第一个串行协议。RS代表推荐标准,现在已更改为EIA(电子工业联盟)/ TIA(电信工业协会)。
  • 它也用于调制解调器,鼠标和CNC(计算数值计算)计算机。您只能将单个发射器连接到单个接收器。
  • 它支持全双工通信,并允许高达1Mbps的波特率。
  • 电缆长度限制为50英尺。

如您所知,存储在内存中的数据为字节形式。您可能会怀疑如何将字节数据转换为二进制位?答案是一个串行端口。

串行端口具有一个称为UART的内部芯片UART是通用异步接收器发送器的首字母缩写,它将并行数据(字节)转换为按位串行形式。

RS232串口

RS232串口

RS-232接线

RS232串口有九个脚,男或女款型。RS 232C串行通信接口是RS232的更高版本。

RS232C型号具有RS232中的所有功能,但它具有25个引脚。在25个或9个引脚中,我们仅使用三个引脚来连接终端设备。

RS232接线

RS232接线

RS422接口

使用RS232只能传输最高1Mpbs的数据为了克服这个问题,RS422出现在图片中。RS422是一个多点串行接口。我们可以使用一条总线一次将十个发射器连接到十个接收器。它使用两根双绞线电缆(差分配置发送数据电缆长度为4000英尺,波特率为10Mbps。

RS 422接线

RS 422接线

RS485接口

RS485是行业首选协议。与RS422不同,您可以以差分配置连接32个线路驱动器和32个接收器。发射器也称为线路驱动器但是,一次仅一个发射机处于活动状态。

RS485接线

RS485接线

注意:对于RS232和RS485,都必须手动终止连接。

1-Wire协议

一根线类似于I2c协议。但是,区别在于一条线协议使用单个数据线和地线。它不需要时钟信号,并且从设备使用内部晶体振荡器作为时钟源。它提供半双工通信。

一根线使用64位寻址方案。一个有线接口的优点是,它支持低成本的长距离通信。但是,缺点是它的速度较慢。

异步有线协议非常适合于长距离通信。但是,存在一个缺点,使同步串行接口具有范围。

缺点是,如果需要连接更多的发射器和接收器,则安装成本会很高。

同步串行协议

同步通信协议是板载外围设备的最佳资源。优点是您可以在同一总线上连接更多设备。一些同步协议是2 CSPICANLIN

I2C协议

I2c(内部集成电路)是一种两线双向协议,用于在同一总线上的不同设备之间交换数据。I2c使用7位或10位地址,最多可连接1024个设备。但是,它需要时钟信号来产生启动和停止条件。优点是它可以400 kbps的速度提供数据传输。适用于车载通讯。

SPI协议

SPI(串行外围接口)协议以连续流的形式发送和接收数据,而不会产生任何中断。建议将此协议用于需要高速数据通信的情况。它可以提供的最大速度为10 Mbps。

与i2c不同,SPI有4条线。它们是MOSI(主机输出从机输入),MISO(主机输入从机输出),时钟和从机选择信号。从理论上讲,我们可以连接无限数量的从站,实际上,它取决于总线的负载电容。

CAN协议

该协议专用于车辆系统或汽车。这是一种面向消息的协议,用于多路电气布线以节省铜。它是一种多主站多串行总线,用于诸如车辆的自动启动/停止,防撞系统等应用。

USB

USB接口是串行或并行端口的最佳替代。与USB端口关联的数据传输比串行和并行接口要快得多。USB支持的速度从1.5 Mbps(USB 1.0)到4.8 Gbps(USB 3.0)。如今,大多数嵌入式设备都使用USB OTG(在线编程)技术将十六进制文件转储到微控制器

微线

Microwire是三线串行通信协议。它在微控制器上具有一个串行I / O端口,可与外围芯片接口。它支持最高3Mbps的速度。它比i2c和SPI协议的子集更快。

结论

 

串行通信是电子嵌入式系统领域中至关重要的部分如果两个设备要在同一总线上交换信息,则数据传输速率至关重要。因此,有必要为任何应用选择有效的串行协议。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:什么是RS232协议及其工作原理

下一篇:什么是嵌入式系统及其工作

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号