当前位置:首页 > 单片机 > 单片机
[导读] 存储器共有13个寄存器,BANK0~BANK5只需要设置BWSCON和BANKCONx(x为0~5)两个寄存器;BANK6、BANK7外接SDRAM时,除了BWSCON和BANKCONx(x为6、7)外,还要设置REFRESH、BANKSIZE、MRSRB6、MRSRB7等4个寄存器。下

存储器共有13个寄存器,BANK0~BANK5只需要设置BWSCON和BANKCONx(x为0~5)两个寄存器;BANK6、BANK7外接SDRAM时,除了BWSCON和BANKCONx(x为6、7)外,还要设置REFRESH、BANKSIZE、MRSRB6、MRSRB7等4个寄存器。下面分类说明(“[y:x]”表示占据了寄存器的位x、x+1、……、y):

1. 位宽和等待控制寄存器BWSCON(Bus Width & Wait Status Control Register)
BWSCON中每4位控制一个BANK,最高4位对应BANK7、接下来4位对应BANK6,依此类推。
(1)STx:启动/禁止SDRAM的数据掩码引脚,对于SDRAM,此位为0;对于SRAM,此位为1。Determine SRAM for using UB/LB for bank x, 0 = Not using UB/LB (The pins are dedicated nWBE[3:0])1 = Using UB/LB (The pins are dedicated nBE[3:0])。
(2)WSx:是否使用存储器的WAIT信号,通常设为0。Determine WAIT status for bank x, 0 = WAIT disable 1 = WAIT enable。
(3)DWx:使用两位来设置相应BANK的位宽,0b00对应8位,0b01对应16位,0b10对应32位,0b11表示保留。
比较特殊的是BANK0,它没有ST0和WS0,DW0([2:1])只读——由硬件跳线来决定:0b01表示16位,0b10表示32位,BANK0只支持16、32两种位宽。The states are selected by OM[1:0] pins。

2. BANK控制寄存器BANKCONx(BANK CONTROL REGISTER,x为0~5,(BANKCONx: nGCS0-nGCS5))
这几个寄存器用来控制BANK0~BANK5外接设备的访问时序,一般使用默认的0x0700即可。

3. BANK控制寄存器BANKCONx(BANK CONTROL REGISTER,x为6~7,(BANKCONx: nGCS6-nGCS7))
在8个BANK中,只有BANK6和BANK7可以外接SRAM和SDRAM,所以BANKCON6~BANKCON7与BANKCON0~BANKCON5有点不同。
MT([16:15])Determine the memory type for bank6 and bank7。00 = ROM or SRAM,01 = Reserved (Do not use),10 = Reserved(Do not use),11 = Sync. DRAM。
当MT=0b00时,此寄存器与BANKCON0~BANKCON5类似,不再赘述。
当MT=0b11时,此寄存器其他值设置如下。
Trcd([3:2]):RAS to CAS delay,设为推荐值0b01。
SCAN([1:0]):SDRAM的列地址位数,00 = 8-bit;01 = 9-bit;10= 10-bit

4. 刷新控制寄存器REFRESH(REFRESH CONTROL REGISTER):设为0x008C0000+R_CNT
(1)REFEN([23]):0=禁止SDRAM的刷新功能,1=开启SDRAM的刷新功能。
(2)TREFMD([22]):SDRAM的刷新模式,0=Auto Refresh,1=Self Refresh(一般在系统休眠时使用)。
(3)Trp([21:20]):设为0即可。
(4)Tsrc([19:18]):设为默认值0b11即可。
(5)Refresh Counter([10:0]):即上述的R_CNT,可按如下方式计算(SDRAM时钟频率就是HCLK):
R_CNT=2^11+1-SDRAM时钟频率(MHz)*SDRAM刷新频率(us)
Refresh period = (211-refresh_count+1)/HCLK
SDRAM的刷新周期在SDRAM的数据手册上有标明,例如HY57V561620B的数据手册上有这么一句话“8192 refresh cycles / 64ms”。所以,刷新周期=64ms/8192=7.8125us。
在未使用PLL时,SDRAM时钟频率等于晶振的12MHz。
现在可以计算:R_CNT=2^11+1-12*7.8125=1955
所以,在未使用PLL时,REFRESH=0x008C0000+1955=0x008C07A3。

5. BANKSIZE寄存器REFRESH(BANKSIZE REGISTER)
(1)BURST_EN([7])
0=ARM核禁止突发传输,1=ARM核支持突发传输。
(2)SCKE_EN([5])
0=不使用SCKE信号SDRAM进入省电模式,1=使用SCKE信号令SDRAM进入省电模式。
(3)SCLK_EN([4])
0=时刻发出SCLK信号,1=仅在访问SDRAM期间发出SCLK信号(推荐)。
(4)BK76MAP([2:0])
设置BANK7/6的大小。BANK0~5的地址空间大小都是固定的128MB,地址范围是(x*128M)到(x+1)*128-1,x表示0到5。BANK6/7的大小是可变的,以保持这两个地址的连续,即BANK7的起始地址会随它们的大小变化。BK76MAP的取值意义如下:
010 = 128MB/128MB;001 = 64MB/64MB;000 = 32M/32M;111 = 16M/16M;110 = 8M/8M;101 = 4M/4M;100 = 2M/2M

6. SDRAM模式设置寄存器MRSRBx(SDRAM MODE REGISTER SET REGISTER,x为6~7)
能修改的只有位CL([6:4]),这是SDRAM时序的一个时间参数:
CAS latency 000 = 1 clock, 010 = 2 clocks, 011=3 clocks


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

随着汽车软件数量爆发式的增长,整个行业都需要重新思考汽车产品的开发流程。为此,Arm推出了丰富的硬件IP、新的系统IP,以及全新的汽车计算与计算子系统产品路线图,旨在为各种汽车应用实现性能、功能安全、可扩展等方面的支持。

关键字: ARM 汽车电子

知名移动芯片设计公司ARM最近迈出重要一步,它正式推出汽车芯片设计。ARM推出的芯片设计方案名叫Neoverse,随同芯片一起推出的还有面向汽车制造商、汽车供应商的新系统。

关键字: ARM 汽车芯片 芯片

随着通用人工智能的发展,数据中心的计算需求逐步提高。针对多模态数据、大模型的推理和训练需要更高的算力支持,而随着算力提升与之而来的还需更关注在功耗方面的优化。对于头部云计算和服务厂商而言,针对专门用例提高每瓦性能变得至关...

关键字: ARM 服务器 AI Neoverse CSS

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

一直以来,riscv架构都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来riscv架构的相关介绍,详细内容请看下文。

关键字: riscv ARM riscv架构

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器
关闭
关闭