本文转自《我可能买了个假手机,虽然上面有颗Kirin 960——HiKey 960开发板体验》
来源:21ic中国电子网
作者:SATURN
花粉们又开始不淡定了!
随着华为Kirin 960的发布,一波基于Kirin 960的手机即将或已经上市。对于屌丝来说,买还是不买,关系到肾的去留问题,是真马虎不得。Kirin 960是华为新一代旗舰SoC,早已得到了多方的关注,在未正式发布之前就已吸引了众多关注,随着华为mate 9及P10系列手机的发布,更是引发了一大波的口水,同样作为旗舰,Kirin 960与Exynos 8890及Snapdragon 821/835,到底哪个才是王者,还真说不好。
工程师们其实也不淡定了,华为的开发板,一般情况下是一板难求。不过在Linaro Connect BUD17大会上,华为宣布将携手合作伙伴诚迈科技推出96Boards家族新成员HiKey960,其SoC使用的就是Huawei Kirin 960,八核心, ARM big.LITTLE处理器架构,内含4个ARM Cortex-A73及4个ARM Cortex-A53内核;开发板上集成3GB LPDDR4内存及32GB的UFS 2.0 FLASH存储,GPU使用的则是新一代的G71图形处理器。单从硬件上看,已是主流手机配置,可惜不能打电话。
这次21IC就要和大家一起来体验这款符合96 boards规范的威猛开发板,下面让我们一起慢慢来看。
我首先看到的是这个小卡通机器人,不禁想起了《星球大战》里的BB-8来了。板名HiKey 960,厂商标志是AlphaStar,这是一个基于前沿技术,致力于推广开源文化,推动开源硬件及生态发展的创新平台。
拆开了看,里面还有洞天,用户手册,虽然很简单,但实用。
全家福,说是全家福,其实就一块开发板,没有提供电源,用时髦的说法,这叫环保,免得你家里一堆DC电源都在吃灰。防震气泡袋很厚实,板子放里面妥妥的。
看到蓝色的USB 3.0接口了,HDMI,USB TYPE-C接口,这些都是高大上的东西,都有都有。前面提到这是一款威猛的开发板,其实HiKey960还是很小巧的,尺寸为85X55mm,所谓的威猛指的是硬件配置,后面还要说。
开发板正面特写,开发板上的主要元器件或接口都位于开发板的正面,初看上去,可能觉得也就是如此而已。不过HiKey960是严格遵循96boards规范的一款开发板,这里先了解下Linaro的96boards规范。
Linaro 作为一家非营利性质的开放源代码软件工程公司,主要的目标在于开发不同半导体公司ARM平台基于 Linux的共通开源软件,让不同厂家利用这一平台互利合作,加快发进度,减少投入。 在进行软件开发的同时,人们意识到:影响软件的测试和开发的进度的一个非常重要的因素是参考平台。如果在软件开发的初期有一个标准的开发平台,对于通用软件的开发有着极大的促进作用。于是,Linaro 工程师们开始着手制定参考硬件平台的板级标准。
96=32+64,也就是说这个标准是对于32位和64位芯片开发板通用的,统一的标准带来的好处:统一接口,标准的扩展硬件,以及统一的硬件设计模板所带来的设计周期的缩短。 最初的96boards定义了两个规范,即Consumer Edition (CE)和Enterprise Edition(EE),其中消费类版本,主要针对移动、嵌入式和数字家庭应用,EE版本则针对企业级版本,针对网络和服务器等应用,另外96boards后面还添加了IoT版本。
标准或规范带来的好处显而易见,产品之间的兼容性必将大大增强。HiKey960实现的了96boards中的CE规范,主要面向移动、嵌入式和数字家庭应用。下图是96boards规范中的CE版本参考设计图:
对比参考设计与实物图,可以看到HiKey960严格遵循设计规范,最大限度保证了硬件接口的兼容性。不过96boards规范目前还在慢慢推广中,基于96boards规范的扩展板或shield还不是很多。
开发板的背面,看到右侧的M.2接口了么,这个在PC上基本属标配的东东,在嵌入式开板上真是很少见。
按国际惯例,再放上几张多角度照片供欣赏
外行看热闹,我只是觉得板子很好看,很高大上。
接下来看Kirin960,嗯,这就是板子为什么叫HiKey 960的原因了吧(猜测,只是HiKey是啥,Hi-Tech的谐音)?
Kirin 960,也就是HI3660,这是一款八核心SoC,包含4个ARM Cortex-A73及4个ARM Cortex-A53内核, ARM big.LITTLE大小端架构,其中A73的主频为2.4GHz,A53的主频为1.8GHz,SoC支持1866MHz LPDDR4内存访问,最高支持8GB内存访问。
使用Kirin960的第一款手机是华为的mate 9
Kirin960的GPU使用的是G71,使用了ARM新一代Bitfrost微架构,不再使用SIMD ISA,转而使用scalar ISA,类似桌面GPU使用的线程级并行处理机制,在提高性能的同时降低了功耗
扯远了,不过在开发板上使劲找啊找,就是没找到Kirin的芯。其实Kirin960被藏起来了。
Kirin960藏在DDR内存下面,这也是现在比较流行的一种封装方式,叫POP(Package on Package),就是右边这个,上面是LPDDR4 SDRAM,下面是Kirin 960。
开发板上的3GB LPDDR4 SDRAM是海力士的产品,4通道64位带宽,最高工作频率为1866MHz,通过总线直接与Kirin960的内存控制器接口相连。
上图中左边就是32GB的UFS外部存储器,兼容USF 2.0,UFS 2.0闪存读写速度理论上可以达到1400MB/s,不仅比eMMC有更巨大的优势,而且它甚至能够让电脑上使用的SSD也相形见绌。
HiKey960上板载WIFI/BLE模块,如下图所示
其中BLE支持Bluetooth 4.1,WIFI支持2.4G/5G,也就是常说的双频WIFI,5G WIFI在通信速度上更有优势,板载两个天线,一个是WiFi与蓝牙共用的(BT/2.4G_WiFi/5G_WiFi),另一个是为增强WiFi准备的(2.4G_WiFi/5G_WiFi)。
外设接口方面,开发板上提供了Micro SD、HDMI、USB TYPE-C及USB 3.0接口
Micro SD接口提供 SD 3.0接口,由Kirin960的SDC接口提供存取操作。Kirin960并没有内置HDMI接口,引出的HDMI接口使用的实际上是Kirin960的DSI接口,通过ADV7535来进行桥接,支持1080P视频输出。开发板上引出的USB 3.0 ,USB 2.0以及 USB TYPE-C接口,都是通过USB HUB(USB 5734)模块与Kirin960 的USB控制器连接并实现复用。具体连接方式如下
注意:USB TYPE-C ,USB 2.0以及USB 3.0 是通过SWITCH来进行切换的,所以如果同时使用USB TYPE-C ,USB 2.0 以及 USB 3.0接口的话,会导致其中USB 3.0和USB 2.0接口失效,这个硬件设计上的原因,使用时需要注意这一点。
特别介绍一下开发板上的模式设置开关,如下
这个拔码开关提供了启动设置参数,如自动上电,启动模式切换等。例如需要切换到fastboot模式,进行固件恢复或烧写时,需要调整这些设置。
其它一些板载设备就不一一介绍了,例如开发板上的两组GPIO接口,一组为高速接口,另一组黑色的是低速接口,这些接口提供了I2C/SPI/UART等外设连接功能,不过不注意的一点是默认的电压值为1.8V,在连接具体外设的时候要注意。
来一张表,列出HiKey960的主要特性
呼,终于要开始上电体验了。
官方推荐使用12V/2A规格的DC电源给开发板供电,开发板上的DC接口孔径为4.75mm/1.7mm,接口极性为内正外负。其它需要准备的还有HDMI接口的显示器、USB键盘/鼠标等,最好还准备一个无线路由器提供WIFI连接。
上电后,指示开发板工作状态的LED灯开始闪烁,启动速度很快,这是硬件强悍的效果啊。
HiKey默认安装的系统是ANDROID O,也就是最新的8.0,可以第一时间体验这个最新的系统,ANDROID O带来了诸多新体验,下面看看HiKey960的体验如何。
系统启动后的桌面,很干净。
默认的APP如上图,就是个空壳子,啥都没有,没有浏览器,没有文件管理器,什么都没有。上图中的Antutu、Chrome、GeekBench及Linux Deploy都是测试时安装上去了,不过也无所谓,安装个APP也就是分分钟的事情,怕就怕APP不兼容。
Phone Status里显示的Android版本,显示的是Android O,没错,确实是最新的版本。不过单从系统界面看,确实也看不出很大的区别。Android O的优化主要还是在后台。
这里是设置菜单中的一些常用选项,不过比较奇怪的是Storage一栏里显示的存储容量居然是-22.95GB,呃,穿越了么?与诚迈科技的技术支持询问后得知,这是官方的一个BUG,在接下来的更新中会解决这一问题。
上图为使用Chrome浏览器打开网页的效果,使用过程中非常流畅,毕竟硬件参数摆在那里。
跑个Bench似乎已成默认规则,毕竟,性能如何,不是你说好就好,代码,除了人为的设置,应该还是我们值得信赖的伙伴,它会忠实的反映与它交互的平台。这里使用GeekBench来测试下系统的性能,供参考。
GeekBench的版本为4.1,最新的版本。GeekBench正确识别出了硬件的架构AArch64,对Android O的识别也是对的,不过在报告CPU主频时只识别1.8G,内存也正确识别出了其容量。最后得到的测试结果中,单核测试的得分为1173,多核测试得分为4277。这是个什么水平,嗯,比较才有区分
这是单核测试结果与主流手机的测试比对结果,不过这个结果不太理想,与宣称值还是有一定的差距。再来看多核的比较结果,如下
总而言之,是有差距的。笔者更愿意相信这是软件优化还不到位的结果,毕竟全新的板子,全新的系统,二者的磨合需要工程师们的辛勤付出,才能得到最理想的结果。
视频解码的测试,使用了两个软件,一个是MX播放器,另外一个是VideoLan,使用MX播放器播放1080P测试视频如下
播放视频时还是很流畅的,不过MX报告不支持硬件解码,实际播放过程中使用的是软解,注意窗口右上角的SW标志,表明是使用软件解码。
接下来还使用了VideoLAN来测试,这次的播放结果则非常糟糕,解码速度非常慢,倒有点逐帧播放的效果了,在使用VideoLAN播放视频时,使用top命令看到的结果如下
混乱的输出,还是那句话,笔者更愿意相信这是软件优化还不到位的结果。
官方宣称会有LINUX系统的支持,不过目前还没有看到HiKey960可用的LINUX固件发布,不过应该不是难事,有Linaro的支持,很快应该就会有可用的LINUX镜像,毕竟目前许多的嵌入式LINUX硬件都是使用LINARO提供的工具链或系统镜像来构建软件平台。
最后一个测试是BLE,笔者近段正好研究BLE的通信,恰好HiKey960也板载了BLE 4.1,正好与之通信。手头的Genuino 101也板载BLE功能,将HiKey960作为手机客户端,通过BLE来控制Genuino 101的LED灯。
Genuino 101上设置的BLE Service及Characteristic如下
BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // create service
BLECharCharacteristic switchChar("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);
...
BLE.setLocalName("LEDCB");
HiKey960上使用BLE Scanner来连接到Genuino 101并发送控制数据,实现远程控制。运行画面如下
可以看到正确找到了LEDCB设备,接下来向LEDCB通过BLE写入控制数据,如下
点击OK,看到Genuino上的LED灯亮了,如果写入0的话,则熄灭LED灯。
这里将Genuino 101设置为peripheral role,而HiKey960则作为central role。测试没有问题,接下来可以打开Android Studio开始写自己的BLE APP了,开发板不就是用来运行自己写的程序么?
体验到此结束。
此次体验的总体感觉,硬件非常的强悍,无论是3GB的内存,还是TYPE-C/USB3.0等诸多非常前卫的接口,加上对Kirin960的一丝情怀,直接颠覆了笔者对开发板的认知。不仅仅如此,能近距离接触并体验Kirin960,本身就是一种荣耀,依笔者的感受,这与使用基于Kirin960的手机,完全是两种不同的体验。
要说不足,软件支持这一块算是略有遗憾。目前还没有LINUX固件的支持,测试过程中碰到的一些小问题,估计在下一个版本中,都会解决掉了吧。
参考资源:
96boards: http://www.96boards.org/
诚迈科技:www.archermind.com
AlphaSTAR社区:www.alpha-star.org
Working