首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年11月23日星期六
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
可编程逻辑器件的的应用参考

Design References for CPLD Application

总后勤部军需装备研究所 蒋毅

可编程逻辑器件以其特有的优势,越来越广泛应用于各种设计中。针对可编程逻辑器件的应用步骤及实际使用中容易忽略的问题,本文以ALTERA的器件为例,从设计实际出发,对其应用的基础及关键点进行说明。


引言

随着大规模超大规模可编程逻辑器件的发展,逻辑器件日益以其低廉的价格及灵活的设计方式、丰富完备的功能而广泛应用于电子线路设计中。采用CPLD可对逻辑电路功能进行综合集成,根据需要设计最小的单元,节约系统资源,极大的减少了电路板上功能模块及模块间连线。同时以其灵活的设计及在线升级方式对系统进行修改升级,减少了对电路板本身的修改,提高了系统整体可靠性,节约了制版费用,缩短了设计的周期。

但可编程逻辑器件使用中还有诸多需要注意的细节,特别是对于才开始应用其进行设计的电子线路设计人员,只有把握住这些细节才能成功的进行设计。

图1 CPLD管脚示意图(略)


应用基础

在设计之前需要对逻辑器件进行了解,以MAX7000系列为例,器件管脚设置如图1。这是将CPLD器件应用于PCI接口逻辑的一个示例,实现对PCI接口芯片输出的本地控制信号的译码及部分功能模块的嵌入式设计。

元件除去电源部分所需管脚,剩下的大部分是I/O口,可定义为系统所需控制管脚。需要注意几个全局信号控制脚,如GCLK、OE等管脚可用于整个逻辑器件工作时序的控制,一般用于全局信号的连接。同时需要注意的是TDI、TMS、TDO、TCK四个管脚是与在线编程相关的程序下载管脚,必要时候也可作为通用的管脚使用。ALTERA元件的下载线可以购买或是自行制作,资料比较完备。要实现在线编程,CPLD元件部分的PCB设计时需要注意,几个下载管脚不是悬空的,都必须进行上拉、下拉设计,电路如图2。这点容易忽略,而导致下载软件无法发现下层的器件,相关说明在文档“In-System Programmability”中。

图2 CPLD配置电路(略)

在操作系统中安装相应的下载线驱动,就可在其图形化的设计软件中发现可编程控制器件,并对其进行在线编程、调试。


控制逻辑设计

CPLD的巨大优势体现在其灵活性,可根据需要设计组合逻辑,减少了分离元件的使用,提高了系统的集成程度及可靠性。对于一般的应用采用MAX+plus编辑软件就可以完成,其界面简单,所有功能都集成于菜单中,可方便完成设计、综合、仿真、下载的全过程。图3为是应用74LS154对应软核设计的PCI接口译码电路,从而在CPLD内部实现4-16译码。电路图中可标明其用到的管脚,还可根据需要进行配置,以便于外部PCB设计的布线优化。

图3 MAXPLUS图形编辑界面(略)

应用ALTERA公司的硬件开发语言AHDL及通用的VHDL等硬件描述设计语言,能实现软核的自主开发,同时可实现同步仿真,验证设计的逻辑正确性。以下是一个数字分频器设计示例。

SUBDESIGN NDivide
(
clk :INPUT;
clkoutD :OUTPUT;%偶分频输出%
BXCOUNTout[3..0] :OUTPUT;
COUNTAOUT[2..0] :OUTPUT;
)
VARIABLE
%偶分频变量%
COUNTD[3..0] :DFF;%小于16分频器,偶
数分频器%
clkRegD :DFF;
BEGIN
%偶分频部分%
COUNTD[].clk=!(clk);
clkRegD.d=!clkRegD.q;
clkoutD=clkRegD.q;

IF (COUNTD[].q==1) THEN%根据分频数定,2的n+1分
频,此处为4分频,2分频时clkRegD.clk=!clk即可%
COUNTD[].d=0;
ELSE
COUNTD[].d=COUNTD[].q+1;
END IF;
clkRegD.clk=COUNTD0.q;

END;

该程序仿真波形如图4,实现了四分频电路的逻辑设计、实现。

图4 四分频电路仿真波形(略)


PCB电路设计

应用CPLD还需注意其输出脚状态改变时所产生的高频的脉冲,会对下一级器件带来严峻的考验。因此在 PCB设计中必须进行相应的处理,才能有效抑制脉冲的极值,同时保证上升沿的陡直。图5为一脉宽调制软核的输出效果图。该模块实现精度为8位的脉宽调制,方波信号基频为4kHz,由33M的PCI时钟分频得来。系统只应用最简单的阻容滤波电路来降低脉冲值。

图5 CPLD输出示意图(略)

该图为直接输出与滤波输出两种条件下的示波器显示图,在图a中没有采取滤波措施,可以看到在上跳沿处为4V左右的尖峰脉冲,相比稳定的高电平3V输出高出1V。而图b是经简单的阻容滤波电路后输出,上跳沿脉冲的峰值明显得到抑制。较大的改善了系统的性能。


结束语

应用可编程逻辑器件,可加速开发的进程,在器件提供的方针环境中进行功能的仿真验证,可及时发现设计中的缺陷。但是自带的仿真器本身也并非完美,在电路设计完成后还需进行更细致的验证。CPLD的广泛应用给电子线路设计人员有更大的发挥空间,更灵活的设计方式,极大的提高了设计效率。

《世界电子元器件》2005.9
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com