芯片成本相差5384倍,看SpaceX如何用工業(yè)級器件搞翻航天圈
5月31日,經(jīng)歷了重重困難,馬斯克的SpaceX載人飛船成功發(fā)射,這是美國自2011年以來(lái)首次發(fā)射載人航天飛船,也是美國進(jìn)入由商業(yè)主導太空探索的歷史性時(shí)刻,更是全人類(lèi)在載人航空領(lǐng)域邁出的重要一步。
本文引用地址:http://dyxdggzs.com/article/202006/413901.htm不過(guò),你肯定不敢相信,在SpaceX成功發(fā)射的背后,馬斯克竟然只用了2.6萬(wàn)人民幣、幾十萬(wàn)行C++和Python代碼就完成了這個(gè)動(dòng)輒上億的項目。
接下來(lái),一起看看馬斯克如何在SpaceX上做到省錢(qián)干大事的~
宇航級,用不起
在航天圈里,有一種器件如貴族般存在:宇航級器件。
一個(gè)二極管只要上天驗證成功,就可以從一個(gè)工業(yè)級十八線(xiàn)小明星躍升為宇航級一線(xiàn)大明星,身價(jià)可以倍增上百倍甚至上萬(wàn)倍!
以現有載人飛船搭載的星載計算機和控制器舉例,單個(gè)控制器價(jià)格為500萬(wàn)人民幣左右,一共14個(gè)系統,為了追求高可靠性,每個(gè)系統1+1備份,一共28個(gè)控制器,成本總計約1.4億人民幣!
而SpaceX的龍飛船主控系統的芯片組,僅用了2.6萬(wàn)人民幣,成本相差5384倍!
Elon Musk到底是如何做到的?
我們看以下幾條重要的知識點(diǎn):
SpaceX 獵鷹九號和龍飛船用的都是Intel雙核的x86處理器;
操作系統用的是Linux,還有LabView和Matlab;
軟件工程用的是C++,有些時(shí)候也用Python;
整個(gè)主控程序只有幾十萬(wàn)行代碼。
工業(yè)級器件小屌絲的困境:粒子翻轉
航天器所有的器件要經(jīng)歷很苛刻很苛刻的環(huán)境。
首先發(fā)射時(shí)要禁得住劇烈的抖動(dòng)和很高的溫度,才能走出地球。
而真正的煉獄在入軌后才剛剛開(kāi)始,面對太陽(yáng)面的時(shí)候,溫度迅速提升,最高到120°C;背離太陽(yáng)面的時(shí)候,溫度驟減,最低到-150°C。
就這樣90分鐘一圈又一圈,周而復始,每圈都是270°C的溫差。
而對于電子器件來(lái)說(shuō),溫度不是最難熬的,最難熬的是太空中的輻射:
這些輻射有來(lái)自地球的召喚:地球磁場(chǎng)
也有來(lái)自太陽(yáng)的問(wèn)候:高能粒子
還可能有來(lái)自三體文明的問(wèn)候:其他太陽(yáng)系以外的粒子
而這些粒子,將引發(fā)電子器件的神經(jīng)紊亂,專(zhuān)業(yè)名詞是:粒子翻轉。
它將很Surprise地告訴星載計算機和星載存儲器:
“下面將是見(jiàn)證奇跡發(fā)生的一刻!”
“我要把1變成0,然后再把0變成1?!?/strong>
有些人問(wèn)了,多大點(diǎn)事啊,不就差個(gè)1嗎?!
但是在比特界,差一位就可差之千里。
舉個(gè)栗子:
如果指令20是向上爬升,指令24是停止推進(jìn),后果是難以想象的。
所以如果發(fā)生了1和0不分的情況,整個(gè)飛行器的運算結果曾導致非常大的災難。
在1996年,阿里安501火箭,雖然沒(méi)有粒子翻轉,但是系統試圖將一個(gè)64位的數字,放到一個(gè)16位的地址里面去,隨即發(fā)生了1/0錯亂的現象。
結果在點(diǎn)火37秒后,火箭開(kāi)始側翻,隨之爆炸,因為這個(gè)“小”問(wèn)題,那次發(fā)射損失高達3.7億美金!
回到主題,既然粒子翻轉這么恐怖,那SpaceX如何做到發(fā)現問(wèn)題和解決問(wèn)題的呢?
很簡(jiǎn)單:民主決策
技術(shù)名詞叫:parity bits
同位位元
既然判斷不了一個(gè)是否翻轉,那就多放幾個(gè)一樣的設備,通過(guò)比較,把不一樣的結果給踢出去。
攢火箭硬件選擇
上文提到,SpaceX沒(méi)有選擇用貴族宇航級器件,而是選擇了經(jīng)典廠(chǎng)牌Intel的X86雙核處理器,京東售價(jià)僅478元人民幣(參考價(jià)為奔騰系列,賽揚更便宜):
而SpaceX也沒(méi)有用雙核做一件事,而是把雙核拆成了兩個(gè)單核,分別計算同樣的數據。
每個(gè)系統配置3塊芯片做冗余,也就是6個(gè)核做計算。
如果其中1個(gè)核的數據和其他5個(gè)核不同,那么主控系統會(huì )告訴這個(gè)核重新啟動(dòng),再把其他5個(gè)核的數據拷貝給重啟的核,從而達到數據一直同步。
周而復始,不讓一個(gè)核掉隊。
據SpaceX前火箭總師John Muratore透露,龍飛船一共有18個(gè)系統,每個(gè)系統配置了3塊X86芯片,龍飛船一共有54塊。
所以龍飛船主控芯片的總價(jià)約:2.6萬(wàn)人民幣,3600美元!
而獵鷹九號一共有9個(gè)分立式發(fā)動(dòng)機,每個(gè)發(fā)動(dòng)機配置了3塊X86芯片,加上主控系統配置了3塊,獵鷹九號一共有30塊這樣的芯片。
獵鷹九號主控芯片的總價(jià)約:1.4萬(wàn)人民幣,2000美元!
我差點(diǎn)砸了手里的X1,是它阻攔了我攢火箭的大計!
更讓SpaceX開(kāi)心的事情,是Intel X86的程序員一抓一大把啊,而專(zhuān)業(yè)宇航級器件的程序用的基本都是特定語(yǔ)言,程序員比元器件還難找。
而且硬件工程師壓力也小,X86芯片隨便造,燒壞了?再來(lái)1個(gè)。不不,再買(mǎi)一打!
可是宇航級器件僅僅是測試費,就都夠再買(mǎi)一車(chē)X86芯片的。攢火箭軟件選擇
SpaceX就用的開(kāi)源Linux寫(xiě)的操作系統,而Linux用隨便一臺電腦就可以編寫(xiě)。
同樣的,SpaceX程序員最?lèi)?ài)的還是C++,用開(kāi)源的GCC或者GDB做火箭的主控程序。
SpaceX還用LabView,一款圖形化編輯語(yǔ)言,對于火箭程序來(lái)講,它更容易實(shí)現可視化和流程化,更容易做復雜的算法設計和數據分析。
SpaceX也用Matlab,在仿真和矩陣計算上,真的很好用。
而且,龍飛船,獵鷹九號,獵鷹重型,分享著(zhù)同一款代碼,分享著(zhù)同一類(lèi)迭代,分享著(zhù)同一種喜悅,多么的模塊化,多么的互聯(lián)網(wǎng)…
大數據監控和測試
2018年,SpaceX一共發(fā)射21次,一個(gè)公司占全球發(fā)射數量約20%,而SpaceX的工程師和分析師,手里有大量的測試數據和實(shí)際數據,而且他們也被鼓勵用不同的維度,去檢驗飛行器的安全性,形成最新的也最實(shí)用的測試程序,從而降低實(shí)測成本。
同時(shí),Continuous Integration,持續集成也被應用在了程序測試上。
注:持續集成
為了配合敏捷開(kāi)發(fā)(相對于瀑布開(kāi)發(fā))的速度和效率而產(chǎn)生的一個(gè)用于編譯、測試、發(fā)布、部署的工具。
通過(guò)這種辦法,可以讓團隊每時(shí)每刻在持續的基礎上,收到反饋并進(jìn)行改進(jìn),不必等到開(kāi)發(fā)周期后期才尋找和修復缺陷。
而且火箭程序不同于其他,會(huì )進(jìn)行“斷弦式”測試,突然關(guān)閉一臺電腦,來(lái)看看發(fā)動(dòng)機到底有什么反應。
總結
航天已經(jīng)經(jīng)歷了60年的歷史,每一次階躍其實(shí)都伴隨著(zhù)各類(lèi)器件技術(shù)革新,比如:
1950年代的晶體管技術(shù);
1970年代的微控制器技術(shù);
1980年代的數字信號處理技術(shù);
1990年代的高性能存儲技術(shù)。
現在,芯片工藝從28nm,16nm,10nm到7nm,工藝的提升也增加了芯片在太空中的抗輻射性能,讓商業(yè)器件在太空中應用可行性大大提升!
伴隨航天成長(cháng)的是經(jīng)典的:摩爾定律。
但是摩爾定律到現在在地面側都快失效了,而在航天側還沒(méi)有開(kāi)始。
比如Greg Wyler在2019年1月6號,Twitter的Oneweb的新型相控陣天線(xiàn),目標定價(jià)15美金。
比如AWS與Lockheed Martin在2018年11月發(fā)布的超小型地面站,可降低地面站80%的成本。
北京九天微星正在研制200mW衛星物聯(lián)網(wǎng)終端模組,目標定價(jià)5美金。
因此,航天缺少的僅僅是大膽的商業(yè)器件驗證,缺少的僅僅是采用MVP快速迭代的環(huán)境,而逐年降低的發(fā)射成本正在迅速降低試驗成本,因此:
屬于航天的摩爾定律才剛剛開(kāi)始!屬于航天的互聯(lián)網(wǎng)思維才剛剛開(kāi)始!屬于航天的大時(shí)代才剛剛開(kāi)始!
評論