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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于AHB接口的高性能LCD控制器IP設(shè)計(jì)

          基于AHB接口的高性能LCD控制器IP設(shè)計(jì)

          作者: 時(shí)間:2013-06-15 來源:網(wǎng)絡(luò) 收藏
          第一步的縮小操作,系數(shù)可選:1/2,1/3,1/4……. ,1/128。

          二、 1024x24 行緩沖區(qū)

          該行緩沖區(qū)來存儲(chǔ)被濾波器處理過的一行數(shù)據(jù)。

          三、 1024x24 行緩沖區(qū)

          控制著緩沖區(qū)數(shù)據(jù)的訪問。緩沖區(qū)中被讀出的數(shù)據(jù)會(huì)反饋到輸入端口,跟第二行的像素?cái)?shù)據(jù)進(jìn)行線性插值,也就是垂直插值的處理。

          四、 2048x24 行緩沖區(qū)

          這個(gè)行緩沖區(qū)是一個(gè)乒乓結(jié)構(gòu)的存儲(chǔ)器,它由兩個(gè)1024x24位的單端口SRAM組成。因?yàn)槲覀兎糯蟮奶幚硎腔陔p線性算法,所以垂直放大系數(shù)被限制在2,乒乓結(jié)構(gòu)可以提供同時(shí)進(jìn)行讀/寫操作的機(jī)制,使得我們能夠把行緩沖區(qū)存儲(chǔ)器的大小壓縮到僅僅一行像素?cái)?shù)據(jù)的規(guī)模。

          五、 2048x24 行緩沖區(qū)

          該控制器提供必需的地址線和控制信號(hào)給乒乓結(jié)構(gòu)的行緩沖區(qū),以確保RGB像素?cái)?shù)據(jù)能夠同時(shí)正確的被寫入和讀出。除了這個(gè)基本的控制功能以外,它也提供了一個(gè)可靠的外部LCD控制器訪問接口。

          六、 垂直Scalar濾波器

          該垂直Scalar濾波器是2抽頭,它執(zhí)行一個(gè)“加-乘”混合計(jì)算(y[n] = a * x[n] + (1-a) * x[n-1])。x[n]是當(dāng)前行的像素?cái)?shù)據(jù),x[n-1]是上一行的像素?cái)?shù)據(jù),y[n]是濾波器的輸出。a和(1-a)都是濾波器因子。由于R/G/B各數(shù)據(jù)是獨(dú)立進(jìn)行處理的,所以每一種色彩像素?cái)?shù)據(jù)處理需要兩個(gè)8x9位的乘法器和一個(gè)17位的加法器。

          基于AHB接口的高性能LCD控制器IP設(shè)計(jì)


          七、 垂直Scalar系數(shù)產(chǎn)生器

          該發(fā)生器分為放大系數(shù)產(chǎn)生器和縮小系數(shù)產(chǎn)生器。他們都會(huì)產(chǎn)生一個(gè)9位的系數(shù),MSB代表整數(shù)部分,其余的都是小數(shù)部分。這個(gè)系數(shù)為輸入圖像垂直分辨率和輸出圖像垂直分辨率的比值。

          八、 Scalar數(shù)據(jù)

          該數(shù)據(jù)的存儲(chǔ)深度為8,垂直縮放模塊輸入數(shù)據(jù)到,水平縮放模塊讀出數(shù)據(jù)用來處理后續(xù)的水平像素?cái)?shù)據(jù)。

          九、 水平Scalar濾波器

          該濾波器也是2抽頭,它執(zhí)行一個(gè)“加-乘”混合計(jì)算(y[n] = a * x[n] + (1-a) * x[n-1]),x[n]是當(dāng)前的像素?cái)?shù)據(jù),x[n-1]是上一個(gè)的像素?cái)?shù)據(jù),y[n]是濾波器的輸出。a和(1-a)都是濾波器因子。由于R/G/B各數(shù)據(jù)是獨(dú)立進(jìn)行處理的,所以每一種色彩像素?cái)?shù)據(jù)處理需要兩個(gè)8x9位的乘法器和一個(gè)17位的加法器。

          十、 水平Scalar系數(shù)發(fā)生器

          該發(fā)生器分為放大系數(shù)產(chǎn)生器和縮小系數(shù)產(chǎn)生器。他們都會(huì)產(chǎn)生一個(gè)9位的系數(shù),MSB代表整數(shù)部分,其余的都是小數(shù)部分。這個(gè)系數(shù)為輸入圖像水平分辨率和輸出圖像水平分辨率的比值。

          Scalar的up scaling階段能夠任意的定量在1x1 和 2x2之間,也就是它scale up功能可以達(dá)到如1.5x1.8等。Scaling down分成兩級(jí),第一級(jí)可以按比例縮減1/2*1/2, 1/4*1/4, 1/8*1/8, 1/16*1/16, 1/32*1/32, 1/64*1/64或1/128*1/128;而第二級(jí)可以從1*1~1/2*1/2做任意比例的縮減動(dòng)作,也就是第二級(jí)可以有小數(shù)點(diǎn),不過最低只能到1/2*1/2。因此,可以由第一級(jí)+第二級(jí)來搭配產(chǎn)生所想要的縮減比例。

          例如:1/2.5 * 1/4 => 第一級(jí)做1/2*1/2,然后第二級(jí)做4/5*1/2 就可以達(dá)到你所想要的scaling ratio。有關(guān)第二級(jí)scale down給個(gè)Scal_ver_num /Scal_hor_num的例子, 如果我們想要scale由 100x200 down to 90x160.

          Scal_ver_num = [mod((ver_no_in+1)/ver_no_out)]x256/ver_no_out

          Scal_hor_num = [mod((hor_no_in+1)/hor_no_out)]x256/hor_no_out

          Scal_ver_num = mod[ (100) / 90 ] x 256 / 90 = 28.44 --> 28

          Scal_hor_num = mod[ (200) / 160 ] x 256 / 90 = 113.77 --> 114


          中斷控制器

          該控制器有四個(gè)內(nèi)部中斷源,AHB Master出錯(cuò)中斷、FIFO欠載中斷、垂直同步中斷和幀基地址改變中斷,這幾個(gè)中斷信號(hào)經(jīng)過組合形成一個(gè)全局中斷信號(hào),只要這四個(gè)中斷源中的任意一個(gè)出現(xiàn)中斷,全局中斷信號(hào)就會(huì)出現(xiàn)斷言。這四個(gè)中斷源可以通過寄存器的修改來開啟和關(guān)閉

          STN面板控制信號(hào)

          以下是LCD控制器和STN面板的接口信號(hào)

          * LC_DATA[7:0]:LCD數(shù)據(jù)總線,發(fā)送給STN面板上面需要被顯示的像素?cái)?shù)據(jù)。根據(jù)STN所選擇的模式,數(shù)據(jù)直接加載到該總線上

          * LC_VS(FLM):LCD的幀同步信號(hào),表明了一個(gè)新的幀的開始。在一幀的最后一個(gè)行脈沖結(jié)束后,F(xiàn)LM 變?yōu)橛行Р⒁恢北3值较乱恍忻}沖,F(xiàn)LM才撤銷斷言,并保持無效直到下一幀。FLM是高電平有效還是低電平有效是可以通過軟件配置的。

          * LC_HS(LP):LCD的行同步信號(hào),被用來鎖存STN面板上的行數(shù)據(jù)。LP是高電平有效還是低電平有效是可以通過軟件配置的。


          * LC_DE(ACD):LCD數(shù)據(jù)使能信號(hào)。該信號(hào)可以配置成每一幀切換或者每隔N行切換。


          * LC_PCLK:LCD輸出的移位時(shí)鐘,是讓STN面板用來同步LCD輸出的數(shù)據(jù)。LC_PCLK是高電平有效還是低電平有效是可以通過軟件配置的。


          STN面板的接口時(shí)序

          LCD控制器通過LCD的數(shù)據(jù)總線持續(xù)的傳送像素?cái)?shù)據(jù)到LCD面板??偩€的時(shí)序由LC_PCLK、LC_HS、LC_VS組成。LC_PCLK信號(hào)把像素?cái)?shù)據(jù)打入到LCD面板內(nèi)部的移位寄存器。LC_HS指示每一行的開始,LC_VS則指示幀的第一行的開始。本LCD控制器可以支持絕大部分的單色LCD屏。圖3解釋了1位、2位、4位、8位LCD數(shù)據(jù)總線的接口時(shí)序。LC_HS信號(hào)再加上LC_VS信號(hào)表明了當(dāng)前幀第一行的結(jié)束。在真實(shí)顯示行中插入啞元行可以調(diào)節(jié)幀率。用戶可以自己配置啞元行的數(shù)量。

          基于AHB接口的高性能LCD控制器IP設(shè)計(jì)

          圖3 STN在8位, 4位, 2位以及1位數(shù)據(jù)寬度的接口時(shí)序


          LCD屏的寬度(PL)和高度(LF)寄存器里面定義了LCD面板的尺寸。LCD控制器將會(huì)以“LCD屏開始地址寄存器”(LCDImage0FrameBase)中的值為首地址來掃描顯存,因此,被打上影音的區(qū)域?qū)?huì)最終顯示在LCD面板上。

          LCD虛擬頁面寬度參數(shù)指定了最大顯示頁面寬度。通過修改LCDImage0FrameBase,可以使得真實(shí)顯示的窗口大小和位置在虛擬頁面邊界的范圍內(nèi)變化。然后,對(duì)于編程人員來說,在軟件設(shè)置定義顯存掃描起地址的時(shí)候,是不能超多虛擬頁面的高度和寬度,否則,屏幕上可能會(huì)有一些意想不到的景象。

          這個(gè)IP在LCD屏的接口上還比一般的LCD控制器多了對(duì)串口RGB屏的支持,我們?cè)贔PGA開發(fā)板上就是使用AUO A036QN01串口RGB屏來驗(yàn)證。A036QN01的規(guī)格書上沒有Dummy data(LCD Serial panel pixel Parameters: offset=0200H),但我們的design是有dummy data跟沒有dummy data的可以支持的。

          IP內(nèi)部的接口時(shí)鐘關(guān)系

          以上就這個(gè)IP的原理與子模塊作了充分的說明, 再接著介紹IP內(nèi)部的接口時(shí)鐘關(guān)系。

          FTLCDC200包含了三個(gè)時(shí)鐘域分別為HCLK, LC_SCALER_CLK以及LC_CLK。HCLK時(shí)鐘使用于AHB接口而且這個(gè)時(shí)鐘與AHB接口是一致的。AHB必須為SoC上的LCD控制器提供足夠的帶寬用以由幀緩存區(qū)捕獲足夠的數(shù)據(jù)。

          LC_SCALER_CLK提供時(shí)鐘給scaler模塊同時(shí)對(duì)scaler模塊也要足夠快來處理數(shù)據(jù)。LC_CLK用于產(chǎn)生像素時(shí)鐘。像素時(shí)鐘(LC_PCLK是由LC_CLK產(chǎn)生并且除以1, 2, 3等等。

          此外, 這三個(gè)時(shí)鐘域必須按照下面的兩個(gè)原則才能運(yùn)行順暢:

          ? 1. HCLK ≥ LC_SCALER_CLK ≥ LC_CLK (頻率)

          ? 2. LC_SCALER ≥ HCLK/16 (頻率)


          LC_CLK的頻率變化依靠LCD屏的選擇與使用。使用這個(gè)IP在頻率上必須根據(jù)所選用的LCD屏的規(guī)格,下面兩個(gè)例子介紹選擇時(shí)鐘頻率的方法

          范例1.

          假設(shè)輸入的分辨率是640x480, 每個(gè)在幀緩存區(qū)內(nèi)的像素是16-bpp, AHB總線的帶寬是32 bits, LCD屏的分辨率是320x240而顯示的幀刷新率是30幀每秒。

          在這個(gè)范例, scaling-down功能必須打開并且操作在1/2x1/2的步驟。

          HCLK必須大于640x480 (輸入的分辨率) x 16 (bpp) x 30 (幀刷新率)/32 (總線帶寬) = 4.6 MHz

          LC_SCALER_CLK必須大于640x480 (最大的 {輸入的分辨率, 輸出的分辨率}) x 30 (幀刷新率) = 9.2 MHz

          LC_CLK必須大于320x240 (輸出的分辨率) x 30 (幀刷新率) x 1.2 (門廊的空白) = 2.8MHz

          因此, 針對(duì)這個(gè)范例, 使用者能選擇以下的兩個(gè)條件

          HCLK ≥ LC_SCALER_CLK ≥ 9.2 MHz

          LC_CLK ≥ 2.8 MHz


          范例2.

          假設(shè)輸入的分辨率是640x480, 每個(gè)在幀緩存區(qū)內(nèi)的像素是16-bpp, AHB總線的帶寬是32 bits, LCD屏的分辨率是1280x960而顯示

          p2p機(jī)相關(guān)文章:p2p原理




          關(guān)鍵詞: 控制器 FIFO SDRAM

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();