电子工程专辑
UBM China

如何利用FPGA新特性实现高可靠性汽车系统设计

上网日期: 2009年02月12日 ?? 作者: Kerry Howell ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:FPGA? 汽车? 系统设计?

目前,汽车中使用的复杂电子系统越来越多,而汽车系统的任何故障都会置乘客于险境,这就要求设计出具有“高度可靠性”的系统。同时,由于FPGA能够集成和实现复杂的功能,因而系统设计人员往往倾向于在这些系统中采用FPGA。不过,将FPGA用于汽车系统时需要关注两个主要问题:确保用于FPGA初始化的配置代码正确无误;防止器件工作时SRAM的内容遭到损坏。只有这些问题得到彻底解决,FPGA才能成为高度可靠汽车系统的组成部分。幸运的是,目前通过AEC-Q100认证的FPGA已加入先进的特性,能够有效解决上述问题。本文介绍的几个方案可用于解决保护初始化配置和防止潜在的SRAM内容损坏的问题。

保护FPGA的配置

随着系统上电,基于SRAM的FPGA将从外部源加载其配置。引导源可以是存储器件,如串行EEPROM或Flash ,也可以是智能器件,如微控制器。针对初始化位流,所有的FPGA都具有某种类型的循环冗余校验(CRC),在启动结束时进行测试,检验传送是否完整。如果在位流中检测到一个差错,FPGA将无法初始化。这可以防止系统产生错误的(也可能是危险的)操作。大多数的FPGA将通过对一个外部引脚置位,来告知系统控制器初始化失败,请求另一个初始化序列,以期取得配置成功。在遇到以下几种情况时,会发生初始化位流的损坏情况:

* 引导存储器的硬件故障

* 存储器内容保存的问题

* 蓄意篡改

* 存储器内容被擦除

* 电气噪声

利用FPGA设计高可靠性的汽车系统时,为了正确处理这些情况,必须遵循以下四个基本步骤:

第一步是使用具有片上闪存的非易失性SRAM FPGA。这改变了从外部存储器引导配置载入FPGA内部的方式。采用将引导源移入同一块芯片的方法消除了许多常见的初始化失败模式。这种类型的集成设计还提升了初始化速度,可在即时启动系统中使用这种FPGA。

第二步是添加一个可靠的外部自行引导器件(图1)。FPGA的一个主要特点是能够现场重复编程。对汽车系统而言,这一特性允许下载新的程序,用于授权的现场更新,修复设计错误或添加额外的功能。不过,在传输和对存储器编程期间,数据流可能被损坏,而且损坏的数据流会阻止正确的FPGA初始化。为了应对更新过程中的损坏,在外部存储器件中已复制了初始化代码,称为“golden”的厂家备份。即便有任何问题,存储在内部存储器的配置代码都可以使该系统得到恢复。通过添加第二个引导器件,就能够保证厂家备份,或至少可以具有“间接恢复”系统的功能。

图1   FPGA双引导系统
图1:FPGA双引导系统。

第三步是保护存储在外部存储器件中的位流备份,采用位流加密来保护引导配置代码(图2)。许多车用FPGA系列支持128位AES位流加密,以防止逆向工程和未经授权地对设计进行更改。在外部引导器件中存储着加密的配置代码,可以在初始化时译码,然后再移入SRAM单元。同样的加密机制也可以用来将一个新的配置代码载入内部闪存。

图2   外部引导的AEC译码或Flash编程位流。
图2:外部引导的AEC译码或Flash编程位流。


1???2?下一页?最后一页





我来评论 - 如何利用FPGA新特性实现高可靠性汽车系统设计
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X