您当前的位置:钢材 > 钢绞线 > 价格汇总

arduino 串口通讯,串口通讯的起始

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

串口是串口的缩写,又称串行通信接口或COM接口。

串行通信是采用串行通信协议(串行通信)在信号线上一位一位地传输数据的通信方式。

串行端口根据电气标准和协议(例如RS-232-C、RS-422 和RS485)进行分段。

1.串口通讯

串行通信中,单线传输1位数据,1字节数据分为8次传输,从低位到高位依次传输。

串行通信中的数据是逐位传输的,发送方发送的每一位都有一定的时间间隔,因此接收方必须与发送方以相同的时间间隔接收每一位。此外,收件人必须能够确定消息组的开始和结束位置。

常用的两种基本串行通信方式是同步通信和异步通信。

1.1 串行同步通信

同步通信(SYNC:同步数据通信)是指发送端和接收端的时钟信号的频率和相位始终以约定的通信速度匹配(同步),并且通信端的时序保证发送和接收发生在完美的协议。接收数据的关系

在同步通信中,许多字符组合起来形成信息组(信息帧)。每帧的开始由同步字符指示,并且一次仅发送一帧信息。在传输数据时,还必须传输时钟信号,以便接收方可以利用时钟信号来确定每一位信息。

同步通信的优点是要发送的信息位数几乎不受限制,一次通信可发送的数据量从几十到几千字节不等,通信效率高。同步通信的缺点是在通信过程中必须始终保持准确的同步时钟。这意味着发送和接收时钟必须紧密同步(通常两个设备使用相同的时钟源)。

在下面的串行通信和编程部分中,我们仅讨论异步通信方法,因此这里不再详细讨论同步通信。

1.2 串行异步通信

启停异步通信(ASYNC:异步数据通信)又称启停异步通信,以字符为单位进行通信,固定时间传输每个字符的位,字符之间不设置固定的时间间隔。

异步通信中,发送端和接收端通过设置字符格式的起始位和停止位来实现同步。具体来说,发送端在正式发送一个有效字符之前,首先发送起始位,然后是有效字符位,字符末尾的停止位,起始位之后的停止位,这些位组成了帧。停止位和下一个起始位之间有一个可变长度的空闲位,起始位指定为低电平(逻辑0),停止位和空闲位都指定为高电平(逻辑1)。这允许在起始位的开始处出现下降沿来标记字符传输的开始。基于起始位和停止位可以轻松实现字符定义和同步。

当然,使用异步通信时,发送方和接收方可以用各自的时钟来控制数据的发送和接收,并且两个时钟源是相互独立的,可以相互异步。

本节简要说明异步通信的数据发送和接收过程。

1.2.1 异步通信的数据格式

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

在异步通信中,如图1所示,规定发送的数据格式由起始位、数据位、奇偶校验位和停止位(未示出)组成,请画出各个位。是奇偶校验位,奇偶校验位必须位于数据位之后、停止位之前)。

图1 异步通信的数据格式

(1) 起始位:起始位必须是逻辑0 电平,持续一位时间并标记字符传输的开始。接收器可以使用起始位来同步接收时钟和发送器的数据。

(2) 数据位:数据位位于起始位之后,是通信中实际有用的信息。数据位数可由通信双方商定,通常为5、7 或8 位。标准ASCII 代码为0 至127(7 位),扩展ASCII 代码为0 至255(8 位)。少量)。传输数据时,首先发送字符的低位,然后发送字符的高位。

(3)奇偶校验位:奇偶校验位仅占1位,用于校验奇数或偶数,不需要奇偶校验位。对于奇校验,必须保证发送数据的逻辑高位之和为奇数;对于偶校验,必须保证发送数据的逻辑高位之和为偶数。少量。

例如,假设传输的数据位是01001100。对于奇校验,奇校验位为0(确保1 的总数为奇数);对于偶校验,偶校验位为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)。每个连接器都有公连接器和母连接器,带引脚的连接器为公连接器,带孔的连接器为母连接器。图2 显示了9 针串行端口的外观。

图2 DB-9外观图

如图2 所示,9 针串行端口连接器需要特别小心,因为公头和母头连接器的引脚定义顺序不同。那么这些引脚的作用是什么呢?图3为9针串口和25针串口的常用引脚的功能说明。

图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) 当电压为-3 至-15V 时,信号变为无效(OFF 状态)。

原来RS-232C使用正电压和负电压来表示逻辑状态。这与晶体管-晶体管逻辑集成电路(TTL)正好相反,晶体管-晶体管逻辑集成电路使用高电平和低电平来表示逻辑状态。

3.2 信号线接线

RS-232C标准接口有25条线,其中4条数据线、11条控制线、3条时序线以及7条保留和未定义线。那么这些信号线是如何分配到9针串口和25针串口的引脚的呢? 9针串口和25针串口的信号线分布如图4所示。

图4 9针串口和25针串口信号线接线示意图

这里我们简单介绍一下这些信号线。

(1)数据设备就绪(DSR),使能状态(ON)表示数据通信设备已准备好使用。

(2)数据终端就绪(DTR),使能状态(ON)表示数据终端设备已准备好使用。

这两个设备状态信号的有效性仅意味着设备本身可以使用,并不意味着通信链路可以发起通信。

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

(4)清除发送(CTS)用于指示数据通信设备(DCE)已准备好并可以向数据终端设备(DTE)发送数据,是对发送信号RTS的请求的响应。

请求发送(RTS)和清除发送(CTS)用于半双工通信系统中,但是在全双工系统中,没有必要使用请求发送(RTS)和清除发送(CTS)信号。没有。直接将其设置为“只需打开它即可”。

(5)数据载体检测(DCD)用于向数据终端设备(DTE)指示数据通信设备(DCE)已连接至通信链路并准备好接收数据。

(6)振铃指示(RI) 当数据通信设备接收到来自交换机的振铃呼叫信号时,打开该信号并通知终端有呼叫。

(7)传输数据(TXD):数据终端设备(DTE)通过该信号线向数据通信设备(DCE)发送串行数据。

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

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

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |价格汇总

arduino 串口通讯,串口通讯的起始

chanong

|

串口是串口的缩写,又称串行通信接口或COM接口。

串行通信是采用串行通信协议(串行通信)在信号线上一位一位地传输数据的通信方式。

串行端口根据电气标准和协议(例如RS-232-C、RS-422 和RS485)进行分段。

1.串口通讯

串行通信中,单线传输1位数据,1字节数据分为8次传输,从低位到高位依次传输。

串行通信中的数据是逐位传输的,发送方发送的每一位都有一定的时间间隔,因此接收方必须与发送方以相同的时间间隔接收每一位。此外,收件人必须能够确定消息组的开始和结束位置。

常用的两种基本串行通信方式是同步通信和异步通信。

1.1 串行同步通信

同步通信(SYNC:同步数据通信)是指发送端和接收端的时钟信号的频率和相位始终以约定的通信速度匹配(同步),并且通信端的时序保证发送和接收发生在完美的协议。接收数据的关系

在同步通信中,许多字符组合起来形成信息组(信息帧)。每帧的开始由同步字符指示,并且一次仅发送一帧信息。在传输数据时,还必须传输时钟信号,以便接收方可以利用时钟信号来确定每一位信息。

同步通信的优点是要发送的信息位数几乎不受限制,一次通信可发送的数据量从几十到几千字节不等,通信效率高。同步通信的缺点是在通信过程中必须始终保持准确的同步时钟。这意味着发送和接收时钟必须紧密同步(通常两个设备使用相同的时钟源)。

在下面的串行通信和编程部分中,我们仅讨论异步通信方法,因此这里不再详细讨论同步通信。

1.2 串行异步通信

启停异步通信(ASYNC:异步数据通信)又称启停异步通信,以字符为单位进行通信,固定时间传输每个字符的位,字符之间不设置固定的时间间隔。

异步通信中,发送端和接收端通过设置字符格式的起始位和停止位来实现同步。具体来说,发送端在正式发送一个有效字符之前,首先发送起始位,然后是有效字符位,字符末尾的停止位,起始位之后的停止位,这些位组成了帧。停止位和下一个起始位之间有一个可变长度的空闲位,起始位指定为低电平(逻辑0),停止位和空闲位都指定为高电平(逻辑1)。这允许在起始位的开始处出现下降沿来标记字符传输的开始。基于起始位和停止位可以轻松实现字符定义和同步。

当然,使用异步通信时,发送方和接收方可以用各自的时钟来控制数据的发送和接收,并且两个时钟源是相互独立的,可以相互异步。

本节简要说明异步通信的数据发送和接收过程。

1.2.1 异步通信的数据格式

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

在异步通信中,如图1所示,规定发送的数据格式由起始位、数据位、奇偶校验位和停止位(未示出)组成,请画出各个位。是奇偶校验位,奇偶校验位必须位于数据位之后、停止位之前)。

图1 异步通信的数据格式

(1) 起始位:起始位必须是逻辑0 电平,持续一位时间并标记字符传输的开始。接收器可以使用起始位来同步接收时钟和发送器的数据。

(2) 数据位:数据位位于起始位之后,是通信中实际有用的信息。数据位数可由通信双方商定,通常为5、7 或8 位。标准ASCII 代码为0 至127(7 位),扩展ASCII 代码为0 至255(8 位)。少量)。传输数据时,首先发送字符的低位,然后发送字符的高位。

(3)奇偶校验位:奇偶校验位仅占1位,用于校验奇数或偶数,不需要奇偶校验位。对于奇校验,必须保证发送数据的逻辑高位之和为奇数;对于偶校验,必须保证发送数据的逻辑高位之和为偶数。少量。

例如,假设传输的数据位是01001100。对于奇校验,奇校验位为0(确保1 的总数为奇数);对于偶校验,偶校验位为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)。每个连接器都有公连接器和母连接器,带引脚的连接器为公连接器,带孔的连接器为母连接器。图2 显示了9 针串行端口的外观。

图2 DB-9外观图

如图2 所示,9 针串行端口连接器需要特别小心,因为公头和母头连接器的引脚定义顺序不同。那么这些引脚的作用是什么呢?图3为9针串口和25针串口的常用引脚的功能说明。

图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) 当电压为-3 至-15V 时,信号变为无效(OFF 状态)。

原来RS-232C使用正电压和负电压来表示逻辑状态。这与晶体管-晶体管逻辑集成电路(TTL)正好相反,晶体管-晶体管逻辑集成电路使用高电平和低电平来表示逻辑状态。

3.2 信号线接线

RS-232C标准接口有25条线,其中4条数据线、11条控制线、3条时序线以及7条保留和未定义线。那么这些信号线是如何分配到9针串口和25针串口的引脚的呢? 9针串口和25针串口的信号线分布如图4所示。

图4 9针串口和25针串口信号线接线示意图

这里我们简单介绍一下这些信号线。

(1)数据设备就绪(DSR),使能状态(ON)表示数据通信设备已准备好使用。

(2)数据终端就绪(DTR),使能状态(ON)表示数据终端设备已准备好使用。

这两个设备状态信号的有效性仅意味着设备本身可以使用,并不意味着通信链路可以发起通信。

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

(4)清除发送(CTS)用于指示数据通信设备(DCE)已准备好并可以向数据终端设备(DTE)发送数据,是对发送信号RTS的请求的响应。

请求发送(RTS)和清除发送(CTS)用于半双工通信系统中,但是在全双工系统中,没有必要使用请求发送(RTS)和清除发送(CTS)信号。没有。直接将其设置为“只需打开它即可”。

(5)数据载体检测(DCD)用于向数据终端设备(DTE)指示数据通信设备(DCE)已连接至通信链路并准备好接收数据。

(6)振铃指示(RI) 当数据通信设备接收到来自交换机的振铃呼叫信号时,打开该信号并通知终端有呼叫。

(7)传输数据(TXD):数据终端设备(DTE)通过该信号线向数据通信设备(DCE)发送串行数据。

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

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


价格汇总