串口通信UART

一、知识点

  • 1、串口通信是一种异步,串行,采用电平信号的通信方式。也就是串口通信的双方没有统一的时钟信号,采用信号线的电平值表示0、1信息,并且通过串行的方式每次仅发送一位数据。
  • 2、在异步通信时,由于双方没有统一的时钟,所以在通信前需要预定好通信参数。包括波特率,数据位,停止位,校验位。只有设定相同的通信参数,接收方和发送方才可以进行正确的通信。
  • 3、波特率表示每秒传输的比特的位数,反映出通信的速率,不能自行设置,只能从几个选项中进行选择;数据位可以选择,一把选择8位,因为常使用ASCII码值表示字符;奇偶检验位可以一定程度的避免传输过程中的错误;停止位表示一帧数据的接受。
  • 4、由于每次传输都是以帧为单位的,一帧数据包括起始位,数据为,奇偶检验位,停止位组成。一般一帧数据为11为,即包括起始位1位,数据位8位,奇偶检验位1位,停止位1位。在具体的传输过程中是同步传输,即一位一位传输的,每一位之间的间隔时间是固定的,由波特率来决定。而每一帧之间的间隔时间是不固定的,也不需要固定,这就是异步通信的特点,不需要接收方一直等待数据,而是有了数据,接收到起始位之后,才按照约定的波特率对数据位进行读取,之后与奇偶检验位进行比对,最后接收到停止位代表这一帧数据传送结束。
  • 5、串口通信至少需要两根线,一根为信号线,一根为参考电压线,即GND。这样可实现单工通信,也可以使用3根通信线来实现双工通信。
  • 6、在RS232的接口中,比较常见的是是使用9根线来通信,其中比较重要的有3根,即RX、TX、GND,其他的为一些流控制线,在一般使用时不需要管。
  • 7、DMA模式,direct memory access,直接内存访问。DMA本来是DSP中的一种技术,用于解决交换数据时不需要CPU的参与,模块自己就可以完成。这种模式和FIFO要解决的是同一个问题。FIFO只是一种轻量级的解决方案,DMA模式则适合于大量数据迸发式的发送和接受。
  • 8、IrDA模式,也就是红外通信。根据红外通信的可以知道,红外发送方通过固定时间的发送红外信号或者不发送红外信号来表示0和1。这种工作方式和串口的工作方式很相似,因此有的SoC的串口具有红外模式,直接在串口上连接红外发送或者接受的硬件模块来实现红外功能。