24小时咨询热线

+86 0000 88888

emc动态

News Center
您的位置: emc体育 > emc动态

EMC之SDRAM跟你想的EMC体育有点不一样了

发布日期:2023-01-30 21:48浏览次数:

  EMC作为一个外部存储接口,使其为MCU追求大容量、高速度成为可能。作为比较常用的外部存储芯片SDRAM,其相对复杂的数据传输时序,在拥有EMC之后,又会出现那些问题,今天就谈一下它们之间的那些事。

  恩智浦(NXP)公司生产的这款LPC1788芯片带有控制外部存储的控制器,它是一个多端口存储外设,它支持异步静态存储设备,如RAM、ROM和Flash,也支持单数据速率传输的SDRAM这种动态存储器。该控制器带有26根地址线根数据线块静态存储片选地址映射和4块动态存储片选地址映射。下图是EMC接口在内存映射的位置。

  EMC与外部的动态存储器相连时,其占用的地址线相对来说是比较少的,这还是跟动态存储器的这种存储结构是有一定关系的。就拿SDRAM来说,其内部存储是按行列分布的,如下图所示,就像表格一样,有对应的行地址和列地址,每一个小方格就是一个存储单元。在对其寻址时,需要先进行行地址寻址,再进行列地址寻址,才选择出确定的操作单元。所以其行列地址线是可以分时复用,这也就决定了其占用的地址线较少。

  当动态存储器件的引脚连接到EMC上后,就需要对EMC的寄存器来进行配置。可以看到对于SDRAM,EMC体育有很多的关于时间参数配置的寄存器,需要根据实际连接的外部存储器件来进行相应的配置。当然,这些时间参数在外部存储器件的数据手册中都是可以找着的。

  但我们也不能掉以轻心,一些错误的时间配置可能导致数据传输无法完成,严重的可能导致动态存储器内部数据丢失。对于动态存储器件来说,其需要不断进行刷新才能保存数据,这是它很重要的操作,所以刷新时间的配置是很重要的EMC体育。对于常用的SDRAM 芯片IS42S16400来说,在其数据手册中找到下图这样一个时间参数,它的意思就是说刷新4096次需要的时间是64ms,也就是说刷新一次的时间是15.625us,如果刷新的周期比这个大的话,SDRAM就无法保存数据。而对于LPC1788 EMC模块,它就有这样一个时间参数寄存器EMCDynamicRefresh,它可以用来设置SDRAM刷新一次的时间。

  由于寄存器是以EMC的时钟作为基准的,所以这个刷新时间的设置还跟EMC的时钟有关,在配置的过程中,根据当前时钟计算一下,以免出现错误。对于连有多个动态外部存储芯片,而他们是共用这一个刷新时间的,这时候就要根据各个数据手册中要求的刷新周期,以每次刷新时间最短的为准,这样才能保证都能在规定的时间内完成刷新。同时对于支持热复位的情况下,也要注意一下,由于热复位期间,EMC的时钟发生变化,这时候的刷新周期也就有所变化,在配置过程中,也要考虑到上面的情况。

  对于其他的时间参数,可以对照EMC关于时间参数配置的寄存器和对应的外部存储芯片的数据手册,完成正确的配置EMC体育,当EMC配置完成之后,就可以通过访问总线地址来访问外部存储。

  EMC实现的这种与外部存储数据传输方式,会在以后的嵌入式产品中应用越来越广泛,它为小容量MCU提供了新的契机。