技术文章和通讯

加速传感器开发与快速原型和基于模型的设计

马丁·海因赫拉Fahrzeugkomponenten GmbH是一家


汽车制造商购买一个新的传感器系统之前,他们希望看到一个实时传感器在汽车工作环境的原型,以评估它的性能和潜在的修改它的规范。例如,我们经常需要证明我们传感器的一个早期版本,通常合并算法和逻辑上实现FPGA或微处理器。要达到这个要求,我们使用了一个定制的快速控制原型平台和基于模型的设计构建实时的原型新设计在开发过程的早期。实时原型(赫拉作为一个样本)是一个概念证明,生活在开发规范。

而不是等待长达两年的ASIC实现,我们可以生产一个样品,包含大约80%的最终产品在几个月的功能。工作样本使我们与客户在发展早期改进传感器的功能和评价代码大小,划分模块,硬件要求。测试组使用一个示例设置测试环境和测试套件,这样测试就可以开始生产样品,实现ASIC或微处理器,已经准备好了。

创建一个灵活的原型环境

我们建立了赫拉Fahrzeugkomponenten GmbH是一家快速控制原型(HFK RCP)单位因为商业化替代缺少我们所需要的灵活性。大多数现成的原型系统只支持ECU软件开发,但传感器的设计可能还包括硬件描述语言(VHDL金宝app)®代码和离散的电子元件。第二个商业系统的局限性是它提供了固定的一组接口。在很多的我们必须支持各种通信协议和金宝app接口硬件,包括SPI,我2C,林,XCP,可以发送。

基于模型的设计和自定义原型环境我们可以添加新的接口,协议,根据需要和能力。我们可以针对微处理器和fpga开发规范和使用原型环境扩展或改进我们已经生产处理器上实现的算法。

从需求到设计

我们的开发过程,遵循v模型,包括五个主要步骤:需求分析、算法设计、生产代码生成代码验证和测试。在需求分析阶段,我们与我们的客户合作,定义系统需求在IBM®理性的®®。然后,我们创建一个初始模型在仿真软件的设计金宝app®(图1)。

Hella_Fig1_w.jpg
图1所示。金宝app仿真软件系统模型。

我们使用仿真软金宝app件验证和确认在R2017b™(转换)要求门映射到模型的元素,使双向可追溯性的要求。

当创建我们的模型,我们使用模型顾问以确保遵守MathWorks汽车咨询委员会(MAAB)算法建模指南。我们还包括模型顾问检查基于开发的指导方针在很多的内部。

早期初始浮点设计的功能验证,我们在仿真软件模拟运行,刺激模型与试验数据从类似的传感器收集或生成模型块。金宝app这些model-in-the-loop测试后,我们检查模型覆盖报告创建仿真软件验证和确认确定未测试的元素在我们的模型中,根据需要更新测试增加覆盖范围。金宝app

在准备测试快速原型平台,我们模型的通信接口,使传感器算法在车辆运行。与MathWorks顾问合作,我们已经开发出一种当地的互连网络模型(林)blockset,已使我们扩大我们的原型系统的功能来支持林。金宝app金宝app

从模型的原型

模型的内部设计审查后,我们的设计进入HFK RCP单元(图2)。HFK RCP支持广泛的设计配置一套标准化的组件,包括TI的C2000金宝app微处理器,Xilinx®FPGA和连接器,汽车公共汽车和传感器,以及一个区域离散的电子元件。

Hella_Fig2_w.jpg
图2。赫拉工作流使用HFK RCP单元和基于模型的设计。

对于目标微处理器的设计,我们使用嵌入式编码器从我们的仿真软件模型生成代码并将其部署到HFK RC金宝appP的TI C2000处理器单元。如果全部或部分的设计需要一个FPGA,我们使用HDL编码器从模型生成VHDL代码部署在Xilinx FPGA。

从原型到生产

一旦我们确认使用HFK RCP的概念验证样本单位,我们准备设计实施系列处理器。我们使用定点顾问定点设计师将浮点模型初始定点设计。定点顾问使我们能够优化代码大小,内存占用和定点缩放。然后我们再核对符合建模指南并重新运行模拟,使用仿真软件验证和确认生成模型覆盖率和圈复杂度指标信息。金宝app我们从浮点和定点模型比较结果,以确保没有错误在介绍了转换。

我们使用software-in-the-loop (SIL)测试来验证我们的算法的实现在C和processor-in-the-loop(公益诉讼)的测试来验证该算法在实时硬件。这样我们确保模型,我们已经验证,实现不引入错误。

对于银测试,我们使用仿真软件编码器金宝app从传感器算法生成C代码组件在我们的仿真软件模型。金宝app然后替换这些组件模型中的一个功能,其中包含生成的C代码,并重新运行模拟。再次我们之前比较结果和测试结果,这一次来验证软件的实现。

我们最近与MathWorks顾问开发嵌入式编码目标78 k系列微控制器,使公益诉讼测试我们的瑞萨®78 k单片机。我们现在可以使用嵌入式编码器生成代码,我们部署为公益诉讼和车载测试设备。

从原型到生产不同的路径取决于原型是如何实现的。如果我们使用HDL编码器生成VHDL FPGA,了我们设计和生成的硬件描述语言(VHDL)外部合作伙伴,他们产生一种基于原型的ASIC。因为我们有完全验证了模型及其HDL实现,我们的asic需要更少的迭代,这除了降低成本外,几乎消除了项目延迟。

然而,如果我们针对单片机为原型,在很多的我们继续生产。我们使用嵌入式编码器生成ANSI C代码的定点生产单片机仿真软件模型和目标。金宝app生成的代码在赫拉都经过了严格的测试程序,包括集成测试和静态分析与Polyspace客户对于C / c++和Polyspace服务器C / c++。ANSI C代码的最终集成到目标然后使用IBM Rational Rhapsody完成®(C / c++)。

通过调整代码生成设置和建立建模指南后,我们可以生成生产比等效手写代码更紧凑的代码。通过重用我们的原型模型生产代码生成、开发时间减少了约60%。进一步,基于模型的设计和HFK RCP单元我们可以在开发早期运行测试,这使我们能够确认需求和验证设计决策比以前早几个月。

2013 - 92092 v00出版