LG 电子使用快速原型工作流开发智能前照灯
挑战
为下一代智能前照灯开发视频处理和控制算法
解决方案
将基于模型的设计与 MATLAB、Simulink 和 HDL Coder 结合使用,以建立原型工作流,用于对基于 FPGA 的视频处理设计进行建模、仿真和实现
结果
- 在原型硬件上快速实现了需求
- 缩短了编码和验证时间
- 提高了代码一致性和可重用性
LG 电子的材料和设备高级研究中心光学实验室的工程师们正在研发下一代汽车智能前照灯。该智能前照灯模块能够根据环境中检测到的目标(如路标、来车以及行人)动态控制车辆的前照明系统。为了对路况作出有效反应,控制算法需要快速识别检测到的目标,然后控制光束投影器中的数百个 LED 模块。
LG 电子与旗下子公司 ZKW 合作,采用基于模型的设计,通过 MATLAB®、Simulink® 和 HDL Coder™ 构建了基于 FPGA 的原型平台,可以生成 LED 前照灯要投影的正确光图案。
LG 电子的硬件/软件集成专家 Jiyoung Jeong 表示,“通过将 MATLAB 和 Simulink 与基于模型的设计结合使用,可以轻松地设计各公司负责的部件并将其集成在单个工程工作流中。MATLAB 和 Simulink 不但改进了现有嵌入式硬件实现工作流,而且还易于与现有仿真和系统相集成。”
挑战
对于智能前照灯,一项关键要求是能够快速响应检测到的环境变化。为了满足这项要求,该团队需要将视频处理系统作为基于 FPGA 的原型来实现。但在当时,他们缺乏创建客户要求的自定义函数所需的工具。
智能前照灯是 LG 电子的新品。原始设备制造商客户请求在六个月内就要提供原型,这无疑加剧了此类工程面临的挑战。过去,LG 电子的团队手动编写 HDL 代码,以在 FPGA 上实现高速视频处理算法。由于采用了这种手动工作流,开发和验证复杂算法需要很长时间,而且硬件实现过程中引入的编码错误也需要额外的调试时间。鉴于交付原型的截止时间非常紧迫,传统方法需要的时间太长了。
解决方案
LG 电子的工程师将基于模型的设计与 MATLAB、Simulink 以及 HDL Coder 结合使用来设计和实现基于 FPGA 的原型开发平台。该团队一开始考虑过使用 Xilinx® Model Composer,但发现 HDL Coder 的定点转换自动化、对自定义函数开发的支持以及整体工作流集成能够更好地满足其需求。ZKW 对基于此平台的产品执行了最后的调整和测试。
LG 电子的团队使用 Image Processing Toolbox™ 和 Computer Vision Toolbox™ 中的模块和函数,在 Simulink 中设计了一种基于帧的视频处理算法。为了准备 HDL 实现,他们随后使用 Vision HDL Toolbox™ 中的硬件就绪模块创建了该算法的像素流版本。该团队在 Simulink 中运行了基于帧和基于像素的仿真,以使用视频文件以及来自评估板的实际输入来验证其算法设计。
通过仿真验证了视频处理算法后,工程师使用 HDL Coder 和 Xilinx 支持包为其 Xilinx Zynq® UltraScale+ MPSoC 目标生成了可综合的 VHDL 代码。他们使用了 HDL Coder 来探索各种设计选项,并寻找满足其资源和速度需求的解决方案。
他们还使用了 Embedded Coder® 来开发适用于 SoC 的 Arm Cortex-A53 处理器的应用。该应用支持在原型构建期间实时调整视频处理算法。
LG 电子的工程师在截止日期前成功部署并测试了基于 FPGA 的视频处理系统原型。现在,他们正计划使用相同的工作流实现基于 ECU 的原型。
结果
- 在原型硬件上快速实现了需求。“我们能够直接在模型中实现需求,在 Simulink 中通过帧级和像素级仿真检查结果的有效性,并使用 HDL Coder 在目标 FPGA 上快速构建原型,”Jeong 说道。
- 缩短了编码和验证时间。“由于使用 HDL Coder 可以自动生成 HDL 代码,因此,我们将编码和验证所需的时间分别减少了 80% 和 30%,”Jeong 说道。“据估计,通过使用硬件支持包中的功能,我们将原型构建时间减少了 50%。”
- 提高了代码一致性和可重用性。“使用 HDL Coder 生成代码时,我们始终依据相同的代码生成规则。这样生成的代码具有更高的一致性,这在多人处理同一工程时很有帮助,”Jeong 说道。“我们还通过使用 Simulink 工程和创建可重用的 Simulink 模型库提高了可重用性,这些功能是通用 FPGA 工具所不能实现的。”