为您的汽车编程;用代码移动世界

为您的汽车编程;用代码移动世界

如果您是有意或无意阅读本文的人,我会假设您是生活在 21 世纪的人(至少)并且在您的生活中的某个时候或其他时候骑过汽车或驾驶过汽车.我们对汽车的了解是,它们是艺术与科学的美丽结合(婚姻和汽车都在同一句话中;大多数男人的童话:D)。但多年来,汽车的科学部分一直在扩展到各个领域。在短短几十年内,汽车从可以带你去任何地方的纯机械野兽变成了豪华的身份象征,还可以为几乎每个人的生活中的机电日常需求提供动力。现代汽车对计算机的依赖程度非常高,就像它在发动机上使用了一个多世纪一样。

The Central Nervous system of a car

历史:

汽车中的计算机,运行了几十年,对你们中的一些人来说可能听起来很疯狂,所以让我们开始一点历史课,了解它从哪里开始以及它从哪里发展到现在。我们可能都听过一两个关于德国人如何在几乎所有行业中彻底改变技术的故事,这也适用于这里,这就是一家名为大众汽车的“小”公司如何保持其发动机运转并永远扩张直到现在。 1968 年发布的第一款真正计算机化的大众市场汽车是大众 III 型汽车。它配备了 Jetronics 电子燃油喷射系统 博世。

The Living proof of VW German engineering in Japan .

你对计算机的看法改变了计算机被集成到汽车中的时间线,但这里我们举一个最常见的例子来说明什么是简单的计算机;一个 印刷电路板 在汽车方面,机械师的手工工具无法修理的东西。当计算机革命从汽车开始时从未停止过,并且一直在不断增长,以至于现在我们可以将汽车分为两个主要系统,一个是它的循环系统,它也部分地由它的包含所有大脑的 CNS(中枢神经系统)控制和包含保险丝的故障安全系统。自然每个人都想在这个蓬勃发展的市场中分一杯羹,福特在 1978 年追随大众汽车的脚步,推出了林肯凡尔赛。很快,从经销商处推出的大多数新车都集成了一种或另一种计算机化系统。可能是通用汽车、福特、大众、梅赛德斯、宝马、保时捷或丰田(以某种方式建立他们品牌的基础),还有更多人希望他们的汽车尽快成为车轮上的计算机。在一个令人惊讶的事件转折中,导致这种变化的原因是,由于政府排放标准越来越严格,ECU 变得必不可少。自 1970 年代后期以来,由于政府排放标准日益严格,ECU 已成为大多数汽车的标准设备。这是关于汽车大脑历史的大量课程。

Ford Lincoln Versailles 1978

现代汽车的故障;保险杠到保险杠,一点一点:

General Breakdown of a new age car

如果我开始描述汽车电气系统的每一个部分;填写所有信息需要一本书,所以我们将坚持最重要的,让您的汽车保持运转和呼吸,同时让您保持娱乐和了解情况,因为汽车的中控台也是汽车的重要组成部分。整个机车体验。总体而言,车载计算机系统的工作是监控和管理您的汽车的功能和性能。自从车载计算机的进步以来,汽车变得更高效、更安全、更容易驾驶。以下是当今大多数汽车中可以找到的 ECU(较小的单单元计算机)的列表:

  1. ECM(发动机控制模块)
  2. PCM(电源控制模块)
  3. BCM(车身控制模块)
  4. TCM(传输控制模块)
  5. ABS控制模块
  6. 安全气囊控制模块

您可以通过单击找到所有这些功能的简要概述 这里 .现在,我们都知道,只要涉及到一台计算机,总会有直接或间接的方式;涉及 人机 交互 , 通过 以 编程 的 形式 赋予 我们 的 魔力 使 这 成为 可能 .

与电脑对话:

现在,您可能还记得,从上面的历史部分,汽车计算真正开始受到影响和关注是从 70 年代中后期开始的,这不仅仅是巧合。第一种高级编程语言于 1978 年推出,今天我们将其称为“C”语言。因此,顺其自然,汽车计算机芯片编程中最流行的语言仍然是C语言,例如销量最高的汽车公司在其车载计算机中主要使用C语言,现在他们和许多其他公司已经开始使用C语言。由于汽车行业的发展,转向更快和不同的语言和模型。现在,也有第三方公司提供编程服务,在汽车中集成和部署计算机,或者我们可以说,将大脑植入汽车的车身并教他们做什么。这些第三方公司正在使用广泛的技术并升级到新的编程语言和技术,因为它们具有更好的安全性(变化的最重要方面)和更好的与旧技术集成的能力。到目前为止,我们讨论的是了解汽车的计算能力组件的骨架,并让汽车的外壳和纯粹的机械动力与计算能力相适应并完美地使用它。现在,我们来看看今天的汽车在吸取从这些工作中获得的知识和经验方面的出色之处,以及这些新车是如何成为可能的(纯粹用计算机术语来说),其中你甚至无法区分电动汽车单位 和 机械 , 因为 它们 已经 被 淹没 , 彼此 完美 地 交织 在一起 , 没有 另一个 就 不能 存在 .为了进一步挖掘,我们举了一个活生生的例子,一家新兴公司为客户市场制造汽车,这些市场非常非常独特,完美无缺,这些汽车正在为塑造汽车的未来铺平道路。公司和汽车也是如此。

我们现在和未来的汽车:

Tesla Plaid on the right and Rimac Nevera on the left on a drag strip

您在上面看到的汽车并不是未来的超现实梦想汽车,相反,它们都是顶级汽车,一些在公共场合合法驾驶的最快汽车,除了非常出色之外,它们还有什么共同点依靠他们的计算机和软件来获得豪华和性能,他们甚至否定了内燃机的使用,这意味着除了拥有如此多的 ECU 之外,您现在还有一个电动马达可以相应地调整和调整以使汽车运行。现在,特斯拉成为电动领域的领导者,为其他所有公司树立了先例。我将与您分享 RIMAC 用于开发其汽车软件的技术、语言和系统,并成功地将电动超级汽车推向消费市场。

RIMAC 如何为汽车编码:

我找到了对应用程序团队负责人和高级开发人员的采访,他们深入了解了编码、测试和集成如何为他们自己的汽车和他们的客户工作,客户的大腕是 保时捷、现代、起亚、宾尼法利纳汽车、科尼赛克和阿斯顿马丁。 在您说您从未听说过 Rimac 之前,让我提醒您,自 2022 年 1 月以来,Rimac 是一家名为“布加迪”的小公司及其所有生产的骄傲所有者。

代码分解:

Rimac 用于汽车的高级软件可以分解为两个不同的部分或组件。

  1. 车内
  2. 关闭车辆

车内:

它可以分为两个层次;

一个) 操作系统级别 :它是一种定制的基于linux的设计,在车内的芯片和计算机上运行;由于它是基于 linux 的,这里使用的编码和语言非常简单和直接,例如开发人员使用纯 C、C++、Bash 和 Python 脚本来完成汽车操作系统中的大部分工作。

b) 应用层 :这是所有工作都需要完成的地方,用最简单的话来说,就是为了让汽车平稳运行,它使用 qt 框架。 对于前端, QML 和 Java 脚本 而后端的工作是在 C++ .

离车:

非车辆工作在两个阶段之间完成,可列出如下:

远程信息处理阶段: 用于监控、确定、调整和记录汽车的技术首先是用于连接。 节点.jsJava 和 Scala 用于工作后端。

移动开发:

大多数情况下,移动应用程序是供开发人员调试的,如果需要,可能会为客户提供一些版本,但权限非常少。用于开发移动、简单的 Java kotlin 和 Swift 。

软件部署:

这是一件极其敏感的事情,可以说是其中最危险、最危险的事情。因为如果系统在部署后没有得到正确的测试或者存在一些安全问题,那么你就是在玩弄成百上千人的生命。因此,我们需要使部署尽可能简单。为此,Rimac 确保部署在 3 个不同的阶段完成,每个阶段都经过各种测试并确保一切正常运行。

  1. 桌面部署。
  2. 虚拟/副本系统上的部署和集成。
  3. 在汽车中部署和最终测试。

1) 桌面部署:

发布新功能后,您只需像在任何软件上一样对其进行测试,但因为这是我们正在谈论的汽车,我们为需要更多人手测试的软件提供了特殊的模拟/测试软件。否则,它很容易在台式计算机上部署您的功能。

2)Replica System Car上的部署与集成:

在 Rimac 汽车行业,有一个专门为第二个部署阶段设计的房间,它们是组装在汽车中的汽车的整个系统,所有当前使用或未使用的 ecu 都存在并组装,要部署的新功能是加载到系统中并像最终产品一样集成,所有连接和集成问题都被捕获,然后尝试提出解决方案。

3) 成品中的最终部署:

经过一系列的激烈测试,机械外壳一块块一块一块地吃进了它的电脑大脑,最后出来的只是一个经得起时间考验的惊人奇迹。最终集成在汽车上完成,现在新安装的功能可以与所有 ECU 通信,现代汽车中可以有多达 70 个 ECU。

结论:

完全自动驾驶汽车网络的未来现在似乎并不遥不可及,但需要大量时间,根据一项研究,到 2030 年,汽车成本的近 40% 将用于软件组件,到目前为止,我们已经非常接近这些数字,并且到 2030 年将超过这些数字。但随着需求的增长,对专业知识和特定技能的复杂性和要求也呈指数级增长,为了克服这些差距并快速迈向自动或半自动驾驶的未来,我们需要培养更多熟练的程序员和工程师,以最大限度地减少在这方面正在形成指数级的差距。

Complexity increasing throughout the year (metric :lines of code)

参考:

  1. https://wuling.id/en/blog/autotips/car-ecu-know-the-functions-types-and-characteristics-of-the-damage
  2. https://www.newelectronics.co.uk/content/features/software-coding-standards-in-automotive-is-becoming-vital
  3. https://www.mckinsey.com/industries/automotive-and-assembly/our-insights/when-code-is-king-mastering-automotive-software-excellence
  4. https://en.wikipedia.org/wiki/Printed_circuit_board#:~:text=A%20printed%20circuit%20board%20(PCB,another%20in%20a%20controlled%20manner.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/38394/36412111

posted @ 2022-09-21 11:39  哈哈哈来了啊啊啊  阅读(137)  评论(0编辑  收藏  举报