<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA及嵌入式CPU(NiosⅡ)的TFT-LCD接口設計

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

          作者: 時間:2012-02-07 來源:網絡 收藏

          摘要:本文介紹了一種 II軟核處理器與 的方法。它直接采用 對存貯器的讀寫,實現了對 屏的實時操作。它具有直接、有效和速度快等特點。該使 的控制極其簡單化。

          本文引用地址:http://www.ex-cimer.com/article/149778.htm

          1 引言

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

          2 系統(tǒng)組成

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

          3各器件的功能

          3.1顯示緩存 RAM

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

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

          3.2.1 時序發(fā)生電路

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

          3.2.2調色電路

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

          3.2.3地址切換、數據分離

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

          3.3 TFT-LCD

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

          4主要電路的

          4.1時序發(fā)生電路的

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

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

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

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

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

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

          同樣的在 T0周期內將 RAM的相應數據由“ LCD_鎖存”信號將 32位的數據鎖存在鎖存器上。在相應的 T0-T3周期由 T0-T3選擇相應的 8位數據輸出到調色電路上,在相應時刻由 “LCD_調色輸出鎖存”信號將此像素點數據鎖存,由 TFT_LCD讀取此點的三基色數據并顯示。

          4.3調色電路

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

          4.4顯示緩存設計

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

          5 結束語

          本文介紹了一種 FPGA及 II軟核處理器與 TFT-LCD的主要部分的設計要點,該設計內容已經在實際電路上得到驗證,并在一些儀器的顯示系統(tǒng)上得到應用。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          LCD顯示屏相關文章:lcd顯示屏原理


          lcd相關文章:lcd原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();