...前段時間整理的系列文章“從控制器的管腳定義看特斯拉Model 3的功能分配”,詳情可參考,
上述系列文章可以說是從整車硬件接口層面對主要控制器進行了梳理,而“軟件接口”根據我們所獲取的Vehicle CAN的報文、信號設計也在之前的一篇文章裡面有提及,詳情可參考,
注:“軟件接口”的概念是與硬件接口對應,便於理解;實際指矩陣設計。
後面陸續有朋友交流特斯拉電子控制器的軟件架構?說實話有點惶恐...一是因為確實還在學習中,尤其是娛樂等帶操作系統的——傳統ECU的開發模式倒還容易理解,畢竟有點傳統ECU的軟件開發經驗;一是特斯拉此類信息極少對外(無論官方還是非官方渠道)...所以今天主要會以我目前瞭解到的信息跟大家做個分享,一方面是儘可能展示源頭信息、一方面根據個人的理解做的‘推測’,僅供參考。
首先最直接的一個信息,是網友Chiphead4u於2018年8月19日發表在m.blog.naver.com上的一篇文章,
根據根據公開的資料信息,包括GitHub(Buildroot,Linux Kernel)、Blackhat等,推論並重構了特斯拉的娛樂系統及Autopilot的軟件架構。
作者還提到
汽車電子更注重安全性。因為它是基於Ubuntu系統,因此LSM(Linux Security Modules,Linux安全模塊)似乎採用的是Ubuntu的AppArmor而不使用最強大的SELinux。此外,它似乎通過刪減Ubuntu中的coreutils、並採用busybox來進行瘦身。
特意找朋友根據Nvidia Tegra的信息確認了下,
儀表 Tgera 2/中控 Tegra 3/AP Drive PX 2
18 年 3 月前的 S/X
HW 2.0
雖然時間久遠、有部分是黑匣子,但還是有些幫助瞭解特斯拉內部的軟件架構。
其次,是一次關於動力系統的研發人員構成的電話採訪(來源記不清了),
動力系統的硬件和軟件是兩個不同的團隊,但彼此非常接近。
在動力系統硬件團隊中,有負責BMS,充電口以及電機的。充電機和充電口結合相當緊密。硬件團隊有自己的硬件測試、集成和發佈迴歸。早期的工程師完成了所有的工作。動力系統的硬件研發團隊不超過100人。
軟件團隊則分為充電機,BMS和電機。每個團隊都有一個首席工程師、軟件工程師和測試工程師,然後集成測試下面有動力系統集成團隊。
系統架構團隊則完全獨立於上述人員,他們進行動力系統架構設計,也有自己的測試團隊;每個團隊有5個軟件開發工程師和3個軟件測試工程師。
可以看出,團隊裡面有硬件、軟件、系統和測試,最與眾不同的可能是為數眾多的軟件、測試工程師吧。
最後跟大家同步下綠神關於特斯拉採用的Linux系統的一些看法。
很高興特斯拉在沒人提醒情況下將20.4.10(內核)源碼上傳到GitHub
特斯拉是否大幅更改了Linux?
更改的不太多,我們可以看到他們試圖最小化和本地化他們的更改,以更容易地跟蹤供應商的內核,並減少他們自己的努力,以保持一切都是最新的和安全的。
特斯拉選擇Linux作為娛樂系統的操作系統,那很明顯意味著他們必須共享他們針對GPL部件(包括Linux內核)做的更改。
1.https://github.com/teslamotors
2.https://www.blackhat.com/us-17/briefings/schedule/#free-fall-hacking-tesla-from-wireless-to-can-bus-6415
3.https://twitter.com/greentheonly
相關精彩推薦:
閱讀更多 冷酷的冬瓜 的文章