xSPI 单通道与双通道模式
XSPI单通道模式
单通道支持8/16bit模式。在单通道模式下可进行 以及
。xSPI
提供两套控制器:
-
8bit 模式时:两个控制器分别控制通道 0 与通道 1。如需选择此模式,可通过配置 xSPI_CTL bit[6] 为1,xSPI_TCR bit[4] 配置为0或1选择通道0或通道1。
-
16bit模式时:如需选择此模式,可配置 xSPI_CTL bit[6]、xSPI_CTL bit[16] 为1。
XSPI 双通道模式
xSPI 双通道模式仅支持 。可通过 xSPI_CTL bit[6] 配置为1选择双通道。
双通道并行模式:支持两片并行读写操作,此时相当于一个 cycle 读写两个 byte,数据以通道1为高位,通道0为低位的方式存储。
此时 memory map 不再是偏移量一一对应,而是遵循如下计算:
-
memory device A地址 =(memory map 访问地址 – memory map 基地址)/ 2
-
memory device B地址 =(memory map 访问地址 -1 – memory map 基地址)/ 2
举例:假设 memory map 基地址为0x30000000
-
Memory map 访问地址为 0x30000000,则 memory device A 地址为 0x0;
-
Memory map 访问地址为 0x30000001,则 memory device B 地址为 0x0;
-
Memory map 访问地址为 0x30000002,则 memory device A 地址为 0x1;
-
Memory map 访问地址为 0x30000003,则 memory device B 地址为 0x1;
Memory map address | Memory device address | Device A(CS1) | Device B(CS0) |
---|---|---|---|
0x3000_0000 | 0x00x10x20x3 | DQ[15:8]DQ[31:24]DQ[47:40]DQ[63:56] | DQ[7:0]DQ[23:16]DQ[39:32]DQ[55:48] |
0x3000_0008 | 0x4 | DQ[15:8] | DQ[7:0] |
… | … | … | … |