串口是什么(串口是什么意思)

串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。 串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式...

什么是串口?串口是串行端口的缩写,也称为串行通信接口或COM接口。

串行通信是指使用串行通信协议在信号线上逐位传输数据的一种通信方式。

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

1.串行通信

在串行通信中,数据在宽度为1位的单线上传输。一个字节的数据分为8次,从低位到高位依次传输。

串行数据是逐位传输的,发送方发送的每一位都有固定的时间间隔,这就要求接收方与发送方以相同的时间间隔接收每一位。此外,接收器必须能够确定信息块的开始和结束。

常用的两种基本串行通信模式包括同步通信和异步通信。

1.1串行同步通信

同步(SYNC 3360同步数据通信)是指在约定的通信速率下,发送方和接收方的时钟信号的频率和相位始终保持一致(同步),从而保证通信双方在发送和接收数据时具有完全一致的时序关系。

同步由许多字符组成一个信息组(信息帧)。每个帧的开头由一个同步字符表示,在一次通信中只传输一帧信息。在数据传输的同时,需要传输时钟信号,这样接收机就可以利用时针信号来确定每个信息位。

同步的好处是传输信息的位数几乎是无限的,一次通信传输的数据是几十到几千字节,所以通信效率高。同步的缺点是在通信中总是要求保持一个准确的同步时钟,即发送时钟和接收时钟要严格同步(通常的做法是两个设备使用同一个时钟源)。

在后续的串行通信和编程中,只讨论异步通信模式,这里不再过多重复同步通信。

1.2串行异步通信

异步通信(async:异步数据通信)又称起止异步通信,以字符为单位进行传输。字符之间没有固定的时间间隔,但是每个字符中的每一位都是在固定的时间传输的。

在异步通信中,发送方和接收方之间的同步是通过设置字符格式中的起始位和停止位来实现的。具体来说,在正式发送一个有效字符之前,发送方发送一个起始位,然后是有效字符位,然后在字符末尾发送一个停止位。起始位到停止位构成一帧。在停止位和下一个起始位之间有一个长度不定的空闲位,规定起始位处于低电平(逻辑值为0),停止位和空闲位都处于高电平(逻辑值为1),这样就保证了起始位的开始必须有一个下降沿,从而标志着一个字符传输的开始。根据起始位和停止位,很容易定义和同步字符。

显然,当采用异步通信时,发送方和接收方可以通过各自的时钟控制数据的发送和接收。这两个时钟源相互独立,可以彼此异步。

先简单说一下异步通信的数据发送和接收过程。

1.2.1异步通信数据格式

在介绍异步通信的数据发送和接收过程之前,有必要了解一下异步通信的数据格式。

异步通信的数据格式由起始位、数据位、奇偶位和停止位组成,如图1所示(本图中没有画出奇偶位,因为奇偶位不是必须的,如果有,奇偶位应该在数据位之后,停止位之前)。

图片[1]-串口是什么(串口是什么意思)-欣欣百科网

图1异步通信数据格式

(1)起始位:起始位必须是持续一位的逻辑0电平,标志着一个字符传输的开始。接收方可以使用起始位来使其接收时钟与发送方的数据同步。

(2)数据位:数据位是紧随起始位之后的通信中真正有效的信息。数据位数可由双方约定,一般为5、7或8位。标准ASCII码为0~127(7位),扩展ASCII码为0~255(8位)。传输数据时,先传输字符的低位,再传输字符的高位。

(3)奇偶校验位:奇偶校验位只占一位,用于奇偶校验。奇偶校验位不是必需的。如果是奇数奇偶校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶数校验,需要保证传输的数据总共有偶数个逻辑高位。

例如,假设发送的数据位是01001100。如果是奇校验,奇校验位为0(确保总共有奇),如果是偶校验,偶校验位为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)波特率因子:波特率因子是指发送或接收1个数据位所需要的时钟脉冲个数。

2.串口接头

常用的串口接头有两种,一种是9针串口(简称DB-9),一种是25针串口(简称DB-25)。每种接头都有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头。9针串口的外观如图2所示。

图片[2]-串口是什么(串口是什么意思)-欣欣百科网

图2 DB-9外观图

由图2可以看出,在9针串口接头中,公头和母头的管脚定义顺序是不一样,这一点需要特别注意。那么,这些管脚都有什么作用呢?9针串口和25针串口常用管脚的功能说明如图3所示。

图片[3]-串口是什么(串口是什么意思)-欣欣百科网

图3 9针串口和25针串口常用管脚功能说明

3.RS-232C标准

常用的串行通信接口标准有RS-232C、RS-422、RS-423和RS-485。其中,RS-232C作为串行通信接口的电气标准定义了数据终端设备(DTE:data terminal equipment)和数据通信设备(DCE:data communication equipment)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。

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信号线分配

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

图片[4]-串口是什么(串口是什么意思)-欣欣百科网

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

下面对这些信号线做个简单的介绍。

(1)数据装置准备好(DSR),有效状态(ON)表示数据通信设备处于可以使用状态。

(2)数据终端准备好(DTR),有效状态(ON)表示数据终端设备处于可以使用状态。

这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的一些控制信号决定。

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

(4)允许发送(CTS),用来表示数据通信设备(DCE)已经准备好了数据,可以向数据终端设备(DTE)发送数据,是对请求发送信号RTS的响应。

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

(5)数据载波检出(DCD),用于表示数据通信设备(DCE)已接通通信链路,告知数据终端设备(DTE)准备接收数据。

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

(7)发送数据(TXD),数据终端设备(DTE)通过该信号线将串行数据发送到数据通信设备(DCE)。

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

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

串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。 串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式...

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 puzdycom@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022-07-21 17:45
下一篇 2022-07-21 17:46

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部