datasheet

针对微控制器应用的采用FPGA的嵌入式应用

2008-09-22来源: EDN CHINA 关键字:微控制器  FPGA  测试向量  存储块  CPLD设计  查找表  程序计数器  置位  n

  当你打开任何智能电子设备(从老式的电视遥控器到全球定位系统),会发现几乎所有的设备都至少采用了一个微控制器(MCU),很多设备里还会有多个微控制器。MCU往往被用于专用的终端产品或设备中,它能够很好地完成特殊任务。另一方面,PC的大脑,即微处理器被设计用于实现许多通用的功能。微控制器可用于降低成本,加固工业和自动化应用,将其嵌入FPGA中时,还可以通过重新编程迅速改变功能。这种灵活性使得单个设备可应用于接口标准不同的多个市场。

  在选择微控制器时应考虑哪些因素?本文将主要探讨采用FPGA的嵌入式应用。不过,选择任何微控制器的标准本质上都是相同的。设计者需要考虑下列因素:终端产品的成本是多少?实现设计以及存储控制程序需要多少内存?对输入输出的要求?对寄存器的要求?如何与其它器件集成?

  传统的MCU已作为一种非定制的特殊应用标准产品(ASSP)上市,每个供应商都提供了不同的功能以实现差异化并迎合市场的各种需求。将FPGA与MCU IP结合可提供比传统MCU更加灵活的硬件平台,并有助于实现前面列出的各项考虑因素。

  虽然FPGA比单片MCU昂贵,但其附加的功能(如嵌入式DSP、存储块以及灵活的I/O环)可以抵消多个器件的成本;FPGA提供了更加灵活的存储结构,一旦数据和指令需要改变,则用户可以调整硬件设计来与之匹配;现代系统中有各种各样的信号标准和接口协议,因此对输入输出的要求非常严格,具有可编程片上缓冲器的FPGA在这个领域具有独特优势。例如,Lattice MachXO器件可在各种电平下支持单端LVCMOS/LVTTL和差分LVDS/LVPECL。就寄存器和暂存存储器资源而言,面向FPGA的MCU IP核所提供的灵活性可改变配置以满足应用的需求;FPGA是解决器件集成问题的理想方案。可编程查找表(LUT)、寄存器和存储器提供了额外的集成功能,同时灵活的可编程I/O和专用接口(如双数据速率(DDR))使其与多个器件的握手更加容易。

  对于许多微控制器应用来说,FPGA是非常理想的器件,因为其成本相对低廉,包含大量的嵌入式存储块,具有足够的I/O以应对几乎所有控制器功能,拥有丰富的寄存器,并支持包括LVCMOS、SSTL及差分LVDS信号传输在内的许多I/O标准。

  基于闪存的非易失性FPGA

  FPGA的制造工艺有多种,包括一次性编程(反熔丝)、易失性(基于SRAM),以及使用基于EE或闪存的非易失性工艺。

  表1列出了器件密度、封装类型、可用I/O数、嵌入式和分布式存储器,以及PLL和嵌入式DSP块。例如,基于闪存的FPGA采用130nm和90nm工艺。广泛的选择范围使得找出满足特殊微控制器应用需求的器件更容易一些。

  表1:基于闪存的非易失性FPGA产品

  

  微控制器应用实例

  FPGA的灵活性使其适用于许多微控制器应用,以及包含微控制器的更复杂的设计。

  

  图1:马达控制应用

  像家用电子设备、工业机器人以及正在增长的新兴汽车应用(从GPS、引擎控制到制动系统)这些产品都包括图1、2和3中所示的微控制器。

  

  图2:导航系统应用

  

  图3:片上系统应用

  在马达控制应用中,系统发送和接收来自微控制器的信息,以调整步进电机的速度和方向。来自系统的输入告知微控制器增大或减小马达和控制器的速度,微控制器再依次告知系统马达的实时速度和方向。

  导航系统采用微控制器调整系统的图像显示器,根据微控制器的输入提高或降低分辨率。

  图3中的设计展示了一个片上系统的实现,包括微控制器、外围总线和几种外设功能,以及用于显示寄存器文档、暂存存储器、调用栈、程序计数器、标记和跟踪列表的硬件跟踪调试器。同时还支持微控制器的单步、多步和断点功能。

  片上系统的例子可用来说明设计工具流程和实现(图4)。

  

  图4:片上系统的软件开发流程及硬件开发流程

  微控制器工具和实现

  FPGA微控制器的高效率和紧凑实现使得2280 LUT MachXO器件可用于说明图3中片上系统的设计。

  启动该设计的最简单方法是参考“快速启动指南”或项目向导一步一步地设计FPGA。一旦设计项目创建好,下一步就是编写微控制器程序。C或汇编语言是目前最流行的MCU编程语言。图5显示了用汇编语言编写的I2C Slave程序块。

  

  图5:汇编代码实例

  必须对微控制器的每个单元进行分析以决定要执行的操作。如代码实例所示,I2C写循环具有5种操作:读状态、写器件地址、写数据、写字地址及返回。请注意代码都加上了注释。

  虽然汇编语言的规范在各种MCU上大多是一致的,但设计者还是应该查阅供应商的MCU指令集文档,以了解哪些操作是得到支持的。将汇编源代码转换到ROM初始化文件的汇编程序是由命令行驱动的,和指令集仿真器一样,这可以通过汇编器供应商工具套件获得或者从网上下载。其中有些工具是作为开放源代码工具提供。例如,LatticeMico8微控制器IP(知识产权)就是作为开放源代码提供,这是实现嵌入式微控制器的一种独特有效途径,可使用户拥有最大的灵活性。

  嵌入式微控制器IP可以描述整个设计,或者作为一个大型设计的一部分与附加代码结合在一起。寻找一种有助于设计HDL调试和规则检查的工具是非常明智的。这种工具会生成该设计的分层结构和互连性的图形表示。用户可以通过各种图形和分层结构来观察设计,并利用智能工具交互探测视图以发现各种问题。

  

  图6:设计视图—HDL调试工具

  这对于IP集成的维护和复杂FPGAHDL设计的重设计都是很有用的,IP集成需要全面深入的途径进行设计分析和管理。相比传统仿真器或综合工具,这种工具可以实现设计结构的更高层抽象。这有助于创建并管理文档以及分析设计结构,从而极大地减少了花费在这些项目上的设计时间。

  功能仿真

  功能仿真首先创建一个工作库,设计被编译到该工作库中。仿真器通过图形用户接口、菜单或命令行使该过程更加顺利。这其中包含了设计文档和测试向量(test bench)。测试向量实例化该设计,并将数据加载到输入端。当运行设计时,测试向量被应用于该设计并显示结果(通常以波形的形式)进行分析。

  可利用各种仿真器实现设计的功能仿真。如果已对整个系统建模,则可以在系统级进行功能仿真,或者对单个设计单元进行仿真以确保正确的语法和功能已在RTL级建模。在这种特殊情况下,有两家OEM的仿真器可供选择。Aldec公司的Active-HDL Lattice Designer Edition Lite是一种附加的仿真环境。它不但提供混合语言VHDL和Verilog仿真,还可提供面向FPGA设计的可选设计流程。另一种选择是Mentor Graphics的ModelSim,它能够提供VHDL和Verilog语言以及门级时序仿真,以对设计进行完整的仿真和分析。

  综合

  一旦完成功能仿真,下一步就是综合。综合可以用独立的方式完成,或者在供应商的项目导航工具中作为后台函数运行。综合获取设计、进行逻辑优化并实现工艺映射。独立模式综合的步骤包括建立项目、加入源文件、设置约束、运行设计和分析结果。约束是综合的实现选项,例如扇出限制、使用全局置位/复位。属性则附属于对象,以控制其依附的特定对象的优化、映射和分析。目前可提供两种领先的综合工具。

  Precision RTL综合工具是Mentor Graphics公司的重要RTL综合解决方案。利用Precision RTL界面可以很容易地获取有用的特性和工具,例如示意图(RTL/工艺)观察器、约束分析器、PreciseTime(用于高级时序分析)、支持时序调整(re-timing)等等。这些高级工具有助于改进效率并最终优化结果。

  Synplicity公司的Synplify综合工具是一款高性能、复杂的逻辑综合引擎,它利用专有的行为提取综合技术(Behavior Extracting Synthesis Technology)提供快速、高效的FPGA和CPLD设计。简单的用户接口和强大的综合引擎结合在一起能迅速提供优化的结果。

  设计实现

  面向映射、布局和布线(MPAR)的设计实现是利用供应商的工具套件完成。这一工具套件包含用于建立项目的项目导航器(Project Navigator),以及任何FPGA设计所必需的其它工具。在这种情况下,源文件被放置在左边的窗口,项目处理在右边的窗口进行,但所有的窗口都是可停靠的,以便用户定制任何视图。Log窗口记录所有的处理,并列出在处理过程中产生的全部警告和错误信息。用户可以通过下拉菜单或者工具栏中的图标使用各种工具。图7为Lattice公司ispLEVER工具套件中的Project Navigator。

  

  图7:ispLEVER项目导航器

  实现工具(如Design Planner)可提供I/O和引脚设置、物理和逻辑视图以及平面布局。TCL/TK脚本可以运行多次迭代以优化设计。Project Navigator中包含了静态时序、逻辑调试和功率计算工具。

  编程软件

设计完成后,通过如图8所示的编程软件对硬件进行编程。这个工具将提供直观的用户界面GUI,可自动对系统主板进行扫描,选择必需的编程文件并执行合适的编程算法。通过供应商提供的SVF文件,该工具支持符合IEEE 1149.1标准的器件编程。对于大多数系统

[1] [2]

关键字:微控制器  FPGA  测试向量  存储块  CPLD设计  查找表  程序计数器  置位  n

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0922/article_1317.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA的监控系统中多画面处理器的设计
下一篇:基于FPGA圆阵超声自适应波束形成的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

更快、更灵活的探针问市——STM8 和STM32微控制器

意法半导体推出了STLINK-V3下一代STM8 和STM32微控制器代码烧写及调试探针,进一步改进代码烧写及调试灵活性,提高效率。STLINK-V3支持大容量存储,具有虚拟COM端口和多路桥接功能,烧写性能是上一代探针的三倍,产品价格具市场竞争力,节省应用开发时间,简化设备现场重新编程流程。 除提供典型的JTAG /串行线调试(SWD)和单线接口模块(SWIM)连接外,STLINK-V3的虚拟COM端口(VCP)和多路桥接器还可以通过UART、I2C、SPI或CAN接口或GPIO引脚与微控制器通信,方便开发人员使用自定义控制命令自动执行测试,并在PC主机上观察运行时数据,或者使用STLINK-V3配合引导加载程序向设备
发表于 2018-10-10
更快、更灵活的探针问市——STM8 和STM32微控制器

东芝基于Arm Cortex-M3且具备先进功能的低功耗微控制器

东京-- 东芝电子元件及存储装置株式会社(“东芝”)面向消费设备和工业设备推出“M3H族”微控制器,成功扩大其基于Arm® Cortex®-M的“TXZ™系列”微控制器的产品阵容。 该新微控制器目前已批量生产。根据产品功能,M3H族分为两个产品组。“M3H族(1)”提供标准功能,而“M3H族(2)”提供更多封装和存储容量选项,并支持高速处理器(80MHz)。两个产品组共提供13种丰富的封装选项(32引脚至144引脚)和32KB-512KB的闪存。  M3H族基于全球标准的Arm Cortex-M3内核,专为电机控制而设计,可满足消费设备和工业设备的各种需求。M3H族(1)的工作频率高达40MHz;M3H族(2)的工作频率
发表于 2018-08-27
东芝基于Arm Cortex-M3且具备先进功能的低功耗微控制器

Mouser开售ST 的STM32H7系列微控制器

专注于引入新品的全球电子元器件授权分销商贸泽电子 (Mouser Electronics) 即日起开始备货STMicroelectronics (ST) 的STM32H7系列微控制器。此高性能STM32H7微控制器采用与Arm®平台安全架构 (PSA) 框架相同的安全理念,并将这些理念与STM32系列的增强型安全功能和服务完美融合,提升互联智能设备防护性能。 贸泽备货的ST STM32H7微控制器内置带有双精度浮点运算单元 (FPU) 的32位Arm Cortex®-M7 内核、高达2MB闪存和1MB RAM。此微控制器集成硬件真随机数生成器 (TRNG) 和先进密码加密处理器等硬件安全功能,可简化
发表于 2018-08-10
Mouser开售ST 的STM32H7系列微控制器

新型MSP430™微控制器为感测应用提供可配置的信号链元件

2018年6月7日,北京讯——德州仪器(TI)近日宣布,其MSP430™ 超值系列产品中新增了多款新型微控制器(MCU),新型的MCUs具有集成信号链元件,并扩展了工作温度范围。新型MSP430FR2355铁电存储器(FRAM) MCUs不仅能满足如烟雾探测器、传感变送器和断路器等感应与测量应用在温度方面的要求,还可以帮助开发人员缩小印刷电路板(PCB)尺寸,并且降低物料成本(BOM)。 MSP430FR2355 MCU的特点和优势信号链的可配置性:通过使用MSP430FR2355 MCU,工程师可以更灵活地进行系统设计。MSP430FR2355      MCU集成了智能模拟组合——可配
发表于 2018-06-08
新型MSP430™微控制器为感测应用提供可配置的信号链元件

东芝基于Arm CortexM内核的微控制器支持Mbed OS

作为Mbed(由Arm Ltd开发的用于物联网平台的设备管理解决方案)的硅芯片合作伙伴,东芝电子元件及存储装置株式会社(“东芝”)的微控制器获得了Mbed OS的认证。两款集成了东芝微控制器的评估板已在Arm Mbed网站发布。Mbed为开发人员提供了一个免费易用的开发环境。Arm提供的在线编译器可与支持Mbed OS的评估板一起使用,可在通过USB连接到电路板的主机PC上通过简单拖放操作进行器件编程。开发人员还可访问经Mbed社区验证的丰富的组件库,从而实现嵌入式设备应用的快速高效开发。Arm Mbed设备连接器(Device Connector)服务可与Mbed Cloud连接,有助于轻松配置Web服务。  东芝集团
发表于 2018-05-30
东芝基于Arm CortexM内核的微控制器支持Mbed OS

RX200系列可实现电源效率和高性能的最佳平衡

瑞萨电子RX家族系列32位微控制器是采用瑞萨电子独有的RXv1 / RXv2 CPU内核为基础构建而成,具有卓越的操作性能和卓越的电源效率。它由四个产品系列组成,包括RX100系列、RX200系列、RX600系列、RX700系列。其中RX600系列为标准产品,RX700为旗舰产品系列,具有最快的性能和最先进的功能,RX200系列可实现电源效率和高性能的最佳平衡,RX100系列为入门级产品,其功耗极低。这四个系列包含一系列产品,可提供从小规模到大规模应用的无缝扩展能力。工欲善其事,必先利其器。功能强大的微控制器,同时也需要优秀的开发工具和软件支持。瑞萨电子针对RX系列微控制器,提供全系列高质量软件和高规格易用的开发工具,以及用于RX
发表于 2018-05-30
RX200系列可实现电源效率和高性能的最佳平衡

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved