选用FPGA和完整的IP解决方案优化汽车电气架构设计
扫描二维码
随时随地手机看文章
过去十年来,车载网络架构变得越来越复杂。虽然车载网络协议的数量有所减少,但实际部署的网络数量却有显著增加。这就提出了网络架构的可缩放性问题,并且要求为满足各种应用和网络的实际需要而优化半导体器件。
FPGA曾一度被认为是仅用于开发的解决方案,但如今其价位下降非常迅速,使得许多问题迎刃而解,甚至能以低于传统ASIC或ASSP解决方案的总体系统成本投产。现在,面向汽车市场的各大FPGA供应商均已通过ISO-TS16949认证,使得可编程逻辑器件逐渐成为汽车市场的主流技术。
车载网络电气架构
在过去十年间,很多专用的OEM汽车制造商的网络协议已经让位于CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN" title="CAN">CAN、MOST 和 FlexRay等更为标准化的全球协议。因此,半导体供应商可以专心制造符合这些协议的器件,并使一级配件供应商竞争更加激烈并且纷纷降价,同时也促进了汽车OEM制造商之间的模块互通性。但是,今天的汽车电气架构中仍有许多问题困扰着汽车OEM制造商和一级配件供应商。
工程师可以按几种不同方式划分和制定网络策略。高端汽车最多可有七条不同网络总线同时运行。例如,一辆汽车可以有一条LIN回路用于后视镜、一条500Kbps的低速CAN回路用于座椅或车门控制等低端功能、一条1Mbps的高速CAN回路用于车身控制、另一条高速CAN回路用于驾驶员信息系统、一条10Mbps的FlexRay回路用来提供实时驾驶员辅助数据,以及一条25Mbps的MOST回路用于在导航或后座娱乐等多种信息娱乐系统内部或之间传输控制和媒体流。
另一方面,低档汽车可以只有一条LIN或CAN回路,令所有其他模块几乎毫无交互操作地独立工作。不同OEM汽车制造商会以不同方式处理模块间通信和汽车网络拓扑结构,而且每种车载平台都不同,这使一级配件供应商难以开发既有正确接口又可重复使用的模块架构。容纳模块的最终架构的不确定性正是FPGA的用武之地。
ASIC、ASSP和微控制器具有固定的硬件架构,其资源往往不是缺乏就是过剩,毫无灵活性可言。FPGA的可编程性(以及可再编程性)便于增减片上通道(如CAN通道),而且允许重复使用IP。有了这种灵活性,即可将针对网络接口的数量和类型优化过的解决方案迅速制成模块。
网络协议的半导体实现
FPGA的长处不仅在于接口数量与类型方面的可缩放性。对ASSP、ASIC和微控制器来说,其外设宏指令是用硬件实现的,因此天生就缺少灵活性。而在FPGA环境中,网络接口IP本身可根据所用IP进行优化。
例如,利用Xilinx LogiCORE CAN或FlexRay网络IP,用户可以灵活地设置发送和接收缓冲器的数量以及滤波器的数量。在传统硬件解决方案中,使用CAN控制器的工程师通常只有16、32和64个消息缓冲器这三种配置选择。根据系统功能的级别和FPGA外部的可用处理能力,Xilinx的可缩放MOST网络接口解决方案包括可配置成主操作或从操作的网络控制器IP以及异步采样速率转换器(ASRC)、数据路由器或者复制保护用加密引擎等大量IP。
这种IP允许优化,既能装入低端解决方案中的较低密度器件,也能装入高端解决方案的较高密度器件,并且常常在模块的目标电路板上使用相同的封装外形。另外,对于各主要协议,业界已开发出可完善解决方案的中间件堆栈和驱动器。FPGA解决方案的这种可缩放性和通用性在传统汽车硬件解决方案中是根本不可能实现的。
各大FPGA供应商都有软微处理器,这些软微处理器可以在控制功能的架构中高效实现,并且其运行速度可与某些硬件中嵌入的微处理器媲美。FPGA架构的另一大优势是能够通过使用乘法器或片上硬MAC中的并行DSP处理功能来卸载微处理器和分区上的处理任务,从而提高总体性能和吞吐量。
可编程逻辑器件已取得长足进步
可编程逻辑器件已取得长足进步,逐渐成为汽车市场的主流技术。各种可编程逻辑器件在可靠性方面难分伯仲,而FPGA技术则可以实现可缩放的灵活的集成,这在传统的ASIC、ASSP或微控制器架构中是不可能实现的。开发周期缩短,可编程逻辑器件供应商采用先进的工艺技术以及可编程器件必然带来的规模经济,这些均促使总体生产系统成本得以降低。
随着车载网络的关键IP和解决方案日趋成熟以及FPGA架构的性能潜力逐渐提高,可编程逻辑器件将在攻克车载电气架构开发中固有的某些工程难题方面发挥重要作用。