(转载)跟Classic ARM 处理器说拜拜——Atmel SAMA5D3 Xplained开发板评测
电子产业的蓬勃发展带来了史无前例的生活、生产大跃进,但是,人们在享受发展喜悦的同时又不得不面临现实现状的囧境——在以移动电子设备产业为核心的圈子中,性能发展、功能扩展和功耗正相互制约,大大降低了产品质飞跃的更新换代。尤其近年来电池技术一直徘徊不前,人们在追逐性能、功能的同时,逐渐把重心转移到如何在提升性能的同时降低、优化电子产品的功耗。
在当下,要同时兼顾性能与功耗,又要在安全领域有所保障,能适应目前普遍的linux内核系统开发的基于ARM处理器的嵌入式芯片通常成为商家的首选,而过去几年,侧重基于低功耗设计的考虑,全球半导体商通常采用基于ARM926、ARM1176内核,能在保证较低功耗的前提下,又能做操作系统的开发。但是,面对越来越严重的性能与功耗两者之间的矛盾,ARM公司早期的这些处理器有些疲软乏力,而像Cortex-A8、A9的功耗又相对较大(与ARM926、ARM1176内核功耗相比),就在去年,国际著名半导体商Atmel推陈出新,发布了一款基于ARM Cortex-A5内核的 SAMA5D3系列MPU,在增加性能的同时又降低了功耗,而且具有极强的易用性及安全性,非常适合目前流行的人机交互、M2M、智能电网等应用领域。而且与此同时,也就在去年,米尔科技相应的推出了面向M2M领域的基于Atmel SAMA5D3系列MPU的开发板MYD-SAMA5D31(具体内容可以参考爱板网早期评测文章)。而今,爱板网拿到了基于这款SAMA5D3系列 MPU的又一款力作——由Atmel、e络盟、英蓓特(e络盟子公司)三家鼎力合作主推的嵌入式开源硬件板–Atmel SAMA5D3 Xplained。
SAMA5D3 Xplained开发板
Atmel SAMA5D3 Xplained开发板
刚入手,就被SAMA5D3 Xplained小巧精致的外观震撼了一把,不同于米尔科技体积颇为壮观的MYD-SAMA5D21开发板,SAMA5D3 Xplained仅有125mm*75mm大小,相比市面上的三星note3系列手机还要小一些,不过,狭小的空间限制了PCB的布线,所以SAMA5D3 Xplained有10层板,听起来,作为开发板这层数还真有点Hold不住,目前很火爆的基于联发科真8核MTK6592方案的智能手机(华为、红米note系列手机)普遍采用的也就8层板或者10层板,由此可大概想象一下SAMA5D3 Xplained的丰富的可扩展功能。
对于板卡自身,SAMA5D3 Xplained开发板的配件就少得可怜,仅有一条micro USB线,作为5V电源线供电以及串口、下载线使用,从文档说明知晓板卡通过电脑的USB HOST接口即可供电,至少能说明一个问题,就是功耗比较低。不过看SAMA5D3 Xplained开发板还预留了一个DC适配器插座未贴片,是否是考虑到以后接扩展模块如果输入电流不够用的情况下可以通过适配器供电的兼容设计。板卡上还有其他几个未贴片的地方,如电源适配器座旁边的TF卡座,板卡后面的几个未贴片器件(后面会提到)等,这些都为板卡自身的扩展预留了空间。OK,我们先来了解下SAMA5D3 Xplained开发板具体有些什么板载资源。
SAMA5D3 Xplained开发板正面
SAMA5D3 Xplained开发板背面
SAMA5D3 Xplained开发板硬件框图
板载资源
- SAMA5D36 Cortex-A5 MPU,最高536MHz主频
- 256MB DDR2、256MB NAND Flash;串行FLASH以及1-WIRE EEPROM(空贴)
- LCD连接器、双网口(百兆网口+千兆网口);一个SD卡座、一个micro SD卡接口(空贴)
- 3个USB口(HOST*2、Device*1)、扩展IO口,兼容Arduino R3 Shield
- 一个标准JTAG接口、一个串口DEBUG接口、三个机械按键(用户、唤醒、复位)
SAMA5D3 Xplained由于本身PCB大小的限定,定义现成的板载外设功能不是太多,与先前评测的MYD-SAMA5D31有很大区别,不过有弊有利,好在其IO口都通过排针孔引出,用户可以根据自己的需求DIY创意,而且更难能可贵的是其IO口排针孔座可以兼容Arduino R3 Shield,用户可以自定义自己需求的模块,这与Intel Galileo的想法倒是不谋而合,不过,SAMA5D3 Xplained开发板出彩的地方是还可以通过Arduino Shield给板卡供电,Intel Galileo就做不到,从这点我们也能看出,SAMA5D3 Xplained板卡工作的功耗确实很低。同时,也得利于这个原因,板卡自身可以通过多种供电方式启动,非常方便。
这里值得重点提一下的是,这个micro USB接口可不只有供电的功能,同时他可以作为USB转串口以及板卡系统更新下载的功能,这让我们仅靠一个micro USB线就能对板子进行一些开发,相当的便利,这些功能也将在上电启动的环节进一步说明。
除了自定义扩展功能的丰富、功耗低等特点,SAMA5D3 Xplained板卡的设计也有非常人性化的功能,比如在板卡背面可以扩展的1线 EEPROM以及串行FLASH的兼容设计等,这些功能在需要用到的时候会感觉非常贴心。
但是,也同样存在着让人难以理解的功能,比如板卡上设计了4个可以测试板卡不同功能模块的功耗的接口(CORE、DDR、NAND Flash、IO口),见下图
SAMA5D3 Xplained开发板“功耗监测口”
咋一看这很人性化啊,但是,这些接口在内部却又是直连的,这让人如何测试电流?按照Atmel一贯的风格,这些地方处理应该使用两针的排针座,然后用跳帽短接,这样可以方面用户对电路各个部分功耗的监测,总之这里是笔者无法理解,也不敢苟同的地方。
MPU ATSAMA5D36
当然,板卡在功能以及功耗上的用心设计也体现出对核心控制器的信心,据Atmel官方介绍SAMA5D3系列MPU能以低于 150mW 的功耗提供高达 536MHz (850DMIPS) 的处理能力,下面我们重点来看下板卡上这颗高性能、低功耗的MPU SAMA5D36。
ATSAMA5D36微控制器
ATSAMA5D36微控制器系统框图(点击放大)
SAMA5D3 Xplained 开发板搭载的是Atmel SAMA5D3系列中规格最高的一颗产品SAMA5D36(各系列之间的不同之处可参见下表),基于ARM Cortex-A5内核,最高主频达536MHz,12mm*12mm大小,324ball BGA封装。集成了双以太网MAC、LCD控制器双CAN、USB控制器等常用的功能,而且预留了众多可供大家DIY的IO口,相当灵活。
SAMA5D3系列MPU
看了SAM5D3的简单功能介绍,大家或许会疑惑,这与基于ARM926的Atmel SAM9G\9X 系列的MPU功能比较相似。有这种感觉就对了,相信看过米尔科技MYD-SAMA5D31开发板的评测的朋友都知道,我们之前就将其定义为Atmel SAM9G/9X系列的升级版,当然,提升的地方不仅仅是性能,而且还有功耗。
这么说可不是信口开河,众所周知,SAM9G/9X系列是基于ARM926的内核,这是ARM公司早期的一款经典内核产品,性能和延展性对于现在的工业控制亦或是流行的物联网领域等来说有些陈腐,倒有点“廉颇老矣”的感觉;而SAMA5D3系列MPU则是基于ARM最新的 Cortex-A5内核,具有比ARM926更低的能耗、比ARM1117更高的性能(见下图)
Cortex-A5与ARM经典处理器性能与能效对比
如果说这还不够说服力,那将SAMA5D3系列与SAM9X系列MPU简单的比较你就会发现,SAMA5D3系列支持更高的32位DDR位宽,增加了支持千兆网口的MAC控制器,同时支持LCD控制器及ISI,支持LCD显示分辨率更是提高到720p,而SAM9X系列不仅只能支持16位位宽的DDR(除了工业控制等更新换代比较慢的领域还能用到,或者一些低端的路由器可能还在使用,基本属于淘汰边缘的产品了),仅有百兆以太网口MAC,并不是全系列支持LCD控制器等诸多看起来已经落后的功能,更让用户放心的是,SAMA5D36在提升性能、降低功耗的同时不仅保持与ARM经典处理器应用的兼容性,更是在指令与功能方面与更高性能的Cortex-A8、A9、A15等系列100%的兼容。
同样,基于Cortex-A5处理器的SAMA5D3在安全性方面也是值得称道的,如被大家熟知的Trustzone、更有安全加密引擎、安全哈希算法等,加之Atmel广泛的生态系统,无论是功能、性能亦或是能效、成本、安全性,SAMA5D3给你不得不升级换代的理由。
SAMA5D3 Xplained其他硬件部分
SAMA5D3 Xplained开发板功能的扩展除了自身核心的MPU,也必须有其余硬件电路的参与,我们不妨也一起看下。
千兆、百兆以太网PHY
SAMA5D3 Xplained采用了一个千兆以太网口以及一个百兆以太网口的混合设计,这主要是SAMA5D36 MPU内部集成的MAC所决定的,而外围电路以太网的PHY的选用分别为Micrel公司的KSZ9031RN(千兆)以及KSZ8081RNB(百兆),分别支持RGMII以及RMII接口,这和我们一般见到的以太网PHY同个工作原理。
SAMA5D3板卡上另一个很重要的硬件单元就是背面的电源管理部分(见下图电源管理单元),搭载的是act ive-semi公司的ACT8865 PMU,这可算是一颗为Atmel SAM9以及SAMA5等系列量身打造的PMU,内部集成了3路降压型DC/DC(最大可输出电流达1300mA)以及4路LDO(最高输出电流320mA),可提供1.8V、1.2V、3.3V等电压供电,具体可以参考下图ACT8865 PMU。
电源管理单元
ACT8865 PMU
除了这几部分值得重点一提的硬件电路部分,SAMA5D3 板卡其余的功能基本都由SAMA5D36 MPU包揽,板卡上也没什么可值得一提的硬件模块了,下面就上电启动板卡看下。
Atmel SAMA5D3 Xplained开发板上电启动
上文已经提过,Atmel SAMA5D3 Xplained开发板可以通过三种方式供电,但是笔者真正使用的时候体会到了什么叫做“理想很丰满,现实很骨感“,事实上DC供电和通过Arduino Shield供电的电路全部属于空贴状态,就是说你想要使用这些供电方式除了焊接接口外还需要焊接电阻,这种做法就有点不太厚道了。
目前受制于笔者手上的条件有限,只能老老实实通过micro USB口供电,第一次通过USB数据线将板卡与电脑连接会出现安装驱动的提示,不用管,自动安装完成即可,安装完成可在电脑设备管理中查看到串口,见下图。
因为没有LCD模块,也没其余显示输出接口,在系统启动后只能通过串口终端工具查看,以串口工具putty为例,打开putty,设置串口号、波特率等,此时由于系统已经加载完成,看不到任何信息可以通过输入root命令来显示信息
通过串口工具putty查看系统
通过linux系统下的命令我们可以查看到系统版本,是基于3.10.0内核的yocto系统,3.10.0linux内核系统是属于长期支持的一个版本,可以放心使用,另外我们也可以产看到板卡微控制器的系列型号以及架构,见下图
SAMA5D Xplained板卡MPU型号及架构
通过串口工具登陆板卡操作系统基本最简单的方法了,除非你有LCD模块直接使用。不过如果系统出现问题,无法启动,你需要通过查看系统启动的Log来排查原因,仅仅通过micro USB口这个转串口接口就不行了,因为这个串口工作的前提只有在登陆操作系统的情况下才行,刚上电是无法检测到这个串口的。
这时如果你要查看系统启动Log就必须借助另一个Debug串口,3.3V的TTL电平,这是,你就必须要自己准备一根USB转串口线,适当的配合杜邦线实现与电脑的连接,见下图。
由于笔者的机子在座位底下,USB转串口模块线又短,是非常麻烦。OK,具体操作流程首先先连接串口线,然后打开串口工具,设置Debug串口为输出端口,连接板卡上电就能看到系统启动的日志,见下图。
SAMA5D3 Xplained启动Log
在上文,笔者提过板卡上电额micro USB接口的功能可不少,刚刚我们已经发掘了两样,供电以及作为串口。下面就介绍其另一个作用——更新下载系统。作为使用操作系统的开发板卡,免不了要更新操作系统,而SAMA5D3 Xplained更新操作系统就可以通过这个micro USB口来实现。
SAMA5D3 Xplained开发板下载选择跳帽
回到板子,见上图,micro USB接口旁边红色框框中的跳帽为NAND Flash启动跳帽,默认是连接的,需要更新系统到NAND Flash中的额话先将此跳帽移除,然后通过micro USB线上电,即可停止板卡进入U-BOOT启动系统,此时在电脑上又会看到板卡自动安装一个新的USB转串口驱动,见下图。
但是看起来非常奇怪,为什么是“GPS Camera Detect”这个串口名字?事实上这是一个错误的驱动名称,是由于windows系统自动安装驱动引起的,虽然也能使用,但是不建议。解决的办法是在Atmel官网下载烧录工具SAM-BA2.12最新版本安装,然后再打上2.12版本的补丁,见下图
烧录工具SAM-BA2.12及补丁
安装完成后可以在安装目录下找到drv文件夹,这里有SAMA5D Xplained板卡的USB转串口驱动,在电脑设备中卸载原先的驱动,然后给板子断电,再重新插上板子,手动更新驱动,见下图
驱动安装完成后就可以看到显示为正确的串口
打开刚下载安装的SAM-BA2.12烧录工具,设置相应的端口及板卡,见下图
SAM-BA2.12烧录工具
最后点击connect就能进入板卡的NAND Flash中,见下图
SAM-BA2.12烧录界面
如果你手里有相应的系统文件就可以通过一系列步骤下载更新系统,具体的方法可以参考MYD-SAMA5D31开发板的系统更新。由于SAMA6D3 Xplained板卡刚出来不久,板子系统更新部分资料比较短缺,这算是个不足吧,期盼后续资料的跟进。
写到这里,基本把SAMA5D3 Xplained开发板该写的与不该写的都写了,总体来说SAMA5D3系列的MPU确实不错,但是SAMA5D3 Xplained开发板就不能按照笔者的意愿下定义了,有人喜欢像RIoTboard(跟RIoTboard比并不是说这两者有什么联系,只是恰好差不多时间拿到手,在板卡功能呈现方面正好又像两个极端)这种功能都能具体化的看起来很“丰满的板子”,也有人喜爱SAMA5D3 Xplained这种提供无限可能,多数功能留给用户自己DIY的“苗条板卡”,只能说萝卜青菜,各有所爱。
小结
介绍了SAMA5D Xplained板卡的基本硬件情况及上电使用感受,总体来说Atmel SAMA5D3系列MPU笔者给予很高的评价,在性能和能效上对于传统的SAM9X/9G系列MPU算是一个质的飞跃,而经三大厂商Atmel、e络盟、英蓓特联合主推SAMA5D3 Xplained开发板在些许设计上或许会让人比较诧异,但无论是做工还是可让用户自定义DIY的功能扩展都无可挑剔,10层板(开发板中很少见),基于Cortex-A5处理器(目前市面上基于ARM A5内核的产品不多),性能、能效完爆Classic ARM处理器,同时在系统成本、安全性都有明显的优势,加上Atmel广泛的生态圈, 简直是极客、开发者之爱,喜欢挑战的朋友可以去尝试一下,目前在e络盟不含税的价格为490RMB。爱板网论坛稍迟也会提供板卡试用,同时也有机会免费获得板卡。
参考资料
推荐开发板
(转载)跟Classic ARM 处理器说拜拜——Atmel SAMA5D3 Xplained开发板评测的更多相关文章
- ARM开发板如何选型-I.MX6Q开发板
拥有丰富扩展能力,供货周期长的开发平台,省事安心 处理器:迅为-i.MX6开发板恩智浦Cortex-A9 四核i.MX6Q处理器,主频1GHz,内存2G,存储16GB. 系统支持:i.MX6开发板 ...
- ARM处理器:开放者的逆袭
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 1981年,英国BBC电视台策划了一系列关于计算机的电视节目.但导演发现一个问题:怎么给没见过电脑的观众画 ...
- 基于ARM处理器的反汇编器软件简单设计及实现
写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
- ARM处理器解析
按图分析: ARM处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏.不同模式可以访问的寄存器不同,可以运行的指令不同. (1)user(10000):普通应用程序运行的模式(应用程 ...
- 热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版
2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅 ...
- ARM处理器的寄存器
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过 ...
- ARM 处理器的几个相关术语
生产ARM的厂商很多,自然ARM处理器的名字就五花八门.但是,它们有些共同点,那就是:架构和核心. 架构这个概念太宽不太懂,一般不同的架构会有不同的指令集,在不同的架构下面还可以有多种核心.核心就是指 ...
- ARM处理器模式
ARM处理器模式 ARM处理器共有7种运行模式: l 用户模式(User,usr):正常程序执行的模式 l 快速中断模式(FIQ,fiq):用于高速数据传输和通道处理 l 外部中断模式(IRQ, ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常 ...
随机推荐
- docker部署code-server实现在线开发
1.前言 本文记录了通过docker.docker-compose部署code-server.mysql,搭建在线开发环境的过程,综合体验很爽,适合小规模开发团队使用. 安装环境: vmware hy ...
- 使用java爬虫从雪球网下载股票数据
雪球网也是采用Ajax方式展示数据,我依然采用开发者工具查看其访问地址和返回数据. 访问使用到的库是jsoup,解析返回的json用的类库是jackson,二者的依赖是: <!-- jsoup ...
- Spring框架学习笔记(1)
Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架, ...
- Android端代码染色原理及技术实践
导读 高德地图开放平台产品不断迭代,代码逻辑越来越复杂,现有的测试流程不能保证完全覆盖所有业务代码,测试不到的代码及分支,会存在一定的风险.为了保证测试全面覆盖,需要引入代码覆盖率做为测试指标,需要对 ...
- CTF-WeChall-第二天
2020.09.10 奥力给,举步维艰的时候就是要一边做一遍记,虽然慢但是不要嫌弃,要不然就是举步不前
- JDK15真的来了,一起来看看它的新特性
目录 简介 JDK15的新特性 JEP 385 Deprecate RMI Activation for Removal JEP 371 Hidden Classes JEP 339 Edwards- ...
- vSphere Client上安装虚拟机工具VMware Tools
vSphere Client上安装虚拟机工具VMware Tools 1.安装虚拟机 具体安装步骤就不详述了,安装虚拟机之后右击虚拟机名->客户机->安装/升级VMware Tools,这 ...
- Node.js 从零开发 web server博客项目[koa2重构博客项目]
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...
- Pandas 中的遍历与并行处理
使用 pandas 处理数据时,遍历和并行处理是比较常见的操作了本文总结了几种不同样式的操作和并行处理方法. 1. 准备示例数据 import pandas as pd import numpy as ...
- 预科班D11
2020.09.21星期一 预科班D11 学习内容: 一.基本数据类型及内置方法 1.整形int及浮点型float + - * / // ** % > < >= <= 2.字符 ...