×
嵌入式 > 技术百科 > 详情

Atmel XMEGA-A3BU Xplained评估板评测(二)

发布时间:2020-06-06 发布时间:
|

在前面的评测中,我们对XMEGA-A3BU Xplained开发板的外设及其具有的丰富功能进行了简要的介绍。整块板子正如它的名称Xplained一样:清澈,朴实。当然,要完整的评测一块板子单靠外观是远远不够的,我们必须深入其中看看XMEGA-A3BU Xplained到底能带给我什么?
网络上关于XMEGA-A3BU Xplained的介绍其实并不多,除去一些广告及基本介绍信息外就所剩无几。当然,这也难不倒我们广大的工程师们。其实最权威,最有用的资料当然还是在ATMEL的官网上,点击进入XMEGA-A3BU Xplained的主题页面

整个界面简洁有序,中上方的分别给出了Xplained板子的概述,所用器件,相关文档及应用等栏目,非常便于用户查找。通过该页面上对板子的概述我们知道:其实Xplained板卡是一个系列,它们的外设都是一样,但核心芯片是有差异的,不过它们都属于XMEGA系列。可能有人会说,在32位ARM大行其道的今天,8位的处理器还有市场吗?其实嵌入式市场本身就遵循着一个原则:够用就好。参考官方对该系列的介绍可以看出,XMEGA系列虽然是8位的,但其设计理念,相关技术指标还是非常优秀的:

  •          高精度模拟 — 12 位 ADC 具有增益级,其组合吞吐量可达 4 MSPS。 快速 12 位 DAC 具有高速驱动强度以及一些其他功能,减少了对外部元件的需求。
  •          实时性能 — 事件系统简化了外设间的信号传送,其响应时间 100% 可预测。所有外设都可以使用 DMA 进行数据传输,以帮助卸除 CPU 负载。
  •          Atmel picoPower® 技术 — 真正的 1.6 伏工作电压、500 nA RTC 工作电流和完整的 SRAM 保留,可使唤醒时间最短。
  •          高度集成 — XMEGA 器件集成了 AES 和 DES 加密模块、多达 32 个 PWM 输出、8 个 UART、4 个 TWI (I2C) 和 4 个 SPI 通道以及 1 个 CRC 生成器模块,等等。
  •          AVR 软件库 — 完整的器件驱动程序和通信栈库可以大大节省您的时间,让您把更多的开发精力投入到更重要的设计任务上。
  •         Atmel QTouch® 感应 — QTouch 库支持可帮助您轻松实现按钮、滑条和滑轮所需的可靠的电容式触摸感应接口。
  •         USB 连接 — 无需外部晶体振荡器即可全速运行,31 个端点加上特殊的多包功能,确保在最大化数据传输速率的同时最小化 CPU 负载。

上面的介绍来自于ATMEL官方对XMEGA系列的宣传,我们手上的板卡搭载了一颗ATxmega256A3BU的芯,这颗MCU在整个XMEGA系列中处于中高端的位置,除了具有上述优点外,其还包括了256K FLASH,USB device接口等等,具体信息大家可以到ATMEL官网上查询。下图来自于ATxmega256A3BU芯片的DATASHEET,可以看出其资源还是相当丰富的。

值得注意的是,在XMEGA系列的MCU中还有一颗芯片的型号叫做ATxmega256A3U,它和我们板上搭载的芯片只差了一个字母,其实它俩的基本配置也确实差不多,唯一的区别就在SPI和UART的接口个数上。除MCU以外,Xplained板上另一个能够吸引用户的芯片恐怕就算是板卡下方的AT45DB642D了,这是一颗双接口(SPI和8bit)的64Mbit容量的FLASH芯片,待机模式下的功耗仅为25uA。

比较遗憾,该Xplained板并没有集成调试器,所以如果要对其进行仿真调试的话,那就需要额外购买了。在里推荐大家使用ATMEL推出的低成本仿真器AVR Dragon 。

它支持数量众多的mega,xmega及AVR32芯片,而其正版的售价仅为49美金。由于在前面的评测中,我们已经对Dragon进行了详尽的评测,所以在这里就不在赘述。有兴趣的朋友请查看AVR Dragon 。

有了开发板和仿真器,下面就缺开发环境了。常用的AVR开发环境主要就是IAR FOR AVR和AVR STUDIO。
IAR FOR AVR相信大家都比较熟悉了。没错,它就是IAR公司推出的众多编译器之一,目前最新版本是6.20.具体支持的芯片种类可以参考下面链接。它同样支持上面所说的AVR Dragon仿真器。

AVR STUDIO是ATMEL官方推出的AVR集成开发工具,最新的版本是6.1。和IAR相比,它最大的好处在于免费。并且它还能够同时支持ATMEL两种架构的MCU: ARM和AVR.


下面就以AVR STUDIO为例来看看如何快速简单的构建一个完整的XMEGA-A3BU Xplained实例。首先,去ATMEL官方网站。上下载,软件比较大,有600多兆。所以需要耗费一点时间。下载完成后,双击安装包进行安装,AVR STUDIO是基于VISUAL STUDIO开发的,所以在安装之前安装包会自动检测系统中是否安装有viual studio。如果没有安装的话,系统会自动连接网络进行安装。

双击桌面上的Atmel studio快捷方式打开软件。

进入默认界面(是不是很熟悉?这可是标准的VISUAL STUDIO开发界面呢)

    点击左上角“文件”-》“新建”-》“项目”按钮,弹出新建项目对话框。在这里我们选择基于板卡(XMEGA-A3BU Xplained)建立工程

在下面输入项目名称,位置后,点击“确定”就完成了一个最简单工程的建立。这个工程非常简单,只有一个被包装好了的函数board_init();

细心的朋友可能会发现,在mian.c标签旁边还有一个ASF Wizard标签。那么到底什么是ASF?它有什么用呢?

    其实ASF是Atmel Software Framework的缩写,从中文意思上来看其实就是ATMEL推出的软件开发框架,也就是ATMEL的软件开发库,在ATMEL官方网站上有对ASF的详细介绍。和其它公司推出的开发库不同,ASF从三个方面对底层函数进行了封装:板卡,芯片和平台。由于我们在新建工程的时候选择的是XMEGA-A3BU Xplained板子,所以点击ASF Wizard后自动打开针对该板卡的ASF框架。

界面的左边是ASF框架支持的所有代码模块,这包含Drivers(底层驱动),Components(组件),Services(服务)。右边是目前已经选择了的模块,可以看到当前的工程里我们选择了3个模块:Generic board support,GPIO,IOPORT。
选定所需的模块后,点击下方的“APPLY”按钮回到代码编辑界面,此时我们就可以调用刚才在ASF中添加的模块代码了,在main.c文件的board_init(); 函数的下方添加如下代码实现LED0和LED1每隔500ms闪烁一次。

sysclk_init();//调用ASF框架函数初始化时钟
delay_init(sysclk_get_cpu_hz());//调用ASF框架函数初始化delay服务
while(1)
{
delay_ms(500); //调用ASF框架函数延时500Ms
gpio_set_pin_low(LED0);
gpio_set_pin_low(LED1);
delay_ms(500);//调用ASF框架函数延时500Ms
gpio_set_pin_high(LED0);
gpio_set_pin_high(LED1);
}
可以看到由于有了ASF,避免了操作复杂的寄存器,编写的代码简洁而且可读性强。可能有人会问了,ASF中包含了那么多的函数我们怎么才能完全掌握呢?其实ATMEL早就考虑了这些问题,在AVR STUDIO的右边,点击ASF Explorer栏将会自动打开目前项目中所包含的所有模块信息。这就包括了相关的头文件、快速指南及API文档。当然,这些文档也不是本地的,需要查阅的时候直接双击即可弹出浏览器界面进行在线阅读。这样做可以大量节约硬盘空间,并保证所有文档是最新版本的。

除此之外,在与非网  Atmel AVR技术社区中还保存有大量的技术文档和视频教学,其中就包含了ASF库的使用技巧,如果需要更深一步学习那么可以参阅这些资料。

总结:

XMEGA-A3BU Xplained确实是一款不可多得的精品级入门学习板,它小巧、紧凑、简洁、有序。它除了拥有一颗强劲的芯外,外围器件也非常丰富,不大的面积上包含了JATG接口、液晶屏、FLASH、电池、触摸按键及各种传感器等。在开发工具方面,ATMEL为它提供了经典的AVR STUDIO开发环境以及Atmel Software Framework框架,进一步简化了开发流程,缩短了开发周期。伴随着ATMEL大学计划的不断开展,越来越多的学校将会开设以XMEGA-A3BU Xplained平台为基础的实践教学课程,我们有理由相信在不久的将来,优秀的XMEGA系列MCU将会越来越多人使用。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
实时控制.安全.如何加速实现未来工厂落地?