在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32CubeMx之FSMC靈活靜態(tài)存儲(chǔ)器控制器

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2022-05-30 09:25 ? 次閱讀

1.簡介

?FSMC模塊能夠與同步或異步存儲(chǔ)器和16位PC存儲(chǔ)器卡接口,它的主要作用是:
● 將AHB傳輸信號轉(zhuǎn)換到適當(dāng)?shù)耐獠吭O(shè)備協(xié)議
● 滿足訪問外部設(shè)備的時(shí)序要求
所有的外部存儲(chǔ)器共享控制器輸出的地址、數(shù)據(jù)和控制信號,每個(gè)外部設(shè)備可以通過一個(gè)唯一的片選信號加以區(qū)分。 FSMC在任一時(shí)刻只訪問一個(gè)外部設(shè)備。
FSMC具有下列主要功能:
● 具有靜態(tài)存儲(chǔ)器接口的器件包括:
? ─ 靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)
? ─ 只讀存儲(chǔ)器(ROM)
? ─ NOR閃存
? ─ PSRAM(4個(gè)存儲(chǔ)器塊)

● 兩個(gè)NAND閃存塊,支持硬件ECC并可檢測多達(dá)8K字節(jié)數(shù)據(jù)
● 16位的PC卡兼容設(shè)備
● 支持對同步器件的成組(Burst)訪問模式,如NOR閃存和PSRAM
● 8或16位數(shù)據(jù)總線
FSMC管理1GB空間,擁有4個(gè)Bank連接外部存儲(chǔ)器,每個(gè)Bank有獨(dú)立的片選信號,每個(gè)Bank有獨(dú)立的時(shí)序配置,同步批量傳輸訪問最高頻率可達(dá)60MHz
支持的存儲(chǔ)器類型:
靜態(tài)地址映射存儲(chǔ)器:SRAM、PSRAM、NOR/ONENAND、ROM
LCD接口:支持8080和6800模式
NANDFlash和16位PCCard

2.外掛設(shè)備地址映射

pYYBAGKTf62AOVN-AAHcF6hKG8I493.pngpoYBAGKTf_GAYyz6AAIGy-UqnYI637.png

NOR/PSRAM是”static memory map”設(shè)備: 256M字節(jié)的空間需要28根地址線尋址,HADDR表示內(nèi)部AHB地址線;
HADDR[27:26]用來對4個(gè)region尋址;
HADDR[25:0]用來對外部地址FSMC[25:0];
無論8位/16位寬度,F(xiàn)SMC_A[0]始終連接外部設(shè)備地址A[0]
當(dāng)外接設(shè)備16位數(shù)據(jù)寬度:HADDR[25:1]–>FSMC_A[24:0]
當(dāng)外接設(shè)備8位數(shù)據(jù)寬度:HADDR[25:0]–>FSMC_A[25:0]

poYBAGKTg3uAPTfhAAD5NzLmbcs205.png#pic_center

3.LCD硬件接口

poYBAGKTgCyAAmI6AAQCN-Trsxo095.png

LCD屏
?分辨率:320*480;3.5寸;
?驅(qū)動(dòng)方式:8080并口時(shí)序(Intel公司),16位真彩色(RGB565);
?屏幕驅(qū)動(dòng)IC:NT35310;

pYYBAGKTgIKAP2jrAABzs-rp6cI825.png

4.軟件設(shè)置

?1.芯片選擇

poYBAGKTgJ2AfplTAAGGsV4_t44569.png

2. 時(shí)鐘配置

在這里插入圖片描述pYYBAGKTgLqAYpIrAADd010he_s984.png

3.FSMC配置
?根據(jù)LCD硬件接口可知LCD接在FSMC_Blank1的region4上。

pYYBAGKTgQWAFIeQAAM0gaFeqUo471.pngpYYBAGKTgROAcWfuAADPhfES4Ww313.png

5 代碼生成

?1.FSMC配置代碼

pYYBAGKTgVWAEUIDAAWpru7EKik372.png

FSMC寄存器配置可參考STM32中文參考手冊第19章靈活靜態(tài)存儲(chǔ)器控制器(FSMC)。

poYBAGKTgZWAbJZRAAGrJsRyJGg405.pngpYYBAGKTgaaAKZk7AAGk_ZxIbT8135.png

2.LCD顯示圖片和顯示漢字示例
(1) 讀寫數(shù)據(jù)

根據(jù)LCD硬件接口時(shí)序8080,要想實(shí)現(xiàn)對LCD屏數(shù)據(jù)顯示則需要完成LCD寫數(shù)據(jù)和寫寄存器,LCD接在FSMC_Blank1的region4上,通過地址線FSMC_A10作為數(shù)據(jù)命令選擇線,通過FSMC地址映射關(guān)系可知:
讀寫寄存器地址:0x6c000000
讀寫數(shù)據(jù)地址:0x6c000800
寫寄存器和寫數(shù)據(jù)代碼如下:

typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
#define LCD_WR_REG *((volatile u16 *)0x6c000000)
#define LCD_WR_DAT *((volatile u16 *)0x6c000800)	
/*LCD寫寄存器*/
static void LcdWriteReg(u16 reg)
{
	LCD_WR_REG=reg;
}
/*LCD寫數(shù)據(jù)*/
static void LcdWriteData(u16 dat)
{
	LCD_WR_DAT=dat;
}

(2)設(shè)置光標(biāo)指令0X2A 和0X2B
該指令是頁地址設(shè)置指令,在從左到右,從上到下的掃描方式(默認(rèn))下面,該指令用于設(shè)置縱坐標(biāo)( x 坐標(biāo))

poYBAGKTg3-AFLshAAEUMUjmm3Q823.png#pic_center

在默認(rèn)掃描方式時(shí),該指令用于設(shè)置 x 坐標(biāo),該指令帶有 4 個(gè)參數(shù),實(shí)際上是 2 個(gè)坐標(biāo)值: SC 和 EC,即列地址的起始值和結(jié)束值, SC 必須小于等于 EC,且 0≤SC/EC≤239。一般在設(shè)置 x 坐標(biāo)的時(shí)候,我們只需要帶 2個(gè)參數(shù)即可,也就是設(shè)置 SC 即可,因?yàn)槿绻?EC 沒有變化,我們只需要設(shè)置一次即可,從而提高速度。

0X2B 指令,該指令是頁地址設(shè)置指令,在從左到右,從上到下的掃描方式(默認(rèn))下面,該指令用于設(shè)置縱坐標(biāo)( y 坐標(biāo))。

pYYBAGKTg4CAbijiAAEAMnPAyGo118.png#pic_center
/*設(shè)置光標(biāo)*/
static void LCD_SetCursor(u16 x,u16 y)
{
	LcdWriteReg(0x2A);//設(shè)置x坐標(biāo)
	LcdWriteData(x>>8);
	LcdWriteData(x&0xff);
	LcdWriteReg(0x2B);//設(shè)置y坐標(biāo)
	LcdWriteData(y>>8);
	LcdWriteData(y&0xff);	
}

(3)寫入數(shù)據(jù)到GRAM指令0x2C
??該指令是寫 GRAM 指令,在發(fā)送該指令之后,我們便可以往 LCD 的 GRAM 里面寫入顏色數(shù)據(jù)了,該指令支持連續(xù)寫 (地址自動(dòng)遞增)。

在這里插入圖片描述
/*清屏函數(shù)*/
void LCD_Clear(u16 c)
{
	u32 i=0;
	LCD_SetCursor(0,0);//設(shè)置光標(biāo)
	LcdWriteReg(0x2c);//開始寫數(shù)據(jù)到GRAM
	for(i=0;i<320*480;i++)
	{
		LcdWriteData(c);
	}
}

(4)顯示圖片
??通過圖片取模工具Img2Lcd進(jìn)行圖片取模:

pYYBAGKTgmaAVCkfAA6BaLQRpTU001.png

?將生成的圖片數(shù)據(jù)放到工程中:

pYYBAGKTgn6ARXRDAAGzVgrNpdA198.png
/*lcd圖片顯示*/
void LCD_DrawBMP(u16 x,u16 y,u16 w,u16 h,const u8 *buff)
{
	u16 i,j;
	u16 temp;
	LcdWriteReg(0x2A);//設(shè)置x坐標(biāo)
	//設(shè)置x的起始坐標(biāo)
	LcdWriteData(x>>8);
	LcdWriteData(x&0xff);
	//設(shè)置x的結(jié)束坐標(biāo)
	LcdWriteData((x+w)>>8);
	LcdWriteData((x+w)&0xff);
	LcdWriteReg(0x2B);//設(shè)置y坐標(biāo)
	//設(shè)置y的起始坐標(biāo)
	LcdWriteData(y>>8);
	LcdWriteData(y&0xff);		
	//設(shè)置y的結(jié)束坐標(biāo)
	LcdWriteData((y+h)>>8);
	LcdWriteData((y+h)&0xff);		
	LcdWriteReg(0x2c);//開始寫數(shù)據(jù)到GRAM
	for(i=0;i>8);
	LcdWriteData(0);
	//設(shè)置x的結(jié)束坐標(biāo)
	LcdWriteData(320>>8);
	LcdWriteData(320&0xff);
	LcdWriteReg(0x2B);//設(shè)置y坐標(biāo)
	//設(shè)置y的起始坐標(biāo)
	LcdWriteData(0>>8);
	LcdWriteData(0);		
	//設(shè)置y的結(jié)束坐標(biāo)
	LcdWriteData(480>>8);
	LcdWriteData(480&0xff);			
}
;i++)>

(5)漢字顯示

pYYBAGKTgvmAc3SNAARpDWfFFAc215.png

??通過PCtoLCD2002進(jìn)行漢字取模,取模方式:高位在前,逐行式。

/*
漢字取模方式:逐列式,高位在前,高度需保證為8個(gè)倍數(shù)
*/
void LCD_Display_Font(u16 x,u16 y,u8 size,u8 *font,u16 c)
{	
	u16 i,j;
	u8 temp;
	u16 x0=x;
	for(i=0;i*size>

6 示例效果

poYBAGKTgyOAF_sRAAKWKfmZF2Q710.pngpYYBAGKTgzmAGlBdAAkpTGHcwrI665.png

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

    關(guān)注

    34

    文章

    4503

    瀏覽量

    170690
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7636

    瀏覽量

    166407
  • STM32
    +關(guān)注

    關(guān)注

    2289

    文章

    11012

    瀏覽量

    362367
  • FSMC
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    38530
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    FSMC,即靈活靜態(tài)存儲(chǔ)控制器,能夠與同步或異步存儲(chǔ)器和 16 位 PC
    的頭像 發(fā)表于 04-19 12:36 ?1.8w次閱讀
    <b class='flag-5'>STM32</b>接口中<b class='flag-5'>FSMC</b>/FMC難點(diǎn)問題理解

    STM32FSMC外設(shè)簡介

    Flexible static memory controller(FSMC)靈活靜態(tài)存儲(chǔ)控制器FS
    的頭像 發(fā)表于 07-11 16:07 ?2238次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>FSMC</b>外設(shè)簡介

    淺析STM32 FSMC操作LCD的過程

    FSMC稱為靈活靜態(tài)存儲(chǔ)器,它能夠與同步或異步存儲(chǔ)器和16位PC存儲(chǔ)器卡連接,
    發(fā)表于 07-22 14:46 ?4815次閱讀
    淺析<b class='flag-5'>STM32</b> <b class='flag-5'>FSMC</b>操作LCD的過程

    存儲(chǔ)控制器FSMC與觸摸屏介紹

    FSMC(Flexible Static Memory Controller,靈活靜態(tài)存儲(chǔ)控制器)是S
    發(fā)表于 07-27 17:23 ?5186次閱讀
    <b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>控制器</b><b class='flag-5'>FSMC</b>與觸摸屏介紹

    STM32FSMC詳解

    FSMC詳解1、FSMC簡介:FSMC,即靈活靜態(tài)存儲(chǔ)控制
    發(fā)表于 12-06 06:25

    【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動(dòng)精選文章

    網(wǎng)絡(luò)協(xié)議棧移植步驟與方案STM32CubeMX定時(shí)PWM輸出STM32CubeMxSD卡驅(qū)動(dòng)STM
    發(fā)表于 07-27 18:26

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

    FSMC特性簡介和FSMC框圖外掛存儲(chǔ)器地址映射 AHB接口 NOR/PSRAM控制器 接口信號 支持的存儲(chǔ)器和訪問方式異步傳輸 同步突發(fā)傳
    發(fā)表于 09-13 06:54

    STM32FSMC機(jī)制FlaSh存儲(chǔ)器擴(kuò)展

    STM32FSMC機(jī)制FlaSh存儲(chǔ)器擴(kuò)展  引 言   STM32是ST(意法半導(dǎo)體)公司推出的基于ARM內(nèi)核Cortex-M3的32位微控制器系列。Cortex-M3內(nèi)核是為
    發(fā)表于 11-27 10:07 ?1585次閱讀
    <b class='flag-5'>STM32FSMC</b>機(jī)制FlaSh<b class='flag-5'>存儲(chǔ)器</b>擴(kuò)展

    F2產(chǎn)品技術(shù)培訓(xùn)_13.外部靜態(tài)存儲(chǔ)器控制器FSMC

    F2產(chǎn)品技術(shù)培訓(xùn)_13.外部靜態(tài)存儲(chǔ)器控制器FSMC
    發(fā)表于 03-15 14:41 ?11次下載

    STM32系列微控制器新型存儲(chǔ)器擴(kuò)展技術(shù)--FSMC有什么優(yōu)點(diǎn)?

    Flash控制器管理第1個(gè)BANK,NAND/PC Card控制器管理第2~4個(gè)BANK。由于兩個(gè)控制器管理的存儲(chǔ)器類型不同,擴(kuò)展時(shí)應(yīng)根據(jù)選用的
    發(fā)表于 07-19 07:20 ?3181次閱讀
    <b class='flag-5'>STM32</b>系列微<b class='flag-5'>控制器</b>新型<b class='flag-5'>存儲(chǔ)器</b>擴(kuò)展技術(shù)--<b class='flag-5'>FSMC</b>有什么優(yōu)點(diǎn)?

    基于FPGA和STM32FSMC通信

    FSMC簡介:FSMC靈活靜態(tài)存儲(chǔ)控制器FSMC
    發(fā)表于 07-28 09:35 ?1.2w次閱讀

    STM32F10xxx FSMC外圍設(shè)備驅(qū)動(dòng)外部存儲(chǔ)器的數(shù)據(jù)和使用手冊免費(fèi)下載

    本申請說明描述了如何使用高密度STM32F10xxx FSMC(柔性靜態(tài)存儲(chǔ)器控制器)外圍設(shè)備來驅(qū)動(dòng)一組外部
    發(fā)表于 12-27 16:03 ?29次下載
    <b class='flag-5'>STM32</b>F10xxx <b class='flag-5'>FSMC</b>外圍設(shè)備驅(qū)動(dòng)外部<b class='flag-5'>存儲(chǔ)器</b>的數(shù)據(jù)和使用手冊免費(fèi)下載

    嵌入式單片機(jī)基礎(chǔ)篇(二十)FSMC

    FSMC詳解1、FSMC簡介:FSMC,即靈活靜態(tài)存儲(chǔ)控制
    發(fā)表于 11-23 18:21 ?17次下載
    嵌入式單片機(jī)基礎(chǔ)篇(二十)<b class='flag-5'>之</b><b class='flag-5'>FSMC</b>

    STM32學(xué)習(xí)STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)

    STM32學(xué)習(xí)STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)
    發(fā)表于 12-07 11:51 ?28次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)<b class='flag-5'>之</b><b class='flag-5'>STM32cubeMX</b>軟件安裝與使用(附<b class='flag-5'>STM32cubeMX</b>5.2.1下載地址)

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

    為什么可以利用FSMC來使用外部RAM呢,首先了解一下STM32里的FSMC。大容量且引腳數(shù)在100腳以上的STM32F103芯片都帶有FSMC
    發(fā)表于 04-28 16:22 ?2136次閱讀
    主站蜘蛛池模板: 日本久操视频 | 5566在线观看 | 好爽好深太大了再快一点 | 天天视频一区二区三区 | 日本黄色小视频在线观看 | 国产精品视频一区二区三区 | 秋霞特色大片18入口私人高清 | 成 人 免费 黄 色 视频 | 天天摸天天干 | 久久成人国产 | 色色视频网 | 国产一区二区三区 韩国女主播 | 永久在线观看 | 日剧天堂 | 免费看黄色一级毛片 | 三级毛片在线看 | 人人艹人人插 | 日本欧美一区二区三区视频 | 精品综合久久88色鬼首页 | 手机在线看片你懂得 | 免费在线观看a | 欧美一区二区三区影院 | 国产精品四虎在线观看免费 | 黄色男人的天堂 | 亚洲一区二区三区在线播放 | 国产精品久线观看视频 | 97人人模人人揉人人捏 | 亚洲欧洲一区 | 思思久久好好热精品国产 | 人人干天天干 | 天堂网www天堂在线网 | 日本免费黄网站 | 啪啪啦资源站永久 | 色综合天天综合网看在线影院 | 伊人电影综合网 | 狠狠躁夜夜躁人人爽天天天天 | 一级免费片 | 四虎永久网址影院 | 成人久久网站 | 男女交性永久免费视频播放 | 久久天天躁狠狠躁夜夜躁综合 |