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