今天主要有两个议题,一个是关于特斯拉Model 3的“Communication Architecture”(网络拓扑图),我们有了新的发现;一个是我们一直在‘钻研’的Model 3的总线信号破解阶段性成果的展现。此次也是‘抛砖引玉’,希望更多的人参与进来‘参透’特斯拉的‘设计密码’。
一、Model 3 Communication Architecture的新发现
...这个新的发现其实是相比之前整理的网络拓扑图的补充——抱歉这个‘Communication Architecture’暂时不方便放在文章中,如果有兴趣的可以根据文末的提示进行沟通——我们先附上根据原理图整理而来的拓扑图。
图1 特斯拉Model 3网络拓扑图_20191215
补充了哪些内容呢?
1、几大核心控制器的‘Enclosure’(封装)内部原理
包括BCM Left/Right、Autopilot+MCU(Media)、HVC(High Voltage Controller)、EPS等,最典型的莫过于连接超声波雷达的BCM Right了——强行‘Single Enclosure’——根据这些原理、可以很清晰地了解到特斯拉的设计思路;
2、明确了同一网段、同一控制器占用不同管脚的“事实”
这么说可能有人不理解,大家可以先看下面的示意图:
图2 特斯拉Model 3右车身控制器网络连接示意图
这种连接方式,如果只根据整车原理是看不出来差别的——因为它们是占用了不同的管脚但同时它们也是同一个网段。这点可以在第二章节中的报文记录中得到佐证。特斯拉对这种设计‘乐此不疲’,本质是将线束钉点放到了ECU板端,出于线束分区的考虑;
3、定义了不同节点的唤醒行为并区分了‘Powered during vehicle sleep’
...这就是系统工程师应该做的、而且很方便在拓扑图里面体现的内容。
特斯拉没去扯什么网络管理,就告诉你:这个节点的这个网段需要网络唤醒、那个节点需要在整车休闲状态下仍然供电,直击问题本源;
4、标明了控制器的供应商
我这里做了简单的汇总,
图3 Tesla Model 3控制器供应商分布饼图
据上图的不完全统计,特斯拉自研的控制器占据了大半壁‘江山’!
...当初还只是自研核心的三电、中控以及AP,现在连车身控制器这种‘低门槛’的也不放过(当然还有其他比较重要的,像是Security Controller),简直丧心病狂!
除非真有两板斧(掌握核心技术),控制器供应商的日子不好过啊。
5、当然还有余下细枝末节的,比如终端节点的设计、选装节点的设计等等。
二、Model 3总线信号破解
...其实Model S/Model X我们也有破解,只不过一个‘年代’久远(两年?)、一个Model 3才是当红炸子‘车’呀,这是她应得的荣耀...
在开始之前,我们先来看下以前文章中的铺垫:
Private CAN(即PARTY CAN),连接驱动模块、AP,底盘的转向、制动,推测承载车辆最基本、也是最主要的驱动、底盘控制等功能模块信息交互——再多说一点,这一路在不拆车的情况很难接入;
Vehicle CAN,连接三大车身控制器、高压管理模块以及VSC(Security Controller),推测主要实现传统车身域功能(负载控制、空调、进入退出)以及高压管理——这一路也是最容易accessible的,用不着拆车;
Chassis CAN,相比来说这一路是最传统的,连接了制动、转向、气囊等。
我们此次介绍的是Vehicle CAN的内容——以下数据整理均基于Model 3进口版LR RWD v10.2(2019.40.50.7)。
之前也没有“介绍总线设计”这类的经验,我想了下,从两个方面展开吧。一个是总体情况说明、一个是典型工况数据展示,其他的如果有更专业的解读或是需求,可以根据文末的提示进行沟通。
1、Model 3 Vehicle CAN总体情况说明
(1)ID分布从0x0C~0x7FF(未发送诊断请求)、总计280帧报文
图4 Tesla Model 3 Vehicle CAN CANoe Trace窗口概览
感觉报文帧数还是多(我没太多的概念,搞网络设计的可以来说一说),信号更是多如牛毛,稍后我们会看破解获取的信号情况。
(2)该网段负载率最小38%、最大55%、平均能达49%!
图5 Tesla Model 3 Vehicle CAN负载率状态(冬季夜晚正常行驶工况)
(3)根据破解的信息可知,Model 3中大量使用了multiplexing类型,比如实时性要求不高的状态量;各节点与DTC对应的‘当前’故障状态——我个人推测后台使用的是这个数据实时获取车辆状态而非诊断请求;以及结构化的节点报文帧结构,详见下图。其中alertMatrix即当前故障位、info则包含版本/生产等track信息、status及ECU节点的系统状态信息。
图6 Tesla Model 3 Vehicle CAN中EPB Left发送报文matrix示意图
(4)破解程度为66.4%(186fr/280fr),另有某个需要‘深度benchmark特斯拉Model 3’客户的信号需求的匹配度分析如下图。总体来说可利用的信息比较丰富。
图7 Tesla Model 3 Vehicle CAN总线破解某客户需求匹配饼图
注:
1.无此信号:没找到相应信号,比如“12V电池SOC”;
2.无此信号但有相关信号:没有唯一对应的信号,但是通过其他信号可以间接得到想要的信号,比如“BMS故障等级”没有,但是有很多的alert(推测为与DTC对应的当前故障状态),可以参考;
3.有此信号但难获取:有信号定义,但不是从方便获取的Vehicle CAN监听,比如轮速信号;
4.有此信号且可提供更多:不仅有对应的信号,还可以提供更多的,比如“档位”不仅有整车逻辑档位,还可以提供换档杆物理状态;
5.有此信号且易获取:有对应信号且就在Vehicle CAN上,比如绝大多数的信号。
2、典型工况
...相信真正搞系统/性能/测试的会设计更多、更专业的use case,去挖掘更多的信息,我们这里只提供典型的工况。其中已知的信号包括但不限于:
*整车状态(驾驶行为、驻车、踏板、里程...)
*电机+逆变器(转速、扭矩、温度...)
*电池(母线电压、电流、SOC、放电能力、电芯状态(电压、温度、一致性等)...)
*高压附件状态(DCDC/OBC...)
*空调总成HVAC+热管理...
*其他(比如车身舒适的BCM Left/Right/Front...)
(1)车辆静置、中控屏操作
图8 车辆静置、操作中控屏数据记录graphic
(2)车辆静置、空调操作
图9 车辆静置、操作空调数据记录graphic
(3)车辆正常行驶(包含调头)
图10 车辆正常行驶(包含调头)数据记录graphic
(4)慢充