高达300MHz的Cortex-M7——Atmel SAM E70 Xplained Evaluation Kit评测
扫描二维码
随时随地手机看文章
0.引言
2014年9月,ARM公司发布了新一代微型控制器(MCU) ARM Cortex-M7。该控制器也是目前为止M系列微型控制器中性能最强悍,功能最丰富的微控制器。据了解,ARM Cortex-M7的理论极限主频高达400MHz,这一数据已经足以同之前的ARM 7、ARM 9型处理器媲美,而且Cortex-M7的工艺更加先进(支持40nm工艺),功耗更低,因此这款控制器在需要大计算量的工业场合中使用得越来越多。
目前,各大半导体公司都获得了Cortex-M7的授权,几家大半导体公司也都推出了自家的Cortex-M7的微控制器,如意法半导体公司的STM32F7系列微控制器,NXP公司的Kinetis KV5x系列微控制器以及Atmel公司的SAME70、SAMS70系列微控制器等。就目前来说,NXP公司的Kinetis KV5x系列微控制器最大主频只有240MHz,意法半导体公司的STM32F7最大主频只有216MHz,运行速度都比不上ATSAME70,因此,从运行速度的角度说 ,ATSAME70就是当前性能最强大的ARM Cortex-M系列微控制器。
为了更好地评估ATSAME70这款强大的Cortex-M7微控制器,Atmel公司推出了ATSAME70-XPLD 开发板,下面来看看这款微控制器和开发板有何突出之处吧。
1.开箱
首先来展示一下这块开发板
外盒是一个机器人,这是Atmel公司Xplained系列开发板的一贯风格
盒子背面是开发板的相关信息
外盒里面还有一个牛皮纸盒
牛皮纸里面有几层泡沫,这一点体现了Atmel公司的用心,这样能够很好地保护开发板
这个是用防静电袋子包装的开发板,包装里面还有一条micro-USB转USB type A的线
开发板的近照
背面
这块开发板用的是4层PCB板,电路板面积为83.5mm*105mm。开发板整体布局与其他的Xplained开发板类似。
2.硬件介绍
这一部分将介绍一下开发板的硬件。
首先介绍一下开发板整体的硬件,Atmel SAM E70 Xplained Evaluation Kit板载主要资源如下:
1、处理器:ATSAME70Q21 (144引脚四方扁平式封装技术(LQFP)封装),基于 ARM Cortex-M7 的处理器
2、ROM:2kbit EEPROM,一个SD卡槽
3、RAM:16Mbit SDRAM
4、10/100兆自适应以太网口
5、板载调试器、下载器
6、ARDUINO DUE R3接口
7、两路Atmel XPRO接口
8、一个target USB接口
9、摄像头接口
10、20针JTAG调试口
从板载资源来看,这块开发板的资源十分丰富,这也反映了ATSAME70Q21这块处理器支持的功能很多。下面具体介绍一下各个部分
1、微控制器ATSAME70Q21。
ATSAME70Q21属于Atmel SAM E70 系列微控制器 (MCU) 。SAM E70是基于带双精度浮点运算单元 (FPU) 的高性能 32 位 ARM Cortex-M7 RISC 处理器。最高运行速度可达 300MHz,具有高达 2048KB 的闪存、16KB 的L1数据缓存以及高达 384KB 的 SRAM。通过 QSPI、静态存储器和 SDRAM 接口提供更多存储器扩展选项。 SAM E70 系列提供了一套丰富的高级连接外设,其中包括支持 IEEE 1588 的 10/100Mbps 以太网 MAC、双 CAN-FD、包含片上高速 Phy 的高速 USB 主机和器件、相机接口、一个 SD/MMC 接口、一个支持 TDM 和 I2S 的 SSC、8 个 UART、5 个 SPI 和 3 个 I2C。SAM E70 MCU 具有一个 FPU 协处理器、高级模拟功能以及全套定时和控制功能。
该MCU的框图如下
该MCU的实物图如下
2、EEPROM芯片AT24MAC402
AT24MAC402同样来自Atmel公司。这款EEPROM基于 I2C总线扩展,该EEPROM有48-位MAC/EUI,同时具有128位独一无二的标识码,这款EEPROM最大读写速度高达1MHz。
3、SDRAM IS42S16100
IS42S16100来自ISSI公司。这款SDRAM提供16 Mb内存空间。这款SDRAM的最大频率为200MHz[!--empirenews.page--]
4、10/100兆以太网芯片KSZ8081RNACA
KSZ8081RNACA来自Microchip公司,该芯片是10/100兆以太网收发器
5、调试模块EDBG
在所有的Atmel公司的评估板或者较为高端的开发板上面都会配备一个EDBG调试器,调试器的核心是一块A06-0736 EDBG芯片
介绍一下EDBG。Atmel公司嵌入式调试器EDBG是一种板载调试器,EDBG允许用户在没有外部调试器的情况下调试目标设备。同时,EDBG也带来了额外的功能,即与PC相连的虚拟串口。
Atmel EDBG在每块开发板上面的具体功能并不是完全相同的,根据每块开发板具体需要会有不同的配置。这一EDBG配置会被Atmel Studio读取从而获取用户正在使用的MCU芯片型号和开发板型号。简单来说,这个EDBG有两大功能,一是下载调试程序,二是存储开发板的相关信息以便被Atmel Studio读取。Atmel Studio的介绍会在下文提及。
6、Atmel SAM E70 Xplained Evaluation Kit主要的扩展接口
SAM E70 Xplained共有三个主要的扩展接口,分别是一路ARDUINO DUE R3扩展接口、两路Atmel XPRO接口、还有一路摄像头接口。
ARDUINO DUE R3扩展接口的引脚定义和所有ARDUINO DUE开发板一样。值得一提的是,ARDUINO DUE R3上面的主控芯片是ATSAM3X8E,这一MCU同样来自Atmel公司,同样是M系列的MCU,而Cortex-M7本身就与Cortex-M3、 Cortex-M4有良好的兼容性,因此能够在Atmel公司Cortex-M3、 Cortex-M4系列开发板上面使用的大部分接口都能够在Cortex-M7开发板上面使用。
Atmel XPRO接口的引脚定义如下图所示,这种接口可以与Atmel公司 XPRO系列子板卡连接,实现更多功能,如WIFI、蓝牙、Zigbee等。不过这类扩展板相对ARDUINO扩展板而言种类比较少,价格比较高,不过在没有XPRO系列子板卡的情况下也可以当作普通I/O口来使用。
摄像头接口属于标准工业CMOS摄像头的接口。有两排各15脚,属于低速图像传感器接口。
由上面的硬件介绍可知,这块开发板功能极为丰富,除了少了对于一块液晶显示屏的支持之外,几乎所有功能都具备了。而目前工业的趋势就是高集成度,如果能够在一块单片机上面包含需要的所有功能,那么无疑使大受欢迎的。因此,这块单片机符合未来工业的需求。
3.开发环境搭建
这一部分将介绍一下开发环境Atmel Studio的搭建。简单介绍一下Atmel Studio,Atmel Studio是集成开发平台(IDP)开发和调试Atmel ARM系列的和Atmel AVR系列单片机(MCU)的应用程序。Atmel Studio 7支持所有AVR、Atmel智能单片机,提供了无缝的和易于使用的环境写,构建和调试应用程序用C / c++编写的汇编代码。它还连接无缝连接Atmel调试器和开发工具。
首先,要到Atmel公司的官网下载这个软件的安装包,下载的安装包文件名为
as-installer-7.0.1006-full
然后双击安装
这个界面点击同意,并且要选定安装地址
在这个界面选中需要安装的包,这里选中SMART ARM MCU,如果还有其他需求的也可以全部都装
然后等待安装,安装过程中需要重启几次
安装完以后会进入这个界面,这个是软件启动界面,表示安装成功。
软件启动后进入开始界面
然后用提供的USB线将开发板上面的的DEBUG USB接口与PC机上面的USB接口连接,自动会进入这个界面
这里,软件会自动识别开发板型号,这个自动识别得益于之前提到过的那个EDBG芯片对于开发板信息的保留,开发板连接PC之后,Atmel Studio首先能够与EDBG芯片进行通信,获取开发板信息,并且显示出来。
到这里为止,开发环境的搭建已经完成。这个搭建过程还是相当简单的,下面将介绍一下如何运行一个程序
4.程序演示
首先在运行一个程序之前需要先对开发板上面的EDBG固件进行升级。升级时自动进行的,如图
然后要下载相关的例程包,在Atmel官网上面可以获取相关的例程包。链接会在文末给出
例程包如下图所示
找个文件夹进行解压安装,这个解压出来的就是些例程
下面演示一个测试温度的例程,在例程包中找到例程“afe_temp_sensor”,直接双击打开文件“afe_temp_sensor_7_0.cproj”,进入如下界面[!--empirenews.page--]
点击上方的绿色箭头运行(或者按F5),然后打开putty,按照如下要求进行设置:
波特率115200
8位数据
无校验位
1位停止位
然后打开串口,串口名可在设备管理器下找到EDBG virtual COM port对应的串口名,如图
对应的串口就是COM 16,打开以后看到如下信息
然后单击”t”就能够获取当前温度值
关于这个温度,由于是用热敏电阻进行测量,本身精确度就不高,而且电路板运行时会有相应发热,因此测得的温度不会很准,目前实际温度在38度左右。
下面再来演示一个控制LED亮和灭的程序。找到例程getting-started_7_0.cproj,双击打开,然后putty配置同上,打开putty,运行程序,看到如下信息
这里的意思是通过单击键盘上的“1”或者“2”来控制LED灯的亮与灭,但是这块开发板上面只有一个LED灯,因此只有那个“1”是有用的,运行程序会看到putty每出现一次“1”就对应LED灯状态改变一次(由亮到灭,由灭到亮)
5. 第三方开发环境下进行开发
上面主要介绍了如何在Atmel公司官方开发环境Atmel Studio下进行实验演示,这一部分来谈谈如何在第三方环境下进行开发。
ATSAME70-XPLD开发板支持两个第三方工具进行开发,一个是Keil,另外一个是IAR,这里主要说的是如何在Keil下进行开发。IAR的开发方法是类似的。
首先,还是要下载相关的支持文件。一个是例程包,下载地址和Atmel Studio的例程的下载是在同一处,另外一个就是Keil uVision5这个软件对芯片的支持包。
例程包的解压安装路径,使用默认的就可以
然后Keil uVision5的支持包,在上方的Pack Installer那里选中ATSAME70芯片,将相应的支持包安装上,如图
注意,如果之前没有安装CMSIS-DAP仿真器支持的要把下面CMSIS-DAP的几个包也装上。
下面进行一个程序演示,关于看门狗定时器。
简要介绍一下看门狗定时器。Watchdog Timer 中文名看门狗。是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
这个程序的作用就是在用户按下USER BUTTON时使程序发生死循环,然后使芯片复位。程序在之前解压安装的例程包里面的WDT,打开wdt.uvprojx,进入如下界面
然后进行编译,之后要设置一下仿真选项
仿真器要选中CMSIS-DAP,然后在CMSIS-DAP设置那里应该要看到EDBG的选项
选择仿真,然后点击F5全速执行,打开putty,按照前面的要求进行设置即可,看到如下信息
这里,单击开发板上面的USER BUTTON就会进入死循环,然后就会触发看门狗定时器的复位
在第三方环境下进行开发要比在Atmel Studio下进行稍微麻烦一点,不过对于熟悉keil或者IAR的人来说用熟悉的开发环境更加容易,对于初次使用的人来说开发这块板还是使用官方的开发环境Atmel Studio容易一点。
6.总结
Atmel公司新推出的这类以ARM Cortex-M7作为核心的MCU拥有强大的性能,主频高达300MHz,还有多种外设以满足不同环境的使用要求。而在软件支持方面,利用Atmel公司自家推出的Atmel Studio能够在短时间内建立一个工程。这个软件拥有高集成度,能够自动识别所用的开发板,并且自行添加所需要的外设库文件,使用非常便捷。同样,也提供了兼容第三方IDE工具如Keil 、IAR的软件包支持。由于这块板刚出不久,许多相关的硬件扩展资源比如基于XPRO的扩展模块还在不断完善,相信不久之后这块板的功能会更加丰富。
本文系21ic原创,未经许可禁止转载