stm32F765的FMC使用SRAM能否缩小两次连续读的时间

2019-07-14 18:26发布

使用MCU的FMC外扩SRAM时,对外部SRAM进行读写操作时,写操作无异常,通过寄存器均可按照手册控制。在进行读操作时,开启EXTMOD功能,即使总线周转时间设置为0,两次连续的读操作时间还为150ns。MCU主频为216M,开启了CACHE和MPU。求助各位,能否缩小两次连续读的时间,并未在手册中找到相关寄存器说明。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
易元空灭
1楼-- · 2019-07-15 01:03
看下FMC时钟分频是多少,数据时间和地址保持时间什么的调调看
60user187
2楼-- · 2019-07-15 03:37
FMC是挂在AHB上的,AHB是1分频,数据保持时间和地址保持时间这些参数配置都没什么问题,但是两次连续读的间隔时间调不小。
60user187
3楼-- · 2019-07-15 08:10
csw_ying 发表于 2018-8-23 08:56
这个官方例程拿来改下或者对比着看看

官方例程也是一样的效果
tianyou15
4楼-- · 2019-07-15 12:01
typedef struct
{
  uint32_t AddressSetupTime;             /*!< Defines the number of HCLK cycles to configure
                                              the duration of the address setup time.
                                              This parameter can be a value between Min_Data = 0 and Max_Data = 15.
                                              @note This parameter is not used with synchronous NOR Flash memories.      */

  uint32_t AddressHoldTime;              /*!< Defines the number of HCLK cycles to configure
                                              the duration of the address hold time.
                                              This parameter can be a value between Min_Data = 1 and Max_Data = 15.
                                              @note This parameter is not used with synchronous NOR Flash memories.      */

  uint32_t DataSetupTime;                /*!< Defines the number of HCLK cycles to configure
                                              the duration of the data setup time.
                                              This parameter can be a value between Min_Data = 1 and Max_Data = 255.
                                              @note This parameter is used for SRAMs, ROMs and asynchronous multiplexed
                                              NOR Flash memories.                                                        */

  uint32_t BusTurnAroundDuration;        /*!< Defines the number of HCLK cycles to configure
                                              the duration of the bus turnaround.
                                              This parameter can be a value between Min_Data = 0 and Max_Data = 15.
                                              @note This parameter is only used for multiplexed NOR Flash memories.      */

  uint32_t CLKDivision;                  /*!< Defines the period of CLK clock output signal, expressed in number of
                                              HCLK cycles. This parameter can be a value between Min_Data = 2 and Max_Data = 16.
                                              @note This parameter is not used for asynchronous NOR Flash, SRAM or ROM
                                              accesses.                                                                  */

  uint32_t DataLatency;                  /*!< Defines the number of memory clock cycles to issue
                                              to the memory before getting the first data.
                                              The parameter value depends on the memory type as shown below:
                                              - It must be set to 0 in case of a CRAM
                                              - It is don't care in asynchronous NOR, SRAM or ROM accesses
                                              - It may assume a value between Min_Data = 2 and Max_Data = 17 in NOR Flash memories
                                                with synchronous burst mode enable                                       */

  uint32_t AccessMode;                   /*!< Specifies the asynchronous access mode.
                                              This parameter can be a value of @ref FSMC_Access_Mode                      */

}FSMC_NORSRAM_TimingTypeDef;

一周热门 更多>