基于FPGA及嵌入式CPU(Nios Ⅱ)的TFT-LCD接口設計

發(fā)布時(shí)間:2010-4-12 16:52    發(fā)布者:我芯依舊
關(guān)鍵詞: CPU , FPGA , NIOS , 接口 , 嵌入式
1 引言

隨著(zhù)電子技術(shù)的飛速發(fā)展,TFT-LCD作為在亮度、對比度、功耗、壽命、體積和重量等綜合性能上全面趕上和超過(guò) CRT的顯示器件,被廣泛用于各種儀器儀表、電子設備及控制領(lǐng)域中。與之相關(guān)的顯示控制技術(shù)也呈現出越來(lái)越多的方式。本文以 640*480的數字輸入的 TFT-LCD顯示屏為例,介紹了一種基于 NiosⅡ軟核處理器實(shí)現對 TFT-LCD接口的方法。解決了通常情況下必須使用LCD 控制專(zhuān)用芯片才能解決 LCD顯示的問(wèn)題。

2 系統組成

系統框如圖1所示。系統是由 FPGA、顯示緩存 RAM、程序執行 RAM及 TFT-LCD組成。 FPGA(用虛線(xiàn)圍成)選用的是 ALTER的 EP1C6,RAM采用的是 IDT的 IDT71V547,LCD為 640*480的彩色 TFT-LCD屏。在 FPGA內部是由時(shí)序發(fā)生、 地址切換、數據分離、調色電路嵌入式 CPU(NIOS內核)五部分組成。


圖1 系統組成

3 各器件的功能

3.1顯示緩存RAM

采用 IDT公司的 IDT71V547 128K X 36bit的 SRAM芯片,工作電壓為 3.3V [1]。該芯片作為顯示緩存,TFT-LCD讀取顯示緩存 RAM中的數據并將其在 TFT-LCD上顯示。嵌入式 CPU(NIOSⅡ)對顯示緩存 RAM的改寫(xiě)就相當于對 TFT-LCD顯示內容的改寫(xiě)。

3.2 FPGA

本文 FPGA選用的是 ALTERA公司的 Cyclone 系列中 EP1C6Q240。

3.2.1 時(shí)序發(fā)生電路

首先由外部輸入一相當的頻率時(shí)鐘,通過(guò) FPGA內部的鎖相環(huán)電路(PLL)生成 100MHz的時(shí)鐘信號。系統對 100MHz時(shí)鐘計數生成 50MHz的時(shí)鐘給嵌入式 CPU(NIOSⅡ)作為嵌入式 CPU的工作主頻,同時(shí)生成 TFT-LCD所須的場(chǎng)同步時(shí)鐘、行同步時(shí)鐘、顯示使能時(shí)鐘和 25MHz的 TFT-LCD主時(shí)鐘;生成地址切換控制信號、數據分離控制信號,由嵌入式 CPU輸出的讀寫(xiě)信號產(chǎn)生顯示緩存 RAM的讀寫(xiě)信號。

3.2.2 調色電路

由于文中是以 256色的電路為例,所以,調色電路是將 8位數據譯碼成 3*6位的三基色數據,調色電路也可以是 ROM型或 RAM型。如果作成 RAM型,可以依據嵌入式 CPU需要顯示的圖象相應修改調色電路,可顯示更豐富的色彩。

3.2.3 地址切換、數據分離

此部分電路的作用是:在嵌入式 CPU操作顯示緩存 RAM時(shí)將地址、數據線(xiàn)切換到嵌入式 CPU,在 TFT-LCD讀顯示緩存 RAM時(shí)將地址、數據線(xiàn)切換到 TFT-LCD。

3.3 TFT-LCD

SHARP公司生產(chǎn)的 6.4英寸液晶顯示屏LQ064V3DG01是較為常用的 TFT-LCD液晶顯示屏,它的分辨率為 640×480×RGB[2],具有功耗低、體積小、重量輕、超薄等特點(diǎn),同時(shí)該顯示屏是一片真彩顯示屏,并屬于透光型的 TFT、其亮度高、視角寬、背光燈的壽命也很長(cháng),并且采用的是 AG涂層和 260K的彩色顯示?蓮V泛應用于各種儀器儀表及各種視頻顯示的場(chǎng)合。

4 主要電路的設計

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

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

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


圖2 顯示緩存RAM讀寫(xiě)時(shí)序

4.2地址切換和數據分離電路的設計

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


圖3 地址切換電路中的一位

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

在圖4中,RAM_R_W= (CPU_RAM_選通)&(CPU_WD),當 RAM_R_W有效時(shí), CPU_寫(xiě) DATA可通過(guò)三態(tài)門(mén)輸出到 RAM_DATA上。當 CPU讀 RAM時(shí),RAM的數據由門(mén)電路輸出到鎖存器的輸入端,在數據穩定后由“ CPU_R_鎖存”信號將數據鎖存在鎖存器上等待 CPU將數據讀走(CPU_R_鎖存=(( / CPU_RD)& CPU_RAM_選通&25MHz&(/50MHz)))。同樣的在 T0周期內將 RAM的相應數據由“ LCD_鎖存”信號將 32位的數據鎖存在鎖存器上。在相應的 T0-T3周期由 T0-T3選擇相應的 8位數據輸出到調色電路上,在相應時(shí)刻由 “LCD_調色輸出鎖存”信號將此像素點(diǎn)數據鎖存,由 TFT-LCD讀取此點(diǎn)的三基色數據并顯示。


圖4 數據分離電路中的一位

4.3調色電路

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

4.4 顯示緩存設計

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

5 結束語(yǔ)

本文介紹了一種基于 FPGA及 NiosⅡ軟核處理器與 TFT-LCD接口的主要部分的設計要點(diǎn),該設計內容已經(jīng)在實(shí)際電路上得到驗證,并在一些儀器的顯示系統上得到應用。

本文作者創(chuàng )新點(diǎn):基于FPGA及NiosII軟核處理器與TFT-LCD接口的方法簡(jiǎn)單可行。它直接采用CPU對存貯器的讀寫(xiě),實(shí)現了對TFF-LCD屏的實(shí)時(shí)操作。


作者:劉源      來(lái)源:《微計算機信息》(嵌入式與SOC)2009年第4-2期
本文地址:http://selenalain.com/thread-10346-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页