"本文主要介绍了如何在STM32微控制器上使用FSMC(Flexible Static Memory Controller)扩展SRAM,并详细探讨了时序测量与配置。文章涵盖了STM32F103、STM32F2/F4系列以及两种不同型号的SRAM(IS61LV25616和EM681FV16AU)的时序配置方法。作者aozima在2012年4月30日分享了这一技术知识。"
在STM32的FSMC扩展SRAM过程中,时序配置至关重要,因为它直接影响到数据传输的正确性和效率。STM32F103的FSMC支持两种工作模式:模式1和模式A,其中模式A允许独立调整读写时序,而NOE信号在地址建立延时之后才生效。由于固件库中只提供了模式A的配置,因此不使用扩展模式实际上就是模式1。
时序参数包括地址建立时间(ADDSET)和数据设置时间(DATSET),它们决定了SRAM的最小读写周期。读时序中,基本时间单位是HCLK,地址建立时间至少为ADDSET+1个HCLK周期,数据设置为DATSET+1个HCLK周期,读取数据前还需要2个HCLK周期,读操作结束后还有6个HCLK周期的数据总线恢复时间。根据这些参数,最短读取时间为5HCLK,最短写入时间为3HCLK。
在STM32F103的时序测量中,假设主频为72MHz,HCLK周期为13.89ns。测试中,地址建立时间设为0,数据建立时间为1,读等待时间(BUSTURN)为6HCLK,且不使用扩展模式。通过CPU访问SRAM,可以观察到CS、NOE和NWE信号的变化,以验证实际的时序是否符合配置。
对于不同的STM32系列,如STM32F2/F4,其FSMC扩展SRAM的时序配置可能有所不同,需要按照具体芯片的数据手册进行设置。此外,特定型号的SRAM如IS61LV25616和EM681FV16AU,它们可能有不同的时序要求,需要参照SRAM的数据手册进行配置,确保与STM32的FSMC接口兼容。
总结来说,STM32的FSMC扩展SRAM时序配置是一个涉及多个参数的过程,需要精确计算和设置,以确保微控制器与SRAM之间的通信高效且无误。通过测量和分析时序,可以优化系统性能,提高系统的响应速度和稳定性。