大约两个多月前,我在贸泽用E金币购买了一块Genuino101(E金币兑换事宜转:
https://bbs.eeworld.com.cn/EJK/),珍藏至今,现在拿出来与大家见面:
包装很简洁,盒子很小巧,可与信用卡媲美。
庐山真面目:
Arduino/Genuino 101基于Intel的Curie模块,具有高性能和低功耗特性,同时具有Arduino的简单易用以及高性价比。它兼容Arduino UNO接口并且具有板载的Bluetooth BLE和6轴加速度/陀螺仪传感器,可在互联世界中随时激发人们的灵感。
Curie模块包含两个运行在32MHz核心,一个x86(Quark)核心和一个32位ARC架构核心,不过这两个核心如何配合工作并不需要人们的太多关心,大部分工作都由Arduino Software以及Intel的开发工具去自动完成。
由Intel开发的实时操作系统(RTOS)和框架是开源的,Arduino/Genuino核心通过一个静态的邮箱与RTOS进行通信使其去完成一个预定义的任务列表,用于Intel Curie的RTOS还在处于开发阶段,一些新的功能和特性将在不远的未来发布。
Genuino101具有14个数字输入/输出引脚(其中4个可以用于PWM输出)、6个模拟输入,一个USB接口用于串口通信和程序下载,一个电源插座,以及一个ICSP排座可用于SPI和I2C通信。
模块及其IO端口的操作电压为3.3V,但是所有IO端口都可以达到5V的耐压。说到5V耐压,功劳全靠它:
Genuino101板载了三颗TI出品的LSF0108电平转换芯片,这颗芯片可将外部输入的5V转为3.3V,也可以在外部接5V上拉电阻的情况下输出5V电压。市面上的大多数Arduino扩展板都是使用5V电平的,因此这个设计很有必要,不过为了要输出5V,还是需要接上拉电阻才行。
Genuino101使用Arduino Software(IDE)进行软件编程开发,板子在出厂时预装了一个实时操作系统,可以不通过额外的硬件编程器而直接通过USB接口使用DFU协议烧录程序。
Genuino101与UNO和Zero有很多共同特性,但Intel的低功耗微控制器与模块内置的
BLE和运动传感器使其与众不同。
101的固件会不定期的进行更新,在Arduino Software(IDE)中可以通过“烧录引导程序”菜单项自动完成最新的固件下载并更新的过程。当然对于感兴趣的人也可以自行下载源码编译自己的固件。
101可以通过USB接口或外部电源进行供电,其会根据情况自动选择正确的电源。外部电源可以是AC-DC适配器或者电池,适配器需要使用一个直径2.1mm内正外负的插头与板上的电源插座进行连接。使用电池供电可将电池的导线连接到板上电源连接器的GND和Vin两个针脚上。
电源引脚:
VIN:当使用外部电源(相对于从USB获取5V电源)时板子的电源输入引脚。可以通过这个引脚对板子供电,或者当板子使用电源插座取电时,也可以通过这个引脚使用插座的电源。
5V:此引脚通过板上的稳压器对外提供5V电压。板子可以通过直流电源插座、USB连接器或者VIN引脚进行供电。但是不建议通过5V或者3.3V进行供电,因为如果电源不够稳定可能会损坏板子。
3.3V:此引脚为板上3.3V稳压器的输出,可以对外提供最大1.5A的电流,板上的Curie微控制器就是使用这个电源进行供电。
GND:电源的GND引脚。
IOREF:此引脚为微控制器的IO参考电压输出,一个配置适当的扩展板可以判断此引脚的电平并选择适当的电源输入或者使能输出电压转换使其正确的工作在5V或者3.3V。
存储空间:
Intel居里模块的两个微控制器共享存储空间,用户可用的Flash空间为196KB(共384KB),RAM空间为24KB(共80KB)
输入输出:
Genuino101对外提供20个IO口,每一个IO口都可以通过pinMode(),digitalWrite()和digitalRead()函数设置为数字输入或者数字输出功能。其中3,5,6,9引脚可以通过analogWrite()函数设置为PWM输出功能。所有引脚的工作电压为3.3V并且都可作为中断源使用(通过attachInterrupt()函数设置)。每个IO口可输出或者吸入最大20mA的电流。
另外某些引脚具备特殊功能:
-0和1引脚用于串口的RX和TX功能,这两个引脚被关联到了Serial1类
-外部中断功能,每一个引脚的中断都可以设置为低电平触发、高电平触发、上升沿触发或下降沿触发。另外2,5,7,8,10,11,12,13引脚可以设置为电平变化触发中断。
-SPI: SS,MOSI,MISO,SCK。位于SPI插座的引脚可以使用SPI库进行SPI通讯。
-LED: 第13引脚连接了一个板载的LED,输出高时LED开启,输出低时LED关闭。
-模拟输出: 有6个IO口可用于模拟输入功能,这些引脚被标记为A0~A5,其中每一路提供10位的分辨率,输入电压的范围0-3.3V。
-TWI: SDA引脚和SCL引脚,可通过Wire库使用TWI通讯功能。
开发环境Arduino Software (IDE)的下载地址为:
https://www.arduino.cc/en/Main/Software。
下载并安装Arduino Software后,需要添加对Genuino101开发板的相应支持,运行Arduino Software,在菜单栏点击 工具》开发板》开发板管理器,弹出开发板管理器对话框,在对话框的搜索栏内输入101,下面便会列出搜索结果,如图:
点击安装按钮并等待安装完成。
安装好以后,在工具》开发板 选择Arduino/Genuino 101, 端口选择板子对应的串口号。
在文件菜单中打开点灯示例程序: 文件》示例 》 01.Basics 》 Blink, 点击后会在新窗口中打开示例程序。然后
验证并
上传程序,就可以下载到板上并运行。此时板载的LED会以两秒的频率闪烁。
其实Genuino 101最大的特点就是BLE和模块内置的6轴传感器,适合智能穿戴设备的相关应用,在Arduino开发环境中已经提供了相应的库,只是限于时间和精力的原因,还未做进一步的探索。