现在的位置: 首页CPLD介绍及应用正文

CPLD替代微控制器的6种方法

CPLD替代微控制器的实例

以下部分介绍了CPLD能够有效替代微控制器的某些应用。

I/O管理

当 考虑是使用CPLD还是微控制器来进行I/O管理时,所需要的I/O数量和类型是两个关键因素。微控制器的好处是体积小而且价格低,当然还有大量的小型低 成本微控制器供设计人员选择。然而,如果某一应用需要大量的通用I/O,那么CPLD在成本上通常可以和微控制器相竞争。小型低成本微控制器一般受限于串 口,它最多有几个通用I/O引脚。

设计人员发现,I/O数量较多的微控制器体积也不小,而且价格也昂贵。而另一方面,CPLD趋于有较多 的I/O;小外形封装CPLD有50多个I/O是比较常见的。例如,5mm x 5mm封装的Altera® MAX® IIZ EPM240Z CPLD有80个I/O。除了I/O数量优势以外,一般情况下,CPLD要比微控制器更加灵活。除了某些例外,大部分CPLD I/O都能够用于任意目的。

可编程电平转换

很多产品都需要使用电压不同的各种逻辑器件。为支持多电压应用,设计人员要经 常连接不同电平的器件。而采用微控制器几乎不可能实现这一切,因为微控制器的I/O资源数量有限,一般采用一个电压源工作。而CPLD有大量的I/O,并 分成多个块。相应的为每个I/O块分配一个电压源。因此,开发电平转换器只需要将一个块中一种电压的所有I/O分在一起,将相关的电压参考连接到这些I /O所需的电源上(图1)。使用CPLD不但能够很好地完成电平转换,它更大的优势在于和电平转换相结合的可编程功能。例如,如果某一应用需要LCD显示器,但主处理器并不支持这种显示器,而且电平不同,那么可以采用CPLD来实现主处理器和LCD显示器之间的电平转换时序控制功能。
脉冲宽度调制

一 般而言,设计人员针对某一功能选择一款微控制器,例如脉冲宽度调制(PWM),这些功能也可以采用CPLD来实现。在PWM中,方波的时间周期不变,而信 号保持高电平的时间在变化或者受到调制。这样,信号的占空比(tON)是变化的。PWM为数字系统中的模拟电路控制提供了有效的方法。便携式应用中常用的一种方法是利用PWM来调节LED的亮度。

CPLD并没有专用PWM电路,但是实现PWM输出并不难。例如,MAX IIZ CPLD的内部振荡器可以用作频率源,计数器可以用于调制所产生的频率。

模数转换器

设计人员经常选择微控制器来实现模数转换器(ADC)。然而,在某些情况下,例如键盘解码,可能不需要ADC。

然而,CPLD也是一种选择。加入一个简单的低成本外部电容后,MAX IIZ CPLD可以利用其内部振荡器、施密特触发器I/O以及高密度算法可编程逻辑架构来完成模数转换(1)。

上电排序
MAX IIZ器件针对大量的系统管理功能进行了优化,例如多电压系统上电和系统复位上电排序功能,以及片选信号生成等。这两类应用一般集成在一个非易失、瞬时接 通器件中。多电压系统上电排序功能需要采用瞬时接通器件,该器件能马上管理PCB上其他器件的上电顺序。因此,相对于在毫秒量级上电的微控制器,能够在几 微秒内上电的CPLD是上电排序功能更好的选择。

看门狗定时器

很多系统管理应用需要采用定时器。设计人员可能会吃惊地发现CPLD可以用于实现通常由微控制器完成的定时器功能。 利用几个分立电容、电阻、二极管和金属氧化物半导体场效应晶体管(MOSFET),设计一个简单但是有效的电阻电容(RC)定时器电路,周期性的对 CPLD上电。在图4的实例电路中,设置RC值来建立一个10秒定时器。可以利用三个外部电容(C1、C2和C3)来扩展这一基本定时器,三个电容被用于 建立一个简单的非易失二进制计数器。这样,在MAX IIZ EPM240Z CPLD中利用19%的逻辑就可以完全实现从10秒到80秒的间隔周期(2)。

GPIO引脚扩展

在常见的通用I/O(GPIO)引脚扩展应用中,设计人员把低成本小型微控制器的可编程功能和CPLD的通用 IO资源结合起来使用。CPLD构建一组内部寄存器,微控制器通过I2C或者SPI等串口来访问这些寄存器,使微控制器能够使用现有的I/O资源来扩展其 I/O总数量。利用扩展I/O,设计人员还可以使用CPLD进行电平转换,从而提高了CPLD的实用性(3)。

在线咨询