基于cpld的uratvhdl代码另存为另存为另存为.doc

上传人:h**** 文档编号:138011 上传时间:2018-07-10 格式:DOC 页数:16 大小:400.19KB
下载 相关 举报
基于cpld的uratvhdl代码另存为另存为另存为.doc_第1页
第1页 / 共16页
基于cpld的uratvhdl代码另存为另存为另存为.doc_第2页
第2页 / 共16页
基于cpld的uratvhdl代码另存为另存为另存为.doc_第3页
第3页 / 共16页
基于cpld的uratvhdl代码另存为另存为另存为.doc_第4页
第4页 / 共16页
基于cpld的uratvhdl代码另存为另存为另存为.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、串行异步通信规定了字符数据的传送格式。每一帧数据由起始位、数据位、奇偶校验位、停止位和线路空闲状态组成,格式如图 1 所示。一般情况起始位为 1 位,数据位为 5、 6、 7 或 8 位、奇偶校验位为 1 位,停止位为 1、 1.5 或 2 位。其中的起始位和停止位就是用来实现字符的同步。在空闲状态 ,传送线为逻辑 “1”状态。数据的传送总是以一个 “起始位 ”开始的 ,接着是要传送的若干数据位 ,低位先行 ,最后是一个 “1”状态的 “停止位 ”;那么,当接收器检测到一个 “1”向 “0”的跳变时,便视为可能的起始位。起始位被确认后 ,就知道发送器已开始发送,当接收了已协议好的位数后并接收到

2、字符帧中停止位就是一帧字符数据已发送完毕。这样,接收器就知道发送器何时开始发送数据和何时结束发送数据 由于微电子学和计算机科学的迅速发展,给 EDA(电子设计自动化 )行业带来了巨大的变化。特别是进入 20 世纪 90 年代后,电子系统已经从电路板级系统集成发展成为包括 ASIC、 FPGA/CPLD 和嵌入系统的多种模式。可以说 EDA 产业已经成为电子信息类产品的支柱产业。 EDA 之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言 (HDL)描述电路系统。就 FPGA 和 CPLD 开发而言,比较流行的 HDL主要有 Verilog HDL、 VHDL、 ABEL-HDL 和 AHDL

3、 等,其中 VHDL 和 Verilog HDL因适合标准化的发展 方向而最终成为 IEEE 标准。 下面的设计就是用 VHDL 来完成实现的。 2 UART 设计实例 通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的 EDA 设计方法有更明显的优势 (当时的主要设计文件是电路图 )。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。 下面以 UART 的设计为例具体说明:(本设计只 对本设计的总模块做各种基于 MAX+P

4、LUS II 环境下的各种分析,对于各分模块只是作些必要的说明。) UART(即 Universal Asynchronous Receiver Transmitter 通用异步收发器)是一种应用广泛的短距离串行传输接口。 UART 允许在串行链路上进行全双工的通信。串行外设用到的 RS232-C 异步串行接口,一般采用专用的集成电路即 UART 实现。如 8250、 8251、 NS16450 等芯片都是常见的 UART 器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如 FIFO),有时我们不需要使用完整的 UART 的功能和这些辅助功能。或者设计上用到了 FPGA/CPLD 器件,那

5、么我们就可以将所需要的 UART 功能集成到 FPGA 内部。使用 VHDL 将 UART 的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。本文应用 EDA 技术,基于FPGA/CPLD 器件设计与实现 UART。 2.1 UART 简介 2.1.1 UART 结构 UART 主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。本设计主要设计 UART 中最重要的发送部分和接收部分,其他部分设计不在赘述。 功能包括发送缓冲器( tbr)、发送移位寄存器( tsr)、帧产生、奇偶校验、并转串、数据接收缓冲器( rbr)、接收移位寄存器( rsr)、帧产生、奇偶校验、串转并

6、。图 1 是 UART 的典型应用。 图 1 2.1.2 UART 的帧格式 UART 的帧格式如图 2 所示。 图 2 包括线路空闲状态( idle,高电平)、起始位 (start bit,低电平 )、 5 8 位数据位 (data bits)、校验位 (parity bit,可选 )和停止位 (stop bit,位数可为 1、 1.5、 2 位 )。 这种 格式是由起始位和停止位来实现字符的同步。 UART 内部一般有配置寄存器,可以配置数据位数( 5 8 位)、是否有校验位和校验的类型、停止位的位数( 1, 1.5, 2)等设置。 本设计没有奇偶校验位,所设置的奇偶校验只是检验数据中是否

7、有奇数或偶数个 1。数据位为 8 位,停止位为 1 位。 2.2 UART 的设计与实现 2.2.1 UART 发送器 发送器每隔 16 个 CLK16 时钟周期输出 1 位,次序遵循 1 位起始位、8 位数据位、 1 位停止位。 CPU 何时可以往发送缓冲器 tbr 写入数据 ,也就是说 CPU 要写数据到 tbr 时必须判断当前是否可写,如果不判这个条件,发送的数据会出错。本设计由 wrn 控制。 数据的发送是由微处理器控制,微处理器给出 wrn 信号,发送器根据此信号将并行数据 din7.0锁存进发送缓冲器 tbr7.0,并通过发送移位寄存器 tsr7.0发送串行数据至串行数据输出端 s

8、do。在数据发送过程中用输出信号 tbre、 tsre 作为标志信号,当一帧数据由发送缓冲器 tbr7.0送到发送发送移位寄存器 tsr7.0时, tbre 信号为 1,而数据由发送移位寄存 器tsr7.0串行发送完毕时, tsre 信号为 1,通知 CPU 在下个时钟装入新数据。 发送器端口信号如图 3 所示。 图 3 引入发送字符长度和发送次序计数器 no_bits_sent,实现设计的源程序如下。 library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_arith.all ; entity txmit is port

9、 (rst,clk16x,wrn : in std_logic ; din : in std_logic_vector(7 downto 0) ; tbre : out std_logic ; tsre : out std_logic ; sdo : out std_logic ) ; end txmit ; architecture v1 of txmit is signal clk1x_enable : std_logic ; signal tsr : std_logic_vector (7 downto 0) ; signal tbr : std_logic_vector (7 down

10、to 0) ; signal parity : std_logic ; signal clkdiv : unsigned (3 downto 0) ; -用来控制数据采样时钟的 signal clk1x : std_logic ; signal no_bits_sent : unsigned (3 downto 0) ; signal wrn1 : std_logic ; signal wrn2 : std_logic ; begin process (rst,clk16x) -对 wrn 进行脉宽处理,以防接 收数据错误 begin if rst = 1 then wrn1 0) ; els

11、if wrnevent and wrn = 0 then tbr = “0011“ and std_logic_vector(no_bits_sent) = “0001“ and std_logic_vector(no_bits_rcvd) rst,clk16x = clk16x,din = din,tbre = tbre,tsre = tsre, sdo = sdo); u2 : rcvr PORT MAP (rst = rst,clk16x = clk16x,rxd = rxd,rdn = rdn,data_ready = data_ready,framing_error = framing_error,parity_error = parity_error,dout = dout) ; end v1 ; 总模块 RTL 图如图 5 图 5 2.3 程序在 MAX+PLUS II 环境下的分析 在此设计中我所采用的编程目标芯片是 ALTERA 公司的 EPF10K10LC84-3. 2.3.1 波形仿真 波形仿真图如图 6 所示:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。