當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在完成IO驅(qū)動(dòng)彩屏的試驗(yàn)后,就準(zhǔn)備著手使用FSMC來(lái)驅(qū)動(dòng)彩屏,先了解一下預(yù)備知識(shí)一、所謂的FSMC機(jī)制簡(jiǎn)單介紹FSMC在這篇博文里面很清楚,推薦一下http://blog.csdn.net/king_bingge/article/details/8718566然后還有就

在完成IO驅(qū)動(dòng)彩屏的試驗(yàn)后,就準(zhǔn)備著手使用FSMC來(lái)驅(qū)動(dòng)彩屏,先了解一下預(yù)備知識(shí)

一、所謂的FSMC機(jī)制

簡(jiǎn)單介紹FSMC在這篇博文里面很清楚,推薦一下http://blog.csdn.net/king_bingge/article/details/8718566

然后還有就是這篇學(xué)習(xí)筆記,也還行http://www.cnblogs.com/hduxyc/archive/2011/05/17/2048099.html

個(gè)人覺(jué)得有了這兩篇博文再加上我們的參考手冊(cè)足夠搞定FSMC驅(qū)動(dòng)彩屏了

二、FSMC之我見(jiàn)

開(kāi)始只是談到別人對(duì)FSMC的理解,注意這里只討論FSMC控制TFT,也就是在FSMC的NORPSRAM模式控制LCD,所以我們以下的分析都是基于這種模式的。

1、我們之前通過(guò)使用GPIO來(lái)模擬8080/6800時(shí)序從而達(dá)到驅(qū)動(dòng)彩屏的,同樣需要明白的一點(diǎn)就是我們也只是使用FSMC來(lái)模擬8080/6800時(shí)序,只不過(guò)這個(gè)讀寫(xiě)速度有些快(使用了總線(xiàn)嘛),僅此而已!如果不明白8080/6800時(shí)序是怎樣的或許在這個(gè)文庫(kù)里面能找到你想要的http://wenku.baidu.com/view/a8c98600cc1755270722083e.html

簡(jiǎn)單一點(diǎn)就是:8080是通過(guò)“讀使能(RE)”和“寫(xiě)使能(WE)”兩條控制線(xiàn)進(jìn)行讀寫(xiě)操作。 6800是通過(guò)“總使能(E)”和“讀寫(xiě)選擇(W/R)”兩條控制線(xiàn)進(jìn)行

2、那么了解到FSMC的三總線(xiàn)如下!

數(shù)據(jù)線(xiàn):這個(gè)可以分為8位的和16位,這個(gè)不難理解,就是之指一次穿上紅8位還是16位數(shù)據(jù),我的是16位的,8位的有一個(gè)懶得用。

地址線(xiàn):既然我們?cè)L問(wèn)的外NOR FLASH,那么一定會(huì)有相應(yīng)的地址線(xiàn),那么這些地址線(xiàn)在哪里呢?肯定是通過(guò)GPIO引腳復(fù)用的。有A0 -- A23 24根,能夠控制訪(fǎng)問(wèn)16M的空間,也就是一個(gè)子bank;

控制總線(xiàn):它的控制總線(xiàn)只有三根:讀使能信號(hào),寫(xiě)使能信號(hào),片選信號(hào)。所以這里和我們8080時(shí)序相比,少了復(fù)位信號(hào)線(xiàn)和數(shù)據(jù)/命令控制線(xiàn),怎么辦?繼續(xù)看!

3、了解了FSMC會(huì)有這三總線(xiàn)的概念,那么接下來(lái)就是如何轉(zhuǎn)化為我們需要的時(shí)序了。

對(duì)比一下FSMC訪(fǎng)問(wèn)外nor flash和8080訪(fǎng)問(wèn)時(shí)序如下



差別似乎很小是吧,簡(jiǎn)單說(shuō)就是在數(shù)據(jù)/指令選擇和復(fù)位信號(hào)上的區(qū)別。

4、在這里我們使用的軟件方法來(lái)完善FSMC轉(zhuǎn)化為8080的讀寫(xiě)時(shí)序

在參考手冊(cè)上的存儲(chǔ)系統(tǒng)能找到,芯片留給我們外擴(kuò)的存儲(chǔ)器(NOR FLASH、PSRAM這類(lèi)可直接尋址的器
件)地址是從0x60000000開(kāi)始的,意思就是當(dāng)我們?cè)L問(wèn)0x60000000的時(shí)候,那就是相當(dāng)于訪(fǎng)問(wèn)外部nor flash了(我們只討論這種情況),那么他就會(huì)自動(dòng)產(chǎn)生FSMC的時(shí)序

在這里,我們所需要添加的就是D/C選擇信號(hào),如何實(shí)現(xiàn)呢?我們是通過(guò),一根地址線(xiàn)來(lái)實(shí)現(xiàn)的,當(dāng)我們把A0多對(duì)應(yīng)的GPIOF0(引腳默認(rèn)復(fù)用)接到TFT的RS端,

然后執(zhí)行訪(fǎng)問(wèn)0x60000000的指令,那么RS是否就是低電平選擇為數(shù)據(jù)呢?又加入我們?cè)L問(wèn)的地址是0x60000001的時(shí)候,那么RS是否就是高電平,從而選擇的就是指令傳送呢?答案當(dāng)然是肯定的!所以我們就解決了這個(gè)問(wèn)題,復(fù)位信號(hào)就更好解決了,直接和開(kāi)發(fā)板的復(fù)位引腳接在一起就好了,就這么簡(jiǎn)單!

三、說(shuō)了這么久的理論,來(lái)個(gè)實(shí)例分析更加形象了,首先硬件連線(xiàn)要明白

在原理圖或者開(kāi)發(fā)手冊(cè)上面能夠確定引腳復(fù)用問(wèn)題

地址引腳:

(A0-A5 :PF0 - PF5) (A6-A9: F12-F15 ) (A10-A15:PG0-PG5)

(A16-A18:PD11-PD13) (A19-A22:PE3-PE6) (A23-PE2)

片選信號(hào)(NEx:PG12)因?yàn)槲疫x擇的是block4

寫(xiě)使能(NWR:PD5)

讀使能(NOE:PD4)

至此控制引腳基本完成

下面就是數(shù)據(jù)引腳:

PD14-FSMC-D0 ----LCD-DB0
PD15-FSMC-D1 ----LCD-DB1
PD0-FSMC-D2 ----LCD-DB2
PD1-FSMC-D3 ----LCD-DB3
PE7-FSMC-D4 ----LCD-DB4
PE8-FSMC-D5 ----LCD-DB5
PE9-FSMC-D6 ----LCD-DB6
PE10-FSMC-D7 ----LCD-DB7
PE11-FSMC-D8 ----LCD-DB8
PE12-FSMC-D9 ----LCD-DB9
PE13-FSMC-D10 ----LCD-DB10
PE14-FSMC-D11 ----LCD-DB11
PE15-FSMC-D12 ----LCD-DB12
PD8-FSMC-D13 ----LCD-DB13
PD9-FSMC-D14 ----LCD-DB14
PD10-FSMC-D15 ----LCD-DB15

有了這些硬件連線(xiàn)是沒(méi)有任何問(wèn)題的

四、正式分析程序

1、硬件引腳配置函數(shù)


voidLCD_CtrlLinesConfig(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

/*EnableFSMC,GPIOD,GPIOE,GPIOF,GPIOGandAFIOclocks*/

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);//使能FSMC

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|

RCC_APB2Periph_GPIOF|RCC_APB2Periph_GPIOG|

RCC_APB2Periph_AFIO,ENABLE);

//IO口復(fù)用功能時(shí)鐘

/*SetPD.00(D2),PD.01(D3),PD.04(NOE),PD.05(NWE),PD.08(D13),PD.09(D14),

PD.10(D15),PD.14(D0),PD.15(D1)asalternate

functionpushpull*/

/*D端口初始化*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|

GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_14|

GPIO_Pin_15;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_Init(GPIOD,&GPIO_InitStructure);

/*E端口初始化*/

/*SetPE.07(D4),PE.08(D5),PE.09(D6),PE.10(D7),PE.11(D8),PE.12(D9),PE.13(D10),

PE.14(D11),PE.15(D12)asalternatefunctionpushpull*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|

GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|

GPIO_Pin_15;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_Init(GPIOE,&GPIO_InitStructure);//將配置寫(xiě)入GPIOE管腳

/*A0地址線(xiàn)*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_Init(GPIOF,&GPIO_InitStructure);

/*SetPG.12(NE4(LCD/CS))asalternatefunctionpushpull-CE3(LCD/CS)*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_Init(GPIOG,&GPIO_InitStructure);

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉