最近我也在做RT1170的相关项目,由于项目需要,研究了Flash下载算法、NOR Flash空间的擦除/烧写(OTFAD XIP更新固件时要更新OTFAD Key Blob字段)、HyperRAM初始化等功能,这些都是开发过程中可能会遇到的一些问题,而这些都与FlexSPI接口息息相关。初始化完FlexSPI后就可以像访问CPU中ITCM、DTCM等内置内存一样来访问外部存储器中的内容。对于FlexSPI1来说,它可以将外部存储器地址映射到0x30000000处;而FlexSPI2则可以映射到0x60000000处。

1 FlexSPI框图

FlexSPI(Flexible Serial Peripheral Interface)支持两个SPI通道和多达4个外部设备。每个通道支持Single/Dual/Quad/Octal模式的双向数据传输。下面来看一下FlexSPI的功能框图:

(1)FA port和FB port
FlexSPI可以通过它的两个通道FA和FB与外部的串行Flash在硬件上进行连接,FA和FB各有两个通道。比如说HyperRAM大多数就有八条数据线,它就占满了一个Port A/B。而对于QSPI NOR Flash来说,只需要四根数据线,所以在Port A/B上还能再接一个设备。
(2)SEQ_CTL
所有的外部存储器都有它的时序,SEQ_CTL就可以根据你的配置生成相应的控制时序来访问外部的存储器。其中有一个很重要的数据结构,就是LUT(Look Up Table),它用来指定Flash各个操作的时序。

(3)AHB BUS 64bitIPS BUS 32bit
32bit IPS BUS(即手动操作FlexSPI寄存器发送Flash读写命令),64bit AHB BUS(由FlexSPI翻译AHB访问地址并自动发送相应Flash读写命令)

  • AHB BUS 64bit:用户可以像访问内部SRAM一样访问接在FlexSPI上的外部存储器,此时地址通过AHB总线传到SEQ_CTL
  • IPS BUS 32bit:用户可以根据自己初始化的外部存储器各个操作(如擦除、读/写内存、读/写寄存器)的时序,主动访问FlexSPI的相关寄存器来完成外部存储器的一些操作

(4)ARB_CTL
由于AHB和IPS总线都可以请求外部存储器的数据,所以ARB_CTL就是用来控制两个总线在同一时间访问外部存储器时,哪个总线能优先执行。

(5)缓冲区
为了加快读取的速度,两个总线都有读写缓冲区。AHB Bus有发送缓冲区AHB_TX_BUF和接收缓冲区AHB_RX_BUF,它们将会缓存AHB突发传输的写数据或读数据;而IPS Bus有发送缓冲区IP_TX_FIFO和接收缓冲区IP_RX_FIFO,大小均为256字节,且支持DMA传输。

2 FlexSPI特性

(1)SDR和DDR模式
在SDR(Single Data transfer Rate)模式下,Flash在SCLK上升沿接收数据,下降沿发送数据。在DDR (Dual Data transfer Rate)模式下,Flash在SCLK上升沿和下降沿都接收数据和发送数据。SDR和DDR模式由LUT表格中的操作码决定。

(2)Individual和Parallel模式
Individual mode下,Flash读/写数据都在Port A或Port B完成。在parallel mode下,Flash的读写操作在Port A和Port B并行完成,FlexSPI将自动合并/拆分Flash读写的数据。也就是说,数据可以存储在两个不同的Flash中。当然在硬件上,也要有相应的连接。

  • 只有读写指令可以自动合并和拆分,对于其它的指令(比如命令/地址/模式/数据大小),相同的数据会同时传给两个Flash设备,比如发命令则两个Flash设备都会收到。

(3)Single, Dual, Quad, and Octal模式

  • Single模式:Flash在DATA0引脚上发送/接收数据
  • Dual模式:Flash在DATA0~DATA1引脚上发送/接收数据
  • Quad模式:Flash在DATA0~DATA3引脚上发送/接收数据
  • Octal模式:Flash在DATA0~DATA7引脚上发送/接收数据

这些模式也是在LUT表格中决定的。

(4)操作模式
Module Disable mode:用于低功耗模式,在该模式下AHB时钟和串行时钟域将会被关闭,但是IPS总线时钟不会被关闭。
Doze mode:用于低功耗模式。在该模式下,FlexSPI会等待所有的处理都完成后进入Doze mode,此时AHB和串行时钟域都会被关闭,但是IPS总线时钟不会被关闭。
Stop mode:用于低功耗模式。在该模式下,FlexSPI会等待所有的处理都完成,再返回一个ACK给系统,然后IP回关闭AHB和串行时钟域。但是可以在系统层面打开AHB/IPS/串行时钟。
Normal mode:所有的时钟都不会被关闭。

3 总结

本节大概介绍了一下FlexSPI的功能框图和一些特性,实际上这都是对参考手册的一个大概的总结,更多细节还是要看参考手册。而对于FlexSPI来说,最重要的应该就是LUT表格了,所以下一节就来详细地介绍一下LUT表格。

I.MX RT1170之FlexSPI(1):FlexSPI功能框图和特性相关推荐

  1. I.MX RT1170 PXP 图形加速器

    一.PXP介绍 在图像显示在显示器之前,i.MX RT1170 可以通过 2D矢量图形.PXP 或者 LCDIF 等图形加速器来生成.合成和混合图形的内容,本文将介绍其中 PXP 图形加速器. PXP ...

  2. SysTick系统定时器(功能框图和优先级配置)

    SysTick系统定时器(功能框图和优先级配置) SysTick-系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中.系统定时器是一个 24bit (2^24)的向下递减的计数器,计数器 ...

  3. 数据治理管理平台功能模块与特性

    数据治理中的元数据就是数据的数据,讲究从数据的全生命周期:产生/采集.存储.加工和展现等环节进行描述与分析.元数据体现数据的各类关系和属性,可从技术.业务.管理3个维度对元数据进行划分,从而帮助用户对 ...

  4. linux5.5内核,Linux 5.5内核发布下载,附新功能及新特性介绍

    Linux Kernel 5.5内核已经正式发布了,提供linux-5.5.tar.xz下载,它具有许多更改和值得改进的地方,该内核版本也将在2020年晚些时候作为Ubuntu HWE堆栈的一部分反向 ...

  5. 免费etl调度工具Taskctl-Web应用版功能框架及特性

    目录 初识Taskctl-Web版 功能框架 系统特性 登录界面 下载方式 安装环境准备 如何0元获取永久使用授权 初识Taskctl-Web版 Taskctl Free应用版原型是在原有商用版Tas ...

  6. MSP430F2132IRHBR功能框图TPS259824LNRGER电路保护和电源管理解决方案芯片

    概述:MSP430F21x2 16位超低功耗微控制器 (MCU) 是MSP430系列微控制器的一部分.这些MCU采用一种架构,加上5种低功耗模式,能在便携式测量应用中延长电池的使用寿命.这些器件具有一 ...

  7. 12c oracle 修改内存_Oracle12c中性能优化功能增强新特性之重大突破——内存列存储新特性...

    Oracle12c中内存列存储 内存列存储(IM column store) 是Oracle12.1.0.2版本的主要特点.该特点允许列,表,分区和物化视图在内存中以列格式存储,而不是通常的行格式.数 ...

  8. PHP5各个版本的新功能和新特性总结

    本文目录: PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Her ...

  9. PHP5各个版本的新功能和新特性总结(转载 http://www.jb51.net/article/48150.htm)

    本文目录: PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Her ...

最新文章

  1. 【JavaScript从入门到精通】第一课 初探JavaScript魅力-01
  2. 计算机基础知识二进步,大学计算机基础学习知识练习进步题(含规范标准答案).doc...
  3. jQuery插件-json2.js
  4. 64位centOS5.4系统安装memcached
  5. 可以闭眼入的O'REILLY机器学习神书出新版了!
  6. mysql sql 一部分记录_MySQL性能优化实践(很全面,值得收藏)
  7. Java成员变量查找_Java中的成员变量和局部变量
  8. C#效率优化(2)-- 方法内联
  9. 全国计算机软考机试试题,软考机试试题.doc
  10. 3D游戏引擎技术架构设计
  11. 火车头采集伪原创插件
  12. 关于travis scott的网名_异地恋情侣网名甜蜜秀恩爱
  13. tree traversal (树的遍历) - inorder traversal (中序遍历)
  14. SSM洗衣店管理系统
  15. Swift - 给图片添加滤镜效果(棕褐色老照片滤镜,黑白滤镜)
  16. YOLOX升级 | 阿里巴巴提出YOLOX-PAI,1ms内精度无敌!
  17. 使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
  18. 高灵敏度全级霍尔开关AH462替代霍尼韦尔HAL248应用于便携式果汁机
  19. 在vscode编辑器里使用leetcode插件刷题
  20. 【84期分享】4款中国风PPT模板免费下载

热门文章

  1. 域渗透之热土豆的提权
  2. js获取当前应用根路径contextPath完美方案
  3. 12个最应该使用的Linux服务器OS(下)
  4. python制作贪吃蛇小游戏,畅玩无限制
  5. Chrome模拟平板调试
  6. IDEA 无法创建JSP文件
  7. Java 面试之数据库篇 (offer 拿来吧你)
  8. Docker Desktop的安装及其使用
  9. vscode 配置vetur的分号、引号、尾随逗号
  10. word中按照章节为图表插入题注,生成图表目录、交叉引用