以学单片机的方法学习可穿戴开发套件

作者:刘桄序

大家都知道,自从2014年下半年开始,在电子产品市场出现的新品,均不再是纯单品的电子设备。而是基于网络、移动终端互联的电子产品。从这种发展,由不得想到在1995年左右,电子产品的设计和新品,逐渐由分离元器件,专用集成电路等变为智能控制,单片机起到了非常重要的作用。再由此扩展到可编程器件、PLC、ram,32位机和64位单片机等。自那开始,电子爱好者及相关的从业人员,开发工程师们都开始追逐单片机的应用学习。

同样,可穿戴设备的应用,也是当下电子爱好者及开发工程师们热追的技术之一。但如何才能快捷的掌握可穿戴设备技术的开发,以笔者之见,哪还是得向学习单片机技术一样,得有工具,得有参考案例,得有教学程序等等。

有幸,很幸运的在电子创新网获得了联发科可穿戴平台开发套件试用,成为这次试用活动的幸运者,非常感谢电子创新网给予的这次机会。

一、LinkIt One开发板

要开发可穿戴设备,联发科可穿戴平台开发套件能给爱好者提供一个应用平台, 具体的应用可参见 http://www.seeedstudio.com/wiki/LinkIt_ONE%E5%BC%80%E5%8F%91%E6%9D%BF 。现在就介绍一下套件的相关信息:

LinkIt One开发板是由矽递科技(Seeed Studio)和联发科合作推出的一款开源硬件,他是基于联发科的Aster(MT2502A)SoC处理器,集成了高性能的Wi-Fi和GPSx芯片。同时,LinkIt ONE提供了兼容Arduino UNO的接口可以很容易的介入各种Shield及传感。首先一起来看下LinkIt ONE的套件外观,见图1所示。


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背部核心器件都由屏蔽罩覆盖着,占据了整个板卡面积的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低功耗优势的体现主要表现在不同的工作模式:

·AP模式
·Always-on模式

AP模式即是应用程序处理模式,这部分就符合人们对基于MT2502A产品的基本操作,而多数情况下,MT2502A处于Always-on模式,在这个模式下,MT2502A只保留基本的时钟更新,传感器数据采集等功能(如下图所示),这就类似苹果的M8协处理器或者Sensor Hub,可以大大减小可穿戴设备的待机功耗,但是相比这些方案,联发科直接将sensor Hub集成到了MT2502A SoC中,至于真正屌不屌,用过才会懂。

MT2502A工作方式

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


LinkIt ONE 与Arduino UNO一些接口区别

在了解了LinkIt ONE板卡以及MT2502A的功能和参数后,相信不少工程师对基于MT2502A SoC的产品应用充满了期待,事实上市面上已经出现过基于MT2502A的产品,比如下方的这款智能手表Omate X,不过看官网上将近2000的售价,让人望而怯步啊,相信工程师小伙伴在遇见MT2502A后,能设计出更具有性价比更能让用户接受的产品。

二、使用

本处由于是学习,依然采用学习单片机的学习方法,跟着套件的第一个应用实例进行,点亮一盏灯。具体实施如下。

1.当参照应用案例时,与学刚开始学单片机一样,给出的程序怎么编译都不通过, 后来才发现下图这个要选择linkit_one,这种类是的软件选项,是必须要根据手册来设置的,否则正确的程序,也可能运行不起来。

2.连接好开发板后,装好驱动,选择好端口,编译成功,下载成功,然后就是灯闪烁了(默认例程:Basics->Blink)。成功的感觉怎么样呢?下图被点亮的瞬间,真实兴奋不已。

一个简单的应用案例已经成功了。这将为后期学习可穿戴的技术开发奠定了基础。从厂家提供的资料来看,这块板子是非常容易上手的。在此,笔者需要说明一点的是,本系统的参考资料全是英文资料,但请不要因为是英文资料而恐惧,只要单个单个的对比设置,应用起来也是相当的简单。但作为英文不好的我,还是希望能看到更多的中文资料,这样可能对我们这些草根电子爱好者来说,才会更容易上手些。