对汽车开发的一些理解

         一辆汽车上布满了大量的ECU(电子控制单元),比如我熟悉的中控、仪表,本质上也是车上的ECU,还有很多其他的ECU比如发动机ECU、空调系统ECU等等。ECU之间的通信需要通过CAN总线,比如空调系统出现故障了,那么空调系统ECU需要通过CAN发送故障信号给仪表ECU,这样仪表屏幕才能显示空调故障的信息。

         每个ECU都嵌入了芯片,然后在芯片上面写软件代码,来实现一定的功能,比如仪表ECU,就以纯液晶显示的仪表为例,它的ECU里有MCU芯片和SOC芯片,通过软件实现,使得仪表可以接收到车上其它ECU的信号,进行一定的软件处理后,使得这些信号能够成为仪表上显示的信息。

        在芯片上写软件代码,本身不是一件容易的事,需要熟悉芯片的特性。如果所有的软件代码都通过手写,会带来很多问题。比如仪表ECU今年用的是芯片A,明年用的是芯片B,芯片不同了,那么代码也需要重新写,这样开发的成本也就高了,而人工手写代码总是容易出现很多问题,那么维护需要成本和时间。

        于是有人在想,能不能把旧的代码直接用在新的芯片上呢?或者说尽量少写新的代码,减少开发成本。答案当然是有咯,也就是在国际上制定一套标准,全世界所有的汽车开发都要遵循这套标准去开发,这套标准就是AUTOSAR,不过这套标准是针对底层的。在此需要说明一下,每个ECU的软件其实可以分为底层和上层,比如我们的Windows操作系统,他就是底层,因为操作系统需要和硬件(芯片)打交道,相对于它来说,在这个系统上安装的软件可以认为是上层,也就是上层不需要关心我们的硬件,它只要知道操作系统就行。那么ECU也是一样,底层的软件代码以前也是手写的,现在有了AUTOSAR的标准体系后,这些代码可以不需要手写,而是通过实现了这套标准的特定软件生成这个代码,有了标准,那么一切都按标准来,错误的概率也就少了,维护成本也就低一些。即使汽车的硬件换了,我们只要动动手指操作一下软件,就能生成对应的底层代码。而上层代码,就还得自己写,它是用来实现具体功能的,实现这些功能时不需要考虑底层的硬件,那么AUTOSAR就相当于把软件和硬件分离开来了,这样即使硬件平台改变了,也能把上层代码直接移植到新平台。不过汽车上的每个ECU采用的芯片可能都是不同的,就需要针对不同的芯片,用AUTOSAR生成不同的代码。但总的来说还是能够降低很多成本的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值