在FPGA内实现MCU为汽车图形控制器带来应用开发的灵活性

cathy的头像

在汽车电子中广为采用的微控制器(MCU)经过全速发展目前遇到了时间和成本障碍。采用MCU带来的主要好处一直体现在高水平的系统集成和相对低的成本。但在使用MCU时存在远超过这些器件本身价值的额外隐性成本。例如,若选用的器件不具备所需的全部特性,则必须增加外部逻辑、软件或其它集成器件。

另外,在当今汽车领域,终端市场需求的善变更是屡见不鲜,想用的MCU常常无从购买。甚至许多有专门特性和固定数量专用接口的MCU经过短暂的评估阶段后就不再能满足市场需求,系统供应商不得不重新设计硬件及编写相关软件,在某些情况甚至必须改变处理器内核。

微控制器的两难处境

微控制器制造商面对的是影响整个市场的挑战。MCU是一种特殊应用的产品;因此每一应用都需要一款具有不同性能集的新器件。为了使单个内核架构能够服务更大的市场需求,制造商提供多种规格、并且具有不同接口和功能的MCU系列产品。在大多数情况下,该特性集并不能满足客户特定需要;所以对批量大的客户需求,不得不围绕一个特定内核架构来衍生出一款具有新接口和新功能的器件。

当MCU是用制造成本相对较低的老工艺技术实现时,这种策略是成功的。但随着系统集成度的提高,先进的工艺技术被越来越多地采用,因此开发新的MCU变种需要的费用非常可观。因只有为数不多的目标市场能提供所需批量,所以为了满足某个客户需求单独开发一款专门器件的作法在经济上是行不通的。

这样,新MCU就配备起越来越丰富的特性以迎合全部市场需要,其战略是转向功能更丰富的标准产品而不是特殊应用器件。虽然这些标准产品的功能很强大,但其成本也急剧升高,也就更难满足诸如汽车电子等对成本很敏感的市场要求。

若不消除造成这种两难局面的根源,我们将束手无策,而根源就是芯片内的功能是一成不变的。因此显然需要一种新的设计方法。

灵活MCU的概念

破除该谜局的方法是用FPGA灵活地实现各功能。FPGA能显著缩短工程开发时间,降低多次硅返工造成的损失,因此它是取代MCU的一个强有力且可行的替代方案。例如,采用基于FPGA的方法来为汽车音响和导航设备开发灵活的图像系统可将开发时间缩短6个月。

与不具备所需特性的MCU不同,在设计过程中,可根据需要对FPGA进行编程和反复编程,从而更快地生成原型、加快产品上市进度。若需要改变,还可在现场对FPGA实施升级,即使该FPGA已被安装在产品内。

汽车图形控制器是FPGA优于传统MCU的关键应用之一。在汽车市场,虽然在诸如图形等功能有限的应用中采用低成本FPGA的做法已深入人心,但若用可编程器件实现更复杂的功能则过于昂贵,原因在于实现可编程能力对芯片开销有巨大要求。

但由于目前已能从FPGA无缝转换为结构化ASIC,因此有可能实现一款既具高性价比又真正满足用户要求的MCU,其特性可以从一个大的预先定义好且可扩展的构建模块库中按需索取。

它与传统MCU的主要区别是,从原型FPGA到最终MCU可以实现无缝移植。从灵活的MCU概念上讲,CPU和总线架构都是唯一的,并且可以根据特定客户应用要求的实际功能和特性映射至设计。

RISC CPU

在Altera概念中使用的CPU是款软RISC处理器。但与一般情况不同的是,该处理器并没构建在一个预先规定好且无法改变的芯片内。相反,它是根据系统架构师/设计工程师借助可用工具定义的规范自动生成的,并与整个电路所需的其余逻辑一道下载进FPGA。因此,可根据特定应用要求并借助相关的开发工具对处理器内核进行参数表征。更重要的是,它能实现真正需要的功能和对应需要的逻辑消耗。

在基于Altera的灵活MCU应用中,NiosII嵌入式处理器采用的是具有32位独立地址和数据总线的标准RISC架构。两条总线都通过独立缓存操控,且可连续独立地接入总线系统。最后,由系统架构师决定对程序和数据是采用独立的存储空间还是共享存储器。Nios?II嵌入式处理器内置有一般处理器都有的许多功能单元,但参数设置决定其特性。例如硬件乘法器、桶式移位器以及硬件除法器可作为选配功能。指令和数据缓存也一样,其容量可以不同,或被彻底排除在外。

总线架构

MCU通常采用单总线架构,其中有个仲裁器用于监控作为分布式资源的总线。由于作为系统中心资源的总线将迅速成为瓶颈,这种架构存在严重的缺陷。为此,在更新的系统(特别是系统级芯片实现)中已采用多层总线架构,其中各条总线是并行工作的。目前的FPGA总线架构情况基本相同。区别在于:在其它多层总线实现中,采用的层数是静态的;而FPGA总线构建方法可按需选择层数。

当考虑电磁兼容性(EMC)和功耗问题时,有时使一种外设模块工作于与整个系统其余部分不同的频率会带来额外的好处。例如,使存储器接口工作在更快速度(而系统其余部分工作在较低时钟速率)将相应缩短存储器访问时间。另一种情况是在较低时钟频率足够用的地方整合多个模块。

为满足EMC或功耗要求,采用诸如SOPC Builder等高级系统设计工具可以很容易将这些部件与系统内以很高频率工作的那些部件分离。这种工具可以自动生成同步这些不同时钟域所需的逻辑,设计师只需指明在一个给定时钟域都运行着哪些模块。

在FPGA内实现MCU

因汽车MCU系统的复杂性比单纯图形控制器要高得多,所以在大多情况下FPGA一般用于原型逻辑生成。由于FPGA具有全面验证、固件开发及现场测试的能力,所以选用FPGA进行原型生成将极大降低开发风险。另外,通过用FPGA进行原型生成,设计师能以“在系统内”的方式运行该FPGA,以便利用真实环境进行验证,从而可能检测出在仿真时没被发现的设计缺陷。

软件开发已占整个开发周期的大头。由于软件开发要花更长时间、需更多资源,因此可以利用原型系统缩短整个开发周期并发现设计缺陷、兼容性问题,并通过新的硬件功能来支持无法用软件正确处理或实现的功能。

用实际系统进行现场测试有助于发现在实验室无法发现的系统或器件缺陷。在许多情况下,销售人员为说服客户提前下单,演示系统必不可少。

还可能需要在原始规范中没有的新特性和新功能。无论是为了发现新的缺陷还是增加新的功能,都可以快速修改FPGA原型,而无需花费巨额的一次性工程成本或忍受漫长的制造周期。

灵活MCU概念中的最后步骤是ASIC开发。一旦建造并测试完原型系统,则可着手将设计转换为结构化ASIC。例如,若采用Altera器件,则设计立即被转换为HardCopy?结构化ASIC器件。与其它结构化ASIC不同,采用这种设计流程无需重新进行设计综合或花费额外的验证周期,因为这些器件采用与其FPGA器件相同的构建模块。

采用这种结构化ASIC流程提供的快速周转时间能让设计师快速确认FPGA逻辑,从而实现快速、低成本的转换。

灵活MCU小结

下一代汽车电子系统需要高度专用、成本优化的器件以满足市场需求。考虑到先进工艺技术开发成本的急剧增长,传统MCU的特殊化工作不再具有商业意义。

功能丰富且面向广泛应用市场的器件常常因太过昂贵而没有出路。取而代之的是灵活MCU概念,通过实现FPGA原型,它能为特定应用开发正确合适的MCU。验证、软件开发和现场测试可以在设计完成后立即进行,甚至可以并行进行。

为进行批量生产,FPGA设计可以被直接映射为一个结构化ASIC,无需重新综合或额外验证。采用上述方法创建针对应用优化了的汽车MCU与目前使用固定功能MCU的方法相比,所需时间要短得多,成本也低得多。

“图1:这种汽车信息娱乐平台具有多个子系统以及可扩展的接口与功能"
图1:这种汽车信息娱乐平台具有多个子系统以及可扩展的接口与功能

“图2:FPGA到ASIC整合之路使MCU的性能和特性得以显著提升(下方X轴)"
图2:FPGA到ASIC整合之路使MCU的性能和特性得以显著提升(下方X轴)

本文转载自:FPGA设计论坛
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。