基于cpld的uratvhdl代码_另存为_另存为_另存为_第1页
基于cpld的uratvhdl代码_另存为_另存为_另存为_第2页
基于cpld的uratvhdl代码_另存为_另存为_另存为_第3页
基于cpld的uratvhdl代码_另存为_另存为_另存为_第4页
基于cpld的uratvhdl代码_另存为_另存为_另存为_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

串行异步通信规定了字符数据的传送格式。每一帧数据由起始位、数据位、奇偶校验位、停止位和线路空闲状态组成,格式如图1所示。一般情况起始位为1位,数据位为5、6、7或8位、奇偶校验位为1位,停止位为1、15或2位。其中的起始位和停止位就是用来实现字符的同步。在空闲状态,传送线为逻辑“1”状态。数据的传送总是以一个“起始位”开始的,接着是要传送的若干数据位,低位先行,最后是一个“1”状态的“停止位”那么,当接收器检测到一个“1”向“0”的跳变时,便视为可能的起始位。起始位被确认后,就知道发送器已开始发送,当接收了已协议好的位数后并接收到字符帧中停止位就是一帧字符数据已发送完毕。这样,接收器就知道发送器何时开始发送数据和何时结束发送数据由于微电子学和计算机科学的迅速发展,给EDA电子设计自动化行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA/CPLD和嵌入系统的多种模式。可以说EDA产业已经成为电子信息类产品的支柱产业。EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言HDL描述电路系统。就FPGA和CPLD开发而言,比较流行的HDL主要有VERILOGHDL、VHDL、ABELHDL和AHDL等,其中VHDL和VERILOGHDL因适合标准化的发展方向而最终成为IEEE标准。下面的设计就是用VHDL来完成实现的。2UART设计实例通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势当时的主要设计文件是电路图。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。下面以UART的设计为例具体说明(本设计只对本设计的总模块做各种基于MAXPLUSII环境下的各种分析,对于各分模块只是作些必要的说明。)UART(即UNIVERSALASYNCHRONOUSRECEIVERTRANSMITTER通用异步收发器)是一种应用广泛的短距离串行传输接口。UART允许在串行链路上进行全双工的通信。串行外设用到的RS232C异步串行接口,一般采用专用的集成电路即UART实现。如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。使用VHDL将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。本文应用EDA技术,基于FPGA/CPLD器件设计与实现UART。21UART简介211UART结构UART主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。本设计主要设计UART中最重要的发送部分和接收部分,其他部分设计不在赘述。功能包括发送缓冲器(TBR)、发送移位寄存器(TSR)、帧产生、奇偶校验、并转串、数据接收缓冲器(RBR)、接收移位寄存器(RSR)、帧产生、奇偶校验、串转并。图1是UART的典型应用。图1212UART的帧格式UART的帧格式如图2所示。图2包括线路空闲状态(IDLE,高电平)、起始位STARTBIT,低电平、58位数据位DATABITS、校验位PARITYBIT,可选和停止位STOPBIT,位数可为1、15、2位。这种格式是由起始位和停止位来实现字符的同步。UART内部一般有配置寄存器,可以配置数据位数(58位)、是否有校验位和校验的类型、停止位的位数(1,15,2)等设置。本设计没有奇偶校验位,所设置的奇偶校验只是检验数据中是否有奇数或偶数个1。数据位为8位,停止位为1位。22UART的设计与实现221UART发送器发送器每隔16个CLK16时钟周期输出1位,次序遵循1位起始位、8位数据位、1位停止位。CPU何时可以往发送缓冲器TBR写入数据,也就是说CPU要写数据到TBR时必须判断当前是否可写,如果不判这个条件,发送的数据会出错。本设计由WRN控制。数据的发送是由微处理器控制,微处理器给出WRN信号,发送器根据此信号将并行数据DIN70锁存进发送缓冲器TBR70,并通过发送移位寄存器TSR70发送串行数据至串行数据输出端SDO。在数据发送过程中用输出信号TBRE、TSRE作为标志信号,当一帧数据由发送缓冲器TBR70送到发送发送移位寄存器TSR70时,TBRE信号为1,而数据由发送移位寄存器TSR70串行发送完毕时,TSRE信号为1,通知CPU在下个时钟装入新数据。发送器端口信号如图3所示。图3引入发送字符长度和发送次序计数器NO_BITS_SENT,实现设计的源程序如下。LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLENTITYTXMITISPORTRST,CLK16X,WRNINSTD_LOGICDININSTD_LOGIC_VECTOR7DOWNTO0TBREOUTSTD_LOGICTSREOUTSTD_LOGICSDOOUTSTD_LOGICENDTXMITARCHITECTUREV1OFTXMITISSIGNALCLK1X_ENABLESTD_LOGICSIGNALTSRSTD_LOGIC_VECTOR7DOWNTO0SIGNALTBRSTD_LOGIC_VECTOR7DOWNTO0SIGNALPARITYSTD_LOGICSIGNALCLKDIVUNSIGNED3DOWNTO0用来控制数据采样时钟的SIGNALCLK1XSTD_LOGICSIGNALNO_BITS_SENTUNSIGNED3DOWNTO0SIGNALWRN1STD_LOGICSIGNALWRN2STD_LOGICBEGINPROCESSRST,CLK16X对WRN进行脉宽处理,以防接收数据错误BEGINIFRST1THENWRN10ELSIFWRNEVENTANDWRN0THENTBR“0011“ANDSTD_LOGIC_VECTORNO_BITS_SENT“0001“ANDSTD_LOGIC_VECTORNO_BITS_RCVDRST,CLK16XCLK16X,DINDIN,TBRETBRE,TSRETSRE,SDOSDOU2RCVRPORTMAPRSTRST,CLK16XCLK16X,RXDRXD,RDNRDN,DATA_READYDATA_READY,FRAMING_ERRORFRAMING_ERROR,PARITY_ERRORPARITY_ERROR,DOUTDOUTENDV1总模块RTL图如图5图523程序在MAXPLUSII环境下的分析在此设计中我所采用的编程目标芯片是ALTERA公司的EPF10K10LC843231波形仿真波形仿真图如图6所示图6由于条件限制,数据给的太多,从图6上是看不出来的,所以,为了说明设计的正确性,只给出了一个数据。通过波形仿真图我们可以清楚的看到UART的工作原理。232时序分析我对设计在没有优化的情况下做了分析,首要的目的是验证用FPGA/CPLD设计的正确性,次要的目的主要是与优化后的分析进行比较,以说明用FPGA/CPLD设计的优越性。优化前的时序分析图如下图7、延时矩阵图图8、建立/保持时序分析图图9、延时路径及寄存器时钟特性图对本设计采用MAXPLUSII优化设计中的专门针对其ALTERA器件的优化。在逻辑综合类型中选择快速类型(FAST)。这种类型是对大部分的器件特殊结构进行优化,是对性能要求较高的设计采用的综合类型。但是编译适配要比普通类型(NORMAL)慢许多。对于适配FLEX/ACEX等系列器件,综合器会自动使用FLEX/ACEX中的级链、进位链结构(对于NORMAL是忽略的)。优化后的时序分析图如下图10、优化后的延时矩阵图图11、优化后的建立/保持时序分析图图12、延时路径及寄存器时钟特性图从时序分析我们可看到本设计基本满足设计要求。(上面的时序分析图中,某些图中只包含了部分数据)对于优化前与优化后的数据比较来看,虽然在某些数据上优化后反而不如优化前的,这是正常的。因为优化不可能照顾到每一个信号。233资源利用对于资源利用的情况,也分优化前和优化后进行比较。优化前的资源分布图如下图13、资源利用分布图由于FPGA/PLD的阵列结构,如果在设计中,将某些关联模块在适配的时候集中分配在一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论