标题:
创客群体爆炸,盘点开源硬件界的大虾
[打印本页]
作者:
porereading
时间:
2015-10-30 22:31
标题:
创客群体爆炸,盘点开源硬件界的大虾
开放硬体运动最早可追溯至1976年,苹果(Apple)将苹果电脑扩充槽电路设计公诸于世,但当时并未造成轰动;直到近期半导体科技更臻成熟、开放原始码日益风行,以及物联网、创客(Maker)及穿戴式应用崛起,开放硬体运动才再度掀起热潮。
近年来,大众越来越常听到开放硬体(Open Hardware)、开放原始码硬体(Open Source Hardware),它的渊源为何?为何现在盛行?对未来的意义又是什么?本文将在以下对此说明。
苹果首先开放硬体 IBM仿效避垄断
打从1976年、1977年,苹果电脑的设计者沃兹尼克(Stephen Gary Wozniak)便开放苹果电脑的扩充槽电路设计给大众,只要有人觉得苹果电脑的功能不足,即可自行设计功能电路板,将电路板插入扩充槽内,就能赋予该电脑新功能。
在此之前,即便电脑有扩充板卡的机制设计,也通常不公诸于世,而是业者专属自用,在客户要求提升电脑的规格、功能时,再透过电脑的原供应商提供新板卡,由原厂专人为其加装。
扩充槽电路设计的开放,仅是整体电脑系统的一部分开放。到了1981年IBM推出个人电脑,由于IBM在当时已是传统电脑市场,意即大型主机(Mainframe)的寡占业者,若在新兴的个人电脑市场也获得大市占率,则IBM遭受反托拉斯(Anti-Trust)制裁的可能性将增高。
因此IBM开放PC的整体电路设计,言下之意任何人都能了解IBM PC的硬体设计,该公司并未用不公平的竞争手段,在个人电脑市场上与人竞争。但实际上,IBM仅开放电路设计,PC的开机程式、基础韧体(BIOS)并未开放,该公司认为一般人不易破解、了解IBM PC的韧体程式,在市场上依然有竞争优势,如图1所示。
图1 1981年IBM PC Model 5150型的硬体设计电路公开,但BIOS晶片内的韧体程式不公开。 图片来源:technologyuk.net
不料凤凰科技(Phoenix)公司透过摸索,自行开发撰写出功能几乎能全然相容IBM官方韧体的BIOS,揭露IBM PC的所有设计秘密,因而开启众多业者投入开发、生产IBM相容的个人电脑,并比IBM原厂便宜,IBM PC初期拥有高市占率,但之后节节败退,市场上的主流销售为IBM相容PC,而非IBM原厂PC。
2005年Arduino诞生 Open Source逐渐发迹
上述仅表示开放硬体很早即有例子,但之后多数的电脑发展仍采封闭为多,包含苹果的麦金塔电脑、升阳的工作站电脑等。
近年来盛行的开放硬体,主要发展于2005年冬,一名义大利设计学校的老师Massimo Banzi与一名西班牙客座学者兼晶片工程师David Cuartielles讨论,如何让设计系学生在没有电子工程背景下而完成电子声光设计作品?
最初曾考虑用BASIC Stamp,是Parallex公司以Microchip公司的微控制器晶片为基础,追加一层转译程式的开发,使一般大众只要会撰写简单入门的培基(BASIC)程式语言就能操控微控制器晶片,毋须学习难开发、难维护的组合语言,如图2所示。
图2 1992年Parallex公司BASIC Stamp 2部位简介 图片来源:维基百科
但BASIC Stamp是转译层,属于Parallex的专属设计,没有开放,也因此BASIC Stamp虽然好用但不便宜,讨论之后决议采行相同概念自行开发,两人外加一名学生David Mellis的投入,三人完成了名为Arduino的电路板与转译程式、开发工具。
Arduino是以Atmel公司的AVR架构微控制器为基础所发展成,设计系学生只要学会类似C、C++语言的程式语法,便能轻松操弄AVR微控制器,完成自己想要电子声光设计作品。
有鉴于BASIC Stamp的封闭昂贵,Massimo Banzi等决议开放Arduino的电路设计、程式设计,因此许多厂商开发销售与Arduino相仿的控制电路板,并可使用Arduino工具进行开发。
值得一提的是,Arduino的相关程式是以常见的通用公共授权(GPL)、LGPL等方式开放授权,其中微控制器的函式库以LGPL方式授权,而在Java环境下执行的开发程式则用GPL授权。
但电路设计的开放,不太适合用软体授权方式,因此改用着作权的“创用CC(Creative Commons)”授权,引用六种授权(图3)中的CC-BY-SA(Share-Alike)授权法,意指Arduino的电路设计能沿用、延伸开发,这些开发可以纯个人用或商业化贩售,但新开发必须注明“Arduino”字样(BY),并再以相同方式对外授权(SA)。
图3 CC的六种创作分享、授权方式,Arduino采第二项的BY、SA。 图片来源:维基百科
由于任何仿造品须在印刷电路板上标注“Arduino”字样,等于帮忙推广Arduino这个注册商标,这使部分想商业化销售的业者观望、却步。之后,有人开发出Freeduino,完全相容Arduino但不侵犯Arduino,引用Freeduino并无搭载任何名称的限制,因此许多业者是以Freeduino设计来开发、销售Arduino相容品,如图4与图5所示。
图4 1.16版的Freeduino实体线路布局图 资料来源:freeduino.org
图5 1.14版的Freeduino等效电路图 资料来源:freeduino.org
但是,也因为Arduino盛名日传,若电路板取了一个与Arduino毫无联想性的词,反而不利销售,因此会出现许多相近、容易联想的产品词,如FayaLab的Fayaduino、DCcEle的DCcduino等,几乎都会夹带duino字样以利销售。
升阳开放OpenSPARC 仅揭露等效电路
与Arduino相近时间的,还有一个开放硬体,是升阳电脑的OpenSPARC,SPARC(Scalable Processor ARChitecture)架构微处理器原本一直是升阳电脑的专属设计,不过该设计有授权给富士通,但之后SPARC处理器的销售量少,量价均摊效益低,在价格效能比方面,越来越无法与英特尔(Intel)的x86架构处理器比拼,因此在2005年12月提出OpenSPARC,开放SPARC架构的电路设计,期望以开放方式吸引更多开发者、业者采行SPARC架构,使SPARC晶片用量增加,软体生态扩增,不过此一开放的提振成效至今有限。
在这里要提的是,电路开发其实分两个层次,一个是等效(同等效果)的电路开放(一般为.sch档,sch=schematic),另一个是实际布线的电路开放(一般为.brd档,brd=board),Arduino属于两种层次皆开放,但OpenSPARC属于第一种层次的开放。
事实上,微处理器的逻辑电路设计,也是以程式语言(譬如VHDL、Verilog等)方式撰写开发而成,开放等效的电路,意即揭露一堆程式码。加上前述的Arduino转译程式、开发程式等,因此也就有Open Source Hardware一词,开放的硬体经常伴随开发原始程式码、来源程式码、原码、源码(Source Code)。
而OpenSPARC之所以未开放第二层(实体线路布局、布线),主要在“实用性不高”,因为不同的晶圆厂、不同的制程,都采行不同的实体线路布局设计,只要换不同晶圆厂生产,比方像联电换台积电,或期望改用更先进制程生产,例如32奈米精进到22奈米,则原有揭露的布局就不适用,且揭露晶片实体电路布局,也过于商业机密。而开放数位逻辑晶片设计的第一层,也被称为开放暂存器转化层(Register-Transfer Level, RTL),业界也俗称为Soft IP,第二层则为Hard IP。
树莓派加入战局 主打简单/小体积
虽然Arduino于2005年即推出,但真正逐渐成热,约自2008年、2009年开始,而到了2012年,英国教师感叹选择电脑科学系的学生程度越来越低,且原有的教学用电脑系统过于老旧,因而决心自己开发一套学习用的电脑系统,要够简单、便宜,因而有了树莓派(Raspberry Pi, RPi)。
树莓派也开放其电路设计,并交由一些电子零件代理商、配销商代为生产销售,如Element 14/Premier Farnell、RS Components等。事实上,其他业者也可以仿造RPi开放的电路图自行生产销售,但由于RPi起头设计便考虑简单、成本和小体积,因此不容易有其他业者提出更精巧便宜的方案,仅部分业者提出与RPi相近概念的高规化方案,如BananaPi、Odroid等,且不全然相容。
RPi以MMC、SD等记忆卡为其硬碟,所以作业系统不设限,可以是Linux,也能够是Android,而2015年4月微软(Microsoft)也宣布Windows 10 IoT Core将支援RPi 2 Model B。
创客/3D列印/物联网 点燃下波开放硬体热潮
开放、便宜只是起步条件。笔者观察,进一步炒热开放硬体的尚有三点,一是创客(Maker)文化出现,许多人喜欢做工艺自娱,这些工艺加上电子兴趣嗜好者,开始有各种新的创意应用与作品,而其中用的电子硬体即是Arduino或RPi,也有其他开放硬体,如MirrowBoard、BeagleBoard等,但名气尚不及Arduino、RPi。
创客的热潮,从2009年Wired总编Chris Anderson的宣告而到来,再加上3D列印风潮,如RepRap开放专案设计出的3D印表机(图6),其电子控制系统为Arduino,而列印出的东西,可以做为创客作品的机构件,因而旋即向上发展。
图6 2012年曾进行调查:您曾用过哪款3D列印机?结果以RepRap专案的机种最多。 图片来源:reprap.org
再加上英特尔、台积电等国际半导体大厂纷纷宣布穿戴式、物联网时代的来临,物联网的真正大宗普及应用尚未被发掘,大厂认为目前为数众多的创客中,将有少数人的创意作品会成为物联网、穿戴式的杀手应用,而纷纷拥抱Maker,而Maker爱用Arduino,英特尔也就拥抱Arduino,推出Arduino相容的伽利略(Galileo)、爱迪生(Edison)等微型电子控制系统,甚至为穿戴式推出居礼(Curie)等。
英特尔于2013年8月开始拥抱Arduino,2014年6月联发科亦推出相容Arduino的LinkIt ONE,2015年4月三星也推出ARTIK系列将相容Arduino,加上前面谈到微软Windows 10将支援RPi,其实也包含Windows Phone支援Arduino,透过蓝牙通讯,Arduino能取用Windows Phone上的各类感测器,或者反过来,Windows Phone上的App可以操控Arduino。
不仅如此,开放软硬体阵营间也同样合作,Mozilla基金会的Firefox OS也推出WebAPI来支援Arduino,并以蓝牙通讯与Arduino沟通联系。
以上所述,大体多是开放硬体的美言,但也有一些不好的发展,例如宣称相容但并非全然相容,只是借搭顺风车,或是2014年底Arduino官方发展闹分家等。但整体而言,开放硬体的潮流仍持续增温,再加上无人机(Unmanned Aerial Vehicle, UAV)应用的提出,开放硬体亦可能有着墨之处,风潮短期内不易停歇,并可能有更多可期待的新发展,值得拭目以待。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0