本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

8/16位单片机的终结者——SAM D10 Xplained Mini 开发板评测
发布时间:2015-07-09
分享到:
8/16位单片机的终结者——SAM D10 Xplained Mini 开发板评测
发布时间:2015-07-09
分享到:

在我看来,Atmel官方的Xplained开发板大致可以分为三个系列:最简约的Xplained mini系列、中端的Xplained Pro系列和高端的Xplained Ultra系列。其中中端的Xplained Pro系列型号最多,也是最常见的,而Ultra系列的型号最少。下面就介绍一下mini系列里面的SAM D10 Xplained Mini开发板。

看到SAM D10 Xplained Mini开发板,大家是不是就有一种很熟悉的感觉,因为它和以前评测过的ATmega328P Xplained Mini开发板几乎一样。无论是外形、大小、元件布局和板载仿真器型号都是一样的。最大的区别可能在于主芯片不同,一个是8位的AVR单片机,一个是Cotex-M0+内核的32位微控制器。

SAM D10 Xplained Mini开发板上包含了一个ATSAMD10D14A,它采样了ARM Cortex-M0+ 内核。虽然SAM D10是ATMEL 的 Cotex-M0+ 内核中较低端的一个系列,但是它仍然提供了非常强的功能和众多外设。它的工作频率高达 48MHz;Flash和SRAM分别是 16KB 和 4KB;它还提供了DMA 和事件系统、三个串行通信模块 (SERCOM)、多达 22 个 GPIO、12 位 ADC、10 位 DAC、硬件电容触摸按键等功能。

Atmel SAM D10微控制器系列提供了一系列丰富的外设,在小型封装中实现了高灵活性、易用性和低功耗,是广泛的家庭自动化、消费、计量和工业应用的理想之选。SAM D10C 系列是专为在具有相同外设模块、兼容代码和线性地址映射的 SAM D 器件之间进行简单直观的迁移而设计的。

开发板特性 

我们先看看SAM D10 Xplained Mini开发板上都包含了哪些资源,可以实现什么功能。SAM D10 Xplained Mini开发板虽然小巧,但是包含的内容一点也不少,该有的功能全都有了:

  • 板载仿真器,支持在ATMEL Stduio中进行源码级调试。
  • 在Atmel Studio 6中可以自动识别开发板
  • 引出了SAM D10 MCU的所有端口
  • 一个绿色的mEDBG状态 LED
  • 一个黄色的用户LED
  • 一个机械按键
  • 一个触摸按键
  • 通过mEDBG提供虚拟串口(CDC)
  • 8MHz 外部时钟(由仿真器提供)
  • USB 供电或外部供电
  • 提供了Arduino 兼容插座
  • 保留了SAM D10的SWD接口
  • 可以升级仿真器固件
  • 容易接入Xplained Pro 扩展板 

开发板硬件

我们在看看SAM D10 Xplained Mini开发板的硬件部分。

SAM D10 Xplained Mini开发板采用了4层板的结构,所有元件都在正面,背面没有任何元件。

开发板的最上面是一个microUSB接口,比较遗憾的是USB接口上没有采用xplained pro系列上常用的TVS保护电路,而是简单的用两个22欧的电阻进行保护。这和ATmega328P Xplained Mini开发板一样,而在ATmega328P Xplained Mini开发板上证明这样对稳定性是有一点影响的。

USB接口的下面是一个3.3V的低压差三端稳压器(LDO),它采用了TI公司的LP2985-33D。LDO的下面就是板载的仿真器部分,它采用了ATMEL公司的ATmega32U4,它提供了仿真、虚拟串口、供电、时钟等功能,使用非常方便。仿真器固件能够通过USB在线升级,还保留了BOOT焊盘(J102)方便以后进行固件修复。遗憾的是它只能仿真开发板上的SAM D10,不能象ST的开发板那样将SWD引出来,仿真外部的MCU。 

仿真芯片的下面就是主芯片ATSAMD10D14A,它的全部端口都引出来了,连接到开发板两边的面包板部分,可以方便的焊接排针或排母进行试验。值得注意的是开发板还保留了Arduino排母,可以方便的用Arduino的多种传感器做试验了。 

芯片的下面是一个很大的Q字,这就是SAM D10 Xplained Mini开发板上的触摸按键。触摸按键的下面是机械按键SW0、用户LED、ISP插座和SWD插座。

比较遗憾的是SAM D10 Xplained Mini开发板没有加入象SAM L21 Xplained pro开发板上的电流测量电路,这样就不能实时测量运行功耗,对功耗进行优化。这可能与SAM D10系列的微控制器不是主推低功耗功能有关,其实SAM D10的低功耗性能还是不错的。

开发板资料

因为SAM D10 Xplained Mini开发板推出的时间还不是太长,所以目前开发板的资料不多,主要有下面一些资料:

用户指南告诉用户怎样快速开始使用开发板,充分利用开发板的软硬件资源;而硬件文档中提供了开发板的原理图、PCB、元件表等。

在使用开发板前,还需要安装ATMEL Studio,目前最新的版本是ATMEL Studio 6.2sp2。 (下一页

使用开发板

我们先试试开发板自带的演示程序。先用USB线连接开发板,并确定USB驱动程序已经安装成功(安装Atmel Studio时会自动安装驱动程序)。然后在运行任何一个串口调试软件(这里使用了超级终端),并设置好串口参数,主要是选择开发板对应的串口,以及设置波特率为9600。

按下开发板的复位键,让程序重新开始运行,我们就可以在超级终端上看到下面的提示。

这时你就可以输入任何字符,注意一次只能输入一个字符,等屏幕上显示出来后才能输入新的字符。

注意到屏幕上的英语提示没有,如果你认真看一下,它提示你说收到的数据将以莫尔斯码的方式回显。在回显的字符前有一些由点和线,这就是字符对应的莫尔斯码。这个程序还可以用按键SW0输入莫尔斯码,点就是非常短的按一下SW0,稍长一点代表横线,在稍长时间的无输入就代表输入结束。大家可以体验一下电影中以前发报员的感觉了。

莫尔斯码大家都听说过,但是具体怎样输入,对应关系是怎样的,相信大部分人都不熟悉了。不过没有关系,使用搜索引擎,很快就能找到答案。下表就是常用字符对应的莫尔斯码,大家可以按照码表输入试试。

试过了开发板自带的程序,我们在看看ASF中的例程。本来预备在刚发布的Atmel Studio 7.0 beta中尝试运行一下SAM D10 Xplained mini,但是Atmel Studio 7.0可以识别开发板,却没有提供例程,这可能是Atmel Studio 7.0中自带的ASF版本较低造成的。(下一页

我们还是只能使用AS6.2来测试SAM D10 Xplained mini开发板。先确认ASF已经升级到最新的3.24.2版本,在运行AS6.2后,就可以看到已经有两个例程了(希望下次升级ASF时会有更多例程)。

我们先看看第一个例程Getting Started Application,这个程序演示了GPIO、定时器、按键、串口、延时、中断等的用法,是初学者应该认真学习的。

编译并下载程序后,我们还是运行超级终端查看数据,不过这次需要将波特率设置为38400,这也是ATMEL的软件最常用的波特率。运行后,会发现软件会每秒显示一个消息:“The output is triggered by TC counter”。如果按下SW0,黄色的LED会随着SW0的状态进行变化。

尝试了ASF自带的例程,我们在试试自己写一个小程序。先创建一个GCC C ASF Board Project。

然后选择Select By Board,并输入D10,可以快速选择SAM D10相关的模板。我们选择SAM D10 Xplained mini。按下Ok后,要稍等一会(AS6有点慢),AS6就会自动创建项目文件。

因为是使用SAM D10 Xplained mini模板创建的项目,所以程序中已经带有基本的代码,它的功能是通过SW0的状态来设置LED,按下SW0时LED点亮,释放SW0时LED熄灭。这个程序可以直接编译,然后下载运行或者仿真。

#include <asf.h>

int main (void)
{
system_init();

/* Insert application code here, after the board has been initialized. */

/* This skeleton code simply sets the LED to the state of the button. */
while (1) {
/* Is button pressed? */
if (port_pin_get_input_level(BUTTON_0_PIN) == BUTTON_0_ACTIVE) {
/* Yes, so turn LED on. */
port_pin_set_output_level(LED_0_PIN, LED_0_ACTIVE);
} else {
/* No, so turn LED off. */
port_pin_set_output_level(LED_0_PIN, !LED_0_ACTIVE);
}
}
}

如果希望加入更多功能,可以先打开ASF Wizard(ASF向导),然后选择添加各种ASF功能模块,如串口、定时器、FreeRTOS等。

小结

简单的介绍了Atmel 最新开发板SAM D10 Xplained Mini 的功能特点,板载低功耗的ATSAMD10D14A微控制器,基于ARM Cortex-M0+主频,配合板载的EDBG调试模块,可以通过Atmel Studio6.2进行快速的学习、开发,或者基于板卡进行项目的原型设计,有兴趣的可以关注爱板网近期的活动,将会有一批Atmel最新的开发板试用。

参考资料

原创申明:本文为爱板网原创,谢绝转载!

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论