在现代科技发展的时代,串口通信是一种常见且重要的通信方式。它被广泛应用于各种设备之间的数据传输,比如计算机与打印机之间的通信、嵌入式系统与传感器之间的通信等。串口通信是在数据处理设备和外围设备之间传输信息的最广泛使用的方法。一般来说,交流是指通过书面文件、口头语言、音频和视频课程在个人之间交换信息。每个设备都可能是您的个人计算机或手机在串行协议上运行。该协议是一种安全可靠的通信形式,具有一组由源主机(发送方)和目标主机(接收方)寻址的规则。为了获得更好的见解,我解释了串口通信的概念。
在嵌入式系统,串口通信是使用串行数字二进制形式的不同方法交换数据的方式。用于数据交换的一些已知接口是RS-232、RS-485、I2C、SPI 等
什么是串口通信?
在串口通信中,数据采用二进制脉冲的形式。换句话说,我们可以说二进制一表示逻辑高电平或 5 伏特,零表示逻辑低电平或 0 伏特。串口通信可以采取多种形式,具体取决于传输模式和数据传输的类型。传输模式分为单工、半双工和全双工。每种传输模式都有一个源(也称为发送方)和目标(也称为接收方)。
单纯形方法是一种单向通信技术。一次只有一个客户端(发送方或接收方处于活动状态)。如果发送方发送,则接收方只能接受。广播和电视传输是单工模式的示例。
在半双工模式下,发送方和接收方都处于活动状态,但一次不处于活动状态,即如果发送方发送,则接收方可以接受但不能发送,反之亦然。一个很好的例子是互联网。如果客户端(便携式计算机)发送网页请求,则 Web 服务器将处理应用程序并发回信息。
全双工模式是世界上广泛使用的通信。在这里,发送方和接收方都可以同时发送和接收。一个例子是您的智能手机。
除了传输模式之外,我们还必须考虑主机(发送方或接收方)的字节序和协议设计。字节序是在特定内存地址存储数据的方式。根据数据对齐方式,字节序分类为
- 小端和
- 大端序。
以此示例来理解字节序的概念。假设我们有一个 32 位十六进制数据ABCD87E2。这些数据如何存储在内存中?为了有一个清晰的概念,我已经解释了小端序和大端序之间的区别。
数据传输可以通过两种方式进行。它们是串口通信和并口通信。串口通信是一种使用双线(即发射器(发送器)和接收器)逐位发送数据的技术。
例如,我想将一个 8 位二进制数据11001110从发射器发送到接收器。但是,哪位先出去?最高有效位 – MSB (7千位)或最低有效位 - LSB (0千位)。我们不能说。在这里,我正在考虑LSB首先移动(对于小字节序)。
从上图中,对于每个时钟脉冲;发射器向接收器发送一位数据。
并口通信一次移动 8、16 或 32 位数据。打印机和施乐机器使用并口通信来加快数据传输速度。
串行和并口通信之间的区别
串口通信一次只发送一位。因此,这些需要更少的I / O(输入输出)线路。因此,占用的空间更小,对串扰的抵抗力更强。串口通信的主要优点是,整个嵌入式系统变得便宜并远距离传输信息。串行传输用于调制解调器等DCE(数据通信设备)设备。
在并口通信中,一次发送一大块数据(8,16 或 32 位)。因此,每个数据位都需要单独的物理 I/O 线。并口通信的优点是速度快,但缺点是使用更多的I / O(输入输出)线路。并行传输用于PC(个人计算机)中,用于互连CPU(中央处理单元),RAM(随机存取存储器),调制解调器,音频,视频和网络硬件。
注意: 如果您的集成电路或处理器支持较少数量的输入/输出引脚,则最好选择串口通信
为了便于理解,这里是串行和并口通信的比较。
串口通信 | 并口通信 |
---|---|
以一个时钟脉冲逐位发送数据 | 一次传输数据块 |
需要一根线来传输数据 | 需要“n”行数来传输“n”位 |
通信速度慢 | 通讯速度快 |
安装成本低 | 安装成本高 |
长距离通信的首选 | 用于短距离通信 |
示例:计算机到计算机 | 电脑转多功能打印机 |
时钟同步
为了串行设备的高效工作,时钟是主要来源。时钟故障可能会导致意外结果。每个串行设备的时钟信号不同,分为同步协议和异步协议。
同步串行接口
同步串行接口上的所有设备都使用单个CPU总线来共享时钟和数据。因此,数据传输速度更快。优点是波特率不会不匹配。此外,连接组件所需的 I/O(输入-输出)线路更少。例如I2C,SPI等。
异步串行接口
异步接口没有外部时钟信号,它依赖于四个参数,即
- 波特率控制
- 数据流控制
- 发送和接收控制
- 错误控制。
异步协议适用于稳定通信。这些用于长距离应用。异步协议的示例包括RS-232、RS-422 和 RS-485。
串口通信工作原理
先进的中央处理器,如微控制器微处理器利用串口通信与外部世界以及芯片外设进行通信。为了熟悉,让我们举一个简单的例子。假设您想将笔记本电脑中存在的文件发送到智能手机。你会如何发送?可能使用蓝牙或WiFi协议,对。
因此,以下是建立串口通信的步骤
- 添加连接。
第一步,您的笔记本电脑将搜索100m附近的设备,并列出找到的设备。此过程通常称为漫游。
- 选择要通信的设备。
要连接到您的手机,必须完成配对。软件中已存在默认配置。因此无需手动配置波特率。除此之外,还有四个未知的规则。它们是波特率、数据位选择(成帧)、开始-停止位和奇偶校验。
# 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是通用异步接收器发射器的首字母缩写,它将并行数据(字节)转换为按位串行形式。
RS-232 接线连接
这RS232串口有九针,公头或母头型号。RS 232C串口通信接口是RS232的更高版本。
RS232 中的所有功能都存在于 RS232C 型号中,除了它有 25 个引脚。在 25 或 9 个引脚中,我们仅使用三个引脚来连接终端设备。
RS422接口
我们最多只能传输数据 1Mpbs 限制使用RS232.为了克服这个问题,RS422出现了。RS422 是一个多点串行接口。我们可以使用单总线一次将 10 个发射器连接到 4000 个接收器。它使用两条双绞线电缆(差分配置)发送数据。电缆长度为 10 英尺,波特率为 <>Mbps。
RS485接口
RS485 是业界首选的协议。与RS422不同,您可以在差分配置中连接32个线路驱动器和32个接收器。变送器也称为线路驱动器。但是,一次只有一个发射器处于活动状态。
注意: 对于两者RS232和RS485,您必须手动终止连接。
1-Wire协议
一根线类似于 I2c 协议。但是,区别在于单线协议使用单条数据线和接地。它不需要时钟信号,从站使用内部晶体振荡器进行时钟。它提供半双工通信。
一根线使用 64 位寻址方案。单线接口的优点是,它支持低成本的长距离通信。但是,缺点是它的速度较小。
异步有线协议非常适合长距离通信。但是,同步串行接口存在一个缺点。
缺点是,如果需要连接更多的发射器和接收器,安装成本会很高。
同步串行协议
同步通信协议是板载外设的最佳资源。优点是您可以在同一总线上连接更多设备。一些同步协议是我2C、SPI、CAN 和 LIN。
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(在旅途中编程)技术将十六进制文件转储到微控制器.
结论
串口通信是该领域的重要组成部分电子学和嵌入式系统.如果两个设备想要在同一总线上交换信息,数据传输速率至关重要。因此,有必要为任何应用选择有效的串行协议。