新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32 FSMC學習筆記

        STM32 FSMC學習筆記

        作者: 時間:2016-11-27 來源:網絡 收藏

        當要讀數據時,地址由0x60020000改為了0x60000000,這個時候A16就為0了。--------------------------------------------------------------------------------------------------
        下來就是關于 FSCM時序問題,大家都有討論:

        一.當FSMC選擇NOR和PSRAM模塊時:
        分為兩種:1.異步事務2.同步突發事務
        異步事務分為普通模式(mode 1,mode 2)和模式1與模式2的4種擴展模式(mode A,B,C,D);

        二.General timing rules(通用時序規則):
        1.All controller output signals change on the rising edge of the internal clock (HCLK)
        (所有輸出控制信號在內部時鐘(HCLK)的上升沿改變)
        2.In synchronous read and write mode, the output data changes on the falling edge of the
        memory clock (FSMC_CLK).
        (在同步讀和寫模式下,輸出信號在存儲器CLK的下降沿改變)
        三.采樣規則
        The FSMC always samples the data before de-asserting the chip select signal NE. This
        guarantees that the memory data-hold timing constraint is met (chip enable high to
        data transition, usually 0 ns min.)
        (FSMC總是在撤銷片選信號NE前采樣數據,這保證了了儲存器數據保持時間的約束能夠滿足。)
        四:時序計算
        設定值都是以Hclk為基本單位的
        公式:



        現在沒有完全弄明白的是,因為是異步模式,數據通過延遲一個HCLK通知給了對端,地址線上的信號怎么通知對端有效呢?

        --------------------------------------------------------------------------------------------------
        下面是一些資料上的數據,可以估算時間是否大概滿足應用的要求:




        --------------------------------------------------------------------------------------------------

        一些常見問題的FAQ:

        1.STM32F103 FSMC是不是所有型號都有?

        本文引用地址:http://www.104case.com/article/201611/322515.htm

        ANS:VC,VD,VE,ZC,ZD,ZE只有這幾個型號有。

        ---------------------------------------------------------------------------------------------------------------------------------

        2.復用和非復用?

        STM32的FSMC支持數據與地址線復用或非復用兩種模式
        非復用模式:16位數據線及26位地址線分開始用。推薦在144腳及以上的STM32產品上使用該模式。

        復用模式:低16位數據/地址線復用。在該模式下,推薦使用地址鎖存器以區分數據與地址。

        若不使用鎖存器:當NADV為低時,ADx(x=0…15)上出現地址信號Ax,當NADV變高時,ADx上出現數據信號Dx。
        若使用鎖存器:可同時在ADx上得到Ax和Dx。

        FSMC中未使用的數據線或地址線可配置為GPIO

        對于16位寬度的外部存儲器,FSMC將在內部使用HADDR[25:1]產生外部存儲器的地址FSMC_A[24:0]。因此,實際的訪問地址為右移一位之后的地址。

        ---------------------------------------------------------------------------------------------------------------------------------

        3.時序圖(擴展模式)

        普通模式和擴展模式的不同主要用途我覺得,就是把讀、寫設置成不盡相同的時序。所謂的模式A、B、C、D,其實沒多大區別。

        引用手冊原文:

        The differences with mode1 are the toggling of NADV and the independent read and write timings when extended mode is set。

        ---------------------------------------------------------------------------------------------------------------------------------

        4.FSMC_NWAIT和FSMC_NE1/FSMC_NCE2.不明白這兩個怎么用?

        ANS:NBL0,NBL1,在STM32F103的數據手冊里面有規定IO的,不能隨便換.(PSRAM時使用)

        NWAIT應該是FLASH操作才用的.NE1,NCE2就是一些片選信號.STM32的FSMC支持同時掛多個器件,每個器件都必須有一個CS(也就是NEx,NCEx).

        NADV(NL)在復用時時所存信號。在非復用模式控制PSRAM輸出有效。





        看了1天的英文資料和論壇,這是我總結出來的一些雜亂的信息,由于剛到嵌入式開發行列,底子太弱,所以先把這些保存下來,供以后使用。
        下周一實驗板就來了,估計花些時間調一下FSMC,再加上DMA的功能,希望能改善產品。


        PS:糾結了 快一個禮拜。。終于搞定了,現在只需測一下性能,再加上DMA。最后測下DMA對CPU有多少開銷就OK了!

        上一頁 1 2 下一頁

        關鍵詞: STM32FSMC學習筆

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 岳阳市| 西吉县| 天津市| 广平县| 福建省| 钦州市| 虞城县| 天等县| 大足县| 福州市| 泰州市| 察哈| 安化县| 瑞金市| 探索| 五莲县| 亚东县| 泰顺县| 易门县| 大庆市| 福海县| 河津市| 灌南县| 南澳县| 甘孜县| 丰原市| 丰台区| 巫溪县| 揭西县| 汉源县| 合山市| 大荔县| 安康市| 自贡市| 札达县| 洛阳市| 松江区| 文水县| 林周县| 富阳市| 高尔夫|