文章最后更新时间:2023-11-01,由天天资讯负责审核发布,若内容或图片失效,请联系客服!
李健|华宇通软件联合创始人兼CTO
以下为演讲摘要:
在传统的汽车电控开发模式中,基于CP的中间件开发已成为业界主流的开发模式。 随着智能驾驶的兴起,虽然其应用需求和应用所采用的技术与传统汽车电子控制完全不同,但其系统规模更加复杂。 因此,在智能驾驶场景中,基于基础软件或者中间件的开发模式还是非常有必要的。 通过基础软件,我们可以大大降低智能驾驶系统的开发成本,缩短开发周期,提高软件的可靠性。
智能驾驶基础软件/中间件产业尚处于发展阶段,技术壁垒较高。 无论是ADAS辅助智能驾驶的应用,还是高级别自动驾驶的应用,系统软件都是整个软件架构的重要组成部分,与系统的可靠性和安全性高度相关。
来源:扬声器材料
基于此,华宇通软件致力于智能驾驶基础软件的研发,现已推出全系列智能驾驶基础软件产品。 在与多家主机厂、Tier1的量产合作过程中,我们也发现了基础软件量产过程中出现的一系列挑战,并一一解决。 下面我们就和大家分享一下我们在华宇产品中遇到的问题以及我们使用的解决方案。
DDS量产案例
在量产过程中,通信、执行管理、确定性调度和工具链是我们构建智能驾驶系统时无法回避的话题。 利用开源DDS或开源ROS构建demo级自动驾驶软件平台,可以通过在华宇基础软件的基础上构建满足严格量产要求的系统化软件架构来实现系统的可靠性和稳定性。 是完全不同的。
在通信层面,例如在ARM A核上,量产时通常遇到的问题是多种应用和算法带来的通信场景复杂、数据发送和接收节点众多、通信频率高、数据量非常大等挑战体积。 采用高成本、大功率的计算芯片是目前解决这些问题的常用途径。 然而,随着智能驾驶系统的普及要求越来越高,车企希望用低成本的芯片来构建自动驾驶系统,尽可能充分利用CPU的性能,以合理的方式分配资源。充分利用CPU的目标。 那么如何保证高系统负载下通信的低延迟抖动就成为一个非常重要的问题。 同时,在如此复杂的通信场景下,不同的节点对于通信性能和通信场景有着不同的要求。 华宇通信中间件可以通过非常简单的QoS配置来满足客户复杂多变的通信场景需求。 另外,SoC资源非常丰富,底层通信多种多样。 如何根据不同的应用需求(进程内/进程间/核心间/芯片间/域间)选择最高效的一种,是华宇通信中间件可以帮助客户解决的问题。 实际问题。 在通信过程中,华宇通信中间件可以提供完善的通信诊断支持,帮助用户快速定位通信相关故障。
以下是我们在Tier1量产项目中的实际通信场景。 TDA4和J5之间,TDA4的A核和R核之间需要交换大量的数据。
来源:扬声器材料
TDA4的A核上发布的主题数为56个,从A核接收数据的节点数为105个,从R核接收数据的节点数为8个。通信频率为25赫兹、50 赫兹和 100 赫兹。 通信数据包平均大小为30字节至3M字节,平均每秒收发数据包数为6000个,每秒吞吐量为500M字节。 如此复杂的场景如果不依赖通信中间件,直接从底层实现一个车规级的通信框架会很困难,会消耗大量的人力、物力和时间成本。
在这种复杂的通信场景中,我们使用华宇SWIFT DDS来实现数据互通。 SWIFT DDS部署在J5和TDA4的A核/R核上。 所有通信均通过SWIFT DDS完成,可根据应用的部署位置和要求选择最佳的通信方式。
来源:演讲者材料
另一种情况是双Orin加双TC397架构。 所有通信链路均通过SWIFT DDS在所有芯片上打通。 里面有一个Orin,也会运行一些汽车云相关的应用程序。 可以使用扩展的DDS协议,包括DDS-、DDS-RPC和DDS-WEB,帮助客户方便快捷地直接连接汽车和云端,满足汽车的需求。 端到端和云端通信的具体要求。 在这样的场景下,可以使用同一个华宇通信中间件来统一所有车内通信、车间通信、车到云通信。
在这种情况下,客户为什么选择SWIFT DDS而不是其他选项? 首先,SWIFT DDS可以支持复杂的场景。 通信场景也可以通过其他方式搭建,但在通信过程中,其他搭建方式无法满足通信本身以外的功能和性能需求。 SWIFT DDS通过DDS配置工具可以轻松实现复杂场景下的通信功能和性能需求。
其次,SWIFT DDS支持多种高性能通信。 例如,在TDA4 A核R核通信中,SWIFT DDS会自动切换到更高效的底层进行通信。
三是通信时延抖动的控制。 在量产过程中,A核需要运行几十甚至上百道工序,而这些工序都有自己的周期。 一旦出现通信抖动,这种抖动是不可控的。 例如Some/IP,普通抖动的平均值可能是5毫秒,但如果其在一段时间内的最大抖动值可以达到数百毫秒甚至秒的数量级,对于要求非常严格的上层应用来说时序要求,实在没办法用。 因此,SWIFT DDS提供了支持确定性调度的接口,并针对上述抖动问题做了深入的优化。
最后,还支持诊断和多种通信 QoS。 SWIFT DDS可能针对智能驾驶汽车的场景做了很多优化和改进,但其他解决方案不具备这些功能。
来源:演讲者材料
量产时的执行及状态管理
SoC上运行着许多进程,这些进程都有各自的依赖关系。 大多数公司都是按模块进行开发,最后将模块组合在一起形成一个系统。 在这个过程中,程序是如何部署到硬件上的呢? 它是如何开始和结束的? 对此没有统一的框架。
对于状态管理,量产时必须有一个统一的框架,比如相关的二进制文件。 对于依赖库,运行参数统一管理和配置。 同时,应用的统一部署和OTA升级必须在独立的统一框架下完成,才能达到最高的效率。
另外,我们的执行和状态管理必须隔离进程和资源,以确保一旦A核上运行的多个进程崩溃,其他进程不会受到影响。
针对这些挑战,我们开发了“”执行管理中间件。 在量产过程中,我们的中间件可用于将应用程序配置、开发、部署、运营和OTA统一到一个框架中。
从应用生命周期管理和状态管理的角度来看,“”执行管理中间件可以与上层业务解耦。 用户在只有(所有模块节点的框图和节点之间的数据流图)而没有实际业务代码的情况下,可以根据这些信息来实现所有程序生命周期管理和状态管理,而不依赖于实际的算法实现。 。 而这些功能如果在应用中实现的话,带来的结果将是状态管理和执行管理本身就会与上层业务严重耦合,调试起来非常困难,后续扩展也变得困难。
对于部署和OTA,“”执行管理中间件将程序部署和OTA置于执行管理框架之下。 只要使用同一个框架,就可以实现程序的开发、部署、执行、OTA,以及所有相关的事情。 所有这些都在同一框架下实施,高度保证了其连续性和一致性。
来源:扬声器材料
我们在批量生产中面临的另一个挑战是确定性执行。 Linux的调度机制是尽其所能地进行调度,但并不保证程序在一定时间内执行完毕。 然而,目前在A核上运行的许多智能驾驶算法都有明确的期限和周期要求。 一旦某个程序的执行时间不确定,整个系统的状态就会陷入混乱。 在这个过程中,整个系统不仅在节点上进行计算和处理业务逻辑,而且在节点之间进行通信。 沟通本身也会带来不确定性。
有人提出使用TSN来解决这个问题。 TSN在硬件层面解决了确定性数据传输的问题。 但是,如果用户不愿意在数据链路层使用TSN进行传输,而在传输层使用UDP进行数据传输,那么从链路层到传输层的数据处理过程都会带来新的不确定性。 因此,确定性执行必须解决通信过程中数据从用户进程发送到用户进程接收的端到端确定性通信问题。 针对这一挑战,我们对从用户空间到内核空间的全链路数据发送和接收过程进行了详细的研究、分析和优化,推出了华宇确定性版本的全链路通信。
通过华宇确定性执行模块,用户只需将任务相关信息输入确定性调度即可。 生成确定性调度计划后,再通过确定性调度来实现确定性调度计划,就可以实现跨芯片的实现。 全局确定性调度。
来源:演讲者材料
量产时工具链要求
对于传统MCU或CP的开发,相应的中间件厂商提供了一整套工具链。 但我们在A核上开发智能驾驶应用时,相应的工具链却很少。 Linux上的开发一般是通过API接口调用来完成的,这需要一定的程序开发工作来使用粘合代码将应用程序和底层中间件粘合在一起。 另外,上层业务的数据流向是在抽象算法层面。 如何将算法层面,比如发送数据的类型,映射到中间件的数据类型,也需要一定的工作量。
通常开发过程中的V型模型是一个整个过程的闭环,包括分析、设计、开发、测试、部署和维护。 目前智能驾驶的汽车电子系统软件非常缺少V型流程。
对于V型模型开发的每一个环节,华宇都有相应的工具来帮助您完成这些任务。 比如我们和Code用户可以通过配置的方式来实现自己想要的DDS通信场景。 允许用户在进行DDS测试和调试时直接获取DDS实时通讯状态。 DDS-和DDS-允许用户在实验室环境中回放记录的DDS数据,以方便通信调试。
是华宇推出的自动化集成工具。 通过此,用户只需要提供上层算法即可完成整个智能驾驶应用的集成。 它取代了用户手动集成核心系统软件模块的工作。 用户只需提供系统节点之间的框图、数据流的关系图以及所使用的算法,然后使用SDK进行处理,即可生成可直接运行的、基于汽车构建的智能驾驶应用程序。级中间件。 这样,用户只需关注智能驾驶应用的业务本身,而底层的数据通信、计算调度、执行管理等都由Green进行合成和集成,从而实现智能驾驶的快速构建和部署系统。
来源:演讲者材料
中间件与SOA架构密不可分。 目前,SOA的所有底层基础设施功能基本上都是通过中间件构建的。 SOA虽然可以减少应用程序和节点之间的耦合,但也带来了大量的开发和集成工作。 例如,直接使用第三方中间件,配置复杂度会更高。 在量产项目中,车企可能会使用多个中间件供应商,需要协调多个供应商进行沟通对接。 这个过程会消耗大量的时间/人力成本,使得最终的集成变得非常复杂且不可能。 控制。
使用华宇进行开发和集成,因为所有中间件都是华宇自研,可以覆盖用户上层应用的所有底层需求。 因此,用户只需提供算法,即可快速、轻松地实现量产级智能驾驶软件系统。 。
(以上内容摘自华宇通软件联合创始人兼CTO李健于2023年9月21-22日在2023第三届智能汽车域控制器与中央计算平台创新峰会上发表的《全场景汽车芯片助力》。 -领域集成”主题演讲。)