简化嵌入式系统设计——搭载Atmel SAM D21芯片的Xplained Pro开发板测评

作者: suyong_yq
上传时间为: 2014-07-02 05:02 PM

通用嵌入式微控制器在片上使用丰富的外设配合中央处理单元与外部环境进行交互,设计芯片的硬件工程师为了满足不同的通信需求,设计了不同的外设模块集成到微控制器上,尤其是在数字通信总线的设计领域,已经产生了多种标准的通信总线协议,并被广泛地应用于嵌入式系统的设计中,例如UART、SPI、I2C等等。然而,无论是采用何种协议,通信总线用于数据传输的本质从未有所改变。而随着半导体设计技术及应用的发展,通信外设的本质属性不断被设计人员挖掘并体现在外设模块的设计中,将多种通信外设的功能进行统一的趋势开始逐渐显现出来。

使用一种通用的可配置通信外设控制器,无论在软硬件设计或是解决方案的应用上,都能简化嵌入式系统的设计,有效地提高工作效率。这样灵活的软硬件配置将使得嵌入式设计工程师减少对电路设计的依赖,从而提供更加广阔的创新空间。现在,在Atmel公司最新发布的SAM D系列MCU中就集成了可灵活配置为UART/USART、SPI、I2C等串行通信总线的通用串行通信接口(Serial Communication Interface,SERCOM)。

全球微控制器(MCU)和触摸解决方案领域的领导者Atmel公司(纳斯达克:ATML)于2014年3月6日宣布推出三个新的产品系列,SAM D21、D10和D11系列集成了更加丰富的连接与通信功能,实现面向消费、工业和医疗市场的物联网应用的设计灵活性。新的产品系列扩展了其基于 ARM® Cortex® M0+的低功耗MCU产品组合。这些入门级的低功耗MCU产品集成了Atmel的专利技术:事件触发系统(Event System)、通用串行通信外设(SERCOM)、触摸控制器以及无需外部提供晶振的全速USB通信控制器,结合Atmel在MCU领域积累的二十多年的丰富经验,打造出独特、易用、灵活的完美配合,具备极高的可扩展性和高性能的互联外设,可以帮助设计人员更快地将他们的产品推向市场。Atmel SAM D系列微控制器的代码和引脚相互兼容,便于设计人员在该系列中向上或向下迁移。

接下来,将带大家一起了解一下Atmel公司推出的这款搭载了SAM D21系列MCU的Xplained Pro开发板。SAM D21系列MCU Xplained Pro开发板

 

Atmel SAM D21 Xplained Pro开发板

用“简约而不简单”来形容Atmel SAM D21 Xplained Pro开发板真是太贴切不过了。板子的外包装走的是“精简节约”的路线,小巧的包装盒内只有一块被保护在防静电包装袋中的主板,连数据线和介绍光盘都省下了。然而,“贼心不死”的我在包装盒的背面发现了重要线索,上面印有板子的软硬件资源和使用说明的网页链接。好在开发板使用的是micro-USB的接口,用现在常用的手机数据线就可以方便地建立与电脑的连接。

从防静电包装袋上和包装盒子上看,这块板子是在马来西亚完成制作的,是不是有点“高端大气上档次”的感觉呢。

SAM D21系列MCU Xplained Pro开发板包装SAM D21系列MCU Xplained Pro开发板包装2

SAM D21 Xplained Pro开发板如同它的包装那样,十分的简洁,然而貌似简单的布板竟然使用了4层布板的工艺。60mm x 100mm的板子在正面中心位置嵌入了一颗SAM D21 J18A的微控制器芯片,上边缘密集地排满了两个分别用于调试和USB设备的micro-USB接口,两个分别用于复位和用户编程的扁平轻触开关,三个LED指示灯其中之一是用户可编程的(黄色),其余两个分别为板上电源指示灯(绿色)和板载调试器的状态灯(黄色)。功能强大的板载调试器EDBG电路位于开发板的背面,可以看到其采用的AT32UC3A4256J是一颗32位的AVR MCU。这款调试器的强大之处在于包含了相当多的功能,除了基本的SWD调试接口外,还包含:

  • 虚拟串口可以在USB总线中模拟出一条UART通道,使电脑可以使用串口同目标微控制器建立通信。
  • Atmel数据网关接口(Data Gateway Interface)可以用于通过SPI和TWI连接到目标微控制器。
  • 建立到目标微控制器的四个GPIO,可用于简单的编码通信。

想必大家还记得,经典的ARM调试器J-Link V8的主控制器核心AT91SAM9G45也是Atmel公司的产品,所以就不难理解Atmel的开发板上可以拥有这么强大的调试器了。

从整体上看,局部元件的密集分布同其它区域的空旷很不相称,这一切的一切都是为了兼容设计扩展接口的连接。通过专门设计的扩展接口,SAM D21 Xplained Pro开发板还可以连接Xplained系列套件的其它好玩的模块。

SAM D21 Xplained Pro开发板 连接SAM D21 Xplained Pro开发板 连接2 但从板子本身来看,可以玩的模块并不多,算起来只有一个可编程USB、一个可编程按键、一个可编程指示灯,8Mb的Flash存储芯片AT25DF081A算是比较出彩的东东了,可以考虑在上面搞个文件系统什么的。

SAMD21J18A微控制器

相比于算不上妖娆的外表,内“芯”的强大才是我们关注的焦点。SAM D21 Xplained Pro开发板搭载的核心微控制器为SAMD21J18A,是目前D21系列的最高配置,其片上资源有:

  • 采用ARM Cortex-M0+处理器核心,最高主频48MHz, 2.14 Coremark/MHz,运行模式下能耗低至70uA/MHz,继承了ARM Cortex-M+搞效能比的优良特性。独有的事件触发系统(Event System)在实时应用中为功耗敏感的设计提供了强有力的保障。
  • 内部集成的存储资源包含256KB的FLASH和32KB的SRAM。在目前主流的众多采用了ARM Cortex-M0+内核的微控制器中,这已经是相当豪华配置了。
  • 使用64 Pin的QFN封装。对于电子发烧友来说,这是一个可以方便焊接的封装。
  • 基础通信总线接口方面,集成了6个通用串行通信接口(Serial Communication Interface, SERCOM),每个接口均可通过软件配置成 UART/USART、SPI 或 I2C 的任意一种工作模式。
  • 高级通信总线接口方面,内置的嵌入式全速USB 2.0模块支持主机和设备两种模式,配备96MHz 音频流分数PLL的双通道I2S接口。
  • 模拟外设方面,集成1个20通道的16-bit高精度ADC模拟/数字转换器,1个12-bit的DAC数字/模拟转换器,2个模拟比较器。
  • 同时还有丰富的GPIO和众多功能强大的定时器模块。

在芯片内部对外设地址空间的布局也非常整洁。

SAM D21 Xplained Pro开发板 Atmel Studio集成开发环境

接下来,将同大家一起分享一下Atmel SAM D21 Xplained Pro开发板的编程体验。官方提供了可以免费使用的豪华版IDE,Atmel Studio,用于对Atmel SAM D21微控制器的开发,目前最新的版本是6.2 beta。Atmel Studio内部使用的是开放的GCC工具链,可以支持Atmel自家包括ARM、AVR等所有MCU的软件开发,集成特别设计的软件框架AFS(Atmel Software Framework)下的驱动程序及丰富的样例代码。然而,这里要提及的一点是,Atmel Studio的安装过程是比较悲催的,安装程序自动安装了Microsoft .NET Framework 4.0 和Microsoft Visual Studio Isolated Shell (2010),并且需要重新启动一次电脑才能完成安装,安装根文件夹“Atmel”占用磁盘空间达到了1.5GB。

安装     安装完毕后,通过USB线将电脑与开发板上的Debug接口连接起来,识别出EGDB调试器的多个设备。

设备      安装完成后启动Atmel Studio,哎呀,果然不出所料,是Microsoft Visual Studio的风格。安装完成

开始导入一个样例工程。轻戳欢迎页面的“New Example Project…”,出现样例工程选择对话框,在“Device Family”栏目中选择我们今天的明星“SAM D,32-bit”,在“Category”栏目中选择“Drivers”,展开浏览窗口中的目录即可看到全部驱动单元样例程序的列表。这里将选择了一个简单的串口应用样例程序“Quick Start for the SAM D20/D21 SERCOM USART Driver (Callback) – SAM D21 Xplained Pro”,轻戳“OK”,Atmel Studio就开始自动创建工程了。

自建工程        创建样例工程时会弹出许可窗口,当然是“Accept”啦。

安装2       导入样例工程。

导入工程     选择调试工具为板载的EDGB调试器。竟然还可以配置调试器的通信速率,真是强大。

瞄一眼工程配置界面,与IAR有一些神似。

安装     轻戳调试按钮,就是工具栏上那个绿色的小三角,用过Microsoft Visual Studio的童鞋们对这个太熟悉啦。如果调试器固件程序有更新的话,在下载程序的过程中会提示更新调试器固件。

更新调试固件更新调试固件2

注意,升级前并没有提示是否需要对在板子上进行特殊操作,实际上,调试器在升级的过程中自动重启了若干次,并且自动识别了bootloader模式的设备驱动。过程中并没有进度条的变化,只是板子上的电源灯闪烁了若干次,中间甚至提示“超时”的警告,不过还好最后更新成功了。这个过程着实捏了一把汗。

最后,板子上的橘黄色调试指示灯终于开始闪烁了,说明进入调试模式,下载好的程序开始在芯片中运行。

程序运行       使用9600波特率打开串口,试着在串口终端中输入了几个字符,果然是经典的串口回显功能,只不过要积累到5个字符才能产生输出,这应该是可以在程序中通过改变缓冲区大小设定的。

小结

在对SAM D21 Xplained Pro开发板进行一番了解和试用之后,感觉Atmel推出的这D21系列微控制器真心不错,搭配的丰富内存资源、全速USB通信通信控制器等在ARM Cortex-M0+微控制器中绝对是豪华配置,特别是通用串行通信接口SERCOM,通吃目前现有流行的串行通信接口,可以为嵌入式设计提供极大的便利。相对于优秀的芯片设计,相应的集成开发环境Atmel Studio或许会成为使用SAM D21微控制器进行开发的短板。从产品的定位可以看出,Atmel Studio是一款大而全的IDE,囊括了包括AVR、ARM等所有Almel的MCU产品。在用户界面的体验上,接近桌面软件的开发风格对于嵌入式设计来讲显得过于花哨。不过,SAM D21系列微控制器同样受到IAR、KEIL、GCC等主流工具链的支持,应用设计人员可以根据具体的设计需求进行选择。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示