联发科LinkIt-ONE试用体验

作者:刘先生

可穿戴设备可以说是目前最火的词汇之一,这种结合了“硬件、软件、云”为一体的穿戴式设备理念让人们意识到了一种新颖、时尚、智能的交互方式,更是成为厂商除智能手机外的另一个竞相争夺的领域。

智能手环、智能手表、智能眼镜......可穿戴设备层出不穷,目前这个领域还是处于野蛮生长的初级状态。当然机会也是无穷的,各种创业团队、方案公司都各显神通,而一些大厂商也在虎视眈眈。由于市场还不成熟,因此分工还不是很明确,已经杀入的公司需要兼顾设计、生产、销售各个方面。从趋势来看建立平台,无论是软件平台还是硬件平台是非常好的切入点,很多行业的巨头已经开始部署,联发科就是之一。相信很多人都知道联发科的“Turnkey”模式会极大催熟和席卷一个市场,而这次它甚至专门成立了“联发科创意实验室”来提供全面支持。

联发科创意实验室(MediaTek labs)是帮助不同背景与技术水平的产品开发者加速穿戴式和物联网装置的开发,计划为全球开发者、创客和服务供应商提供软件开发套件(SDK)、硬件开发套件(HDK)、技术文件与技术及商业上的全面支持。而它的第一个项目就是Linkit开发平台,LinkIt平台主要涵盖了4个部分(如下图):

联发科 Aster(MT2502) SoC,面向可穿戴设备领域目前世界上较小的商用级SoC
LinkIt OS,针对MT2502,用于可穿戴设备或者物联网设备连接其它智能设备或者直接连接云服务的操作系统
LinkIt HDK,基于MT2502的硬件开发工具,目前主要为矽递科技提供的LinKIt ONE开发板
LinkIt SDK,软件开发工具,包含了对Arduino IDE的插件、LinkIt API函数库与开发板固件更新工具(今后还将支持Elipse IDE)

LinkIt开发平台

了解完LinkIt开发平台,今天的主角也该登场了——LinkIt ONE开发板。

LinkIt ONE开发板

LinkIt One开发板是由矽递科技(Seeed Studio)和联发科合作推出的一款开源硬件,相信在了解过联发科LinkIt开发平台后,我们对LinkIt ONE不再是一头雾水了。LinkIt One基于联发科的Aster(MT2502A)ASoC处理器,集成了高性能的Wi-Fi和GPSx芯片。同时,LinkIt ONE提供了兼容Arduino UNO的接口可以很容易的介入各种Shield及传感。首先一起来看下LinkIt ONE庐山真面目。



LinkIt ONE配件包括:

LinkIt ONE开发板 *1
GPS天线 *1
GSM天线 *1
WiFi/BT天线 *1
1000mAh锂电池 *1

第一眼看到LinkIt ONE只会联想到小巧简洁,跟”功能强大“完全不沾边,然后事实却是LinkIt ONE将核心器件都布局在板卡背面,这才给人一种错觉。

LinkIt ONE的功能非常丰富,不仅在开发板的设计上兼容时下流行的Arduino Uno R3接口(实际功能上可能会有些差别,后面将介绍),可以相当便利的移植Arduino现有的丰富例程进行开发,减少学习成本,更是集成了目前智能可穿戴设备、物联网领域炙手可热的GSM/GPRS、WiFi/BT、GPS等无线通信功能。另外,值得一提的是,LinkIt ONE提供的配件中还包括了一块1000mAh的锂电池,可以方便移动开发测试,而对于喜欢DIY的工程师,在对基于LinkIt ONE原型板开发产品时的供电问题也得到了妥善的解决办法。

LinkIt ONE 板载资源

虽然LinkIt ONE板载功能非常丰富,但是板卡实际尺寸仅为3.3*2.1英寸,这和目前市面上Arduino开发板差不多大小,LinkIt ONE板卡正面布局十分简单,仅有一些常用的外设接口以及功能切换开关,核心的IC器件都集中在板卡背面,见下图。



LinkIt ONE开发板

LinkIt ONE参数:

主控: MT2502A(Aster, ARM7 EJ-STM),5.4mm*6.2mm,143-ball,TFBGA封装
主频: 260MHz
尺寸: 3.3x2.1 英寸
Flash: 16MB
RAM: 4MB
IO口输出电流:1mA
模拟口数量: 3
数字输出电平:3.3V
模拟口输入电压: 5V
串口: 软串口(Serial) 及硬串口(Serial1, D0&D1)
SD卡: 最大支持32G(Class 10)
GPS(MT3332)
GSM: 850/900/1800/1900 MHz
GPRS: Class 12
Wi-Fi: 802.11 b/g/n
蓝牙: BR/EDR/BLE(Dual Mode)

LinkIt ONE背部核心器件都由屏蔽罩覆盖着,占据了整个板卡面积的2/3还多,外部仅能看到一个兼容microSD卡与SIM卡功能的卡座以及3个天线射频接口(GSM/WiFi/GPS)。打开屏蔽罩后可以清楚的看到板卡电路的布局,依托于联发科完善的解决方案和MT2502A超高集成度,GSM/WiFi/GPS等无线通信功能的实现仅仅依靠MT2502A+RF7198(RF功放)+MT5931(WiFi)+MT3332(GPS)等几个核心器件,而且MT5931以及MT3332同样是联发科的方案,这里就不对这些器件做过多介绍了,有兴趣的可以参考这些产品的规格书。下图则是基于MT2502A SoC的简易外设资源框图,可以清楚的了解MT2502A强大丰富的功能集成。

MT2502A SoC的简易功能框图

联发MT2502A SoC特性:

目前市场上最小的商用系统级芯片(5.4mm*6.2mm)
CPU核心:ARM7 EJ-S,主频为260MHz
内存:4MB RAM,4MB闪存
双蓝牙,3.0和4.0 低功耗栈
GSM和GPRS调制解调器
电源:PMU和充电器等功能,具有传感器集线器功能的低功耗模式
多媒体:音频、视频、摄像头
接口:用于液晶显示器,照相机,I2C,SPI,UART,GPIO等更多的外部端口

作为一款针对可穿戴设备的SoC,MT2502A丰富的功能着实让人惊讶了一把,集成了电源管理、蓝牙、处理器、RAM等等功能,这简直就是一个入门级的手机SoC方案嘛,确实,如果回顾一下联发科的发展史,你就会发现设计这样一颗可穿戴设备SoC对于联发科来说实在是小菜一碟,将2G时代的手机SoC重新”修改装饰“一番即可,另外,对于可穿戴设备方案,封装大小是一个至关重要的因素,影响产品外观大小、结构布局等,而MT2502A SoC将那么多的功能都集成在这颗只有5.4mm*6.2mm大小的芯片上,相信仅仅只是封装+功能的优势联发科就能够让竞争对手喝一壶,更别提,加之联发科SoC一向引以为傲的低功耗特性。

MT2502A的功能、集成度、功耗可以说做到了可穿戴设备方案的尽善尽美,不过同样的,在对每个功能的实现上有些细节之处也与我们平时的使用习惯不同(尤其用惯了微控制器的工程师),比如先前我们提到的LinkIt ONE开发板”兼容Arduino UNO R3扩展接口“,人们会下意识的认为每个IO的使用可以像Arduino那样,但事实是MT2502A在一些IO口的功能实现和电气参数上与Arduino还是有区别的,尤其在设计的时候需要特别注意,具体差别可以参考下表


LinkIt ONE 与Arduino UNO一些接口区别

在了解了LinkIt ONE板卡以及MT2502A的功能和参数后,相信不少工程师对基于MT2502A SoC的产品应用充满了期待,事实上市面上已经出现过基于MT2502A的产品,比如下方的这款智能手表Omate X,那么,如果是你,遇见MT2502A后,会设计出怎样的产品呢?

对于LinkIt ONE板卡功能的使用,我们将通过实际的上电测试来进一步了解,当然,前期的准备工作必不可少:

1、安装Arduino IDE1.5版本以上的开发工具
2、配置联发科基于Arduino IDE 的SDK
3、安装USB调试驱动以及虚拟串口驱动

这些软件包在联发科的创意实验室中都可以找到,不过在安装USB驱动的时候有一点要注意,安装完驱动可以看到两个串口显示,如下图中所示

这两个串口分别代表着不同的功能,其中

MTK USB Debug Port:调试串口用于下载程序
MTK USB Modem Port:虚拟串口作为串口数据打印输出口

在爱板网以往的评测亦或是拆解文章中,我们很少接触像LinkIt ONE开发板中的GSM、GPS功能,所以接下来我们主要来体验下这两个功能的使用情况。

GSM功能

在GSM的功能测试中,我们准备做一个通过SMS短信控制LED点亮的功能,这里就涉及到一个实际的设计问题,根据前面了解的MT2502A的IO口参数,其驱动电流很小(0.3~3mA),无法直接驱动LED点亮,所以这里需要通过一个三极管作为控制,驱动信号为设置为D3管脚;并且GSM功能需要用到SIM信号,根据LinkIt的资料我们可以发现其SIM卡信号与SPI信号存在复用的情况,所以要将板卡正面的开关切换到SD/SIM位置处,实物连接图如下


驱动动LED电路

通过Arduino IDE下载程序后,通过sscom32串口工具可以看到“GSM OK”的提示,此时通过手机向LinkIt ONE板卡的SIM卡发送短信,可以在sscom32上看到来电显示号码以及控制命令,通过控制D3引脚实现对LED点亮或者熄灭的控制,如下图


通过SMS短信实现对LED的控制

相信这个例程只不过是抱砖引玉,这只是GSM功能的冰山一角,相信有更多更有创意的idea等着大家来开发。

GPS功能

Arduino IDE中有相应的GPS例程,我们可以直接拿来使用,下载程序后,将LinkIt ONE的GPS天线放置在窗口。

GPS例程使用

通过串口工具可以查看从MTK USB Modem Port口中打印的GPS信息,只不过只有GPGGA一条数据输出语句,虽然里面包含了UTC时间、经纬度、卫星数量、定位情况等信息,但是没有表明卫星载噪比的语句输出,也就是说,此时的定位情况准不准我们很难准确判断。

当然我们还可以借助更直观的软件来查看GPS的定位情况,比如通过下图中的VisualGPS

获取的GPS串口信息

上图中的Altitude高度指的是离海平面的高度,而不是说距离此时地面的高度。我们可以把得到的经纬度信息输入到google地图查看相应的位置情况,见下图

小结

介绍了联发科LinkIt开发平台、LinkIt ONE开发板以及功能丰富强大的可穿戴设备解决方案MT2502A SoC,兼容目前流行的Arduino接口、便于移植的开发环境,集炙手可热的GSM/GPRS、WiFi/BT、GPS等无线功能为一体,LinkIt ONE就好比一个入门级的智能手机平台,丰富的扩展保障了工程师在开发产品时各项功能的可行性,联发科MT2502A SoC更是在功能、功耗、封装上尽可能做到了面对可穿戴设备领域的必备要素,而随着MT2502A的问世(联发科第二代可穿戴解决方案MT2601也已经被曝光),相信联发科该思考的是如何将谷歌安卓生态系统的小伙伴拉到自己的LinkIt平台上。

参考资料

LinkIt ONE开发板资料
联发科创意实验室
LinkIt ONE购买链接
Arduino IDE下载