串口基础常识总结

1.串口九针

 串口基础常识总结_第1张图片串口基础常识总结_第2张图片

 

公头针脚:

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

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

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

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

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

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

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

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

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

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

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

 

2.异步通信的数据格式:

异步通信规定传输的数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成,如图下所示(该图中未画出奇偶校验位,因为奇偶检验位不是必须有的,如果有奇偶检验位,则奇偶检验位应该在数据位之后,停止位之前)。

 串口基础常识总结_第3张图片

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

(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)空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。


3.通讯方式:

(1)单工模式:一条线,单向传输

(2)半双工:一条线(也可以两条),双向传输,但不能同时发送和接收(任何时刻只能由其中的一方发送数据,另一方接收数据)

(3)全双工:两条线,允许数据同时在两个方向上传输


4.基本概念:

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

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

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


5.同步和异步通信:

同步:优点:传送信息的位数几乎不受限制,一次通信传输的数据有几十到几千个字节,通信效率较高。

           缺点:要求在通信中始终保持精确的同步时钟,即发送时钟和接收时钟要严格的同步(常用的做法是两个设备使用同一个时钟源)。

异步:优点:发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以互不同步。

 

同步通信

异步通信

传输格式

面向比特的传输,每个信息帧中包含若干个字符

面向字符的传输,每个字符帧只包含一个字符

时钟

要求接收时钟和发送时钟同频同相,通过特定的时钟线路协调时序

不要求接收时钟和发送时钟完全同步,对时序的要求较低

数据流

发送端发送连续的比特流

发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节

控制开销

控制字符开销较小,传输效率高

字符帧中,假设只有起始位、8个数据位和停止位,整个字符帧中的控制位的开销就达到了20%,传输效率较低

同步方式

从数据中抽取同步信息

通过字符起止的开始位和停止位抓住再同步的机会

通信结点

点对多点

点对点

 

6.异步通信的数据发送过程

  (1)初始化后或者没有数据需要发送时,发送端输出逻辑1,可以有任意数量的空闲位。

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

  (3)接着就可以开始输出数据位了,发送端首先输出数据的最低位D0,然后是D1,最后是数据的最高位。

  (4)如果设有奇偶检验位,发送端输出检验位。

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

  (6)如果没有信息需要发送,发送端输出逻辑1(空闲位),如果有信息需要发送,则转入步骤(2)。


7.异步通信的数据接收过程

  在异步通信中,接收端以接收时钟和波特率因子决定每一位的时间长度。下面以波特率因子等于16(接收时钟每16个时钟周期使接收移位寄存器移位一次)为例来说明。

  (1)开始通信,信号线为空闲(逻辑1),当检测到由10的跳变时,开始对接收时钟计数。

  (2)当计到8个时钟的时候,对输入信号进行检测,若仍然为低电平,则确认这是起始位,而不是干扰信号。

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

  (4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据,直到全部数据位都输入。

  (5)检验奇偶检验位。

  (6)接收到规定的数据位个数和校验位之后,通信接口电路希望收到停止位(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置帧错误标志;若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中取出送至数据输入寄存器,若校验错,在状态寄存器中置奇偶错标志。

  (7)本帧信息全部接收完,把线路上出现的高电平作为空闲位。

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

 

你可能感兴趣的:(嵌入式开发入门)