潮科技 | 成本相差5384倍,快把电脑拆掉攒火箭

石亚琼36氪@123·2019-01-14 14:53
请尊重你身边的程序猿,他们随时都有可能上天 。

编者按:本文是36氪“边界计划”的转载内容,来自九天微星(ID:commsat),作者九天波粒(九天微星通信航天人一枚,清华未毕业电子系工程博士),36氪经授权转载。


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、工业级器件小屌丝的困境:粒子翻转

航天器所有的器件都是特种兵,不是loser,他们要经历很苛刻很苛刻的环境。首先发射时要禁得住剧烈的抖动和很高的温度,才能走出地球。而真正的炼狱在入轨后才刚刚开始,面对太阳面的时候,温度迅速提升,最高到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、手把手教你攒火箭之软件选择

以后遇到会Linux或者C++的程序员,尽管他们发量稀少了,也一定要保持尊重。因为SpaceX就用的开源Linux写的操作系统,而Linux用随便一台电脑就可以编写。同样的,SpaceX程序员最爱的还是C++,用开源的GCC或者GDB做火箭的主控程序,同样的码农,却可以秒杀其他C++选手,这就是上天和开源的力量。

当然,除了这两个,SpaceX还用LabView,一款图形化编辑语言,对于火箭程序来讲,它更容易实现可视化和流程化,更容易做复杂的算法设计和数据分析。



而更让波粒感到兴奋的是,SpaceX也用Matlab,作为通信工程师,我只能自豪的说,我本科和硕士的通信系统仿真全是用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快速迭代的环境,而逐年降低的发射成本正在迅速降低试验成本,因此,属于航天的摩尔定律才刚刚开始!属于航天的互联网思维才刚刚开始!属于航天的大时代才刚刚开始!

请尊重你身边的C++、Linux、Python、Labview、Matlab程序猿。他们随时都有可能上天 。

+1
55

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

到底5G来了之后,会有什么行业真的带来改变呢?

2019-01-14

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业