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