引言:北京时间 5 月 31 日凌晨 3:23 ,SpaceX 最新的载人龙飞船在美国肯尼迪航天中心 39A 发射台成功发发射。在经过将近一整天的飞行后,6月1日凌晨1点22分,搭乘美国SpaceX载人龙飞船的两位NASA宇航员终于进入国际空间站,与等在那里的宇航员正式会面,这预示着全球商业载人航天时代的到来。
除了创造历史之外,SpaceX的龙飞船5384倍的主芯片降本成效也足以让半导体业者振奋。
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快速迭代的环境,
而逐年降低的发射成本正在迅速降低试验成本,
因此,
属于航天的摩尔定律才刚刚开始!
属于航天的互联网思维才刚刚开始!
属于航天的大时代才刚刚开始!
推荐阅读
▼