嵌入式学习小组
直播中

王盼盼

7年用户 170经验值
私信 关注

基于ARM Cortex-M3内核的新型外设接口技术

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

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

回帖(7)

薛静斗

2019-5-16 17:25:41
外部闪存的作用

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

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

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

张文

2019-5-16 17:25:51
并行闪存与串行闪存的艰难选择

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

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



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





如图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接口连接方式相同,直接连接了微控制器外设矩阵。  

点击进入第二页:解决外部闪存选型难题
举报

刘浩

2019-5-16 17:26:06
解决外部闪存选型难题

恩智浦新开发的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开销,提高内存数据交换效率。

SPIFI工作原理

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





图2:SPIFI外设功能框图。
举报

赵秀英

2019-5-16 17:26:19
初始化序列

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

从SPIFI启动

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


物理接口

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



图3:SPIFI外设物理接口。


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

更多回帖

发帖
×
20
完善资料,
赚取积分