位置:51电子网 » 技术资料 » 存 储 器

利用FPGA实现MMC2107与SDRAM接口设计

发布时间:2008/5/27 0:00:00 访问次数:528

来源:单片机及嵌入式系统应用 作者:陈 琳 蒋烈辉 马鸣锦 周 超

摘要:介绍基于现场可编程门阵列(fpga),利用vhdl语言设计实现mmc2107与sdram接口电路。文中包括mmc2107组成结构、sdram存储接口结构和sdram控制状态机的设计。

关键词:现场可编程门阵列 sdram ebi vhdl 状态机 k4s560832a

引言在嵌入式系统中,微控制器中通常有一定容量的存储器,用来存放程序和数据,但由于片内存储器受器件规模和生产成本的制约,其容量通常不能满足用户实际需求,还需要使用半导体存储器件来扩展存储空间。如果采用sdram进行存储扩展,可以大幅度地降低系统设计成本;但sdram控制时序比较复杂,给系统设计带来很大困难。为了方便使用sdram,实现嵌入式系统中存储的大容量扩展,本文介绍一种新颖的解决方案:采用fpga技术和vhdl语言,实现mmc2107微控制器与sdram的接口设计。

1 sdram内部结构sdram是一种具有同步接口的高速动态随机存储器。本文语选用的是三星公司生产的32m×8位sdram器件k4s560832a。k4s560832a存储总容量256m位,内部分成4个全,每个体8m字节,内部结构如图1所示。

k4s560832a为了能满足各种系统的使用要求,提供了时钟频率、猝发长度、延时节拍等可编程参数。在芯片上电后可以通过地址线a12~a0配置,芯片只有在完成配置后才能进入正常工作状态。在具体操作sdram时,首先,必须进行初始化配置,即写模式寄存器,以便确定dram列选延迟节拍数、猝发类型、猝发长度等工作模式。然后通过act命令激活对应地址的组,同时输入行地址。最后,通过rd或wr命令输入列地址,将相应数据读出或写入到对应的地址。操作完成后,用相关命令中止读或写操作。在没有操作的时候,每64ms必须对所有存储单元刷新一遍(8192行),防止数据丢失。

2 mmc2107组成结构及外部总线接口

mmc2107是32位m-core系列mcu,是以m210microrisc核为cpu,最高系统时钟可达33mhz;在mips。mmc2107是基于m210 cpu的、通用mcu系列中的第一个成员,具有很低的功耗;在主模式下,以最大系统时钟运行,并且片内所有模块全部处于运行状态时,最大的工作电流为200ma,特别适合于由电池供电的应用场合。mmc2107的组成框图如图2所示。

从图2可以看出,mmc2107片内除了m210核以外,主要还有128kb flash、8kb sram、外部总线接口、时钟模块、复位模块、m-core到ipbus之间的接口、中断控制器模块、8位边沿端口苇、2个可编程间隔定时器(pit1和pit2)、看门狗定时器wdt、2个定时器模块(tim1和tim2)、串行外围接口spi、2个串行通信接口(sci1和sci2)、adc模块、多个通用的输入/输出信号、tap控制器等功能及模块。

mmc2107在主模式和仿真模式下,支持mcore访问外部的存储器或设备。这时,m-core的本地总线(内部总线)扩展到片外,由外部总线接口(ebi)负责控制m-core局部总线和外地址空间之间的信息传送。ebi有23位地址总线a[22:0]和4个片选信号cs[3:0],使m-core的外部存储存储器地址空间可达32mb。ebi的数据传送宽度可以是32位的,也可以是16位的,可以由片选模块按4个片选通道分别予以设定,即片选通道0~3可各自编程选定。为了便于与各种速度的外设备相连,eb1在片选模块的控制下,可以形成所需长度的外总线周期。在ebi发起一个外部数据传送以后,ebi驱动并保持传送所需的各种信号,直到该总线周期结束。使ebi结束现行总线周期的方法有两种:ebi收到了由外逻辑发来的传送响应信号ta或tea,或者收到了内部传送响应信号,片选模块可以为4个片选通道分别选择总线周期结束的方法。

3 flex10k系列fpga

随着深亚微米vlsi技术的迅速发展,fpga/cpld等可编程器件的资源有极大的发展。尤其是fpga,器件的集成度已达到上千万门,系统工作频率已达到几百mhz。flex10k系列fpga是工业界第一个嵌入式的可编程逻辑器件。由于其具有高密度、低成本、低功率等特点,所以脱颖而出成为当今altera cpld中应用前景最好的器件系列。到目前为止,flex 10k系列已经推出了flex10k、flex10ka、flex10kb、flex 10kv和flex10ke等5种分支系列,其集成度也达到前所未有的250 000门。flex10k主要由嵌入式阵列块(eab)、逻辑阵列块(lab)、快速布线通道(fasttrack)和i/o单元组成,具有如下特点:

①片上集成了实现宏函数的嵌入式阵列和实现普通函数的逻辑阵列;

②高密度,具有10 000~250 000个可用门;

③支持多电压(multivolt)i/o接口,低功耗,遵守全pci总线规定,内带jtag边界扫描测试电路;

④通过外部eprom、集成控制器或jtag接口实现在电路可重构(i

来源:单片机及嵌入式系统应用 作者:陈 琳 蒋烈辉 马鸣锦 周 超

摘要:介绍基于现场可编程门阵列(fpga),利用vhdl语言设计实现mmc2107与sdram接口电路。文中包括mmc2107组成结构、sdram存储接口结构和sdram控制状态机的设计。

关键词:现场可编程门阵列 sdram ebi vhdl 状态机 k4s560832a

引言在嵌入式系统中,微控制器中通常有一定容量的存储器,用来存放程序和数据,但由于片内存储器受器件规模和生产成本的制约,其容量通常不能满足用户实际需求,还需要使用半导体存储器件来扩展存储空间。如果采用sdram进行存储扩展,可以大幅度地降低系统设计成本;但sdram控制时序比较复杂,给系统设计带来很大困难。为了方便使用sdram,实现嵌入式系统中存储的大容量扩展,本文介绍一种新颖的解决方案:采用fpga技术和vhdl语言,实现mmc2107微控制器与sdram的接口设计。

1 sdram内部结构sdram是一种具有同步接口的高速动态随机存储器。本文语选用的是三星公司生产的32m×8位sdram器件k4s560832a。k4s560832a存储总容量256m位,内部分成4个全,每个体8m字节,内部结构如图1所示。

k4s560832a为了能满足各种系统的使用要求,提供了时钟频率、猝发长度、延时节拍等可编程参数。在芯片上电后可以通过地址线a12~a0配置,芯片只有在完成配置后才能进入正常工作状态。在具体操作sdram时,首先,必须进行初始化配置,即写模式寄存器,以便确定dram列选延迟节拍数、猝发类型、猝发长度等工作模式。然后通过act命令激活对应地址的组,同时输入行地址。最后,通过rd或wr命令输入列地址,将相应数据读出或写入到对应的地址。操作完成后,用相关命令中止读或写操作。在没有操作的时候,每64ms必须对所有存储单元刷新一遍(8192行),防止数据丢失。

2 mmc2107组成结构及外部总线接口

mmc2107是32位m-core系列mcu,是以m210microrisc核为cpu,最高系统时钟可达33mhz;在mips。mmc2107是基于m210 cpu的、通用mcu系列中的第一个成员,具有很低的功耗;在主模式下,以最大系统时钟运行,并且片内所有模块全部处于运行状态时,最大的工作电流为200ma,特别适合于由电池供电的应用场合。mmc2107的组成框图如图2所示。

从图2可以看出,mmc2107片内除了m210核以外,主要还有128kb flash、8kb sram、外部总线接口、时钟模块、复位模块、m-core到ipbus之间的接口、中断控制器模块、8位边沿端口苇、2个可编程间隔定时器(pit1和pit2)、看门狗定时器wdt、2个定时器模块(tim1和tim2)、串行外围接口spi、2个串行通信接口(sci1和sci2)、adc模块、多个通用的输入/输出信号、tap控制器等功能及模块。

mmc2107在主模式和仿真模式下,支持mcore访问外部的存储器或设备。这时,m-core的本地总线(内部总线)扩展到片外,由外部总线接口(ebi)负责控制m-core局部总线和外地址空间之间的信息传送。ebi有23位地址总线a[22:0]和4个片选信号cs[3:0],使m-core的外部存储存储器地址空间可达32mb。ebi的数据传送宽度可以是32位的,也可以是16位的,可以由片选模块按4个片选通道分别予以设定,即片选通道0~3可各自编程选定。为了便于与各种速度的外设备相连,eb1在片选模块的控制下,可以形成所需长度的外总线周期。在ebi发起一个外部数据传送以后,ebi驱动并保持传送所需的各种信号,直到该总线周期结束。使ebi结束现行总线周期的方法有两种:ebi收到了由外逻辑发来的传送响应信号ta或tea,或者收到了内部传送响应信号,片选模块可以为4个片选通道分别选择总线周期结束的方法。

3 flex10k系列fpga

随着深亚微米vlsi技术的迅速发展,fpga/cpld等可编程器件的资源有极大的发展。尤其是fpga,器件的集成度已达到上千万门,系统工作频率已达到几百mhz。flex10k系列fpga是工业界第一个嵌入式的可编程逻辑器件。由于其具有高密度、低成本、低功率等特点,所以脱颖而出成为当今altera cpld中应用前景最好的器件系列。到目前为止,flex 10k系列已经推出了flex10k、flex10ka、flex10kb、flex 10kv和flex10ke等5种分支系列,其集成度也达到前所未有的250 000门。flex10k主要由嵌入式阵列块(eab)、逻辑阵列块(lab)、快速布线通道(fasttrack)和i/o单元组成,具有如下特点:

①片上集成了实现宏函数的嵌入式阵列和实现普通函数的逻辑阵列;

②高密度,具有10 000~250 000个可用门;

③支持多电压(multivolt)i/o接口,低功耗,遵守全pci总线规定,内带jtag边界扫描测试电路;

④通过外部eprom、集成控制器或jtag接口实现在电路可重构(i

相关IC型号

热门点击

 

推荐技术资料

循线机器人是机器人入门和
    循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!