新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于Verilog HDL的UART模块设计与仿真

基于Verilog HDL的UART模块设计与仿真

作者:时间:2010-07-27来源:网络收藏

摘要:通用异步收发器常用于微机和外设之间的数据交换,针对的特点,提出了一种基于Ver4log 设计方法。采用自顶向下的设计路线,结合状态机的描述形式,使用硬件描述语言设计UART的顶层模块及各个子模块,从而使整个设计更加紧凑、可靠。同时采用参数化的设计方法,增强系统的可移植性。仿真结果表明,该系统可支持标准异步串行传输RS-232协议,可集成到FPGA芯片中使用。
关键词: ;通用异步收发器(UART);状态机;仿真

本文引用地址:http://www.eepw.com.cn/article/191639.htm

随着微机应用和计算机网络的发展,计算机与外界之间的信息交换变得越来越重要,为了保证串行通信的正常进行,提高串行通信的效率和CPU的利用率,在微机系统中采用专用的大规模集成电路来完成这些工作,这就是串行通信接口。通用异步接收发送器UART(Universal asynchronousreceiver/transmitter)主要用于控制设备之间的串行通信。广泛应用于调制解调器Modem、手持工业设备、条形码阅读器、测试设备、消费产品与计算机PC、微处理器以及小型通信网络之间的通信等。在SOC设计中,异步串行通信接口已成为不可缺少的一部分,它的性能优劣将直接影响相应电子系统的性能和指标。

1 UART原理
串行通信是指外部设备和计算机间使用一根数据线(另外需要地线,可能还需要控制线)进行数据传输的方式。数据在一根数据线上一位一位传输,每一位数据都占据一个固定的时间长度。与并行通信方式相比,串行通信方式的传输速度较慢,但这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,因此得到了广泛的应用。
基本的UART只需要发送和接收两条数据线就可以完成数据的全双工通信,其基本功能是在发送端将控制器通过总线传过来的并行数据,以设定的格式,设定的频率串行地传输出去,并同时在接收端将串行接收到的数据,转换成相应的并行数据发送出去。UART的基本帧格式如图1所示。其中,起始位总是逻辑O状态,停止位总是逻辑l状态,其持续时间可选为1位、1.5位或2位,其数据位可为5、6、7、8位,校验位可根据需要选择奇校验位,偶校验位或无校验位。

2 UART的设计
现今复杂的数字系统的设计往往采用自顶向下的设计方案,利用层次化结构化的方法,将一个设计方案划分为若干模块,在不同层次的模块都可以进行仿真,可以很方便地查看某一层次的代码以改正仿真时发现错误。在本设计中UART主要由波特率发生器、接收模块、发送模块3部分组成,并具有l位停止位和无校验位。波特率发生器实现波特率的变换,利用外部时钟信号产生一个所需波特率16倍的波特率时钟,用来控制UART的接收与发送。接收模块是用于接收串行信号,并将其转化为并行数据;而发送模块则将准备输出的并行数据按照UART的帧格式转化为串行数据输出。图2为UART结构图。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭