0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32接口中FSMC/FMC難點(diǎn)問題理解

電子設(shè)計(jì) ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師1 ? 2018-04-19 12:36 ? 次閱讀

一,FSMC簡

FSMC,即靈活的靜態(tài)存儲控制器,能夠與同步或異步存儲器和 16 位 PC 存儲器卡連接,

STM32 的 FSMC 接口支持包括 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存儲器。

二,FSMC存儲塊

STM32F767的FMC將外部存儲器劃分為6個固定大小的256M的存儲區(qū)域,如下圖

如圖:
FSMC分為4塊,每塊256M字節(jié)又被劃分為4*64,即四個片選
NOR / PSRAM使用塊1,共256M
NAND閃存使用塊2,3,共512M
PC卡使用塊4,共256M

三,存儲塊1(Bank1)寄存器

STM32 的 FSMC 存儲塊 1(Bank1)被分為 4 個區(qū),每個區(qū)管理 64M 字節(jié)空間,每個區(qū)都
有獨(dú)立的寄存器對所連接的存儲器進(jìn)行配置。Bank1 的 256M 字節(jié)空間由 28 根地址線
(HADDR[27:0])尋址。
這里 HADDR 是內(nèi)部 AHB 地址總線,其中HADDR[25:0]來自外部存儲器地址
FSMC_A[25:0],而 HADDR[26:27]對 4 個區(qū)進(jìn)行尋址。

我們要特別注意 HADDR[25:0]的對應(yīng)關(guān)系:
當(dāng) Bank1 接的是 16 位寬度存儲器的時候:HADDR[25:1]對應(yīng) FSMC-A[24:0]。
當(dāng) Bank1 接的是 8 位寬度存儲器的時候:HADDR[25:0]對應(yīng)FSMC_A[25:0]。

比如外部存儲器接到FMC_NE1上面,那么外部存儲器的地址為HADDR[26:27] +FMC_A[25:0]=0x60000000+FMC_A[25:0]。

注:不論外部接 8 位/16 位寬設(shè)備,F(xiàn)SMC_A[0] 永遠(yuǎn)接在外部設(shè)備地址 A[0] 。

HADDR[25:0] 位包含外部存儲器地址,由于 HADDR 為字節(jié)地址,而存儲器按字尋址,所以根據(jù)存儲器數(shù)據(jù)寬度不同,

實(shí)際向存儲器發(fā)送的地址也將有所不同,如圖:

一個地址對應(yīng)一個字節(jié)的數(shù)據(jù),所以64M字節(jié)的地址量,就可以表示64x8=512M的數(shù)據(jù),也就是說外部儲存器的最大容量為512M.

當(dāng) Bank1 接的是 16 位寬度存儲器的時候:HADDR[25:1]對應(yīng) FSMC-A[24:0]。

:一個地址就可以操作一個字(16位)的數(shù)據(jù)那么就不需要26根地址線了,HADDR[0]就沒有用到,所以: HADDR[25:1] = FMC _A[24:0] 。

即:
0000對應(yīng)FSMC_A[0]=0 (2字節(jié))
0010對應(yīng)FSMC_A[0]=1 (2字節(jié))
0100對應(yīng)FSMC_A[1]=1 (2字節(jié))


所以對應(yīng)關(guān)系需要除以2,內(nèi)部右移一位對齊
此時最低位沒用,訪問最低位需要使用UB/LB


當(dāng) Bank1 接的是 8 位寬度存儲器的時候:HADDR[25:0]對應(yīng) FSMC_A[25:0]。

:一個地址正好可以操作一個字節(jié)(8位)的數(shù)據(jù),需要26根地址線:那么 HADDR[25:0] = FMC _A [25:0]。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163092
  • STM32
    +關(guān)注

    關(guān)注

    2258

    文章

    10828

    瀏覽量

    352486
  • FSMC
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    38055
收藏 人收藏

    評論

    相關(guān)推薦

    淺析STM32 FSMC操作LCD的過程

    FSMC稱為靈活的靜態(tài)存儲器,它能夠與同步或異步存儲器和16位PC存儲器卡連接,STM32F4的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存儲
    發(fā)表于 07-22 14:46 ?3561次閱讀
    淺析<b class='flag-5'>STM32</b> <b class='flag-5'>FSMC</b>操作LCD的過程

    FSMC_Bank1和FSMC_Bank1E沒有定義是怎么回事?

    ?如標(biāo)題所述, FSMC_Bank1和FSMC_Bank1E 沒用定義,但是在stm3f4xx.h中明明有: ? ?#if defined (STM32F427_437xx) || defined
    發(fā)表于 05-15 08:00

    stm32的sdio接口中的"數(shù)據(jù)通道"和"命令通道",通道兩個字該怎么理解

    stm32的sdio接口中的"數(shù)據(jù)通道"和"命令通道",通道兩個字該怎么理解如題,應(yīng)該作為硬件上的東西理解嗎?
    發(fā)表于 11-06 18:43

    STM32FSMCFMC有什么區(qū)別?

    STM32FSMCFMC有什么區(qū)別呢? 有的系列,比如F103是FSMC,有的系列,M4就是FMC了。這兩者有什么區(qū)別呢?
    發(fā)表于 09-26 06:17

    TFT_LCD與FSMC的硬件連接大容量STM32F10xxx_FSMC接口

    使用大容量STM32F10xxx的FSMC模塊連接TFT LCD
    發(fā)表于 01-08 14:16 ?39次下載

    如何使用STM32FSMC接口驅(qū)動LCD屏

    本實(shí)驗(yàn)向大家介紹如何使用STM32FSMC接口驅(qū)動LCD屏,及使用觸摸屏控制器檢測觸點(diǎn)坐標(biāo)。
    發(fā)表于 09-22 12:04 ?0次下載

    基于FPGA和STM32FSMC通信

    FSMC簡介:FSMC即靈活的靜態(tài)存儲控制器,FSMC管理1GB空間,擁有4個Bank連接外部存儲器,每個Bank有獨(dú)立的片選信號和獨(dú)立的時序配置;支持的存儲器類型有SRAM、PSRAM、NOR/ONENAND、ROM、LCD
    發(fā)表于 07-28 09:35 ?1.2w次閱讀

    STM32單片機(jī)的FSMC對TFT的驅(qū)動

    開始只是談到別人對FSMC理解,注意這里只討論FSMC控制TFT,也就是在FSMC的NOR\PSRAM模式控制LCD,所以我們以下的分析都是基于這種模式的。
    發(fā)表于 12-12 14:22 ?3897次閱讀
    <b class='flag-5'>STM32</b>單片機(jī)的<b class='flag-5'>FSMC</b>對TFT的驅(qū)動

    STM32學(xué)習(xí)教程之FSMC模塊

    STM32學(xué)習(xí)教程之FSMC模塊
    發(fā)表于 03-16 15:47 ?52次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)教程之<b class='flag-5'>FSMC</b>模塊

    STM32 FSMC驅(qū)動TFTLCD 難點(diǎn)解析資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32 FSMC驅(qū)動TFTLCD 難點(diǎn)解析資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-10 08:40 ?29次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>FSMC</b>驅(qū)動TFTLCD <b class='flag-5'>難點(diǎn)</b>解析資料下載

    stm32_FSMC機(jī)制

    stm32_FSMC機(jī)制,介紹FSMC機(jī)制入門
    發(fā)表于 02-21 15:16 ?18次下載

    為什么可以利用FSMC來使用外部RAM

    為什么可以利用FSMC來使用外部RAM呢,首先了解一下STM32里的FSMC。大容量且引腳數(shù)在100腳以上的STM32F103芯片都帶有FSMC
    發(fā)表于 04-28 16:22 ?1873次閱讀

    AN5507_STM32H7 系列閃存接口中的循環(huán)冗余校驗(yàn)

    AN5507_STM32H7 系列閃存接口中的循環(huán)冗余校驗(yàn)
    發(fā)表于 11-21 08:11 ?0次下載
    AN5507_<b class='flag-5'>STM32</b>H7 系列閃存<b class='flag-5'>接口中</b>的循環(huán)冗余校驗(yàn)

    AN3241 如何應(yīng)用STM32F10XX的FSMC接口驅(qū)動QVGA_TFT-LCD屏幕

    AN3241 如何應(yīng)用STM32F10XX的FSMC接口驅(qū)動QVGA_TFT-LCD屏幕
    發(fā)表于 11-24 08:31 ?2次下載
    AN3241 如何應(yīng)用<b class='flag-5'>STM32</b>F10XX的<b class='flag-5'>FSMC</b><b class='flag-5'>接口</b>驅(qū)動QVGA_TFT-LCD屏幕

    TFT LCD與FSMC的硬件連接大容量STM32F10xxx FSMC接口

    電子發(fā)燒友網(wǎng)站提供《TFT LCD與FSMC的硬件連接大容量STM32F10xxx FSMC接口.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 11:42 ?5次下載
    TFT LCD與<b class='flag-5'>FSMC</b>的硬件連接大容量<b class='flag-5'>STM32</b>F10xxx <b class='flag-5'>FSMC</b><b class='flag-5'>接口</b>