• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      STM32的FSMC機(jī)制與NOR Flash的對(duì)接

      2021-05-16 16:34:58秦臻張鑫泉
      現(xiàn)代信息科技 2021年22期

      秦臻 張鑫泉

      摘? 要:可變靜態(tài)存儲(chǔ)控制器(FSMC)是STM32系列中的一種存儲(chǔ)器擴(kuò)展方式,F(xiàn)SMC可以根據(jù)不同系統(tǒng)的設(shè)計(jì)應(yīng)用需求,使其可以在外部連接不同類型的大容量靜態(tài)存儲(chǔ)器,依據(jù)外部存儲(chǔ)器所獨(dú)具的特色,滿足不同的需求,例如靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM),只讀存儲(chǔ)器(ROM),NOR Flash/NAND Flash,PSRAM等。文章從NOR Flash入手探究其與FSMC的連接通信。

      關(guān)鍵詞:FSMC;STM32;靜態(tài)存儲(chǔ)器;NOR Flash

      中圖分類號(hào):TP368? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)22-0048-03

      Abstract: Variable static memory controller (FSMC) is a memory expansion mode in STM32 series. FSMC can connect different types of high-capacity static memory externally according to the design and application requirements of different systems, and meet different requirements according to the unique characteristics of external memory, such as static random access memory (SRAM), read only memory (ROM), NOR Flash/NAND Flash, PSRAM, etc. Starting with NOR Flash, this paper explores its connection and communication with FSMC.

      Keywords: FSMC; STM32; static memory; NOR Flash

      0? 引? 言

      閃存設(shè)備主要由閃存介質(zhì)、閃存控制器兩部分構(gòu)成,根據(jù)制作工藝,閃存存儲(chǔ)器可 以分為NOR型和NAND型兩種。前者是按位進(jìn)行訪問,具有可靠性高、隨機(jī)讀取速度快的優(yōu)勢(shì),但擦除和寫操作速度較慢、可用的容量小,主要用于存儲(chǔ)可執(zhí)行的程序代碼。NAND型閃存存儲(chǔ)器的容量相對(duì)前者大,適合數(shù)據(jù)的存儲(chǔ)。

      NOR Flash是非易失存儲(chǔ)器,可以對(duì)稱為塊的存儲(chǔ)模塊單元進(jìn)行擦寫和再編程。任何Flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,且在進(jìn)行寫入操作之前必須先有擦除步驟。

      1? 應(yīng)用技術(shù)介紹

      1.1? 基本介紹

      STM32是意法半導(dǎo)體公司推出的基于ARM內(nèi)核Cortex-M3的32位微處理控制器系列,該系列的微處理器是專為功耗較低且價(jià)格比較敏感的應(yīng)用所設(shè)計(jì),該系列微處理器在能耗和處理速度方面的優(yōu)勢(shì)突出,通過采用Thumb-2高密度指令集,對(duì)系統(tǒng)存儲(chǔ)要求有所降低,基于此內(nèi)核所設(shè)計(jì)的STM32系列的性價(jià)比使其可以應(yīng)用于更廣泛的應(yīng)用領(lǐng)域。FSMC作為一種新型的存儲(chǔ)器擴(kuò)展技術(shù),可以進(jìn)行不同類型大容量靜態(tài)存儲(chǔ)器的擴(kuò)展。

      FSMC(可變靜態(tài)存儲(chǔ)控制器——Flexible Static Memory Controller),是STM32系列中內(nèi)部集成256 KB以上Flash。“可變”是由于通過對(duì)特殊功能寄存器的設(shè)置。

      1.2? 技術(shù)優(yōu)勢(shì)

      FSMC具備可以支持多種靜態(tài)存儲(chǔ)器類型的技術(shù)優(yōu)勢(shì),STM32可以通過FSMC實(shí)現(xiàn)與ROM、NOR Flash、SRAM和NAND Flash等存儲(chǔ)器的引腳直接連接,F(xiàn)SMC機(jī)制不僅支持多種數(shù)據(jù)寬度的異步讀/寫操作,且支持對(duì)NOR/PSRAM/NAND存儲(chǔ)器的同步突發(fā)訪問方式;支持同時(shí)擴(kuò)展多種存儲(chǔ)器以及更廣泛的存儲(chǔ)器型號(hào),且支持代碼從FSMC擴(kuò)展的外部存儲(chǔ)器中直接運(yùn)行。

      2? 設(shè)計(jì)方案及具體功能

      本項(xiàng)目主要完成的內(nèi)容是使用客戶指定的BGA模塊,實(shí)現(xiàn)BGA模塊中放入的S29GL芯片讀取和寫入功能,能夠?qū)⒃撔酒臄?shù)據(jù)保存在指定的存儲(chǔ)芯片中,并通過上位機(jī)讀出,并且能夠?qū)?shù)據(jù)從指定的存儲(chǔ)芯片傳輸給BGA模塊中放入的芯片,實(shí)現(xiàn)芯片中數(shù)據(jù)的復(fù)制。本方案的設(shè)計(jì)思路圖如圖1所示。

      本方案主要采用STM32F407、W25Q64JVSSIQ、USB TO TTL模塊和BGA48座模塊(S29GL064S)。S29GL064S芯片作為讀取目標(biāo),有64 MB的內(nèi)存,可以進(jìn)行8位或者16位的輸入輸出。采用64 MB的內(nèi)存,單片機(jī)相連的常用存儲(chǔ)器,故選用現(xiàn)有內(nèi)存W25Q64JVSSIQ,將讀取到的BGA48模塊的數(shù)據(jù)存儲(chǔ)在此芯片中,根據(jù)需要發(fā)給上位機(jī)或者BGA48模塊。USB TO TTL模塊用來連接STM32F409和上位機(jī),數(shù)據(jù)通過UART從STM32F407ZGT輸出給USB TO TTL模塊,再將數(shù)據(jù)處理為上位機(jī)能接受的形式。STM32F407ZGT作為主控芯片,負(fù)責(zé)與S29GL064S和W25Q64JVSSIQ之間的數(shù)據(jù)傳輸,SPI傳輸與W25Q64JVSSIQ芯片相連,用UART傳輸數(shù)據(jù)給上位機(jī)。

      3? 硬件設(shè)計(jì)

      硬件部分供電由USB得到5 V電壓,再經(jīng)過USB TO TTL模塊,通過穩(wěn)壓芯片,輸出穩(wěn)定的3.3 V電壓,且USB連接后可與STM32F407芯片通過USART傳輸數(shù)據(jù)。

      STM32F407芯片內(nèi)部有FSMC,不僅支持多種數(shù)據(jù)寬度的異步讀/寫操作,而且有支持對(duì)NOR Flash的同步突發(fā)訪問方式。將BGA48模塊與STM32的FSMC連接。

      FSMC的地址線和數(shù)據(jù)線連接BGA48模塊的數(shù)據(jù)輸入輸出引腳和地址輸入引腳,將BYTE#輸入為高電平,使之輸出16位的數(shù)據(jù),使用兩個(gè)按鍵控制數(shù)據(jù)在BGA模塊和W25Q64芯片中傳輸,使用兩個(gè)LED小燈的閃爍狀態(tài)表示正在進(jìn)行的讀取/寫入操作。當(dāng)按下右側(cè)按鈕時(shí),數(shù)據(jù)從BGA模塊中傳輸給W25Q64中,傳輸過程中能看到按鈕對(duì)應(yīng)的LED常亮,傳輸完成后,LED熄滅。當(dāng)按下左側(cè)按鈕時(shí),數(shù)據(jù)從W25Q64傳輸個(gè)BGA模塊,傳輸過程中能看到對(duì)應(yīng)的LED燈常亮,傳輸完成后,LED燈熄滅。

      4? 軟件操作

      4.1? 上位機(jī)概述

      上位機(jī)工作過程如下文所述:

      (1)啟動(dòng)BGA48模塊實(shí)現(xiàn)讀取/寫入功能,將數(shù)據(jù)從FLASH芯片W25Q64中傳輸?shù)紹GA48中或者將數(shù)據(jù)從BGA48傳輸?shù)絎25Q64。

      (2)上位機(jī)直接讀取BGA48或者W25Q64中的數(shù)據(jù),并保存在C盤的FlashReadTxt文件夾中,并分別保存在對(duì)應(yīng)的ReadInnerFlash和ReadNorFlash文件夾下,以當(dāng)時(shí)讀取的時(shí)間為文件名。

      (3)直接從上位機(jī)中將數(shù)據(jù)寫入到BGA模塊中。

      4.2? 功能介紹

      串口配置:波特率:115 200,數(shù)據(jù)位:8 bit,停止位:1 bit,奇偶校驗(yàn)位:無。選擇對(duì)應(yīng)的COM口后,點(diǎn)擊“打開串口”按鈕,上位機(jī)顯示識(shí)別到的W25Q64和S29GL064的芯片型號(hào)。

      點(diǎn)擊“FLASH->BGA”按鈕,上位機(jī)將控制單片機(jī)將數(shù)據(jù)從W25Q64中傳輸給BGA模塊,同時(shí)進(jìn)度條將記錄傳輸進(jìn)度,以及此次操作內(nèi)容,并且右下角的讀取LED會(huì)與單片機(jī)的LED對(duì)應(yīng),顯示紅色,傳輸完成后會(huì)變綠,并彈出提示完成的窗口。

      點(diǎn)擊“BGA->FLASH”按鈕,上位機(jī)將控制單片機(jī)將數(shù)據(jù)從BGA中傳輸給W25Q64芯片,同時(shí)進(jìn)度條將記錄傳輸進(jìn)度,以及此次操作內(nèi)容,并且右下角的寫入LED會(huì)與單片機(jī)的LED對(duì)應(yīng),顯示紅色,傳輸完成后會(huì)變綠,并彈出提示完成的窗口。

      點(diǎn)擊“FLASH->上位機(jī)”按鈕,上位機(jī)將讀取W25Q64中的數(shù)據(jù),同時(shí)進(jìn)度條將記錄傳輸進(jìn)度,以及此次操作內(nèi)容,并且右下角的讀取LED會(huì)與單片機(jī)的LED對(duì)應(yīng),顯示紅色,傳輸完成后會(huì)變綠,如圖2所示,中央的界面會(huì)顯示讀取到的對(duì)應(yīng)地址下的數(shù)據(jù),然后彈出提示完成的窗口。

      點(diǎn)擊“BGA->上位機(jī)”按鈕,上位機(jī)將讀取BGA模塊中的數(shù)據(jù),同時(shí)進(jìn)度條將記錄傳輸進(jìn)度,以及此次操作內(nèi)容,并且右下角的寫入LED會(huì)與單片機(jī)的LED對(duì)應(yīng),顯示紅色,傳輸完成后會(huì)變綠,中央的界面會(huì)顯示讀取到的對(duì)應(yīng)地址下的數(shù)據(jù),然后彈出提示完成的窗口。

      點(diǎn)擊“上位機(jī)->BGA”按鈕,選取想要讓BGA寫入的文件,點(diǎn)擊“打開”或者雙擊該文件,單片機(jī)就會(huì)將該文件數(shù)據(jù)寫入到BGA模塊中,同時(shí)進(jìn)度條將記錄傳輸進(jìn)度,以及此次操作內(nèi)容,并且右下角的寫入LED會(huì)與單片機(jī)的LED對(duì)應(yīng),顯示紅色,傳輸完成后會(huì)變綠,并彈出提示完成的窗口。

      4.3? 串口通信協(xié)議

      通訊方式:上下位機(jī)采用主從式通訊,上位機(jī)給下位機(jī)發(fā)送控制命令,下位機(jī)接收并執(zhí)行完畢后立刻向上位機(jī)返回下位機(jī)當(dāng)前的數(shù)據(jù)及狀態(tài)。通訊格式及命令內(nèi)容如表1、表2所示。

      傳輸協(xié)議:

      上位機(jī)發(fā)送(下位機(jī)接收):

      下位機(jī)發(fā)送(上位機(jī)接收):

      4.4? 存儲(chǔ)芯片F(xiàn)LASH的數(shù)據(jù)寫入和讀取

      數(shù)據(jù)寫入和讀取界面截圖如圖3所示。

      5? 實(shí)驗(yàn)遇到的問題及解決措施

      本項(xiàng)目在進(jìn)行設(shè)計(jì)實(shí)驗(yàn)過程中遇到的主要問題是在使用BGA48時(shí),BGA48的pin46和pin27發(fā)生短路,經(jīng)過多次排錯(cuò),發(fā)現(xiàn)芯片和座的引腳不對(duì)應(yīng)。經(jīng)過對(duì)比廠家發(fā)的原理圖、實(shí)際PCB上芯片引腳的圖片的對(duì)比,結(jié)果發(fā)現(xiàn),廠家芯片的2個(gè)VSS與BGA的pin45和pin28相連,實(shí)際上VSS相連的是pin46和pin27,給出的解決辦法是重新修改PCB板。

      6? 結(jié)? 論

      首先完成設(shè)計(jì)方案的設(shè)計(jì),硬件部分使用STM32F407芯片為主控芯片,使用W25Q64為存儲(chǔ)BGA模塊數(shù)據(jù)的存儲(chǔ)芯片,使用USB TO TTL模塊作為上位機(jī)與單片機(jī)傳輸媒介,同時(shí)USB TO TTL連接USB成為電源。軟件部分使用QT編寫上位機(jī),上位機(jī)主要實(shí)現(xiàn)的功能為控制單片機(jī)完成BGA和存儲(chǔ)芯片之間的數(shù)據(jù)傳輸,并且能夠讀取BGA和存儲(chǔ)芯片中的數(shù)據(jù),以及將指定數(shù)據(jù)寫入到BGA中。

      STM32作為新一代ARM Cortex-M3核處理器,其卓越的性能和功耗控制能適用于廣泛的應(yīng)用領(lǐng)域。本文實(shí)驗(yàn)用STM32F407為主控芯片,且FMSC具有高度靈活性,通過實(shí)現(xiàn)STM32的FSMC和NOR Flash的對(duì)接,使用指定的BGA,將模塊中的S29GL的讀寫功能,而且可以將芯片中的數(shù)據(jù)保存在指定的存儲(chǔ)芯片,實(shí)現(xiàn)數(shù)據(jù)的復(fù)制。

      參考文獻(xiàn):

      [1] 潘輝.STM32-FSMC機(jī)制的NOR Flash存儲(chǔ)器擴(kuò)展技術(shù) [J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(10):31-34.

      [2] 石亮.閃存存儲(chǔ)系統(tǒng)的性能優(yōu)化研究 [D].合肥:中國科學(xué)技術(shù)大學(xué),2013.

      [3] 陸游游,舒繼武.閃存存儲(chǔ)系統(tǒng)綜述 [J].計(jì)算機(jī)研究與發(fā)展,2013,50(1):49-59.

      [4] 湯莉莉,黃偉.基于STM32的FSMC接口驅(qū)動(dòng)TFT彩屏設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2013,36(20):139-141+144.

      [5] 王江濤,賴文豫,孟小峰.閃存數(shù)據(jù)庫:現(xiàn)狀、技術(shù)與展望 [J].計(jì)算機(jī)學(xué)報(bào),2013,36(8):1549-1567.

      作者簡介:秦臻(1998—),女,漢族,山東濟(jì)南人,碩士研究生在讀,研究方向:電子與通信工程。

      永吉县| 武汉市| 宁陵县| 商河县| 兴业县| 大悟县| 台北市| 陆良县| 阆中市| 射洪县| 禹州市| 东乡县| 兖州市| 虎林市| 富阳市| 郯城县| 寿宁县| 东海县| 延安市| 平凉市| 普安县| 水富县| 洛南县| 东源县| 措勤县| 樟树市| 黔东| 嘉善县| 信丰县| 永胜县| 襄垣县| 常宁市| 湘西| 莒南县| 芷江| 焉耆| 阿图什市| 蕲春县| 万盛区| 南召县| 房产|