0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用CPLD来替代微控制器的几种应用介绍

电子设计 来源:郭婷 作者:电子设计 2019-05-05 08:04 次阅读

引言

如果告诉便携式电子设计人员有一种低功耗数字器件能使他们利用软件程序来重新配置硬件工作,他们中的十个会有九个认为这是某种微控制器。这是可以理解的。丰富的特性和封装、大量的软件开发工具,以及庞大的应用代码库,无处不在的微控制器几乎能够用在所有便携式应用中。然而,随着低功耗CPLD的出现,设计人员有了新的选择来实现以前由微控制器完成的功能。

本白皮书讨论什么时候适合采用CPLD来替代微控制器,什么时候可以采用CPLD作为微控制器的辅助器件。根据其功能和复杂程度,本白皮书中的例子可以分成三类。第一类是I/O管理,主要针对引脚级应用。第二类是端口管理,重点是器件之间的各种接口。第三类是系统管理,面向使用引脚或者端口来控制系统级功能的应用。

第一次接触可编程逻辑的设计人员会发现CPLD设计在很多方面和传统的微控制器设计类似。下面简单说明CPLD设计流程:

1 利用软件开发工具,采用Verilog或者VHDL等高级语言编写设计。

2 对设计进行仿真,以验证功能是否正确。

3 验证是否满足资源占用和时序通路等物理要求,将设计“适配”到CPLD中。

4 对设计进行仿真,以验证时序是否正确。

5 设计被编程至物理器件中。

一个主要不同是复杂的在电路仿真器功能,以验证微控制器。然而,一旦理解了可编程技术的细微差别后,微控制器设计人员便能够很好地进行CPLD设计。

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显示器之间的电平转换时序控制功能。

采用CPLD来替代微控制器的几种应用介绍

图1. 使用MAX IIZ CPLD来进行电平转换

脉冲宽度调制

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

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

模数转换器

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

图2所示为一个基本开关阵列和ADC。在VCC和GND之间串联了一组电阻,每个电阻抽头和公共极上连接了一个开关。如果开关接通,电路产生一个和电阻堆中开关位置成比例的电压信号。要在数字系统中使用,模拟信号必须转换为数字值,通常选用含有内置ADC的微控制器来实现这一功能。

采用CPLD来替代微控制器的几种应用介绍

图2.模拟键盘阵列

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

上电排序

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

图3所示为典型的MAX IIZ器件上电排序应用。随着电路板密度以及电路板电源层数的增加,上电排序变得越来越复杂。MAX IIZ CPLD能够轻松管理系统复杂程度不同的上电排序。多电源供电支持不同的器件,需要采用控制逻辑来管理每一器件的上电顺序。为确保在上电期间不会出现对总线信号的意外驱动,也需要MAX IIZ器件来控制关键总线信号,直至上电完成。JTAG端口监视上电顺序,存储上电时的错误和信息。它还可以用于在调试阶段设置上电排序断点。

采用CPLD来替代微控制器的几种应用介绍

图3. 利用CPLD实现上电排序

看门狗定时器

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

采用CPLD来替代微控制器的几种应用介绍

图4. 为MAX IIZ CPLD开发基于定时器的上电电路

CPLD和微控制器结合使用的实例

CPLD并不总是和微控制器相竞争。在以下几个例子中,CPLD是微控制器优异的辅助器件。

GPIO引脚扩展

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

采用CPLD来替代微控制器的几种应用介绍

图5. GPIO引脚扩展

端口管理

便携式应用设计人员经常需要连接具有不同I/O接口的器件。这一功能被称为桥接,因为采用CPLD来构成不同接口之间的“桥”。这一节介绍三个这样的例子:

串行至串行 - I2C至SPI

串行至并行 – SPI器件(串行)至主处理器(并行)

并行至并行 - 主处理器至CF+

在每一例子中,有几个原因表明为什么CPLD是优于微控制器的选择。一个原因是微控制器不能有效地提供需要的I/O数量。采用微控制器不一定能满足接口需要的性能。此外,在微控制器中实现这些功能要比在CPLD硬件中复杂得多。

串行至串行转换

图6所示为采用CPLD来桥接两种不同的串口:I2C和SPI。这一设计可以在MAX IIZ EPM240Z CPLD中实现,使用了大约43%的逻辑和6个I/O引脚(4)。

采用CPLD来替代微控制器的几种应用介绍

图6. 利用MAX IIZ CPLD实现I2C至SPI接口

串行至并行转换

图7所示为主处理器和SPI主机的接口,使用CPLD来实现串并转换接口。这个例子建立一个主处理器总线接口和完整的SPI主机,可以在MAX IIZ EPM240Z CPLD中实现,占用了大约30%的逻辑和25个I/O引脚(5)。

采用CPLD来替代微控制器的几种应用介绍

图7. 利用MAX IIZ CPLD实现主处理器至SPI接口

并行至并行转换

在图8中,CPLD被用于桥接两种不同的并口。这一实例实现了Compact FLASH+器件的主处理器总线接口,在MAX IIZEPM240Z CPLD中实现,使用了大约54%的逻辑,以及45个I/O引脚(6)。

采用CPLD来替代微控制器的几种应用介绍

图8. 利用MAX IIZ CPLD实现主处理器至CF+接口

传统上,某些微控制器一直是低功耗电子设计人员的唯一“可编程”逻辑选择。然而,随着低功耗CPLD的推出,设计人员在便携式应用上有了新的选择。本白皮书的多个实例介绍了怎样在便携式应用中使用低功耗CPLD来替代或者扩展以前在微控制器中实现的多种功能。结果,低功耗电子设计人员在便携式应用中拥有了另一套解决问题的工具,在设计创新产品时,能更好地选择最佳器件。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7489

    浏览量

    151048
  • cpld
    +关注

    关注

    32

    文章

    1247

    浏览量

    169216
  • 可编程逻辑
    +关注

    关注

    7

    文章

    514

    浏览量

    44072
收藏 人收藏

    评论

    相关推荐

    微控制器(MCU)架构介绍

    单芯片中常见的程序内存容量有 0.5K、IK、2K、4K 及 8K,而通常应用在微控制器的程序内存有下列几种方式,见(表一): 表 1:在微控制器的程序内存通常有几种方式。另外关于程序
    发表于 06-29 11:31

    什么时候可以采用CPLD作为微控制器的辅助器件?

    什么时候适合采用CPLD替代微控制器?什么时候可以采用CPLD作为
    发表于 04-28 06:16

    如何利用MSP430FR2676TPTR和MAX32660等微控制器促进可穿戴式设计?

    MSP430FR2676TPTR微控制器有何优点?MAX32660微控制器专为可穿戴电子设备定制了哪几种低功耗模式?如何利用MSP430FR2676TPTR和MAX32660等微控制器
    发表于 07-28 08:16

    LPC2194微控制器替代品有哪些?

    大小、CPU 频率和外围设备功能的东西。如果有人可以建议一些微控制器选项替代 LPC2194,我将不胜感激。
    发表于 03-14 08:53

    采用可定制微控制器优化算法的设计

    采用可定制微控制器优化算法的设计     Atmel公司的CAP可定制微控制器为这种挑战提出了一种可行的解决方案。CAP是
    发表于 09-27 13:50 626次阅读
    <b class='flag-5'>采用</b>可定制<b class='flag-5'>微控制器</b><b class='flag-5'>来</b>优化算法的设计

    PLD和数据通路释放微控制器中CPU资源

    本文介绍了一种采用PLD和数据通路(datapath)解放微控制器系统中 CPU 任务的方案。在大多数微控制器结构中,智能的CPU身边总会
    发表于 08-31 11:42 1509次阅读
    PLD和数据通路<b class='flag-5'>来</b>释放<b class='flag-5'>微控制器</b>中CPU资源

    利用CPLD替代微控制器的设计

    随着低功耗 CPLD 的出现,低功耗电子产品设计人员现在有新的选择实现以前由微控制器完成的多种功能。本白皮书讨论什么时候适合采用 CPLD
    发表于 09-12 14:04 6次下载
    利用<b class='flag-5'>CPLD</b><b class='flag-5'>来</b><b class='flag-5'>替代</b><b class='flag-5'>微控制器</b>的设计

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

    的应用代码库,无处不在的微控制器几乎能够用在所有便携式应用中。然而,随着低功耗CPLD的出现,设计人员有了新的选择实现以前由微控制器完成的功能。 本白皮书讨论什么时候适合
    发表于 03-22 11:15 9次下载

    关于AVR微控制器采用单周期指令集原因的介绍

    爱特梅尔AVR微控制器共同发明人兼首席营销官Alf-Egil Bogen 介绍AVR微控制器采用单周期指令集的原因。
    的头像 发表于 07-06 02:38 3535次阅读

    微控制器接口有哪几种_微控制器特点

    微控制器接口有I2C,SPI,UART这三种。微控制器特点是单鞘化,体积大大减小,从而使功耗和成本下降、可靠性提高。
    发表于 04-26 09:14 2581次阅读

    微控制器到底是什么?微控制器有怎么样的应用

    微控制器的使用已渗透入生活各方面,为增进大家对微控制器的了解,本文将对微控制器微控制器应用予以介绍。如果你对
    的头像 发表于 06-27 10:25 1.2w次阅读

    什么是微控制器?如何编程微控制器

    微控制器进行编程或刻录意味着“将程序从编译传输到微控制器的存储”。微控制器的程序通常是用C或汇编语言编写的,最后编译
    的头像 发表于 08-21 15:40 1w次阅读

    如何使用NYASM微控制器应用程序

    这份文件主要介绍如何使用NYASM开发九齐科技的微控制器应用程序
    发表于 06-15 16:13 4次下载
    如何使用NYASM<b class='flag-5'>微控制器</b>应用程序

    汽车微控制器的供电电压

    微控制器供电 微控制器的供电电压可以分为以下几种: ·5V:5V是最常见的微控制器供电电压,包括许多传统的8位微控制器和一些较老的16位
    的头像 发表于 07-19 10:45 1216次阅读
    汽车<b class='flag-5'>微控制器</b>的供电电压

    微控制器是否能替代PLC

    在工业自动化和控制系统领域,微控制器(MCU)和可编程逻辑控制器(PLC)都是不可或缺的核心设备。它们各自具有独特的功能和优势,并在不同的应用场景中发挥着重要作用。然而,关于微控制器
    的头像 发表于 06-13 14:52 584次阅读