基于SPIFI外设的Cortex-M MCU彻底解决嵌入式闪存选型困扰

发布者:tony520最新更新时间:2015-04-10 来源: eechina关键字:SPIFI外设  Cortex-M  嵌入式闪存 手机看文章 扫描二维码
随时随地手机看文章
引言:新型恩智浦ARM Cortex-M3微控制器首次采用的SPI闪存接口技术(SPIFI,已申请专利)可以帮助32位嵌入式系统设计人员以小尺寸、低成本的串行闪存替代大尺寸、高成本的并行闪存。利用SPIFI (读音与spiffy谐音,意为“出色、整洁、漂亮”等——译注),外部串行闪存可以映射到微控制器内存中,达到片上内存读取效果。新技术可以解决传统嵌入式系统外部闪存选型难题,为设计人员在保持系统性能的同时缩小尺寸及降低成本提供了一条新途径。

目前恩智浦开发出一种新型外设接口技术,该技术在基于ARM Cortex-M3内核的最新LPC1800微控制器上已得到成功应用。嵌入式系统设计人员利用该技术可将串行闪存取代并行闪存,缩小封装尺寸,降低系统成本。这种称为SPI闪存接口(SPIFI)的技术目前已申请专利,通过该技术可将外部串行闪存映射到微控制器内存,实现片上内存读取效果。SPIFI为设计人员提供了一种创新解决方案,在保持系统性能的同时达到简化配置、缩小封装体积、减少板载空间占用和节约系统成本的目的。

外部闪存的作用

采用32位微控制器(MCU)的嵌入式应用目前越来越复杂,需要完成多媒体、照片和其他各种数据密集型内容的管理任务。特别是人机接口系统,用户现在都希望有图形显示,通过窗口、图片、动画、声音和其他多媒体方式实现人机对话。此外,随着市场的国际化,产品需要满足多国语言要求,支持各种字母和字符。所有这些都对系统存储资源提出了更高要求。

大部分32位微控制器都配有片上闪存,用于支持各种数据密集型功能,但是这种内存容量有限,通常无法满足整体应用要求。片上闪存通常不足1Mb,虽然能够解决主要应用代码存储,却无法满足其他应用资料的保存要求,比如:查找表单、图像、照片、声音文件、多国语言等。为此,设计人员通常要使用外部闪存。

与片上闪存相比,外部闪存成本要低很多,而且通常都有8Mb以上的现货。使用外部闪存可以增加系统灵活性,系统运行时能够更新升级软件。

并行闪存与串行闪存的艰难选择

对于外部闪存选型(串行和并行),设计人员通常要综合评估,折衷考虑。并行闪存的速度通常比串行闪存快,但需要使用更多管脚、PCB布线和板载空间。

图 1给出了串行和并行闪存典型的数据传输速率。对于并行闪存,图中假定无缓冲,固定存取时间为90ns。基于上述条件,16位并行闪存的最大传输速率 22Mb/s。对于串行闪存,最大时钟频率80MHz的每位传输速率为80Mb/s,四通道串行闪存最大传输速率为40Mb/s。虽然该计算忽略了控制位,但四通道SPI闪存支持burst位,而SPIFI接口支持该功能,因此SPIFI接口可以达到上述传输速率。

1.jpg 
图1:串行和并行闪存的典型传输速率。

2.jpg 

如图1所示,典型的16位并行闪存每秒传输速率为20Mb。对于使用32位微控制器和32位外部闪存通信总线的系统(如恩智浦产品),设计人员可以选择使用两个16位并行闪存达到40Mb/s的传输速率。但是,增加速度的同时也会增加成本。这种配置使用两个独立的并行闪存,每个闪存有数十个封装管脚,无论是封装尺寸、管脚数量,还是PCB空间占用,都会远远超出设计人员的承受范围。

串行闪存通常使用简单的四针串行外设接口(SPI), 从空间占用、功耗和成本等因素考虑是并行闪存的理想替代产品,但是传输速率非常低。通过图1我们可以看到典型SPI闪存50MHz的传输速率仅为 5Mb/s,而采用两个16位并行闪存配置系统的传输速率是其8倍。另一个问题就是大多数微控制器SPI接口都与MCU外设矩阵连接,处理器访问数据前必须先由驱动器代码接收到内容并保存在板载RAM中。由于每次读取串行闪存都要通过SPI软件层,因此速度无法提高。对于采用标准SPI接口的外部闪存应用,速度可能无法满足要求。

新型四通道SPI闪存采用改进的6针SPI配置,数据传输速率远高于传统的SPI接口。如图1 所示,四通道SPI每秒最大传输速率可达40Mb,与两个16位并行闪存速度相当。由于减少了管脚数量和封装尺寸,与并行方案相比,四通道SPI串行闪存可有效降低成本。虽然四通道SPI闪存完全可替代嵌入式系统中的并行闪存,但目前32位微控制器设计并不支持四通道SPI闪存的最大传输速率。这主要是因为四通道SPI接口与传统的SPI接口连接方式相同,直接连接了微控制器外设矩阵。 

解决外部闪存选型难题

恩智浦新开发的SPI闪存接口(SPIFI)可以彻底解决并行/串行闪存的选型困扰。已申请专利的SPIFI外设可以将低成本SPI和新型四通道SPI闪存映像到ARM Cortex-M3内存中。与外部并行闪存方案相比,使用SPI外部闪存的MCU性能损失非常小。由于外部SPI闪存完整的内存空间可以映像到MCU内存中,微控制器对外部闪存直接访问,无需使用软件API或库。

例如,使用四通道SPI闪存,SPIFI外设传输速率可达 40Mb/s。设计人员可以选择更便宜的SPI闪存器件,在保证性能的基础上缩小脚位尺寸,简化配置。由于系统无需针对外部并行闪存使用庞大的接口设计,设计人员还可以选择体积更小、成本更低的微控制器。嵌入式系统采用SPIFI外设可以提高内存资源利用率,缩小尺寸,提高效率,降低系统总成本。

SPIFI外设是恩智浦LPC1800系列ARM Cortex-M3微控制器率先采用的一种专用技术。此外,即将面市的新产品还包括低成本Cortex-M0系列和Cortex M4数字符串行控制器(DSC)。

SPIFI支持目前市场上大部分串行闪存器件(含四通道读/写产品),配置编程非常简便,采用4/6引脚设计(取决于串行闪存类型),支持小型寄存器组,优化内存事务,其软件指令可降低CPU开销,提高内存数据交换效率。[page]

SPIFI工作原理

图 2给出了SPIFI外设的功能框图。SPIFI功能块与微控制器应用的高速总线(AHB)矩阵连接,后者主要用于处理器内核和片上内存。SPIFI将外部 SPI闪存内容映射到微控制器内存中。当片上ROM启动代码激活SPIFI接口后,外部SPI内存与核心处理单元上的片上内存功能完全相似。

3.jpg 
图2:SPIFI外设功能框图。

初始化序列

SPFI接口的所有驱动程序全部保存在ROM中。对于读取操作,只需一个例程调用指令即可启动SPIFI外设。初始化序列结束后,整个SPI闪存可以象正常内存一样由处理器和/或DMA通道按字节、半字、整字访问。擦除和编程通过简单的API指令访问ROM命令调用即可,因此,使用外部SPI闪存与片上内存几乎没有差别。

从SPIFI启动

对于需要微控制器从外部串行闪存启动的系统,恩智浦LPC1800微控制器已配置了SPIFI启动功能。启动源的选择有两种方法:第一种是使用微控制器引脚确定启动源的接口;第二种由用户在非易失性内存中编程选择启动接口。使用非易失性内存编程可保留引脚的双重功能。

物理接口

图3给出了SPIFI外设的物理接口。本示例对于传统SPI闪存采用了标准的4引脚配置,如果是四信道SPI闪存,还需要增加两个引脚以支持四信道功能。

4.jpg 
图3:SPIFI外设物理接口。

不同的串行闪存厂商和产品需要不同的命令和命令格式。SPIFI外设为此提供了足够的支持,可兼容大部分SPI闪存及衍生产品,确保今后产品的兼容性。 

小寄存器组

SPIFI外设小寄存器组既保证了接口的功能又简化了操作,通过8个寄存器控制SPIFI功能,连接外部SPI闪存,保存和检索数据以及监控操作。由于设置、编程、擦除等工作均由集成的ROM API处理,因此外部SPI内存操作只需要几个简单的调用命令。总体来看,SPIFI外设配置简单,应用方便。

软件命令

当软件读取内存映射的串行闪存内容时,外部闪存可以识别并接受微控制器软件发送的和SPIFI外设自动发送的命令。这些命令可分为操作代码、地址、中间和数据等字段,其中。地址、中间和数据字段为可选字段,这主要取决于操作代码。部分闪存支持“读”命令解释操作代码模式,以提高系统性能。根据操作代码不同,数据字段可进一步分为输入和输出数据字段。所有发送到外部SPI闪存的命令都可以通过调用ROM API指令进行处理。SPIFI ROM API驱动器允许通过简单的加载命令访问外部SPI闪存内容,保证应用操作代码延续其紧凑和易写的特点。

独立于CPU的运行

SPIFI 软件可读取外部闪存数据,并将其写入RAM或外设,无需CPU支持。比如,对于集成LCD控制器的微控制器,此功能可以提高系统性能,节约功耗。外部闪存可以保存图像并通过LCD控制器读取。由于LCD控制器大多数按地址顺序读取数据,SPIFI外设可根据需要预先获取地址,无需等待。整个操作无需CPU 参与,也不用将图像加载到片上RAM,而由LCD控制器直接获取。因此,系统对微控制器片上RAM的容量要求不高,或者可将现有RAM释放出来用于完成其他任务。由于LCD控制器直接获取图像,LCD显示屏图像刷新速度更快,简单的开关窗口等操作显得更加平滑流畅。另外,为降低功耗,系统还可以使用低时钟速率运行,不会对显示性能有太大影响。 

直接执行代码

从软件的角度看,微控制器可以直接执行外部SPI闪存中的代码。直接执行代码有利于在线升级或者更新片上闪存的出厂功能。外部闪存可以存放通过验证的升级代码。例如,如果系统功能地址保存在片上闪存的表单中,通过外部闪存的例程地址即可对该表单重新编程。或者,如果包含原始例程起始信息的内存页保存在片上闪存中,通过外部分支长跳转到外部闪存的新例程即可更新内存页。对于上述两例,由于 SPIFI外设可以实现外部闪存代码直接执行,因此新代码无需加载到片上RAM。

通过外部闪存执行代码的速度远不及片上内存。SPIFI外设设计并非针对需要峰值性能的实时运行功能,但是对于执行非关键代码序列,SPIFI具有很大的吸引力。

写/执行并行操作功能

SPIFI支持写功能和执行功能同时进行,换句话说,即使处理器正在执行片上闪存代码,也可以快速方便地对外部闪存进行编程和擦除。由于SPIFI外设可以独立运行,不受CPU影响,因此在外部串行闪存编程的同时,系统可以继续执行相关任务。

由于系统在执行关键应用代码的同时可以对外部闪存进行写操作,因此该功能可用于在线软件更新。例如,智能电表即使在更新软件时也需要不间断工作。利用 SPIFI,公用工程公司可以配置系统,向外部闪存写入任何代码,无需中断智能电表的计量工作,最后再将新代码集成到系统中。同样,对于使用USB端口的系统,新代码可以先保存在便携式USB驱动器中,再传输到外部闪存,无需中断重要操作。

本文小结

恩智浦LPC1800 ARM Cortex-M3微控制器首次采用的SPI闪存接口技术可以将外部闪存映射到微控制器内存中,实现片上内存功能。此项技术为设计人员带来更多的外置闪存选择机会,同时降低系统成本,缩小封装尺寸。

SPIFI 外设为设计人员提供了一种新的解决方案,可以利用低成本串行闪存替代昂贵的并行闪存,在缩小尺寸的同时仍能保证系统性能。串行闪存的低成本、小尺寸和简化配置等众多优势从此得以应用,而对系统性能的影响非常小。利用SPIFI,设计人员还可以选择无并行接口的微控制器,以小型低成本设计实现所需性能。

恩智浦计划将SPIFI技术推广到其他Cortex-M产品上,包括低端Cortex-M0和即将上市的Cortex-M4数字信号控制器(DSC)。
关键字:SPIFI外设  Cortex-M  嵌入式闪存 引用地址:基于SPIFI外设的Cortex-M MCU彻底解决嵌入式闪存选型困扰

上一篇:基于Cortex-M3的 STM32微控制器处理先进电机控制方法
下一篇:面向系统LSI开发的高速、低功耗微型平台

推荐阅读最新更新时间:2024-03-16 13:58

Spansion与XMC宣布签订技术许可协议
行业领先的嵌入式市场闪存解决方案创新厂商Spansion公司(纽约证交所码:CODE)与中国发展最迅速的300mm半导体晶圆厂XMC(武汉新芯集成电路制造有限公司)今天共同宣布一项技术许可协议。根据该协议,XMC将获得Spansion 浮栅(Floating Gate)NOR闪存技术授权。在XMC现有的300mm晶圆产能基础上,双方将进一步扩大Spansion授权的 65nm、45nm和 32nm 的 MirrorBit 闪存技术合作。 Spansion公司晶圆制造、企业质量和产品工程高级副总裁Joe Rauschmayer认为:“Spansion公司的知识产权方案让诸如XMC这类重要的合作伙伴能更好地利用 Spansi
[嵌入式]
ARM 之六 Cortex-M 内核中断/异常系统、中断优先级/嵌套 详解
问题 最近在使用STM32F3芯片的时候,遇到这样一个问题:如果外部中断来的频率足够快,上一个中断没有处理完成,新来的中断如何处理? 在调试时,发现有中断有 挂起、激活、失能等状态,考虑这些状态都是干啥用的呢!他们是Cortex-M核所共有的,因此这里不针对与具体用的STM32 MCU,直接上升到 Cortex-M内核来了解一下! 简介 中断(也称为“异常”)是微控制器一个很常见的特性。中断一般是由硬件(例如外设、外部引脚)产生,当中断产生以后 CPU 就会中断当前的程序执行流程转而去处理中断服务中指定的操作。 所有的Cortex-M 内核都会系统一个用于中断处理的组件:NVIC(Nested Vectored Inte
[单片机]
ARM 之六 <font color='red'>Cortex-M</font> 内核中断/异常系统、中断优先级/嵌套 详解
英飞凌与GLOBALFOUNDRIES宣布围绕40纳米嵌入式闪存工艺建立开发和生产展开合作
2013年5月2日,德国纽必堡/德累斯顿与新加坡讯——英飞凌科技(FSE: IFX / OTC QX: IFNNY)与GLOBALFOUNDRIES 公司今日宣布,双方围绕40纳米(nm)嵌入式闪存(eFlash)工艺,签订一份合作技术开发与生产协议。双方合作的重点是立足于英飞凌的嵌入式闪存单元设计以及采用40纳米工艺制造汽车单片机和安全微控制器(MCU)的经验,进行相关技术的开发。GLOBALFOUNDRIES 公司旗下的多家晶圆厂将生产新一代40纳米嵌入式闪存MCU,其中新加坡的晶圆厂将成为第一个生产该类器件的晶圆厂,紧随其后的是公司位于德国德累斯顿的晶圆厂。 英飞凌科技管理委员会成员Arunjai Mittal指出:“利用
[单片机]
使用ARM Cortex-M MCU拓展单片机教学
ARM 处理器在 90 年代末进入中国,借助其在全球移动终端和嵌入式系统上的成功,正在深刻地影响着嵌入式系统教学。 2004 年 ARM 发布 Corex-M3 MCU 内核之后,国际上主要的 MCU 厂商纷纷推出基于 M3 、 M4 、 M0 和 M0+ 的各种 MCU 。其中 M0/M0+ 瞄准的是替代传统的以 8051 为代表的 8 位 MCU 市场,这些给单片机( MCU )和嵌入式教育带来新的机遇和挑战。 近 日,由嵌入式系统联谊会主办的第 13 次主题研讨会 如期 举行。来自清华大学、 同济大学、 太原理工大学等 知名 高校的专家学者与 ARM 、意法半导体 、 飞思卡尔等 产业界人士齐 聚一堂,
[嵌入式]
使用ARM <font color='red'>Cortex-M</font> MCU拓展单片机教学
为何Cortex-M处理器运行不了linux
单片机与应用处理器的核心区别到底是什么呢?是核心主频的差异?还是Linux系统的支持?又或者是处理器的架构?本文将以NXP的Cortex-M系列为例做简要介绍。 一、Cortex-M的定位 处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的程序员模型,通俗来讲就是相同的ARM体系结构下的应用软件是兼容的。从ARMv1到ARMv8,每一次体系结构的修改都会添加实用技术。 在ARMv7版本中,内核架构首次从单一款式变成3种款式。Cortex-M系列属于ARMv7结构下的一个款式:款式M。款式M包含的处理器有Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4以及Cortex
[嵌入式]
为何<font color='red'>Cortex-M</font>处理器运行不了linux
基于Cortex-M内核的灵动微新品MCU集体亮相 2018灵动MM32协作大会成功举办
随着安全、可穿戴设备、智能手机和外设的传感控制器、智能楼宇、智能抄表、电动汽车和等新应用市场的不断增大,32位正在成为主流应用。在MCU市场,本土MCU基于的生态优势,可以快速切入32位市场。加上中国政府对产业的支持,本土MCU厂商逐渐具备了与海外MCU大厂竞争的底气和实力,这其中表现比较亮眼的一家厂商是上海灵动微电子。 2018年8月29日,在“2018灵动MM32协作大会”上,灵动微电子董事长兼总裁吴忠洁博士表示, 2018年灵动微电子MCU产品在四大方面有了明显进步:功能、性能、价格和服务。 灵动微电子主要在四个方面持续努力,简称为——S,即:应用(Applicaon)、性能(Peormance)、价格(Price
[机器人]
东芝开发出最快的嵌入式NAND闪存模块设备控制器
东京—东芝公司2014年2月25日宣布,该公司已经开发出全球最快的符合JEDEC固态技术协会(JEDEC)制定的通用闪存存储(UFS)Ver.2.0和UFS统一存储器扩展(UME)Ver.1.0标准的嵌入式NAND闪存模块设备控制器。集成了这款控制器的嵌入式NAND闪存模块可实现比目前低端到高端移动设备广泛使用的e•MMC™ 标准模块快10倍左右的随机读取性能。这款设备控制器可以在指甲大小的封装内实现个人电脑固态硬盘(SSD)的同等性能。 东芝已经在2月12日加州旧金山举行的2014年IEEE国际固态电路会议(ISSCC)上展示了这款新设备控制器。 智能手机和平板电脑CPU处理能力和DRAM容量的最新进步让用户得以
[嵌入式]
痞子衡嵌入式:ARM Cortex-M文件那些事(7)- 反汇编文件
  痞子衡在第四、五、六节课分别介绍了编译器/链接器生成的3种output文件(relocatable、map、exectuable文件),这3种文件都是侧重的代码经过汇编/链链接后的二进制数据在存储中分布情况。如果想知道二进制数据对应的机器码具体是什么意思应该怎么办?痞子衡今天要介绍的反汇编文件会给你答案。 一、标准汇编源文件   使用IAR进行编译的时候会在D:myProjectbspbuildsdemoReleaseList目录下生成.s文件,每一个relocatable文件都对应着一个.s文件,这是编译器对C源文件进行汇编后得到的汇编文件。以task.c汇编生成的task.s为例:   task.s文件就是用汇编语
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved