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

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

3天内不再提示

基于微控制器的设计走上快车道的可编程逻辑

电子设计 来源: 贸泽电子 作者: 贸泽电子 2021-06-20 18:42 次阅读

本文以汽车电子的可编程逻辑基础知识、FPGA 架构、FPGA 实现技术、处理器内核、SoPC 优势和处理器灵活性为例进行了简要讨论。

大型可编程逻辑器件,如现场可编程门阵列 (FPGA) 和复杂可编程逻辑器件 (CPLD),自从几十年前作为胶合逻辑的替代品和 ASIC 原型器件首次推出以来,其功能迅速发展。嵌入式加速器和微处理器使它们成为许多曾经被认为是 DSP 和 ASSP 专属领域的应用的有力候选者。一旦设计人员了解了 FPGA 和 CPLD 架构的基础知识,他们就可以提高许多设计的性能、效率和设计周期。

可编程逻辑在其在 FPGA 和 CPLD 中达到最先进的形式之前有很长的发展历史。这两种技术在架构上的差异是由名称本身来表示的。FPGA 的结构非常类似于门阵列 ASIC,事实上,最初用于 ASIC 原型设计。CPLD 是一个可编程逻辑元件网络,这些元件连接起来可以创建一个更大的系统。

可编程逻辑基础

通过回顾可编程阵列逻辑 (PAL) 的特性,可以快速了解 FPGA 和 CPLD 的基本配置思想,该特性始于一个用于对输入进行与运算的广泛的可编程与平面。OR 平面是固定的,这限制了可以进行 OR 运算的项数。添加了基本逻辑设备,如多路复用器、异或和锁存器,还包括时钟元件,如触发器。

电路元件的这种组合使设计者能够实现大量逻辑功能,包括状态机所需的时钟时序逻辑。PAL 是速度非常快的设备,它取代了上一代设计中的大部分标准逻辑。图 1 显示了一个基本的 PAL,其中可编程元件(显示为熔丝)将真输入和互补输入都连接到与门。AND 门,也称为乘积项,它们被 OR 运算在一起以形成乘积和逻辑阵列。

poYBAGDPG0GAaVT-AACjECNew2k451.png

简化 PAL

CPLD 和 FPGA 在 PAL 和 ASIC 门阵列之间创建了一个愉快且可扩展的媒介。CPLD 与 PAL 一样快,但更复杂。FPGA 接近门阵列的复杂性并且是可编程的。

CPLD 架构

尽管每个 CPLD 供应商都有其独特的实现方式,但所有 CPLD 都具有由功能块 (FB)、输入/输出块 (I/O) 和互连矩阵组成的共同特征。CPLD 使用特定于制造商技术的元素进行编程。存储器件可以是 EPROM 单元、EEPROM 单元或闪存 EPROM 单元。图 2 显示了典型 CPLD 的架构。

pYYBAGDPG0uAI0HPAACHUWV649U875.png

简化的 CPLD 架构

FPGA架构

FPGA 架构与 ASIC 相似,但与 CPLD 完全不同。通用 FPGA 架构由一组可配置逻辑块 (CLB)、I/O 焊盘和可编程互连组成,如图 3 所示。添加时钟电路以将时钟信号驱动到每个逻辑块。算术逻辑单元、存储器和解码器也是典型的元件。

poYBAGDPG1aAJ5zrAAFlT9S_06A583.png

基本FPGA架构

FPGA 逻辑包含在 CLB 中,其中包含用于创建组合逻辑功能的 RAM,也称为查找表 (LUT)。它还包含用于时钟存储元件的触发器,以及用于在块内和外部资源之间路由逻辑的多路复用器。多路复用器还用于极性选择和复位和清除输入选择。

FPGA 实现技术

FPGA 传统上是根据用于存储 FPGA 逻辑配置的存储器技术来描述的。目前使用的有四种,每种都有其优点和缺点:基于 SRAM 的 FPGA、带有内部闪存的 SRAM、基于闪存的和反熔丝(也称为 OTP,因为它们是一次性可编程的)。

基于 SRAM 的 FPGA 将逻辑单元配置存储在组织为锁存器阵列的静态存储器中。由于 SRAM 是易失性的,因此每次系统启动时都必须对此类 FPGA 进行编程。有两种基本的编程模式:

主模式,即 FPGA 从外部源(例如外部闪存芯片)读取配置数据。

Slave 模式,FPGA 由外部主设备(例如处理器)进行配置。通常,这是通过专用配置接口或使用边界扫描 (JTAG) 接口完成的。

带有内部闪存的基于 SRAM 的 FPGA 包含内部闪存块,无需外部非易失性存储器。

真正基于闪存的 FPGA 使用闪存作为配置存储的主要资源,因此不需要外部非易失性存储器。与基于 SRAM 的 FPGA 相比,该技术的功耗更低,并且更能容忍辐射的影响。

基于反熔丝 (OTP) 的 FPGA 与前面提到的技术不同,因为它们只能编程一次。(反熔丝装置最初不传导电流,但可以烧毁到传导状态。)

处理器核心

尽管可编程器件最初是作为胶合逻辑替代品开发的,但随着门密度的增加,FPGA 和 CPLD 供应商开始添加具有专用功能的电路,以补充未分配的门和逻辑功能。结果被称为可编程芯片上的系统 (SoPC),其中由处理器等复杂设备组成的整个系统被集成到单个可编程逻辑设备中。

今天,大多数 FPGA 和 CPLD 供应商提供的产品系列提供 MCU 和其他 IP 核的功能。使用内核使系统设计人员可以访问熟悉的开发工具集、操作系统和可选择的性能以适应应用程序。

芯片优势

考虑使用包含 MCU 功能的 SoPC 有几个令人信服的理由。首先是认识到使用专用 MCU 的隐性成本。例如,如果部件没有正确的功能组合,则必须开发外部逻辑和软件来填补功能漏洞。虽然 MCU 供应商提供具有特殊功能的设备以适应特定应用,但这些芯片并未考虑可能需要(例如,在很短的时间内需要新接口或外设)的动态市场条件。

示例:汽车电子的处理器灵活性

汽车对集成 MCU 有着无限的需求。每个主要系统——发动机控制、制动、底盘和娱乐系统,仅举三个——至少有一个。传统上,需求是通过特定于应用程序的 MCU 来满足的,但随着应用程序(和 MCU 变体)数量的增加,这种策略受到质疑。汽车制造商正在寻找更灵活、更易于定制的解决方案,在某些情况下,FPGA 就是答案。

编辑:hfy

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

    关注

    48

    文章

    6808

    浏览量

    147611
  • FPGA
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593122
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168283
  • 可编程逻辑
    +关注

    关注

    7

    文章

    511

    浏览量

    43903
收藏 人收藏

    评论

    相关推荐

    PLC(可编程逻辑控制器)利用Modbus通讯可以完成哪些任务呢?

    PLC(可编程逻辑控制器)利用Modbus通讯可以完成多种任务,以下是其中的一些主要应用
    的头像 发表于 04-11 15:41 267次阅读

    可编程片上系统是什么

    可编程片上系统(Programmable System-on-Chip,PSoC)是一种特殊的嵌入式系统,它集成了数字逻辑、模拟电路和可配置模块,将传统的微处理器、微控制器可编程逻辑
    的头像 发表于 03-28 14:55 166次阅读

    现场可编程门阵列是什么

    现场可编程门阵列(Field Programmable Gate Array,简称FPGA)是一种超大规模可编程逻辑器件,由可编程逻辑资源、可编程
    的头像 发表于 03-16 16:38 1688次阅读

    极海APM32F407可编程逻辑控制器PLC应用概述

    PLC(可编程逻辑控制器)作为可控制、执行和监控自动化机器设备的数字运算操作电子系统
    的头像 发表于 03-05 18:11 864次阅读
    极海APM32F407<b class='flag-5'>可编程</b><b class='flag-5'>逻辑</b><b class='flag-5'>控制器</b>PLC应用概述

    可编程逻辑器件的特征及优势科普

    可编程逻辑器件是一种集成电路,具有可编程功能的特性。它们可以根据用户的需求进行编程,从而实现不同的逻辑功能。
    的头像 发表于 02-26 18:24 627次阅读

    可编程逻辑阵列PLA内部逻辑结构示意

    可编程逻辑阵列(Programmable Logic Array,PLA)和可编程阵列逻辑(Programmable Array Logic,PAL)都是数字逻辑电路中常见的
    发表于 02-02 11:41 600次阅读
    <b class='flag-5'>可编程逻辑</b>阵列PLA内部<b class='flag-5'>逻辑</b>结构示意

    可编程控制器的组成 可编程控制器有哪些特点?

    可编程控制器的组成和特点。 一、可编程控制器的组成 中央处理器(Central Processing Unit,CPU):可编程控制器的核心组件是中央处理器,它是负责处理程序逻辑、运算
    的头像 发表于 01-18 11:18 484次阅读

    CH32X035 的可编程协议 I/O 微控制器(PIOC)资料更新了

    之前试用CH32X035 是就对可编程协议 I/O 微控制器(PIOC)很感兴趣,想知道它是怎么用的,但无奈当时时间比较紧,再加上当时厂家也没给出说明文档,只给了部分例程,看了下,发现还挺复杂,主要
    发表于 12-31 22:53

    可编程逻辑控制器 (PLC) 中的梯形逻辑

    可编程逻辑控制器或 PLC 是用于执行控制功能的数字计算机,通常用于工业应用。在可用于对 PLC 进行编程的各种语言中,梯形图
    发表于 10-04 17:32 448次阅读
    <b class='flag-5'>可编程</b><b class='flag-5'>逻辑</b><b class='flag-5'>控制器</b> (PLC) 中的梯形<b class='flag-5'>逻辑</b>

    什么叫可编程逻辑器件 可编程逻辑器件有哪些特征和优势?

    可编程逻辑器件(Programmable Logic Device,PLD)是一类集成电路器件,可以根据用户的需求进行编程和配置,以实现特定的逻辑功能。它们具有可编程
    发表于 09-14 15:25 1418次阅读

    PLC可编程逻辑控制器的常见错误类型以及修复方法

    可编程逻辑控制器(ProgrammableLogicController,PLC),一种具有微处理器的用于自动化控制的数字运算控制器,可以将
    的头像 发表于 09-07 08:08 1090次阅读
    PLC<b class='flag-5'>可编程</b><b class='flag-5'>逻辑</b><b class='flag-5'>控制器</b>的常见错误类型以及修复方法

    Arm PMC-100可编程MBIST控制器技术参考手册

    PMC-100允许在功能运行期间对内核中的SRAM和内存保护逻辑进行透明的现场测试,而不会损坏内存或逻辑状态。 PMC-100是一种可编程MBIST控制器,通常用于功能安全应用,可用于
    发表于 08-17 07:10

    什么是可编程片上系统?PSOC和FPGA的区别

    可编程片上系统(Programmable System-on-Chip,PSoC)是一种集成了数字逻辑、模拟电路和可配置模块的片上系统。它将传统的微处理器、微控制器可编程逻辑器件等功
    发表于 07-06 15:15 2625次阅读

    可编程逻辑器件测试

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由可编程的与阵列
    发表于 06-06 15:37 440次阅读
    <b class='flag-5'>可编程逻辑</b>器件测试

    可编程逻辑器件测试方法

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由可编程的与阵列
    的头像 发表于 06-06 15:35 753次阅读
    <b class='flag-5'>可编程逻辑</b>器件测试方法