基于MCU、定制ASIC和体积庞大的电线束来实现引擎及控制电子的系统方案已发展至接近其技术和应用极限,汽车工业正面临新的设计挑战,本文介绍 FPGA在赛车引擎控制单元中的应用,帮助设计人员缓解产品更快推出市场的压力、减少元件数目、在单一硬件平台上实施标准化以及满足不断升级的安全要求。
过去汽车电子产品的开发周期是漫长的,而现在许多汽车制造商现正致力于在更短的时间内,装备消费者所需的新一代汽车。诸如GPS导航系统和DVD播放机等设备的产品生命周期相对较短,因此,产品推向市场的速度非常重要。今天,采用ASIC可能会使开发周期增加30周,加上掩模成本大幅攀升,使得开支和风险也进一步提高。
图1:恒压条件下4.2nm氧化膜的TDDB评测结果(注意早期击穿区域产生的偶发性故障)。
与此同时,因为当今的汽车引入了许多标准和技术,使ASIC的应用缺乏灵活性,从而增加其被废弃和延迟应用的风险。消费者还要求享有各种功能选项,使得汽车厂商必需以一套元件组合为基础,再根据不同需求进行配置。为了快速实现这些高度集成和不断变化的系统,能够使产品快速推向市场的FPGA为汽车厂商带来了所需的灵活性,可在现场进行系统硬件升级,而毋须执行昂贵的返工工程和部件更换。所以,FPGA现已应用于汽车电子中,范畴从设计验证到制造和服务。随着汽车内的空间日益宝贵,可编程逻辑能在小型单芯片方案上集成许多不同功能的特性也显得极具吸引。
FPGA器件的可靠性和安全性
汽车电子设计人员通过使用具有扩展温度范围的FPGA技术,能够显著提高应对多种故障的能力。虽然许多元件供应商采用预防性的设计技术及限定方法来模拟和仿真环境影响,但是某些FPGA构架在承受扩展温度范围方面仍然具有先天优势。举例说,Actel以反熔丝为基础的汽车器件能承受业界最高的结点温度 (+150℃),为设计人员的高可靠性系统带来更大的性能冗余。
在高温下工作的能力不仅有利于抵御故障。由于汽车电子应用在空间和成本上都没有余地来加设风扇和散热装置,因此器件必须在没有外部散热装置的情况下仍能提供所需的性能。
极端的环境往往会导致与FPGA组装和封装相关的故障模式,而与装置本身无关。所以在汽车电子系统的各个层面预留规格余地非常重要。FPGA供货商如Xilinx和Actel等提供的产品具有较宽的军用温度范围,能够更好地定义热膨胀系数,避免热应力的影响。
即使在正常的温度和电压下工作,在FPGA的栅极氧化膜上反复施加电压应力最终也会使器件内的电介质绝缘层发生击穿。这种随使用时间累计而产生的击穿现象称为“时间相关绝缘击穿”(TDDB)。加上深亚微米技术的应用,会增加这类故障在现场发生的风险。
问题是新工艺采用了高压应力测试进行评估。这类测试在取得氧化膜寿命的统计预测数据以及探测重要的制造与工艺难度方面很有效,但在建模和预测产品的早期故障方面收效甚微,特别是对于偶发性的故障。最初的击穿会在器件投入使用后很短时间内造成严重的故障后果(见图1)。
找出及消除这些最初击穿故障的原因是一大挑战。从TDDB数据进行测试和验证能得出氧化膜的真正击穿寿命极限,但是这些数据在确定单个器件产品的寿命方面并不可靠。
即使半导体供应商有方法找出或消除早期故障,越来越多推测指出90nm器件的真正寿命周期可能不足以满足许多商业应用的要求。如果这些理论正确,汽车产品设计人员可能别无选择,只有指定基于更可靠几何尺寸和工艺的器件,为了提高可靠性而被迫放弃新一代工艺的边际效益。
影响汽车系统可靠性的因素
了解汽车电子产品的主要物理故障风险后,现在来讨论安全和防篡改等问题可能显得奇怪。然而,任何影响汽车系统可靠性因素的讨论,如果没有考虑人为干预(有意或无意的)的影响,都是不完整的。重要的是,我们必须确认汽车安全性和可靠性的建立是从组件层面开始。举例说,如果黑客能够侵入基于FPGA的卫星无线总台接收器,并破坏用户的身份鉴别机制,某些不道德的用户就可以免费取用服务。系统的安全机制一旦被击破,便可轻易地将有关的技术散布给大众取用。只要登陆某些网站,就可轻松找到各种破解收费服务的控制台软件。从汽车制造商的角度来看,高风险的情况可能涉及汽车的防盗或安全系统。
或许更危险的情况是越来越多人尝试“调校”汽车产品以提高性能,此举通常会破坏地区或国家性的安全和环境标准。这类非法改装活动经由多种渠道提供,往往很难以控制和打击。许多改装者会重新校准各式车载系统元件的常规设置,并修改燃油输送、电子点火时间及其它控制功能,以便增强性能。
当然,这些改变可能会造成汽车在违反制造商的技术规格和保修规定的情况下行驶,但聪明的改装者却提供选项,可以将所有改动还原,令到损坏及超标使用的汽车符合制造商的保修条款,以期获得合法的赔偿。
图2:Life Racing的引擎控制单元
要减少这些安全问题,应从技术的选定开始。业界专家普遍同意反熔丝是现有最安全的可编程架构,因为要清楚读取以反熔丝为基础器件的状态极之困难。例如,Actel的200万门反熔丝FPGA包含约5,300万个反熔丝,当中只有2-5%会在一般的设计中进行编程。因此,若要成功读取某项设计的内容机会微乎其微,更何况更改其中的编程状态。
一般而言,基于Flash的器件也是安全的;由于Flash的半导体层面不会发生任何物理变化,因此不可能通过非法探测来得知器件的状态。一些供应商甚至采用访问密钥等方案,进一步加强保护措施。Actel的新型ProASICPLUS系列便采用了79至263位长的密钥,一旦用密钥来保护后,内容便不可能被读取,除非对器件进行解锁。相反地,基于SRAM的器件需要外加配置器件(通常为板载PROM),在上电时向SRAM器件发送配置位流。但此位流很容易被黑客拦截,从而进行复制或直接读取其内容。
赛车引擎控制单元(ECU)应用实例
在众多汽车电子系统开发领域中,赛车一直是FPGA大显身手的场所。在汽车ECU领域,FPGA可协助提升灵活性、性能和可靠性。各大涉及赛车业务的机构,如先进引擎研究有限公司(AER,Advanced Engine Research Ltd)属下的电子设计部Life Racing,已开始在其ECU设计中引入Actel以Flash为基础ProASIC Plus的FPGA器件。有竞争力的赛车ECU需要采用复杂的调节算法,专为每个独立的控制器而优化,以管理引擎的定时功能。使用传统的解决方案即标准定时处理单元(TPU)控制器,这个关键软件会随着应用要求的改变,需要进行重大的修改。然而,借助基于Flash的FPGA的系统内可重编程功能 (ISP),设计人员可以利用单芯片的上电运行FPGA器件取代以往的TPU控制器,从而缩短软件开发时间、减少调试需求和加速产品的整体上市时间(图 2)。
在ECU中,一般FPGA的主要功能是从机轴触轮信号中提取引擎的位置信息。FPGA会根据抽象的机轴角度发出CPU中断信号,而非传统设计应用的触轮齿位,因而提高了灵活性和精度。ECU通常会将燃料添加和点火动作编为定时的调度事件,并以调度代码执行时间的引擎工作状况为基础。在事件发生前改变引擎工作状态会引起角度误差,而调度代码往往与当前引擎的机轴触轮轮齿式样密切相关。FPGA能令调度代码不受信号式样影响,还能通过监测引擎工作状况来进行事件调度和持续调节,直至事件发生。此举能提升代码效率和灵活性,同时改善动态状况下的控制精度。 而且,基于Flash的FPGA(如Actel的ProASIC Plus)的上电运行功能,能助设计人员除去传统需要用来阻止燃料注射驱动器或点火线圈驱动器在上电期间启动的附加元件。
Life Racing专有的ECU设计F88便成功地应用于2003年度Superfund World Series的第一轮赛事中 — 这是进入一级方程式大赛(Formula 1)的重要踏脚石。
目前,商用道路车辆制造商也在考虑采用Life Racing的ECU。这个控制单元具有高度灵活性,最适用于原型制造和研发环境,能应付各式不同的引擎设置。FPGA正获得广泛接纳,用于新一代汽车电子的设计方案中。在选择FPGA的过程中深入了解各种技术的独特性能,汽车设计人员便能从最有前景的技术中获益,而不会影响业界在制造高可靠性和成本效益汽车方面的美誉。