新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA及NiosII軟核處理器的TFT-LCD接口設(shè)計

基于FPGA及NiosII軟核處理器的TFT-LCD接口設(shè)計

作者: 時間:2014-12-15 來源:網(wǎng)絡(luò) 收藏

  4主要電路的設(shè)計

本文引用地址:http://butianyuan.cn/article/266854.htm

  4.1時序發(fā)生電路的設(shè)計

  時序發(fā)生電路是設(shè)計的主要部分。首先,是對系統(tǒng)輸入時鐘進(jìn)行頻率變換, (EP1C6)的內(nèi)部有兩個 PLL電路模塊,本文用其中的一個來生成 100MHz的時鐘。再設(shè)計一個 12位的計數(shù)器(行計數(shù)器),計數(shù) 3200脈沖,產(chǎn)生 TFT_LCD的行同步時鐘,通過此計數(shù)器的計數(shù)還可生成 TFT_LCD的顯示使能信號(DE)。此計數(shù)器的輸出還是 TFT_LCD讀顯示緩存 RAM地址的低 8位(RAM以 32位數(shù)據(jù)寬度計算)。另設(shè)計一個 9位的計數(shù)器(場計數(shù)器),用其對行同步信號計數(shù)又可生成 TFT_LCD場同步的相關(guān)信號,同時此計數(shù)器的輸出可作為 TFT_LCD讀 RAM地址的高 9位。

  由于嵌入式 CPU與 TFT_LCD是復(fù)用一片顯示緩存 RAM,所以要對顯示緩存 RAM在時間上進(jìn)行分時控制。由于 IDT71V547是 32位數(shù)據(jù)寬度的 RAM,如果將 TFT_LCD設(shè)計成256色顯示,則讀顯示緩存 RAM一次可顯示 4個像素點。所以把行計數(shù)器輸出的 25MHz時鐘作為基準(zhǔn)(TFT_LCD主時鐘)、以 25MHz的 4個周期(T0、T1、T2、T3,T0=T1=T2=T3=40納秒)為基本循環(huán),在 25MHz的第一個周期( T0)由 LCD占用產(chǎn)生“ LCD_讀選通”信號, (LCD_讀選通= (/12.5MHz)&(/6.25MHz) )。T1-T3由 CPU占用,在 T1-T3周期內(nèi)產(chǎn)生相應(yīng)的選通信號, (T1=(12.5MHz)&(/6.25MHz)、 T2=(/12.5MHz)&(6.25MHz)、T3=(12.5MHz)&(6.25MHz)),由于 CPU什么時間對顯示緩存 RAM讀寫是不確定的,所以要根據(jù) CPU的讀寫信號來確定 T1-T3哪個為“CPU_RAM_選通”信號(如果在 T0內(nèi)來 CPU_RW則 CPU_RAM_選通=T2、T1來 CPU_RW則為 T3、T2來 CPU_RW則為 T3、T3來 CPU_RW則為 T1)。此邏輯的實現(xiàn)方式是,在 CPU_RW信號產(chǎn)生時鎖存住當(dāng)時的 T0-T3的狀態(tài)由此來控制“CPU_RAM_選通”產(chǎn)生的位置。在具體時序見圖 2所示。

  

 

  4.2地址切換和數(shù)據(jù)分離電路的設(shè)計

  圖 3是地址切換電路中的一位,以這一位為示例 ,可推出 17位地址全部電路。在圖 3中 RAM_ADD=((LCD_ADD&LCD_選通)+(CPU_ADD&CPU_RAM_選通))且 “LCD_讀選通”信號與“ CPU_RAM_選通”信號在任何時刻最多只能有一個是有效的,所以當(dāng)“ LCD_讀選通”信號與“ CPU_RAM_選通”生效時可將 RAM_ADD切換到相應(yīng)的地址線上。如當(dāng)某時刻“ LCD_讀選通”信號與“ CPU_RAM_選通”全無效則 RAM_ADD輸出應(yīng)全為“ 0”。

  

 

  圖4是數(shù)據(jù)分離電路中的一位,同樣 ,以圖 4這一位可推出 32位數(shù)據(jù)線。

  

 

  在圖 4中,RAM_R_W= (CPU_RAM_選通)&(CPU_WD),當(dāng) RAM_R_W有效時, CPU_寫 DATA可通過三態(tài)門輸出到 RAM_DATA上。當(dāng) CPU讀 RAM時,RAM的數(shù)據(jù)由門電路輸出到鎖存器的輸入端,在數(shù)據(jù)穩(wěn)定后由“ CPU_R_鎖存”信號將數(shù)據(jù)鎖存在鎖存器上等待 CPU將數(shù)據(jù)讀走(CPU_R_鎖存=(( / CPU_RD)& CPU_RAM_選通&25MHz&(/50MHz)))。

  同樣的在 T0周期內(nèi)將 RAM的相應(yīng)數(shù)據(jù)由“ LCD_鎖存”信號將 32位的數(shù)據(jù)鎖存在鎖存器上。在相應(yīng)的 T0-T3周期由 T0-T3選擇相應(yīng)的 8位數(shù)據(jù)輸出到調(diào)色電路上,在相應(yīng)時刻由 “LCD_調(diào)色輸出鎖存”信號將此像素點數(shù)據(jù)鎖存,由 TFT_LCD讀取此點的三基色數(shù)據(jù)并顯示。

  4.3調(diào)色電路

  調(diào)色電路實際為利用 內(nèi)部的片內(nèi) RAM,由 Quartus 軟件生成的 24位 256字節(jié)的 RAM或 ROM,RAM或 ROM的地址線接 LCD數(shù)據(jù)鎖存器的輸出端后的數(shù)據(jù)選擇電路,數(shù)據(jù)選擇電路是將 32位的數(shù)據(jù),按 T0-T3所決定的時間,選擇相應(yīng)的 8位數(shù)據(jù)。當(dāng) T0時選 D[24]-D[31]、當(dāng) T1時選 D[0]-D[7]、當(dāng) T2時選 D[8]-D[15]、當(dāng) T3時選 D[15]-D[23]。之所以將數(shù)據(jù)選擇設(shè)計成 T0時選 D[24]-D[31],是因為 TFT_LCD讀顯示緩存 RAM時,是在 T0周期的末端才能將新數(shù)據(jù)鎖存到“ LCD-讀 DATA”端,新的數(shù)據(jù)只有在 T1周期才能開始顯示。調(diào)色電路的輸出是 3*8=24bit的本文所用的 TFT_LCD是 3*6bit的所以只用相應(yīng) 8bit的低 6bit。如果將調(diào)色電路設(shè)計選擇 RAM型時,可以由 CPU改寫調(diào)色電路 RAM,使色彩顯示更加豐富。

  4.4顯示緩存設(shè)計

  顯示緩存 RAM的選擇由 LCD顯示彩色多少決定的,如果顯示 16色可以選擇每像素點占 4bit,這樣每讀一次 RAM可顯示 8個像素點。以此類推來選擇顯示緩存 RAM的大小和相應(yīng)修改時序發(fā)生電路的周期。對 CPU的顯示緩存 RAM口的設(shè)置時,一定要注意顯示緩存 RAM的 CPU讀寫周期與時序發(fā)生電路的周期相一致,否則會發(fā)生讀寫錯誤。本例設(shè)置的是 160納秒( T0+T1+T2+T3=160ns)[3,4]。

  5 結(jié)束語

  本文介紹了一種基于 軟核處理器與 接口的主要部分的設(shè)計要點,該設(shè)計內(nèi)容已經(jīng)在實際電路上得到驗證,并在一些儀器的顯示系統(tǒng)上得到應(yīng)用。

LCD顯示屏相關(guān)文章:lcd顯示屏原理


fpga相關(guān)文章:fpga是什么


led顯示器相關(guān)文章:led顯示器原理


lcd相關(guān)文章:lcd原理
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理

上一頁 1 2 下一頁

關(guān)鍵詞: FPGA NiosII TFT-LCD

評論


相關(guān)推薦

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

關(guān)閉