新聞中心

        STM32 FSMC學(xué)習(xí)筆記

        作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

        當(dāng)要讀數(shù)據(jù)時(shí),地址由0x60020000改為了0x60000000,這個(gè)時(shí)候A16就為0了。--------------------------------------------------------------------------------------------------
        下來就是關(guān)于 FSCM時(shí)序問題,大家都有討論:

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

        二.General timing rules(通用時(shí)序規(guī)則):
        1.All controller output signals change on the rising edge of the internal clock (HCLK)
        (所有輸出控制信號(hào)在內(nèi)部時(shí)鐘(HCLK)的上升沿改變)
        2.In synchronous read and write mode, the output data changes on the falling edge of the
        memory clock (FSMC_CLK).
        (在同步讀和寫模式下,輸出信號(hào)在存儲(chǔ)器CLK的下降沿改變)
        三.采樣規(guī)則
        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總是在撤銷片選信號(hào)NE前采樣數(shù)據(jù),這保證了了儲(chǔ)存器數(shù)據(jù)保持時(shí)間的約束能夠滿足。)
        四:時(shí)序計(jì)算
        設(shè)定值都是以Hclk為基本單位的
        公式:



        現(xiàn)在沒有完全弄明白的是,因?yàn)槭钱惒侥J剑瑪?shù)據(jù)通過延遲一個(gè)HCLK通知給了對(duì)端,地址線上的信號(hào)怎么通知對(duì)端有效呢?

        --------------------------------------------------------------------------------------------------
        下面是一些資料上的數(shù)據(jù),可以估算時(shí)間是否大概滿足應(yīng)用的要求:




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

        一些常見問題的FAQ:

        1.STM32F103 FSMC是不是所有型號(hào)都有?

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

        ANS:VC,VD,VE,ZC,ZD,ZE只有這幾個(gè)型號(hào)有。

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

        2.復(fù)用和非復(fù)用?

        STM32的FSMC支持?jǐn)?shù)據(jù)與地址線復(fù)用或非復(fù)用兩種模式
        非復(fù)用模式:16位數(shù)據(jù)線及26位地址線分開始用。推薦在144腳及以上的STM32產(chǎn)品上使用該模式。

        復(fù)用模式:低16位數(shù)據(jù)/地址線復(fù)用。在該模式下,推薦使用地址鎖存器以區(qū)分?jǐn)?shù)據(jù)與地址。

        若不使用鎖存器:當(dāng)NADV為低時(shí),ADx(x=0…15)上出現(xiàn)地址信號(hào)Ax,當(dāng)NADV變高時(shí),ADx上出現(xiàn)數(shù)據(jù)信號(hào)Dx。
        若使用鎖存器:可同時(shí)在ADx上得到Ax和Dx。

        FSMC中未使用的數(shù)據(jù)線或地址線可配置為GPIO

        對(duì)于16位寬度的外部存儲(chǔ)器,F(xiàn)SMC將在內(nèi)部使用HADDR[25:1]產(chǎn)生外部存儲(chǔ)器的地址FSMC_A[24:0]。因此,實(shí)際的訪問地址為右移一位之后的地址。

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

        3.時(shí)序圖(擴(kuò)展模式)

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

        引用手冊(cè)原文:

        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.不明白這兩個(gè)怎么用?

        ANS:NBL0,NBL1,在STM32F103的數(shù)據(jù)手冊(cè)里面有規(guī)定IO的,不能隨便換.(PSRAM時(shí)使用)

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

        NADV(NL)在復(fù)用時(shí)時(shí)所存信號(hào)。在非復(fù)用模式控制PSRAM輸出有效。





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


        PS:糾結(jié)了 快一個(gè)禮拜。。終于搞定了,現(xiàn)在只需測(cè)一下性能,再加上DMA。最后測(cè)下DMA對(duì)CPU有多少開銷就OK了!

        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: STM32FSMC學(xué)習(xí)筆

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 泸西县| 兴城市| 宁波市| 东阿县| 乐清市| 什邡市| 灌阳县| 镇坪县| 思茅市| 九龙城区| 南昌县| 文昌市| 漾濞| 定日县| 旬阳县| 古浪县| 哈尔滨市| 杭锦后旗| 额济纳旗| 和田县| 甘孜县| 南丹县| 兴化市| 滨海县| 绥中县| 前郭尔| 鄢陵县| 辉南县| 遂溪县| 铁岭县| 施甸县| 凌海市| 东平县| 江油市| 新绛县| 通化市| 分宜县| 恩平市| 越西县| 喜德县| 名山县|