F28335的外扩存储器基地址和偏移地址的设计举例说明
时间: 2023-07-28 16:49:55 浏览: 147
F28335example
4星 · 用户满意度95%
F28335 是 TI 公司的 TMS320 系列 DSP,可以通过配置 EMIF(External Memory Interface)寄存器来设置外扩存储器的基地址和偏移地址。下面以将外扩存储器连接到 DSP 的地址 0x80000000,偏移地址为 0x4000 为例进行说明。
首先,需要使能 EMIF:
```c
EMIF1_CONFIG = 0x00001619; // 配置 EMIF 控制器
EMIF1_CE0_CONFIG = 0x00001003; // 配置 CE0(Chip Enable 0)
EMIF1_CE1_CONFIG = 0x00001003; // 配置 CE1(Chip Enable 1)
EMIF1_CE2_CONFIG = 0x00001003; // 配置 CE2(Chip Enable 2)
EMIF1_CE3_CONFIG = 0x00001003; // 配置 CE3(Chip Enable 3)
EMIF1_SDRAM_CONFIG = 0x6185DA90; // 配置 SDRAM
EMIF1_SDRAM_REF_CTRL = 0x0101; // 配置 SDRAM 刷新控制
EMIF1_SDRAM_TRFC = 0x0072; // 配置 SDRAM 自刷新周期
EMIF1_SDRAM_TREF = 0x0394; // 配置 SDRAM 刷新间隔
EMIF1_SDRAM_TMRD = 0x0003; // 配置 SDRAM 模式寄存器延迟
EMIF1_SDRAM_TINIT = 0x0BB8; // 配置 SDRAM 上电初始化时间
EMIF1_SDRAM_BANK_ACTIVATE = 0x0003; // 配置 SDRAM 银行激活延迟
EMIF1_SDRAM_TRCD = 0x0003; // 配置 SDRAM 行到列延迟
EMIF1_SDRAM_TRP = 0x0003; // 配置 SDRAM 行预充电延迟
EMIF1_SDRAM_TRAS = 0x0008; // 配置 SDRAM 自动刷新延迟
EMIF1_SDRAM_TRC = 0x000F; // 配置 SDRAM 行循环延迟
EMIF1_SDRAM_TWR = 0x0003; // 配置 SDRAM 写保持延迟
EMIF1_SDRAM_TWTR = 0x0001; // 配置 SDRAM 写到读延迟
EMIF1_SDRAM_TRRD = 0x0001; // 配置 SDRAM 行间延迟
EMIF1_SDRAM_TREF_FREF_RATIO = 0x0007; // 配置 SDRAM 刷新和外部时钟比值
EMIF1_SDRAM_TDAL = 0x0001; // 配置 SDRAM 周期延迟
EMIF1_SDRAM_CONFIG2 = 0x0000; // 配置 SDRAM 控制器 2
EMIF1_SDRAM_CONFIG3 = 0x0000; // 配置 SDRAM 控制器 3
EMIF1_SDRAM_CONFIG4 = 0x0000; // 配置 SDRAM 控制器 4
EMIF1_SDRAM_CONFIG5 = 0x0000; // 配置 SDRAM 控制器 5
EMIF1_SDRAM_CONFIG6 = 0x0000; // 配置 SDRAM 控制器 6
EMIF1_SDRAM_CONFIG7 = 0x0000; // 配置 SDRAM 控制器 7
EMIF1_GBLCTL |= 0x00000001; // 使能 EMIF
```
然后,需要设置基地址和偏移地址:
```c
EMIF1_GBLCTL |= 0x10000000; // 设置基地址为 0x80000000
EMIF1_A2 = 0x00004000; // 设置偏移地址为 0x4000
```
通过以上配置,外扩存储器就可以连接到 DSP 的地址 0x80004000,可以进行数据读写操作。需要注意的是,具体的配置方法和寄存器名称可能因不同的 DSP 而异,需要参考相应的 DSP 的手册进行配置。
阅读全文