文章目录
1.GPMC数据传输的原理
GPMC的全称是 General-Purpose Memory Controller,即通用控制器,是要开发用到的AM5728芯片用于NOR FLASH NAND FLASH SRAM 等等通信的一个接口。 这里以实现了从FPGA到AM5728的数据搬运的目标对GPMC的原理进行研究。
1.1 GPMC与设备连接模式
由原理图可知FPGA到AM5728的数据搬运采用的是16位数据线和地址线不复用模式
如下图所示是16位数据和地址线不复用模式原理图 由下图可以看到gpmc_ad[15:0] 对应数据线 gpmc_a[27:1]对应地址线
注意:gpmc_a [0]引脚不用于16位存储设备
1.2 GPMC信号线
1.GPMC I/O引脚功能的描述
(1)引脚名A[27:0]对应设备信号名gpmc_a[27:0]是28位输出地址总线
(2)引脚名A[16:1]/D[15:0]对应设备信号名gpmc_ad[15:0]是可以复用地址和数据的I/O线
(3)引脚名nCS[7:0]对应设备信号名gpmc_cs[7:0]是片寻芯片引脚(低电平有效)
(4)引脚名CLK对应设备信号名gpmc_clk是为外部内存或设备生成的时钟
(5)引脚名nADV/ALE对应设备信号名gpmc_advn_ale是地址和数据信号线(低电平 地址信号)(高电平 数据信号)
(6)引脚名nOE/nRE对应设备信号名gpmc_oen_ren是读信号 (低电平有效)
(7)引脚名nWE对应设备信号名gpmc_wen是写信号 (低电平有效)
(8)引脚名nBE0/CLE对应设备信号名gpmc_ben0是用于
NAND协议存储器的命令锁存使能 低字节使能(低电平有效)
(9)引脚名nBE1对应设备信号名gpmc_ben1是高字节使能(低电平有效)
(10)引脚名WAIT[1:0]对应设备信号名gpmc_wait[1:0]是外部等待信号(由设备发出)
1.3 GPMC 功能描述
GPMC基础程序模型为8个片寻提供最大弹性的各种各样的访问协议支持,基于外部设备的参数 使用最佳的片寻设置
不同的协议可以被选择去支持通用的异步和同步的随机访问设备(比如 NOR flash ,SRAM)或者去支持特殊的NAND 设备。
在相同的外部总线可以将地址和数据总线进行复用
读写访问可以独立的定义为同步或者异步访问
系统请求(16bit word 突发)被执行通过单一或者复用访问。外部访问配置文件
2. GPMC数据传输
GPMC 数据传输我们是基于NOR 类模式来进行研究 这其中就包括 GPMC 的初始化 GPMC模式的选择 片寻的选择 片寻时间的设置
2.1 GPMC 初始化
GPMC的初始化包括3部分 使能GPMC模块时钟,使能GPMC引脚和重置GPMC模式。
1.使能GPMC时钟
通过操控如下图所示的寄存器对GPMC的时钟模块进行操作
2 使能GPMC 引脚
3.重置GPMC模式
2.2 GPMC 配置NOR模式
如下图所示主要对gpmc_config1寄存器进行设置
2.3 片选配置地址和大小
如下图所示主要对gpmc_config7寄存器进行设置 片选的基地址还有片寻可以访问的范围
2.4 GPMC的时间参数设置
GPMC通过设置gpmc_config2-gpmc_config6 的寄存器来设置时间参数
3.引脚属性设置
通过查看硬件原理图找到GPMC对应的数据线引脚和地址线引脚,CS,ADV,写,读等引脚找到控制该引脚的配置寄存器进行设置
下图是引脚配置寄存器的各个标准位对应的作用
数据线引脚是双向通信的所以数据线得设置成输入状态同时设置为上拉状态
地址线引脚是单向通信所以地址线不用设置有输入状态同时设置为上拉状态
CS, ADV, 写,读引脚是单向通信不用设置有输入状态同时不用设置上拉状态
模式位根据各种的引脚的作用进行设置
模式位根据各种的引脚的作用进行设置
模式位根据各种的引脚的作用进行设置**
模式位根据各种的引脚的作用进行设置