前言:Galileo GEN2的提升是一次有内涵的升级...
说起Intel Galileo GEN2这块板子,笔者对它的心情可以说犹如过山车那般,先是拿到之前的兴奋,然后变成拿到之后的郁闷,再接着就是真正了解之后的敬佩。怎么说呢,在没见到2代之前,笔者对它的憧憬不可谓不大,想象着硬件配置、功能有多大多大的提升,但当真正拿到板子之后才发现主要的应用处理器没有升级,功能也基本保持着和1代的原样,无怪乎会有些郁闷,但是如果真是这样,那Intel有必要推出Galileo GEN2代吗?所以经过仔细查阅、真正了解后才发现,板子确实有不错的提升,可以说,相较于1代,不但操作上更加人性化了,更重要的尤其在IO口的性能上有了质的飞跃,具体有些什么样的改变,下文将为你一一道来。
开箱
首先不得不吐槽下Intel Galileo GEN2代的包装,和1代几乎没什么差别,强迫症患者可能无法忍受。
板卡自带的适配器包含了不同规格的插座头,对于有需求的用户会觉得很方便,但对大多数用户来说,挺浪费资源的。
如果有Galileo1代的板子对比,你会发现Galileo GEN2的板子尺寸有所增加,为123.8mm*72.0mm,1代是10cm*7cm。
板卡配备的电源适配器是12V/1.5A的输出,和1代相比,2代的供电电压提升了,这样做的目的很可能是跟板载的一个物联网应用相关,这里先卖个关子,后文将揭晓。
与1代硬件对比
先来看看 Galileo GEN2代跟1代的板卡对比情况
Galileo GEN2
Galileo 1
仔细看的话,我们还是能发现不少不同点的,尤其在功能的性能上、实现上,很多电路都重新设计了。
- HSB HOST接口的改变
在1代上,相信很多用户都吐槽板载的USB HOST接口采用了MicroUSB母座接口,当时更多的可能是考虑到板卡空间的布局,但是这样做的后果是我们基本上使用这个USB接口都需要用到USB OTG转接线,非常麻烦。而在二代上,很好的解决了这个问题,采用了标准的USB TYPE A型母座接口。
Galileo 1代
Galileo GEN2
- UART接口的改变
除了USB接口,UART接口算是Galileo 1代的最大吐槽点,居然给整了一个3.5mm的音频接口,这不得不让用户充分发挥自己的想象,DIY了各种如何使用板卡上串口功能的办法。
Galileo 1
而在Galileo GEN2代上,板卡采用了6-pin 3.3V USB TTL UART接头,非常方便,使用我们平时的USB转串口线就能查看串口输出,方便Linux调试。
Galileo GEN2
- 电源接口的升级
相比一代中的5V电压供电,Galileo GEN2代采用了7~15V的供电电压输入,这文章开头我们已经提出了这个问题,问什么采用这种供电方式?
Galileo GEN2
说这个,那我们还得说到Galileo GEN2代板卡上的另一个重要的提升,以太网的升级——支持12V POE(Power-over-Ethernet),这个技术说穿了就是按照其字面的意思那样,通过以太网供电。众所周知,Intel推出Galileo开发平台的目的就是瞄准目前炙手可热的物联网产业,而联网应用肯定是重点,目前来说,板卡没有板载相关的无线模块,唯一的联网手段就是靠板子上的以太网口,而在实际的领域中,基于以太网通讯的物联网应用也数不胜数,举个例子,比如目前的监控摄像头,而POE技术的加入使得这些摄像头应用可以不用另外供电,不仅节省成本,而且在实际应用中大大降低布局难度。
- IO口的升级
说到这点,很多用户会疑惑,IO口功能还是那个功能,何谈升级?
不知道多少了注意到了Galileo GEN2相比1代多出来许多大大小小的芯片?这些芯片有什么用呢?答案就是IO口的升级!
Galileo GEN2
在Galileo 1代中,我们就已经知道,Quark X1000 SoC的IO口只支持3.3V的电平,无法满足Arduino接口的5V电平支持,为了兼容Arduino扩展接口的5V电平,1代是使用I2C总线通过赛普拉斯IO扩展IC CY8C9540A将众多IO扩展出来的,这样设计是简单方便了,但是主要的问题是没有好好利用到Quark SoC的原生态GPIO口,使得扩展的IO速率大大受到限制。
而在Galileo GEN2代中,虽然PWM以及ADC的信号仍旧是通过扩展IC引出,但是IO口是直接通过电平转换以及缓冲系统从Quark X1000的原生态GPIO口引出,虽然电路繁琐,但是胜在GPIO口的性能没有受多大影响,在之后的上电环节中,我们也将重点测试IO的性能。
Galileo GEN2代相较于1代在硬件上的区别大概归结为上面的几点,主要的改变也在板卡的正面,背面的话2代跟1代的变化不大,主要是将1代中的JTAG调试接口移到了背面。
Galileo GEN2
Galileo 1
Galileo GEN2代硬件框图。
上电实测
Galileo GEN2代和1代一样,内置了一个精简版的Linux系统,上电即可运行,具体的操作步骤及流程可以参考Galileo 1代的评测,这里就不啰嗦介绍了。
Galileo的启动包含了UEFI(统一的可扩展固件接口、用于操作系统自动从预启动的操作环境,加载到一种操作系统上)、GRUB引导(多操作系统启动管理器)、加载Linux操作系统,其运行环境就如同一台标准的PC。系统启动完成后,可以输入root命令进入Linux命令操作界面。另外如果想要运行完整版的Linux系统以及通过MicroSD卡的方式升级固件,参考下面两个帖子:
- micro-SD卡完整版的Linux系统启动参考
- Galileo固件之SD卡升级方式
而对于Galileo板卡进行Ardunio软件环境开发的话,需要安装Arduino IDE以及USB CDC驱动。说真的,IDE工具的话其实不建议用英特尔官方的安装程序(虽然省事,一步到位),安装过程中可能因为网络问题中断重新反复安装,笔者就是来回折腾了两次,实在受不了最后还是去Arduino官方网站去下载,目前的IDE已经完全支持Galileo板子,不用像一代那样需要设置语言,设置启动方式等。
USB CDC驱动的话有单独的下载,是通过板载的USB CLIENT接口实现的,不同于我们查看Linux系统启动的串口。
注意点:在使用Arduino IDE工具连接USB线的时候必须保证Galileo评估板先接上DC电源,这是在Intel的使用规范中反复强调的。这是因为Galileo板卡使用的DC-DC电源芯片TPS652510启动瞬间会产生非常高的电流,直接插USB线可能导致板卡或者电脑的损坏。
安装完USB CDC驱动的话可以看到虚拟的Galileo COM口,这个口是用于板卡固件更新,Arduino文件下载的串口。
板子以及端口在Arduino IDE中的设置
基本设置完成,我们可以在Arduino IDE中建一个IO口电平切换的程序来查看IO的电平切换速度,程序很简单,见识简单的高低电平的切换,以PIN12脚为例,如下图所示。
这里可能很多人都会有疑问,为什么要测试IO口的电平切换速度呢?事实上,IO快速的电平切换在现实中的使用非常普遍,比如用GPIO来模拟SPI信号时,就需要产生SPI协议约定的时钟信号。如果IO的输出性能好,就可以实现出很高速的SPI通讯,从而提高系统的工作效率。而英特尔既然这么大费周章的用更复杂的电路去实现Quark SoC的原生态GPIO口的输出,所以无论如何我们肯定要见识下到底能达到何种性能。
在正式测试Galileo GEN2代中IO的电平切换频率,笔者先说一下Galileo 1代的电平切换频率,为222Hz。
OK,将电平切换的程序编译、下载入板卡,我们通过示波器测量Arduino扩展接口上的PIN12脚以及GND脚。
测试的结果确实惊呆眼球,IO的切换频率为446.4kHz,相比一代(222Hz左右)提升达到2000多倍,多么恐怖的速度,完全是一个天一个地,可以说是质的飞跃,这在需要快速通信的系统中有非常重要作用。
但是,你以为仅仅如此吗?在Intel实现的Arduino库中,还提供了 fastDigitalWrite的接口,我们调用这个接口来测试又是怎样的结果呢?
果真更快了,在相同IO口的测试结果如下,频率居然达到了649.4kHz,相比1代速度将近提升了3000倍,不过是不是由于太快的原因,原本的方波在电平切换的时候产生了类似“尖峰毛刺”,瞬时的电压可能达到5.5V左右。
毋庸置疑,经过实际测试以及通过跟Galileo1代的比较,Galileo GEN2代无论在易用性或者在IO口的性能上都有了质的飞跃:
- 3.3V USB TTL UART接头取代3.5mm JACK RS-232控制端口,方便Linux调试
- 12 个原生态GPIOs口,可以达到更快的速度并提高驱动能量
- 12位脉冲宽度调制(PWM)可以保证更精确控制伺服系统和更加流畅的回应
- 控制台UART1可以被重定向到Arduino接头,消除多数情况下软件连接的需要
- 板卡支持7~15V的电压供电,支持12V Power-over-Ethernet(POE)(POE模块安装需求)
虽然在低功耗的物联网、可穿戴设备等领域,笔者并不看好Quark X1000这颗SoC能有所作为,但是作为一款可以拿来DIY、可以折腾的板卡,Galileo GEN2代还是值得一试的。
其它开源硬件板评测
- Intel Galileo 1代评测
- 树莓派3评测
- 香蕉派3评测
原创申明:本文为爱板网原创,谢绝转载!
前言:Galileo GEN2的提升是一次有内涵的升级...
说起Intel Galileo GEN2这块板子,笔者对它的心情可以说犹如过山车那般,先是拿到之前的兴奋,然后变成拿到之后的郁闷,再接着就是真正了解之后的敬佩。怎么说呢,在没见到2代之前,笔者对它的憧憬不可谓不大,想象着硬件配置、功能有多大多大的提升,但当真正拿到板子之后才发现主要的应用处理器没有升级,功能也基本保持着和1代的原样,无怪乎会有些郁闷,但是如果真是这样,那Intel有必要推出Galileo GEN2代吗?所以经过仔细查阅、真正了解后才发现,板子确实有不错的提升,可以说,相较于1代,不但操作上更加人性化了,更重要的尤其在IO口的性能上有了质的飞跃,具体有些什么样的改变,下文将为你一一道来。
开箱
首先不得不吐槽下Intel Galileo GEN2代的包装,和1代几乎没什么差别,强迫症患者可能无法忍受。
板卡自带的适配器包含了不同规格的插座头,对于有需求的用户会觉得很方便,但对大多数用户来说,挺浪费资源的。
如果有Galileo1代的板子对比,你会发现Galileo GEN2的板子尺寸有所增加,为123.8mm*72.0mm,1代是10cm*7cm。
板卡配备的电源适配器是12V/1.5A的输出,和1代相比,2代的供电电压提升了,这样做的目的很可能是跟板载的一个物联网应用相关,这里先卖个关子,后文将揭晓。
与1代硬件对比
先来看看 Galileo GEN2代跟1代的板卡对比情况
Galileo GEN2
Galileo 1
仔细看的话,我们还是能发现不少不同点的,尤其在功能的性能上、实现上,很多电路都重新设计了。