background image

串行通信系统接口模块的设计与优化

    摘要:串行通信系统以硬件资源简单、抗干扰强、易于实现等特点在数据通信及控制系统中
得到了广泛的运用。本文以

FPGA 为实现平台,基于 UART16550 通信协议及工作原理完成高

性能串行通信系统接口模块的完整功能设计与优化。采用三段式状态机设计方法和

EDA 优

化、电路优化等优化手段完成设计及优化。优化后的设计系统时钟频率最高达到

166 MHz,功

耗降低了

63.9%,达到 0.147 W,且给出了典型波特率 115200 下的板级测试数据和 Matlab 分析

结果。实验结果证明功能正确且稳定可靠。

 

  关键字

:串行通信;现场可编程门阵列;时序优化;静态时序分析;Matlab 分析 

  

 

  

1 引言 

  

 

  串行通信被广泛应用在电子工业中

[1]。目前 Xilinx 公司和 Altera 公司的高性能 FPGA 都

能够提供高速串行收发模块

,最快速度能够达到 11.3 Gb/s[2][3]。但对一般的设计来说,并没有

如此高的速度需求。此外

,高性能的 FPGA 器件价格昂贵,会造成设计成本的急剧增加,而普通

UART 专用芯片所支持的波特率太低。现有的相关研究系统工作时钟也都集中在 50 MHz

左右

,不能满足相对高速应用的要求,不利于系统整体性能的提升。本文基于 FPGA 针对

UART16550 的全功能设计和优化进行研究,是设计成本与串行传输速度之间的折衷,且高的
系统工作频率为高速应用下的波特率提升提供了充足的空间。

 

  

 

  

2 工作原理 

  

 

  串行通信协议简单而实用。利用该协议实现异步串行通信需要分别满足数据帧格式要求
和波特率要求。

 

  如图

1 所示,串行通信数据帧由起始位、数据位、校验位和停止位四部分组成,帧头与帧尾

之间是长度为

5 到 8 个码元的数据位,具体取决于使用时收发双方的约定。 

  

 波特率(Baud Rate)是串行通信协议的另一项重要内容,用于描述串行通信数据传送的速

,定义为单位时间内传送的信息量,单位为波特。 

  在串行通信中

,收发双发保持相同的数据帧格式和波特率,即收发双方每个数据帧的起始

位、数据位、奇偶校验位和停止位及数据传送速度都保持一致就能确保数据传输的成功。

 

  

 

  

3 设计及优化 

  

 

  

 3.1 结构 

  根据功能把设计的整体结构划分成六个模块

,分别是寄存器组、波特率产生模块、发送模

块、接收模块、

Modem 模块和中断逻辑[4],其结构框图如图 2 所示。 

  

 3.2 硬件设计 

  波特率产生模块、发送模块和接收模块是整个电路的核心模块

,而发送状态机和接收状

态机又是发送模块和接收模块的关键部件

,因此状态机设计的好坏直接影响到设计整体性能

的优劣。