一种QuartusII软件编程的数字鉴相器

点赞:33658 浏览:156466 近期更新时间:2024-03-31 作者:网友分享原创网站原创

摘 要 :本文介绍常用的CPLD芯片MAX7128s和开发工具Quar-

tusII的功能及使用方法,并用该软件设计编程了基于CPLD的数字鉴相器.该鉴相器可实现移相信号与基准信号的相位差鉴别,对信号在周期内进行检测.通过软件仿真,可以满足信号相位差鉴别的需求.

关 键 词 :CPLD QuartusII 数字鉴相器

0 引言

目前的鉴相器,测量相位差通常采用置位复位触发器或者异或电路[1],也有用单片机组成的数字测量电路[2].这种类型的鉴相器分立元件多,电路布线复杂,而且工作频率低.采用CPLD的数字式鉴相器只用到一块芯片,且这块芯片还可以提供额外器件的编程,方便与电路的整合,并且工作频率高.本文用QuartusII软件设计了一种采用复杂可编程逻辑器件的数字鉴相器,适合特殊需要的系统,经仿真得到结果满足设计要求.

1.CPLD芯片EPM7128SLC简介

为了弥补PAL、GAL等器件只能实现规模较小的电路这种缺陷,在上个世纪80年代,世界上主流芯片制造厂商Xilinx公司和Altera公司分别改进了原有芯片的结构及功能,推出了类似于PAL结构的CPLD,即扩展型复杂可编程逻辑器件[3](Complex Programmable Logic Device).这类产品兼容了可编程逻辑器件D和通用门阵列的优点,同时又增加了自身的特点,比如体系结构灵活,集成度非常高,编程方法十分灵活,可实现更大规模的集成电路等等.基于以上优点,自从复杂可编程逻辑器件问世以来,该类产品在设计产品试验电路和样机的生产中应用十分普遍.目前,大部分中规模甚至大规模的数字集成电路都采取CPLD器件来进行试验及应用.

经过几十年的发展,主流芯片制造厂商Altera公司相继开发了多款复杂可编程逻辑器件产品,形成了自己的产品系列,在复杂可编程逻辑器件市场上占有了很大份额.Altera公司生产了诸如MAX3000、MAX7000、MAX9000等系列产品.其中MAX7000系列产品性能与介于MAX3000系列与MAX9000系列之间,性价比较高,目前使用也比较广泛.本文设计采用MAX7000系列芯片中Altera EPM7128S,该款芯片采用5V/3.3VE2PROM工艺生产,结构简单,管脚丰富,使用简便,最适宜初学者使用.

该款芯片含有8个逻辑阵列块,每个逻辑阵列块包含16个宏单元,共128个.芯片内部集成2500个门电路,根据不同的封装类型,最大引脚数100,芯片响应速度快,最高工作频率可达125MHz,最大工作温度范围为-40℃~85℃,最大存储温度范围为-65℃~150℃.EPM7128s

LC84芯片外观及引脚排列图如图1、图2所示:

EPM7128SLC84芯片引脚功能如下:

四个专用输入端

INPUT/CLCR:1(输入/清除)

INPUT/OE2/GCLK1:2(输入/输入使能信号/时钟)

INPUT/GCLK1:83(输入/时钟)

INPUT/OE1:84(输入/输出使能信号)

输入输出端口(共60个):

4,5,6,7,8,9,10,11,12,15,16,17,18,20,21,22,24,

25,27,28,29,30,31,33,34,35,36,37,39,40,41,44,45,

46,48,49,50,51,52,54,55,56,57,58,60,61,63,63,65,

67,68,69,70,73,74,75,76,77,79,80,81.

电源引脚(共8个,+5V):

3,13,26,38,43,53,66,78

接地引脚(共8个):

7,19,32,42,47,59,72,82

JTAG编程引脚:TDI(14),TMS(23),TCK(62),TDO(71)

2.数字鉴相器原理分析

设A,B为2路输入信号,他们之间有相位差,当A,B两路信号输入至数字鉴相器输入端,在数字鉴相器输出端得到输出信号X,X为信号A,B的相位差宽度,再把X与高频信号S输入与门,则与门输出信号为Y,之后可以把信号Y接到计数器输入端,计数器脉冲个数进行计数,从而得到反映信号A,B的相位差大小的计数值N.数字鉴相原理图如图3所示.

检测设信号A,B频率为f1,相位差为?渍,填充信号S频率为f2,则可推算出:

这里我们发现,计数值N与填充频率f2成正比,即在差频一定的情况下,填充脉冲频率越高则鉴相精度越高[4].

3.数字鉴相器的QuartusII软件设计

Quartus II 是Altera公司上一代EDA综合开发软件MaxplusII的升级版本,其优点如下:

①输入法多样,包括原理图输入、VHDL语言输入、原理图语言混合输入,还能进行内存编辑.

②支持多种第三方设计软件,如Synplicity Amplify, Synopsys Design Compiler,Mentor Graphics Precision等软件,具有极好的协同工作能力,具有能够直接适配进已有ASIC设计流程的脚本能力,因此对在Altera CPLD中进行设计所需的编译流程改动很小.

③软件本身含有仿真器,支持多种第三方仿真软件,如Synplicity Synplify、Synopsys VCS等.

④支持在系统编程功能,使编程、配置以及下载变得极为方便.

⑤软件具有简洁明了的操作界面,通俗易懂的帮助提示,方便用户使用. 基于以上优点,本设计在ALTEAR公司提供的QuartusII平台上[5]进行编程及仿真.下面介绍数字鉴相器的软件编程与仿真过程.设计采用原理图输入方式.原理图输入设计方式是QuartusII的一种很重要的输入方式,我们利用数字逻辑电路的基本知识,就可以非常方便的对数字系统进行设计.同时,可以移植原有的通用数字集成电路.

首先建立工程文件夹及工程项目,选择芯片EPM7128

SLC84-10.第二步进行原理图编辑.编辑的数字鉴相器原理图如图4所示.图中A、B为输入端,由与非门构成的4组触发器,用以完成鉴相.其中Q1输出即为相位差信号.可以将高频填充信号与Q1输出接至2输入与门输入端,则输出即为相位鉴别计数脉冲个数,再接入计数器输入端便可计数.

在完成原理图编辑输入后,保存原理图文件,进行编译操作.执行过程,开始编译.编译成功后,进行时序仿真设计文件.建立时序仿真波形文件Vector Weform File,选择Insert Node or bus,选择输入输出引脚.对输入A、B端设置信号波形,选择周期、占空比、起始时间等.本设计分别进行了A、B同频率的超前、滞后,A、B不同频率的超前、滞后,以及占空比不同时的仿真,同频率仿真波形如图5所示.

不同频率仿真波形如图6所示.

对仿真波形进行分析,可知设计功能正确.完成仿真后,可执行生成元件符号操作,将本设计电路封装成为一个新的元件符号,存入元件库中,供今后进行原理图编辑时进行层次设计时调用.

4.结论

通过分析鉴相器原理,结合EDA开发软件QuartusII采用原理图编辑的方式,设计了数字鉴相器,经仿真,查看输出波形满足设计要求.