你所在的位置: 首页 > 正文

串口通讯的起始,数据,停止位都是怎么分配的?一篇文章讲清楚了

2019-08-15 点击:789

串口是串口的缩写(也称为串行通信接口或COM接口)。

串行通信是指串行通信协议(串行信号线一点一位地一位传输数据)的通信模式。

串口根据电气标准和协议进行划分,包括RS-232-C,RS-422,RS485等。

1.串行通信

在线路上进行传输,将一个字节的数据分成8次,并从低到高一次一位地传输。

串行通信数据是逐位传输的,并且发送器发送的每个比特具有固定的时间间隔,这要求接收器以发送者的相同时间间隔接收每个比特。不仅如此,接收方还必须能够确定消息组的开头和结尾。

通常使用的两种基本串行通信方法包括同步通信和异步通信。

1.1串行同步通信

同步通信(SYNC:同步数据通信)意味着发送端和接收端的时钟信号的频率和相位始终以约定的通信速率保持一致(同步),从而确保通信方具有相同的一致性。发送和接收数据。时间关系。

同步通信将许多字符组合成一个块(信息帧),每个帧的开始由同步字符表示,并且在一次通信中仅发送一帧信息。还需要在发送数据的同时发送时钟信号,使得接收器可以使用时针信号来确定每个信息位。

同步通信的优点是发送信息的比特数几乎是无限的,并且通过一次通信发送的数据具有几十到几千字节,并且通信效率高。同步通信的缺点是它需要通信中的恒定同步时钟,即传输时钟和接收时钟严格同步(通常,两个设备使用相同的时钟源)。

在随后的串行通信和编程中,将仅讨论异步通信方法,因此这里没有过多的同步通信描述。

1.2串行异步通信

异步通信(ASYNC:异步数据通信),也称为启停异步通信,以字符为单位进行传输。字符之间没有固定的时间间隔,并且每个字符中的每个字符在固定时间传输。

在异步通信中,通过以字符格式设置起始位和停止位来实现发送方和接收方之间的同步。具体来说,在正式发送有效字符之前,发送方首先发送一个起始位,然后发送一个有效字符位,然后在字符末尾发送一个停止位,从停止位开始形成一个帧。停止位和下一个起始位之间的空闲位是不确定长度,起始位指定为低(逻辑值为0),停止位和空闲位均为高(逻辑值为1)。这确保了在起始位的开始处将存在下边缘,从而标记字符传输的开始。基于开始和停止位,可以轻松实现字符定义和同步。

显然,当使用异步通信时,发送端和接收端可以通过各个时钟控制数据的发送和接收,并且这两个时钟源彼此独立并且可以彼此异步。

下面简要描述异步通信的数据发送和接收过程。

1.2.1异步通信的数据格式

在介绍异步通信的数据发送和接收过程之前,首先需要了解异步通信的数据格式。

异步通信指定发送的数据格式由起始位,数据位,奇偶校验位和停止位组成,如图1所示。绘制奇偶校验是因为不需要奇偶校验位。如果存在奇偶校验位,则奇偶校验位应位于数据位之后和停止位之前。

8f9f3f6586e6476536c8590ecadd7f61.jpeg

图1异步通信数据格式

(1)起始位:起始位必须为逻辑0电平,持续一位时间。该标志传送一个字符的开头。接收器可以使用起始位将其自己的接收时钟与发送器的数据同步。

(2)数据位:数据位紧跟在起始位之后,是通信中的实际有效信息。数据比特的比特数可以由通信双方商定。通常,它可以是5位,7位或8位。标准ASCII码为0~127(7位),扩展ASCII码为0~255(8位)。当发送数据时,首先发送字符的低位,然后发送字符的高位。

(3)奇偶校验位:奇偶校验位仅占用一位,用于奇数或偶数奇偶校验。不需要奇偶校验位。如果是奇校验,则必须确保发送的数据总共具有奇数个逻辑高位;如果是偶校验,则必须确保所传输的数据总共具有偶数个逻辑高位。

例如,假设发送的数据位是,如果是奇校验,则奇校验位为0(确保总共有奇数1),如果是偶校验,则偶校验位为1 (确保总共有偶数1)。

可以看出,奇偶校验位只是数据的逻辑高位或逻辑低位,并且基本上不判断数据。这样做的好处是接收设备可以知道比特的状态,并且可以判断是否存在任何噪声干扰通信以及发送的数据是否同步。

(4)停止位:停止位可以是1位,1.5位或2位,可以通过软件设置。它必须是逻辑1级,标志着角色传输的结束。

(5)空闲位:空闲位表示从一个字符的停止位结束开始到下一个字符的起始位,表示该线路处于空闲状态,必须由高电平填充。

1.2.2异步通信的数据传输过程

清除异步通信的数据格式后,可以根据指定的数据格式发送数据。发送数据的具体步骤如下:

(1)在初始化之后或当不需要发送数据时,发送器输出逻辑1并且可以具有任意数量的空闲位。

(2)当需要发送数据时,发送端首先输出逻辑0作为起始位。

(3)然后,可以启动输出数据位。发送端首先输出数据的最低位D0,然后输出D1,最后输出数据的最高位。

(4)如果设置了奇偶校验位,则发送端输出校验位。

(5)最后,发送器输出一个停止位(逻辑1)。

(6)如果没有要发送的信息,则发送器输出逻辑1(空闲位)。如果有要发送的信息,请转到步骤(2)。

1.2.3异步通信的数据接收过程

在异步通信中,接收端通过接收时钟和波特率因子确定每个比特的时间长度。以下是波特率因子等于16的示例(接收时钟每16个时钟周期移位一次接收移位寄存器)。

(1)开始通信,信号线空闲(逻辑1),并且当检测到从1到0的转换时,计数接收时钟。

(2)当计数8个时钟时,检测输入信号。如果它仍然很低,则确认这是起始位,而不是干扰信号。

(3)在接收端检测到起始位后,每16个接收时钟检测一次输入信号,并将相应的值作为D0位数据。

(4)在分离16个接收时钟之后,检测输入信号一次,并将相应的值用作D1位数据,直到输入所有数据位。

(5)检查奇偶校验位。

(6)在接收到指定数量的数据位和奇偶校验位之后,通信接口电路希望接收停止位(逻辑1)。如果此时未接收到逻辑1,则发生错误并设置状态寄存器。帧错误标志;如果没有错误,则检查所有数据位的奇偶校验。当没有奇偶校验错误时,数据位从移位寄存器中取出并发送到数据输入寄存器。如果检查错误,请在状态寄存器中设置奇偶校验。错误的标志。

(7)在接收到所有帧信息之后,线路上出现的高电平被视为空闲位。

(8)当信号再次变低时,开始检测下一帧。

以上是异步通信中数据传输和接收的全过程。

1.3几个概念

为了更好地理解串行通信,我们还需要了解几种串行通信的基本概念。

(1)发送时钟:发送数据时,首先将要发送的数据发送到移位寄存器,然后在发送时钟的控制下逐位输出并行数据。

(2)接收时钟:当接收串行数据时,接收时钟的上升沿对接收的数据进行采样,执行数据位检测,并将其移入接收器的移位寄存器,最后形成并行数据输出。

(3)波特率因子:波特率因子是指发送或接收一个数据位所需的时钟脉冲数。

2.串行连接器

有两种常用的串口连接器,一种是9针串口(简称DB-9),另一种是25针串口(简称DB-25)。每个关节具有男性和女性头部,其中针状关节是男性并且穿孔关节是女性。 9针串口的外观如图2所示。

63ccd8d22180e4eff037e612b9474de1.jpeg

图2 DB-9外观图

从图2中可以看出,在9针串口连接器中,公针和母针的针脚顺序不同,需要特别注意。那么这些引脚做什么呢? 9引脚串行端口和25引脚串行端口公共引脚的功能描述如图3所示。

dde517e4389b501e068243558d3c4741.jpeg

图3 9针串行端口和25针串行端口公共引脚功能说明

3.RS-232C标准

常用的串行通信接口标准有RS-232C,RS-422,RS-423和RS-485。其中,作为串行通信接口电气标准的RS-232C定义了数据终端设备(DTE:数据终端设备)与数据通信设备(DCE:数据通信设备)之间的逐位串行传输的接口信息,以及合理安排界面。电信号和机械要求在全世界广泛使用。

3.1电气特性

RS-232C如下调节电气特性,逻辑电平和各种信号功能:

在TXD和RXD数据线上:

(1)逻辑1为-3-15V的电压

(2)逻辑0为3-15V的电压

在RTS,CTS,DSR,DTR和DCD控制线上:

(1)信号有效(ON状态)电压为3-15V

(2)无效信号(OFF状态)电压为-3-15V

可以看出,RS-232C通过正电压和负电压表示逻辑状态,这与晶体管 - 晶体管逻辑集成电路(TTL)通过高电平和低电平表示逻辑状态的规则相反。

3.2信号线分布

。那么,这些信号线如何分配在9针串口和25针串口的引脚上? 9引脚串行端口和25引脚串行端口的信号线分布如图4所示。

73201684ed1bd72d6286dd30c8f40032.jpeg

图4. 9针串行端口和25针串行端口的信号线分布示意图

以下是这些信号线的简要介绍。

(1)数据设备就绪(DSR),有效状态(ON)意味着数据通信设备处于可用状态。

(2)数据终端就绪(DTR)和有效状态(ON)表示数据终端设备处于可用状态。

这两个设备的状态信号的有效性仅意味着设备本身可用。这并不意味着通信链路可以开始通信。通信是否可以开始取决于以下控制信号。

(3)请求发送(RTS),用于表示请求数据通信设备(DCE)发送数据的数据终端设备(DTE)。

(4)允许传输(CTS),用于指示数据通信设备(DCE)已准备好数据,并且可以将数据传输到数据终端设备(DTE),这是对请求传输信号RTS的响应。

在半双工通信系统中请求发送(RTS)和允许发送(CTS),在全双工系统中,不需要直接使用请求发送(RTS)和允许发送(CTS)信号,将它设置为ON即可。

(5)数据载波检测(DCD),用于指示数据通信设备(DCE)已打开通信链路,并通知数据终端设备(DTE)它已准备好接收数据。

(6)振铃指示(RI),当数据通信设备接收到交换站发送的振铃呼叫信号时,使信号有效(ON),通知终端已被呼叫。

(7)数据终端设备(DTE)通过其将串行数据发送到数据通信设备(DCE)的发送数据(TXD)。

(8)接收信号(RXD),数据终端设备(DTE)通过该信号接收从数据通信设备(DCE)发送的串行数据。

(9)地线(SG,PG),分别表示信号地和保护地信号线。

日期归档
ag真人线上开户 版权所有© www.kabansalejp.com 技术支持:ag真人线上开户 | 网站地图