一种QuartusII软件编程的数字鉴相器
摘要:本文介绍常用的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 Waveform File,选择Insert Node or bus,选择输入输出引脚。对输入A、B端设置信号波形,选择周期、占空比、起始时间等。本设计分别进行了A、B同频率的超前、滞后,A、B不同频率的超前、滞后,以及占空比不同时的仿真,同频率仿真波形如图5所示。
不同频率仿真波形如图6所示。
对仿真波形进行分析,可知设计功能正确。完成仿真后,可执行生成元件符号操作,将本设计电路封装成为一个新的元件符号,存入元件库中,供今后进行原理图编辑时进行层次设计时调用。
4 结论
通过分析鉴相器原理,结合EDA开发软件QuartusII采用原理图编辑的方式,设计了数字鉴相器,经仿真,查看输出波形满足设计要求。
参考文献:
[1]曹建平.一种简单的鉴相器电路.电测与仪表,1988.
[2]赵章吉.相位差测试电路的设计.中国测试技术,2005.
[3]朱明强.基于单片机及CPLD的数字存储示波器的研究与设计.北京交通大学硕士学位论文,2008.
[4]居敏花.基于CPLD的频率计的设计.苏州大学硕士学位论文,2010.
[5]林其斌.相位法激光测距系统中数字鉴相器的设计.微计算机信息,2007.
作者简介:马乐(1981-),男,哈尔滨人,讲师,硕士研究生,研究领域为传感器技术。