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


(2)数据位:数据位紧跟在起始位之后,是通信中的真正有效信息 。 数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位) 。 传输数据时先传送字符的低位,后传送字符的高位 。
(3)奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的 。 如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位 。
举例来说,假设传输的数据位为01001100,如果是奇校验,则奇校验位为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)发送时钟:发送数据时,首先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出 。