• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于Nios II/DMA的 TFT-LCD控制器IP核設(shè)計(jì)

      2014-03-21 12:47:14雷瑞庭
      儀表技術(shù)與傳感器 2014年6期
      關(guān)鍵詞:時(shí)序端口總線

      宋 躍,程 博,2,雷瑞庭

      (1.東莞理工學(xué)院電子工程學(xué)院,廣東東莞 523808;2.華南理工大學(xué)電子與信息學(xué)院,廣東廣州 510640)

      0 引言

      對(duì)于TFT-LCD控制器。目前國內(nèi)外主要的解決方案有:(1)專用的LCD控制器芯片,其針對(duì)性較強(qiáng),價(jià)格昂貴,不利于片上系統(tǒng)的開發(fā);(2)軟件控制方法,會(huì)占用大量的處理器資源,降低系統(tǒng)性能[1];(3)采用單片機(jī)的解決方案,在系統(tǒng)要求高速處理大量的實(shí)時(shí)數(shù)據(jù)并顯示時(shí)顯得非常困難[2-3]。文中運(yùn)用DMA技術(shù),較好地完成了基于Nios II 的全彩AT070TN84 TFT-LCD控制器IP核設(shè)計(jì)。既提升現(xiàn)有FPGA的利用率,又提升了系統(tǒng)的集成度。

      1 控制器系統(tǒng)設(shè)計(jì)

      FPGA主芯片采用Altera-Cyclone IV-EP4CE6F17C8N。圖1中整個(gè)系統(tǒng)主要在一片F(xiàn)PGA中實(shí)現(xiàn),以NiosII軟核處理器為核心,各種IP核通過Avalon總線連接到NiosII[4-5]。其中,自主設(shè)計(jì)編寫的LCD控制器IP核通過流模式從端口與DMA相連,其接口符合Avalon總線規(guī)范。

      圖1 系統(tǒng)設(shè)計(jì)

      NiosII處理器在SDRAM中開辟幀緩沖區(qū),可以是單緩沖也可以是雙緩沖。如單緩沖:處理器將1幀數(shù)據(jù)(800×480×2 Bytes,RGB565,16 bit)存入幀緩沖,然后將幀緩沖的首地址與LCD控制器地址寫入到DMA控制器,并啟動(dòng)DMA控制器。DMA控制器自動(dòng)從傳來的首地址處開始讀取數(shù)據(jù),并輸出給LCD控制器。LCD控制器建立幀緩存與液晶屏幕像素之間一一對(duì)應(yīng)的關(guān)系,并將幀緩存中的數(shù)據(jù)輸送給LCD屏完成顯示刷新。

      圖2為TFT-LCD控制器結(jié)構(gòu)設(shè)計(jì)。由于要與DMA模塊進(jìn)行對(duì)接,Avalon總線接口選擇以Avalon流模式從端口的形式進(jìn)行開發(fā)??刂破鲉?dòng)后,通過Avalon總線讀取DMA傳輸?shù)臄?shù)據(jù),然后存入FIFO中,時(shí)序生成模塊依據(jù)LCD屏的時(shí)序規(guī)范生成行、場(chǎng)同步信號(hào),從FIFO中讀取數(shù)據(jù),然后送出去顯示。由于DMA讀取速度與TFT-LCD時(shí)序發(fā)生器輸出的速度不一致,所以需加FIFO用來緩沖數(shù)據(jù)。各個(gè)模塊間通過控制模塊進(jìn)行有效控制。當(dāng)FIFO快滿時(shí)控制Avalon總線接口暫停DMA;當(dāng)FIFO快空時(shí)控制Avalon總線接口重新啟動(dòng)DMA;當(dāng)FIFO為空時(shí)暫停時(shí)序發(fā)生器,當(dāng)FIFO不為空時(shí)啟動(dòng)時(shí)序發(fā)生器,以此協(xié)調(diào)畫面連續(xù)穩(wěn)定。

      圖2 TFT-LCO控制器結(jié)構(gòu)

      2 TFT-LCD IP核設(shè)計(jì)

      2.1流模式從端口接口模塊

      Avalon總線流模式從端口接口負(fù)責(zé)DMA與LCD控制器的接口控制,DMA通過該總線接口將數(shù)據(jù)傳入LCD控制器中的FIFO緩存,并接受控制信號(hào)的控制[6]。該模塊接口如下:

      //----Avalon------

      input clk_100M;

      input rst_n;

      input chipselect;

      input write;

      input [15:0] writedata;

      output readyfordata;

      output endofpacket;

      LCD控制器通過設(shè)置readfordata有效來表示它能夠接收寫傳輸。Avalon總線模塊在readyfordata無效時(shí)不能發(fā)起傳輸。當(dāng)readfordata有效時(shí),Avalon總線模塊能夠通過在一個(gè)clk 上升沿設(shè)置chipselect有效來開始一次寫傳輸,從Avalon總線到從端口的鎖存輸出write和writedata有效。在一次傳輸結(jié)束后,如果外設(shè)不能接收隨后的寫傳輸數(shù)據(jù),則必須置readyfordata無效,使得Avalon總線模塊不會(huì)在下一個(gè)clk上升沿發(fā)起另一次寫傳輸。當(dāng)LCD控制器使readyfordata失效時(shí),會(huì)迫使Avalon總線模塊將送到這一從端口的chipselect、write置為無效[7-8]。因此,在LCD控制器將readyfordata再次置為有效之前,Avalon總線模塊不會(huì)對(duì)該從端口發(fā)起另一次寫傳輸。如果流模式主端口在從端口的readyfordata無效時(shí)發(fā)起了一次寫傳輸,Avalon總線模塊會(huì)簡(jiǎn)單地迫使主端口等待,直到能再次從從端口捕獲數(shù)據(jù)。

      2.2FIFO模塊

      圖3為FIFO模塊,實(shí)現(xiàn)DMA輸出的圖像數(shù)據(jù)緩存,以匹配時(shí)序控制模塊的輸出速度[4,9]。FIFO大小暫定為2 048×16 bit,在實(shí)際應(yīng)用時(shí)可根據(jù)需要以及資源狀況再做調(diào)整。

      圖3 FIFO模塊

      FIFO由DMA控制器寫入數(shù)據(jù),寫入時(shí)鐘為100 MHz,由LCD控制器的時(shí)序發(fā)生模塊讀出數(shù)據(jù),讀出時(shí)鐘為DCLK,即LCD的像素點(diǎn)掃描頻率,通常取25 MHz.在獨(dú)立的寫時(shí)鐘和讀時(shí)鐘作用下,F(xiàn)IFO可以提供wrusedw[10:0]信號(hào),用于指示在wrclk時(shí)鐘下FIFO中的數(shù)據(jù)個(gè)數(shù)[6]。系統(tǒng)可以設(shè)置一個(gè)上限和一個(gè)下限,當(dāng)FIFO中的數(shù)據(jù)量高于上限或低于下限時(shí),控制器暫停DMA傳輸或啟動(dòng)DMA傳輸,用以保證系統(tǒng)性能。

      2.3時(shí)序模塊

      TFT液晶顯示屏采用逐行掃描的掃描方式[4],液晶的控制和驅(qū)動(dòng)主要是依據(jù)液晶顯示所需控制信號(hào)的標(biāo)準(zhǔn)來實(shí)現(xiàn)的,控制信號(hào)主要是行、場(chǎng)同步時(shí)序信號(hào),在控制信號(hào)的作用下將顯示數(shù)據(jù)輸出至顯示端口[3]。AT070TN84時(shí)序如圖4、圖5。

      圖4 行信號(hào)時(shí)序

      圖5 場(chǎng)信號(hào)時(shí)序

      設(shè)計(jì)TFT-LCD的工作時(shí)鐘為25 MHz,設(shè)f為刷新率,則有:

      F=tHP·tVP·f=25 MHz

      tHP=tHW+tHBP+tHV+tHFP

      tVP=tVW+tVBP+tW+tVFP

      可求得f=61.54 Hz,即設(shè)計(jì)得到TFT-LCD工作在25 MHz時(shí)有61.54 Hz的刷新率,滿足人眼分辨的要求[7]。

      設(shè)計(jì)中以參數(shù)化形式對(duì)時(shí)序參數(shù)進(jìn)行編程如下:

      parameter HP = 824;

      parameter VP = 493;

      parameter HW = 3;

      parameter HBP = 13;

      parameter HV = 800;

      parameter HFP = 8;

      parameter VW = 1;

      parameter VBP = 7;

      parameter VV = 480;

      parameter VFP = 5;

      這樣在使用其他TFT-LCD屏?xí)r只需修改相應(yīng)參數(shù)就可以完成對(duì)控制器IP核的復(fù)用。

      3 仿真與軟件編程測(cè)試

      TFT-LCD控制器時(shí)序仿真結(jié)果如圖6、圖7,仿真結(jié)果表明顯示控制器工作正常。

      圖6 功能仿真

      圖7 時(shí)序仿真

      軟件編寫中主要是對(duì)DMA的設(shè)置,以下是部分程序代碼:

      //設(shè)置DMA所要傳輸?shù)淖止?jié)數(shù),則一幀圖像TLENGTH =800*480*2

      IOWR_ALTERA_AVALON_DMA_LENGTH (DMA_0_BASE,TLENGTH);

      //設(shè)置DMA傳輸中要讀取的第一個(gè)數(shù)據(jù)單元的地址,即SDRAM中幀緩沖的首地址

      IOWR_ALTERA_AVALON_DMA_RADDRESS (DMA_0_BASE,(int)P_VIDEO_MEMORY);

      //設(shè)置DMA寫地址,即流模式從外設(shè)TFT-LCD控制器地址

      IOWR_ALTERA_AVALON_DMA_WADDRESS (DMA_0_BASE,(int)P_LCD_CONTROL);

      //設(shè)置DMA控制寄存器

      IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE,

      ALTERA_AVALON_DMA_CONTROL_HW_MSK | //半字(16bit)傳輸

      ALTERA_AVALON_DMA_CONTROL_GO_MSK | //啟動(dòng)DMA

      ALTERA_AVALON_DMA_CONTROL_I_EN_MSK | //開啟中斷

      ALTERA_AVALON_DMA_CONTROL_WCON_MSK | //向固定地址寫入數(shù)據(jù)

      ALTERA_AVALON_DMA_CONTROL_WEEN_MSK | //允許寫端口包結(jié)束事件

      ALTERA_AVALON_DMA_CONTROL_LEEN_MSK //傳輸完固定長(zhǎng)度數(shù)據(jù)結(jié)束

      );

      試驗(yàn)照相表明圖像顯示清晰,色彩豐富,沒有閃屏、錯(cuò)行等現(xiàn)象,視覺效果良好。在試驗(yàn)過程中液晶屏出現(xiàn)錯(cuò)行現(xiàn)象,分析發(fā)現(xiàn)為控制器對(duì)FIFO為空時(shí)的處理不當(dāng),以及FIFO模塊與時(shí)序生成模塊間有一個(gè)節(jié)拍的延遲所導(dǎo)致,修復(fù)后液晶屏顯示正常。

      4 結(jié)束語

      該設(shè)計(jì)通過DMA完成對(duì)幀緩存的讀取,大大提高了處理器效率,參數(shù)化的組件設(shè)計(jì)思想,也提高了IP核的可復(fù)用性,具有較強(qiáng)的實(shí)用性和通用性,便于二次開發(fā),為滿足項(xiàng)目更高需求,計(jì)劃再設(shè)計(jì)ADS7843 SPI串行接口芯片,使系統(tǒng)能結(jié)合觸摸信息,來豐富液晶屏顯示的系統(tǒng)控制功能,這些還在研制之中。

      參考文獻(xiàn):

      [1]黃俊凱,蔣存波,葉漢民,等.嵌入式LCD控制器的設(shè)計(jì)和實(shí)現(xiàn).計(jì)算機(jī)工程,2005,31(3):218-220.

      [3]于 海,樊曉椏.基于FPGA 異步FIFO的研究與實(shí)現(xiàn).微電子學(xué)與計(jì)算機(jī),2007,24(3):210-216.

      [4]朱耀東,經(jīng)亞枝,張煥春.基于FPGA的LCD&VGA控制器設(shè)計(jì).電子技術(shù)應(yīng)用,2002,28(11):44-46.

      [5]群創(chuàng)光電股份有限公司.INNOLUX DISPLAY CORPORATION LCD MODULE SPECIFICATION[Z].2008:1-120.

      [6]付先成,鄒雪城,雷鎰銘.FIFO電路在液晶顯示控制器中的應(yīng)用.華中科技大學(xué)學(xué)報(bào),2006,34(4):8-10.

      [7]高恭嫻,胡國兵.基于SOPC的彩色液晶顯示控制器的設(shè)計(jì).液晶與顯示,2010(1):79-84.

      [8]王言榮.基于FPGA液晶控制器設(shè)計(jì)與實(shí)現(xiàn):[學(xué)位論文].杭州:浙江大學(xué),2006:1-74.

      [9]胡健生,羅衛(wèi)兵,錢淵.嵌入式TFT-LCD控制器設(shè)計(jì).2010,36(5):237-239.

      猜你喜歡
      時(shí)序端口總線
      時(shí)序坐標(biāo)
      基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
      一種端口故障的解決方案
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
      端口阻塞與優(yōu)先級(jí)
      一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      初識(shí)電腦端口
      電腦迷(2015年6期)2015-05-30 08:52:42
      生成樹協(xié)議實(shí)例探討
      多通道ARINC429總線檢查儀
      武强县| 泸溪县| 辛集市| 衢州市| 安徽省| 岳阳县| 江永县| 儋州市| 正宁县| 金堂县| 德化县| 陆川县| 即墨市| 洛扎县| 类乌齐县| 淳化县| 呼图壁县| 班戈县| 平南县| 高唐县| 孙吴县| 阜平县| 同心县| 湘乡市| 白山市| 平安县| 曲阜市| 阳高县| 宜川县| 仙游县| 阿瓦提县| 公安县| 镇巴县| 昌江| 南城县| 伊宁市| 革吉县| 九台市| 乐业县| 桃园市| 辽阳市|