在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FSMC知識(shí)詳解,以及驅(qū)動(dòng)TFTLCD原理

            FSMC知識(shí)詳解,以及驅(qū)動(dòng)TFTLCD原理

            作者: 時(shí)間:2018-01-18 來源:網(wǎng)絡(luò) 收藏

              一,簡(jiǎn)介

            本文引用地址:http://www.biyoush.com/article/201801/374605.htm

              :靈活的靜態(tài)存儲(chǔ)控制器

              能夠與同步或異步存儲(chǔ)器和16位PC存儲(chǔ)器卡連接

              STM32的接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存儲(chǔ)器

              STM32 407和103是不支持SD RAM的,429,439支持SD RAM操作

              二,FSMC驅(qū)動(dòng)LCD原理

                

              FSMC驅(qū)動(dòng)外部SRAM(LCD被當(dāng)做SRAM)

              SRAM控制包含:

              地址線(如A0~A25)

              數(shù)據(jù)線(如D0~D15)

              寫信號(hào)(WE,即WR)

              讀信號(hào)(OE,即RD)

              片選信號(hào)(CS)

              若SRAM支持字節(jié)控制,還有UB/LB信號(hào)。

              上一節(jié)提到的信號(hào),RS、D0~D15、WR、RD、CS、RST和BL等

              其中真正操作LCD時(shí)用到的就只有:

              數(shù)據(jù)&命令:RS

              數(shù)據(jù)線:D0~D15

              寫信號(hào):WR

              讀信號(hào):RD

              片選信號(hào):CS

              操作時(shí)序和SRAM控制類似,唯一不同是有RS信號(hào),但是沒有地址信號(hào)

              通過RS信號(hào)來決定傳送是數(shù)據(jù)還是命令,可以理解為一個(gè)地址信號(hào)

              將RS接到FSMC地址線A10(A0-A25隨意),TFTLCD就被當(dāng)做一個(gè)SRAM使用

              這樣TFTLCD成為只有一個(gè)地址的SRAM設(shè)備,從而實(shí)現(xiàn)FSMC驅(qū)動(dòng)TFTLCD

              三,FSMC存儲(chǔ)塊

              STM32的FSMC支持8/16/32位數(shù)據(jù)寬度,我們使用的LCD為16位,所以設(shè)置選擇16位

              FSMC的外部設(shè)備地址映像:STM32的FSMC將外部存儲(chǔ)器劃分為固定大小為256M字節(jié)的四個(gè)存儲(chǔ)塊

                

              如圖:

              FSMC分為4塊,每塊256M字節(jié)又被劃分為4*64,即四個(gè)片選

              NOR / PSRAM使用塊1,共256M

              NAND閃存使用塊2,3,共512M

              PC卡使用塊4,共256M

              所以我們使用NOR PSRAM驅(qū)動(dòng)TFTLCD

              四,存儲(chǔ)塊1(Bank1)寄存器介紹

              STM32的FSMC存儲(chǔ)塊1(Bank1)用于驅(qū)動(dòng)NOR FLASH/SRAM/PSRAM

              Bank1被分為4個(gè)區(qū),每個(gè)區(qū)管理64M字節(jié)空間,每個(gè)區(qū)都有獨(dú)立的寄存器對(duì)所連接的存儲(chǔ)器進(jìn)行配置。

              Bank1的256M字節(jié)空間由28根地址線(HADDR[27:0])尋址。 這里HADDR,是內(nèi)部AHB地址總線

              HADDR[25:0]來自外部存儲(chǔ)器地址FSMC_A[25:0],而HADDR[26:27]對(duì)4個(gè)區(qū)進(jìn)行尋址。

              如下圖所示:

              說明:

              HADDR[27:26]是不可手動(dòng)配置的,當(dāng)選擇所在區(qū)后會(huì)自動(dòng)賦值

              注意:

              1,當(dāng)Bank1接 8位寬度存儲(chǔ)器時(shí):HADDR[25:0] -> FSMC_A[25:0]

              2,當(dāng)Bank1接16位寬度存儲(chǔ)器時(shí):HADDR[25:1] -> FSMC_A[24:0]

              由于內(nèi)部每個(gè)地址對(duì)應(yīng)一個(gè)字節(jié),外部設(shè)備16位寬,FSMC的一個(gè)地址對(duì)應(yīng)兩個(gè)字節(jié)

              即:

              0000對(duì)應(yīng)FSMC_A[0]=0 (2字節(jié))

              0010對(duì)應(yīng)FSMC_A[0]=1 (2字節(jié))

              0100對(duì)應(yīng)FSMC_A[1]=1 (2字節(jié))

              所以對(duì)應(yīng)關(guān)系需要除以2,內(nèi)部右移一位對(duì)齊

              此時(shí)最低位沒用,訪問最低位需要使用UB/LB

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

              五,存儲(chǔ)塊1(Bank1)模式A讀寫時(shí)序

              STM32的FSMC存儲(chǔ)塊1支持的異步突發(fā)訪問模式

              包括模式1,模式A~D等多種時(shí)序模型,驅(qū)動(dòng)SRAM一般使用模式1或模式A

              我們使用模式A驅(qū)動(dòng)LCD(當(dāng)做SRAM使用),模式A支持讀寫時(shí)序分開設(shè)置

              上一篇說的LCD時(shí)序,我們知道,LCD的讀寫耗時(shí)是不同的.寫快讀慢

              這里采用模式A,針對(duì)不同的速度,做不同的設(shè)置

              模式A讀時(shí)序:

              模式A寫時(shí)序:

              ILI9341時(shí)序-讀寫高低電平最小持續(xù)時(shí)間:

              根據(jù)ILI9341時(shí)序讀寫高低電平最小持續(xù)時(shí)間來配置模式A的讀寫時(shí)序

              六,FSMC相關(guān)寄存器介紹

              對(duì)于NOR FLASH/PSRAM控制器-存儲(chǔ)塊1,可通過FSMC_BCRx、FSMC_BTRx和FSMC_BWTRx寄存器設(shè)置(其中x=1~4,對(duì)應(yīng)4個(gè)區(qū))。

              通過這3個(gè)寄存器,可以設(shè)置FSMC訪問外部存儲(chǔ)器的時(shí)序參數(shù),拓寬了可選用的外部存儲(chǔ)器的速度范圍。

              1,SRAM/NOR閃存片選控制寄存器(FSMC_BCRx)

              FSMC_BCRx

              EXTMOD:

              擴(kuò)展模式使能位,控制是否允許讀寫不同的時(shí)序,需設(shè)置為1

              WREN:

              寫使能位。我們要向TFTLCD寫數(shù)據(jù),需設(shè)置為1

              MWID[1:0]:

              存儲(chǔ)器數(shù)據(jù)總線寬度。00,表示8位數(shù)據(jù)模式;01表示16位數(shù)據(jù)模式;10和11保留。

              我們的TFTLCD是16位數(shù)據(jù)線,需設(shè)置WMID[1:0]=01。

              MTYP[1:0]:

              存儲(chǔ)器類型。00表示SRAM、ROM;01表示PSRAM;10表示NOR FLASH;11保留。

              我們把LCD當(dāng)成SRAM用,需設(shè)置MTYP[1:0]=00。

              MBKEN:

              存儲(chǔ)塊使能位。需設(shè)置為1

              2,SRAM/NOR閃存片選時(shí)序寄存器(FSMC_BTRx)-讀時(shí)序控制

              FSMC_BTRx

              ACCMOD[1:0]:

              訪問模式。00:模式A;01:模式B;10:模式C;11:模式D。

              我們使用模式A,需設(shè)置為00

              DATAST[7:0]:

              數(shù)據(jù)保持時(shí)間,等于: DATAST(+1)個(gè)HCLK時(shí)鐘周期,DATAST最大為255。

              對(duì)于ILI9341相當(dāng)于RD低電平持續(xù)時(shí)間,最大355ns

              對(duì)于STM32F1,一個(gè)HCLK=13.8ns (1/72M),設(shè)置為15,相當(dāng)于16個(gè)HCLK=220.8,加上STM32F1的FSMC性能較低一些,配置為15即可

              對(duì)于STM32F4,一個(gè)HCLK=6ns(1/168M) ,設(shè)置為60(360)。

              ADDSET[3:0]:

              地址建立時(shí)間。表示:ADDSET+1個(gè)HCLK周期,ADDSET最大為15。

              對(duì)ILI9341來說,這里相當(dāng)于RD高電平持續(xù)時(shí)間,為90ns。

              STM32F1的FSMC性能較低,即便設(shè)置為0,RD也有190ns高電平,所以設(shè)置為1

              STM32F1設(shè)置為15

              注意:

              如果未設(shè)置EXTMOD位,則讀寫共用FSMC_BTRx時(shí)序寄存器

              3,SRAM/NOR閃存寫時(shí)序寄存器(FSMC_BWTRx)-寫時(shí)序控制

              FSMC_BWTRx

              ACCMOD[1:0]:

              訪問模式。00:模式A;01:模式B;10:模式C;11:模式D。

              DATAST[7:0]:

              數(shù)據(jù)保持時(shí)間,等于: DATAST(+1)個(gè)HCLK時(shí)鐘周期,DATAST最大為255。

              對(duì)ILI9341來說,其實(shí)就是WR低電平持續(xù)時(shí)間,為15ns,不過ILI9320等則需要50ns。

              考慮兼容性,對(duì)STM32F1一個(gè)HCLK=13.8ns (1/72M),設(shè)置為3(4*13.8=55.2);

              對(duì)STM32F4,一個(gè)HCLK=6ns(1/168M) ,設(shè)置為9(9*6=54)。

              ADDSET[3:0]:

              地址建立時(shí)間。表示:ADDSET+1個(gè)HCLK周期,ADDSET最大值為1111 = 15。

              對(duì)ILI9341來說,這里相當(dāng)于WR高電平持續(xù)時(shí)間,為15ns。

              考慮兼容ILI9320,STM32F1即便設(shè)置為1,WR也有100ns高電平,所以設(shè)置為1。

              而對(duì)STM32F4,則設(shè)置為8(9*6=54)

              七,寄存器組合說明

              ST官方庫寄存器定義中并沒有FSMC_BCRx、FSMC_BTRx、FSMC_BWTRx等單獨(dú)寄存器

              而是將他們進(jìn)行了一些組合。規(guī)律如下:

              FSMC_BCRx和FSMC_BTRx,組合成BTCR[8]寄存器組,他們的對(duì)應(yīng)關(guān)系如下:

              BTCR[0]對(duì)應(yīng)FSMC_BCR1,BTCR[1]對(duì)應(yīng)FSMC_BTR1

              BTCR[2]對(duì)應(yīng)FSMC_BCR2,BTCR[3]對(duì)應(yīng)FSMC_BTR2

              BTCR[4]對(duì)應(yīng)FSMC_BCR3,BTCR[5]對(duì)應(yīng)FSMC_BTR3

              BTCR[6]對(duì)應(yīng)FSMC_BCR4,BTCR[7]對(duì)應(yīng)FSMC_BTR4

              FSMC_BWTRx則組合成BWTR[7],他們的對(duì)應(yīng)關(guān)系如下:

              BWTR[0]對(duì)應(yīng)FSMC_BWTR1,

              BWTR[2]對(duì)應(yīng)FSMC_BWTR2,

              BWTR[4]對(duì)應(yīng)FSMC_BWTR3,

              BWTR[6]對(duì)應(yīng)FSMC_BWTR4,

              BWTR[1]、BWTR[3]和BWTR[5]保留



            關(guān)鍵詞: FSMC TFTLCD

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉