FPGA为你免除微控制器停产的后顾之忧
扫描二维码
随时随地手机看文章
汽车制造商收到了这样一张通知,被告知投资多年开发的,原本计划还将生产10年的微控制器将要停产,而自己还正在使用这款器件,没有什么比这再糟糕的事了。在过去几年里,半导体供应商在整合和削减产品线时,有几款曾经流行一时的微控制器和微处理器已被要求停产。
在过去,受到影响的制造商有两个选择:要么停产前一次性购买;要么重新设计产品。一次性购买会造成资金积压的问题。至于重新设计,如果只是单纯的线路板布局调整来支持不同的部件还算简单,但要选择一个新的微控制器系列则需要花费大量的软件编写和测试时间。
选择不同的微控制器系列时,软件兼容性是主要的障碍。大多数公司在软件的开发,测试和验证方面已经做了大量的投入。因此,将设计切换到一个新的架构时,通常需要复杂并且代价高昂的软件移植。如果这个切换是在产品的生命周期中做出的话,为了确保硬件平台之间没有兼容性问题,生产商必须特别小心。
案例研究:寻求第三种选择方案
一个发动机控制系统的制造商最近发现自己面临着元件停产状况。该制造商发现如果将沿用了15年的旧代码移植到一个新的结构中, 并进行全面的功能测试的话, 需要花很多个人力年时间。而且由于之前的软件团队已经在做其他的项目,将不得不聘用另外的人员来做这项工作。在对这种架构变化做了时间和经费的评估之后,制造商开始寻找代码和功能能与现有系统兼容的解决方案。
“第三种选择”的解决方案是采用基于非易失性的FPGA ,诸如LatticeXP2 再加上与现有微控制器兼容的第三方知识产权(IP)核。莱迪思的合作伙伴Digital Core Design(DCD) 有一个与制造商要求非常相似的微控制器核。DCD提议修改现有的核,使其与停产器件的外围设置相匹配(图1) 。
图1:DCD 微控制器的方块图。
制造商坚持要求新的解决方案必须与原系统的工作情况完全一致。外部和内部的时序,处理器的功能,甚至相同的二进制代码无需修改就可以运行。这种兼容性的要求包括嵌入在原处理器代码中的所有的 软件定时循环。在硬件方面,这个解决方案必须与原来的微控制器在电路板上有相同的脚位,能连接到相同的接口。此外,还有防止未经授权修改配置的高安全性要求。
系统解决方案
非易失性的LatticeXP2 FPGA组合了SRAM和闪存技术,并将它们集成在同一块芯片上。上电时,FPGA的配置以并行的方式从Flash复制到SRAM,从而初始化该器件并在不到2毫秒的时间就可以进入正常工作状态(图2) 。
图2:LatticeXP2 功能一览。
快速启动功能使非易失FPGA轻而易举地取代了ASSP微控制器,因为应用程序不必等待从外部存储器加载FPGA配置的这样一个过程。基于闪存的FPGA还包括在其逻辑内的一些安全特性,以防止未经授权的读回或修改内部存储器配置。这样就保证不会发生任何未经授权的复制或篡改内部闪存配置的情况。
替代的硬件确定之后,最后一步就是让软件功能与原有的微控制器相匹配。DCD通过从自己容量巨大的库中调用现有的已经测试和验证的外设核,能够满足这种需求。然而,对于少量新的外设,在满足原来微控制器的要求时需要特别小心。
设计者遇到的最大挑战是数字FPGA没有模拟转换器,而原来的微控制器拥有8个模数转换器通道。DCD编写了IP以应对这一挑战,用相同的软件(控制和数据寄存器)接口至内部总线,而且可与各种外部串行和并行的ADC相连接。然后,只要选择一个与原来微控制器具有相同转换时序和精度的ADC即可。
图3:夹层卡的设计。
制造商最后使用的解决方案是一个小的子板(图3) ,其中有LatticeXP2FPGA、ADC器件和时钟发生器。PLCC可与制造商的PCD直接连接,并用引脚对引脚的方式直接替换了原来的微控制器。由于芯片内含有引导存储器,因此减少了电路板上器件的数量,提供了一个较少器件的最终解决方案。
本文小结
产品淘汰的情况在汽车制造市场还将继续发生,但是我们已经有了使用FPGA加上微控制器IP这样的替代方案。具有快速启动特性的LatticeXP2 FPGA为汽车制造业提供了一种安全小尺寸, 并且满足长生命周期的解决方案。使用DCD的微控制器IP是一种快速且低成本高效益的方法来取代现有的微控制器,同时又保持了与原来系统完全相同的软件兼容性。管脚兼容的解决方案使制造商可以集中精力验证FPGA内的IP核,而不是对硬件和软件进行全面的重新设计和验证。