FlexSPI的连接 和 地址空间分配 手册1655页

27.5.3 Flash连接

RT105x有两个FlexSPI接口端口(A端口和B端口)。每个端口提供2个芯片选择输出支持2个闪存设备。

请注意

FlexSPI配置依赖于芯片配置。有关所支持的设备数量,请参阅特定于芯片的FlexSPI信息。

下面是连接4个器件时的框图

请注意

Flash Al和A2可以是两个Flash芯片封装或两个Flash die在同一个封装上,对FlexSPI来说没有区别。Flash B1和B2也是一样。

Flash Al和B1可以并行访问。FlexSPI将自动合并/分割flash读取/程序数据。A2和B2也是一样。

在并行模式下,A1和A2不能同时被访问。B1和B2也是一样。

单独模式下,A1、 A2、B1和B2无法同时访问。但这四种设备可以单独访问。

 

有一种组合模式,提供八线flash支持,通过结合一个端口(a数据[3:0])和B端口(B数据[3:0])在一起。此组合模式的连接关系图如下所示

另外也可以使用串行SPIflash存储代码,同时接成8线模式,与其他器件通信。

 

27.5.4闪存访问模式

本节描述了闪存访问模式。

27.5.4.1 SPI时钟模式

FlexSPI只支持SPI时钟模式0:时钟极性(CPOL)=0和时钟相位(CPHA)-0。当SPI总线空闲时,SCLK将保持逻辑低状态。

27.5.4.2 Flash单机模式和并行模式

在单独模式下,在A或B端口接收/发送读/写数据。

并行模式下,闪存读/写数据在A口和B口并行接收/发送。FlexSPI将自动合并/分割flash读取/程序数据。

请注意,只有读/程序数据被合并/拆分(读/写指令)。对于其他指令(如命令/地址/模式/数据大小),相同的命令代码/地址/模式位/数据大小信息将被传输到A端口和B端口设备。

有关更多细节,请参阅指令在SPI接口上的执行

单独模式和并行模式由寄存器字段IPCR1[IPAREN](IP命令)或AHBCR[APAREN](AHB命令)静态决定。

27.5.4.3 SDR模式和DDR模式

在SDR(单数据传输速率)模式下,Flash在SCLK上升边接收数据,在SCLK下降边传输数据。

在DDR(双数据传输速率)模式下,Flash在SCLK上升和下降边缘上都接收数据,并在SCLK上升和下降边缘上传输数据。

SDR和DDR模式是由指令(操作码)在LUT序列中动态确定的。没有为SDR和DDR模式设置静态配置寄存器字段。

有关输入和输出定时的详细信息,请参阅FlexSPI输入时序和FlexSPI输出时序。

27.5.4.4单、双、四、八进制模式

在单模态下,用1个数据引脚(DATAO用于发送,DATA1用于接收)发送/接收数据。

在双模式下,Flash使用2个数据引脚发送/接收数据(DATAO-DATA1均用于发送和接收)。

在四线模式下,flash使用4个数据引脚发送/接收数据(DATAO-DATA3用于发送和接收)。

八线模式下,flash使用8数据引脚发送/接收数据(DATA0-DATA7用于发送和接收)。

单、双、四、八进制模式由LUT序列中的指令(num_pads)动态确定。没有为单、双、四和八进制模式设置静态配置寄存器字段。(就是通过LUT确定使用几线通信,没有专用寄存器)。

27.5.5 Flash存储空间映射

单机模式和并行模式下的闪存映射如下:


单个模式下的闪存映射:

Flash A1地址范围:0x00000000 ~ FA1_SIZE。

Flash A2地址范围:FA1_SIZE~(FA1_SIZE+FA2_SIZE)

Flash B1地址范围:(FA1_SIZE+FA2_SIZE)~(FA1_SIZE+FA2_SIZE+ FB1_SIZE)

Flash B2地址范围:(FA1_SIZE+ FA2_SIZE+ FB1_SIZE) ~(FA1_SIZE + FA2_SIZE + FB1_SIZE + FB2_SIZE)

并行模式下的闪存映射:

Flash A1+B1地址范围:0x00000000 ~ FA1_SIZE * 2。

Flash A2+B2地址范围:FA1_SIZE * 2 ~ (FA1_SIZE * 2 + FA2_SIZE * 2)

请注意

当MCR2[SAMEDEVICEEN]设置为0x1时:

FA1_SIZE、FA2_SIZE、 FB1_SIZE、FB2_SIZE   = FLSHA1CR0[FLSHSZ] * 1KByte

当MCR2[SAMEDEVICEEN]被设置为0x0时:

FA1_SIZE = FLSHA1CR0[FLSHSZ] * 1KByte

FA2_SIZE  = FLSHA2CR0[FLSHSZ] * 1KByte 

FB1_SIZE  = FLSHB1CR0[FLSHSZ] * 1KByte

FB2_SIZE   = FLSHB2CR0[FLSHSZ] * 1KByte

并行模式下,忽略Flash B1/B2的大小设置(FLSHB1CRO[FLSHSZI。FLSHB2CRO[FLSHSZ])。为了支持并行模式应用,Flash B1应该与A1设备相同,Flash B2与A2设备相同。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值