龍芯詳細(xì)設(shè)計(jì)lcd lsr_第1頁(yè)
龍芯詳細(xì)設(shè)計(jì)lcd lsr_第2頁(yè)
龍芯詳細(xì)設(shè)計(jì)lcd lsr_第3頁(yè)
龍芯詳細(xì)設(shè)計(jì)lcd lsr_第4頁(yè)
龍芯詳細(xì)設(shè)計(jì)lcd lsr_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章 LCD 模塊26.1 整體結(jié)構(gòu)和功能26.1.1 系統(tǒng)功能描述26.1.2 LCD器工作模式描述46.2 LCD6.2.16.2.26.2.3器頂層輸入輸出5器配置端口5顯存(或DMA)端口5LCD 屏端口5附 1:普通TFT LCD 時(shí)序例6器寄存器76.3 LCD6.3.1 寄存器列表76.3.2寄存器 CTRL76.3.3 狀態(tài)寄存器 STAT96.3.4 水序寄存器 HTIM96.3.5 垂直時(shí)序寄存器 VTIM106.3.6 水平垂直長(zhǎng)度寄存器 HVLEN106.3.7 顯存基址寄存器 A VBARa106.3.8 顯存基址寄存器 B VBARb106.3.9 游標(biāo)位置(X,

2、Y)寄存器 C0XY106.3.10 游標(biāo)基址寄存器 C0BAR11重要信號(hào)11子模塊116.46.56.5.16.5.26.5.36.5.46.5.56.5.66.5.76.5.86.5.9子模塊Lcd_fifo.v11子模塊Lcd_pl_intf.v13子模塊模型 Generic_dpram.v:14子模塊Lcd_line_fifo.v:14子模塊Lcd_vtim.v16子模塊Lcd_tgen.v18子模塊模型 Generic_spram.v20子模塊Lcd_curproc.v20子模塊Lcd_colproc.v226.5.10 子模塊 Lcd_master.v246.5.11 子模塊 L

3、cd_slave.v276.5.12 子模塊 Lcd_pixel_gen.v291第六章 LCD 模塊6.1 整體結(jié)構(gòu)和功能6.1.1 系統(tǒng)功能描述該模塊實(shí)現(xiàn)了對(duì) TFT LCD 顯示屏的正確功能,以下是它的一些特性參數(shù):uuuuu支持 8bpp(bit per pixel)非調(diào)色板黑白工作模式支持 8bpp 調(diào)色板共 256 色工作模式支持 16bpp 非調(diào)色板共 65536 色工作模式支持 24bpp 非調(diào)色板共 1 千 6 百多萬(wàn)色工作模式支持 32bpp(低 24bit 為象素值位寬,高 8bit 為 alpha 值【擴(kuò)展功能,暫無(wú).】)非調(diào)色板共 1 千 6百多萬(wàn)色工作模式 支持多種

4、屏幕大小:典型:640x320,320x240,160x160,等等最大屏幕:視乎顯存的大小。u1. LCD器應(yīng)用系統(tǒng)圖如下圖所示:系統(tǒng)總線圖 6-1-1-A LCD器應(yīng)用系統(tǒng)圖2.lcd器頂層示意圖2LCD顯存顯示器LCD器Lcd_top.vCPU圖 6-1-1-Blcd_top 頂層示意圖3.LCD 屏接口典型時(shí)序圖:36.1.2 LCD器工作模式描述LCD器共有 4 種工作模式:8bpp,16bpp,24bpp,32bpp.這些工作模式由寄存器對(duì)應(yīng)位CD1,CD0決定??紤]到顯存的數(shù)據(jù)寬度(VDW,1) 8bpp 模式Data Width)是 32bits,下面將分別介紹每種工作模式的特

5、點(diǎn)。8bpp 模式又分為 bw_8bpp(黑白顯示)和 col_8bpp (彩色 256 色顯示)兩種模式。系統(tǒng)為 8bpp 模式時(shí),每個(gè) VDW 包含 4 個(gè)象素。其中 col_8bpp 模式需要使用到 CLUT(顏色查找表)。在該模式下,象素以 8bit 為2) 16bpp 模式,從 VDW 的至低位取。系統(tǒng)為 16bpp 模式時(shí),每個(gè) VDW 包含 2 個(gè)象素。在該模式下,象素以 16bit 為至低位取。3) 24bpp 模式,從 VDW 的系統(tǒng)為 24bpp 模式時(shí),每個(gè) VDW 包含 4/3 個(gè)象素。在該模式下,象素的取法按照下列順序進(jìn)行,第一個(gè)象素內(nèi)容為 R1=VDW_131:24

6、, G1=VDW_123:16, B1=VDW_115:8; 第二個(gè)象素內(nèi)容為 R2=VDW_17:0,G2=VDW_231:24, B2=VDW_223:16;后面的象素依此方法類推,亦是從每次位取。4) 32bpp 模式系統(tǒng)為 32bpp 模式時(shí),每個(gè) VDW 僅包含 1 個(gè)象素。在該模式下,象素取每次的低 24bit,高 8bit 暫不使用。過(guò)來(lái)的 VDW 的至低過(guò)來(lái)的 vdat_buffer_di46.2 LCD器頂層輸入輸出6.2.1器配置端口(wishbone slave 接口)表 6-2-1-A器配置端口列表6.2.2 顯存端口列表(wishbone slave 接口)表 6-2

7、-2-A5名稱方向位寬功能m_clk輸入1wishbone 時(shí)鐘信號(hào)m_srst輸入1wishbone reset 信號(hào)m_arst輸入1wishbone 異步 reset 信號(hào)m_dati輸入32wishbone 數(shù)據(jù)輸入信號(hào)m_ack輸入1wishbone 確認(rèn)信號(hào)m_rty輸入1wishbone 重試信號(hào)m_err輸入1wishbone 錯(cuò)誤信號(hào)m_adr輸出32wishbone 地址輸出信號(hào)m_dato輸出32wishbone 數(shù)據(jù)輸出信號(hào)m_we輸出1wishbone 讀寫信號(hào)m_stb輸出1wishbone 周期有效信號(hào)m_cyc輸出1wishbone 周期信號(hào)m_sel輸出4wi

8、shbone 字節(jié)選擇信號(hào)名稱方向位寬功能s_clk輸入1wishbone 時(shí)鐘信號(hào)s_srst輸入1wishbone reset 信號(hào)s_arst輸入1wishbone 異步 reset 信號(hào)s_adr輸入32wishbone 地址輸入信號(hào)s_dati輸入32wishbone 數(shù)據(jù)輸入信號(hào)s_we輸入1wishbone 讀寫信號(hào)s_stb輸入1wishbone 周期有效信號(hào)s_cyc輸入1wishbone 周期信號(hào)s_sel輸入4wishbone 字節(jié)選擇信號(hào)s_ack輸出1wishbone 確認(rèn)信號(hào)s_rty輸出1wishbone 重試信號(hào)s_err輸出1wishbone 錯(cuò)誤信號(hào)s_in

9、tr輸出1wishbone 中斷信號(hào)s_dato輸出32wishbone 數(shù)據(jù)輸出信號(hào)6.2.3LCD 屏端口表 6-2-3-A LCD 屏端口列表附 1:普通 TFT LCD 時(shí)序例6名稱方向位寬功能r_o 或vd23:16輸出8紅色數(shù)據(jù)線g_o 或vd15:8輸出8綠色數(shù)據(jù)線b_o 或vd7:0輸出8數(shù)據(jù)線lend輸出1行掃描到達(dá)最后一個(gè)象素的提示信號(hào)vden_o輸出1象素有效信號(hào)hsync_o輸出1行同步信號(hào)vsync_o輸出1幀同步信號(hào)csync_o輸出1復(fù)合同步信號(hào)(可選)vclk_o輸出1象素時(shí)鐘同步信號(hào)lcd_pwren輸出1LCD 屏電源信號(hào)(可選)圖 6-2-3-A附 2:L

10、CD-LQ035Q7DH01 接口時(shí)序配置參數(shù)演示(1).垂直脈沖一個(gè)周期內(nèi)各階段寬度(內(nèi)部邏輯/配置寄存器選擇是否反相輸出有效)VSYNC=2;( VDEL=2; VGATE=320;VLEN=327;,line,下同)(2).水平脈沖一個(gè)周期內(nèi)各階段寬度(內(nèi)部邏輯/配置寄存器選擇是否反相輸出有效)HSYNC=14;( HDEL=50; HGATE=240;HLEN=320;,pixel clock,下同)參考配置寄存器(host_self_test.v)的代碼:h_adr<=CTRL_ADR;h_dati<=32'b10000000_00010000_00110110_

11、00100001設(shè)每幀的頻率為 30Hz 即每秒 30 幀,計(jì)算該 LCD 所需要的 VCLK 象素頻率: 一幀共有象素時(shí)鐘:VLEN x HLEN=327x320104,640 個(gè)象素時(shí)鐘每秒共需要象素時(shí)鐘,即象素頻率:104,640 個(gè)象素時(shí)鐘 x30Hz3,139,200Hz3MHz約 3MHz 的時(shí)鐘周期為:1/313920031.9us32usDC32 系統(tǒng)頻率 200MHz,時(shí)鐘周期為 5ns。6.3 LCD器寄存器6.3.1 寄存器列表表 6-3-1-A6.3.2寄存器 CTRL表 6-3-2-A7名稱WB 地址 11:0寬度讀寫全稱CTRL0x032R/WControl Reg

12、isterSTAT0x432R/WStatus RegisterHTIM0x832R/WHorizontal Timing RegisterVTIM0xc32R/WVertical Timing RegisterHVLEN0x1032R/WHorizontal and Vertical Length RegisterVBARa0x1432R/WMemory Base Address Register AVBARb0x1832R/WMemory Base Address Register BC0XY0x3032R/WCursor0 X,Y RegisterC0BAR0x3432R/WCursor

13、0 Base Address Register8位讀寫描述31:17R/W保留16R/WPPL,Pixel-clock Polarization Level 0:Positive 象素時(shí)鐘正相輸出有效1:Negative 象素時(shí)鐘反相輸出有效15R/WBL, Blanking Polarization Level0: Positive象素有效標(biāo)志信號(hào)正相輸出有效1: Negative 象素有效標(biāo)志信號(hào)反相輸出有效14R/WCSL, Composite Synchronization Pulse Polarization Level 0: Positive 復(fù)合信號(hào)正相輸出有效1: Negati

14、ve 符合信號(hào)反相輸出有效13R/WVSL, Vertical Synchronization Pulse Polarization Level 0: Positive 垂直同步脈沖正相輸出有效1: Negative 垂直同步脈沖反相輸出有效12R/WHSL, Horizontal Synchronization Pulse Polarization Level 0: Positive 水平同步脈沖正相輸出有效1: Negative 水平同步脈沖反相輸出有效11R/WPC, 8-bit Pseudo Color8bpp 模式下色彩模式選擇位0: 8-bit grayscale黑白灰度等級(jí)模式1

15、: 8-bit pseudo color 偽色彩模式10,9R/WCD, Color Depth 系統(tǒng)顏色深度模式選擇位11: 32 bits per pixel 32bpp 模式10: 24 bits per pixel 24bpp 模式01: 16 bits per pixel 16bpp 模式00: 8 bits per pixel 8bpp 模式(此模式下,根據(jù) PC 值有 2 種工作模式選擇, 故還需定義 PC 值)8R/W保留7R/WHC0E, Hardware Cursor0 Enable 硬件游標(biāo) 0位0: Hardware Cursor0 disabled 1: Hardwa

16、re Cursor0 enabled6R/WBICIG, Built In內(nèi)建游標(biāo)圖像是否使用內(nèi)建的硬件游標(biāo)圖像)0: Built In使用內(nèi)建硬件游標(biāo)圖像1: Built InImage Generator enabled使用內(nèi)建硬件游標(biāo)圖像5R/WVBSWE,顯存分頁(yè)空間跳轉(zhuǎn)位0:memory bank switching disabled1:memory bank switching enabled跳轉(zhuǎn)4R/B保留3R/WVBSIE,Bank Switch Interrupt Enable 顯存分頁(yè)空間跳轉(zhuǎn)后中斷位0:memory bank switching interrupt dis

17、abled中斷1:memory bank switching interrupt enabled中斷2R/WHIE, HSync Interrupt Enable 水平脈沖中斷位0: Horizontal synchronization pulse interrupt disabled水平同步中斷6.3.3 狀態(tài)寄存器 STAT表6-3-3-A6.3.4 水序寄存器 HTIM表6-3-4-A9位讀寫描述31:24R/WThsync, Horizontal synchronization pulse width 水平同步脈沖寬度(或周期內(nèi) SYNC階段延遲時(shí)間)23:16R/WThgdel, H

18、orizontal gate delay time 水平脈沖周期內(nèi)進(jìn)入 GATE 階段前的延遲時(shí)間15:0R/WThgate, Horizontal gate time 水平脈沖GATE 階段保持時(shí)間Reset Value: 0x00000000位讀寫描述31:8R保留7RAVMP, ActiveMemory Page 當(dāng)前活動(dòng)的顯存頁(yè)面(共有 2 頁(yè)圖像頁(yè)面)6R/WVBSINT, Bank Switch Interrupt Pending器讀完一幀圖像,需分頁(yè)跳轉(zhuǎn)的中斷懸掛信號(hào)(該信號(hào)影響器對(duì) CPU 的中斷請(qǐng)求)5R/WHINT, Horizontal Interrupt Pending

19、 水平脈沖中斷懸掛信號(hào),產(chǎn)生于一行結(jié)束時(shí)4R/WVINT, Vertical Interrupt Pending 垂直脈沖中斷懸掛信號(hào),產(chǎn)生于一幀結(jié)束時(shí)3R/WSYSINT, System Interrupt Pending 讀顯存錯(cuò)誤中斷懸掛信號(hào),產(chǎn)生顯存錯(cuò)誤時(shí)恒為 02R/W保留1R/WLUINT, Line FIFO Under-Run Interrupt Pending Line FIFO 在運(yùn)行過(guò)程中的中斷懸掛信號(hào).如果CPU 查出有此中斷,則表示LCD 器出現(xiàn)嚴(yán)重讀錯(cuò)誤,即沒有足夠快的圖像數(shù)據(jù)送往 Line FIFO,從而輸出到 LCD 屏上.0R/W保留Reset Value:

20、0x00000000 注意:寫 001: Horizontal synchronization pulse interrupt enabled水平同步中斷1R/WVIE, VSync Interrupt Enable 垂直脈沖中斷位0: Vertical synchronization pulse interrupt disabled垂直同步中斷1: Vertical synchronization pulse interrupt enabled垂直同步中斷0R/WVEN,Enable 系統(tǒng)輸出位0:system disabled輸出1:system enabled輸出Reset Value:

21、 0x000000006.3.5 垂直時(shí)序寄存器 VTIM表6-3-5-A6.3.6 水平垂直長(zhǎng)度寄存器 HVLEN表6-3-6-A6.3.7 顯存基址寄存器 A VBARa表6-3-7-A6.3.8 顯存基址寄存器 B VBARb表 6-3-8-A6.3.9 游標(biāo)位置(X,Y)寄存器 C0XY表6-3-9-A10位讀寫描述位讀寫描述31:2R/WVBA,Base Address B 顯存基址B1:0RAlways zero 假定顯存系統(tǒng)是字節(jié)尋址的,所以從CPU 寫來(lái)的地址是雙字(32bit)地址Reset Value: 0x00000000位讀寫描述31:2R/WVBA,Base Addr

22、ess A 顯存基址 A1:0RAlways zero 假定顯存系統(tǒng)是字節(jié)尋址的,所以從CPU 寫來(lái)的地址是雙字(32bit)地址Reset Value: 0x00000000位讀寫描述31:16R/WThlen, horizontal length 水平脈沖周期長(zhǎng)度(為一個(gè)象素時(shí)鐘 pixel clock)15:0R/WTvlen, vertical length 垂直脈沖周期長(zhǎng)度(為一個(gè)水平脈沖周期)Reset Value: 0x00000000位讀寫描述31:24R/WTvsync, Vertical synchronization pulse width 垂直同步脈沖寬度(或周期內(nèi) S

23、YNC 階段延遲時(shí)間)23:16R/WTvgdel, Vertical gate delay time 垂直脈沖周期內(nèi)進(jìn)入 GATE 階段前的延遲時(shí)間15:0R/WTvgate, Vertical gate time 垂直脈沖 GATE 階段保持時(shí)間Reset Value: 0x000000006.3.10 游標(biāo)基址寄存器 C0BAR表6-3-10-A6.46.5重要信號(hào)子模塊6.5.1子模塊 Lcd_fifo.v1.子模塊頂層示意圖:圖 6-5-1-A11位讀寫描述31:0R/WCBA, Cursor 游標(biāo)圖像在顯存中的基址(非硬件圖像,如要使用硬件圖像可在 CTRL寄存器中配置),由操作系

24、統(tǒng)軟件生成Reset Value: 0x0000000031:16R/WCX, Cursor X location 游標(biāo)在 LCD 屏幕中的 X 坐標(biāo)(總大小為 LCD 屏的寬度)15:0R/WCY, Cursor Y location 游標(biāo)在 LCD 屏幕中的 Y 坐標(biāo)(總大小為 LCD 屏的高度)Reset Value: 0x000000002. 子模塊端口列表:表 6-5-1-A3. FIFO 存取同步狀態(tài)機(jī):所有 resetS_Emptyw/rw/rS_Aemptyw/rw/r && (rps=wp)S_Middlew/rb && (wps=rp)w/r

25、S_Afullw/rw/rS_Full注意:w=wreq ,r=rreq ,wps=rp+2 , rps=rp+2圖 6-5-1-B12名稱方向位寬功能clk輸入1時(shí)鐘信號(hào)aclr輸入1異步 reset 信號(hào)srst輸入1reset 信號(hào)wreq輸入1寫 fifo 請(qǐng)求信號(hào)rreq輸入1讀 fifo 請(qǐng)求信號(hào)d輸入24像素?cái)?shù)據(jù)輸入q輸出24像素?cái)?shù)據(jù)輸出nword輸出參 數(shù)決定Fifo 已經(jīng)數(shù)據(jù)的長(zhǎng)度統(tǒng)計(jì)empty輸出1fifo 是否為空信號(hào)full輸出1fifo 是否為滿信號(hào)aempty輸出1fifo 是否讀至只剩下最后一個(gè)數(shù)據(jù)信號(hào)afull輸出1fifo 是否寫至只剩下最后一個(gè)空位置6.5.

26、2 子模塊 Lcd_pl_intf.v1.子模塊頂層示意圖:圖 6-5-2-A2.功能說(shuō)明:本子模塊負(fù)責(zé)響應(yīng)寄存器 ctrl 中的位 ctrl_ppl, ctrl_bl, ctrl_csl, ctrl_vsl, ctrl_hsl 的設(shè)置,實(shí)現(xiàn) vclk_o, blank_o(或vden_o), csync_o, hsync_o, vsync_o 的正反相輸出。當(dāng)對(duì)應(yīng)位設(shè)置為 0 時(shí), 為默認(rèn)輸出;當(dāng)對(duì)應(yīng)位設(shè)置為 1 時(shí),為反相輸出。正反相輸出設(shè)置使用異或門實(shí)現(xiàn),以下是異或門的真值表:表 6-5-2-A3. 子模塊端口列表:表 6-5-2-A13名稱方向位寬功能srst輸入1reset 信號(hào)vc

27、lk_i輸入1像素時(shí)鐘vden_i輸入1像素有效hsync_i輸入1行同步vsync_i輸入1幀同步csync_i輸入1復(fù)合信號(hào)同步ctrl_ppl輸入1像素時(shí)鐘異或ctrl_bl輸入1像素有效異或ctrl_hsl輸入1行同步異或A_B/out010011106.5.3 子模塊模型 Generic_dpram.v:雙口 ram 之用途,異步讀寫(實(shí)際為異步 fifo),分別具有讀寫時(shí)鐘線,數(shù)據(jù)線,地址線,讀寫等等;寫時(shí)鐘(即系統(tǒng)時(shí)鐘)從 data_fifo 過(guò)來(lái)的完整 rgb 數(shù)據(jù),讀時(shí)鐘(即象素時(shí)鐘)選通,讀寫送出 rgb 數(shù)據(jù)到 lcd_pl_intf。由于會(huì)出現(xiàn)同時(shí)讀寫的情況,地址的生成

28、采用格雷碼實(shí)現(xiàn),函數(shù)為 bin2gray,這樣可以實(shí)現(xiàn)每個(gè)時(shí)鐘的到來(lái)只有一位地址線發(fā)生改變,從而實(shí)現(xiàn)數(shù)據(jù)的穩(wěn)定輸出;讀寫定有限值。,讀寫選通在外部接口表現(xiàn)為固6.5.4 子模塊 Lcd_line_fifo.v:1.子模塊頂層示意圖14ctrl_vsl輸入1幀同步異或ctrl_csl輸入1復(fù)合信號(hào)異或line_fifo_q輸入24像素輸入R_o輸出8紅色數(shù)據(jù)信號(hào)G_o輸出8綠色數(shù)據(jù)信號(hào)B_o輸出8數(shù)據(jù)信號(hào)Vden_o輸出1像素有效異或輸出Hsync_o輸出1行同步異或輸出Vsync_o輸出1幀同步異或輸出Csync_o輸出1復(fù)合信號(hào)異或輸出Vclk_o輸出1像素時(shí)鐘異或輸出lcd_line_fi

29、fo.vemptywreqfull讀寫邏輯stat_luintrreq8轉(zhuǎn)換前的地址wreq格雷碼轉(zhuǎn)換邏輯rreq轉(zhuǎn)換后的地址824q24d內(nèi)部RAM圖 6-5-4-A功能說(shuō)明緩存從 rgb_fifo 過(guò)來(lái)的數(shù)據(jù),數(shù)據(jù)深度約為 256,可以根據(jù)參數(shù)調(diào)整;數(shù)據(jù)寬度為 24bit,一般為固定寬度。介質(zhì)為內(nèi)置雙口 ram(Generic_dpram.v)。由于 LCD 屏需要連續(xù)的接收數(shù)據(jù),通過(guò)緩存功能可以滿足不斷地向 LCD 屏數(shù)據(jù)而出現(xiàn)象素“供不應(yīng)求”的情況,一旦出現(xiàn)“供新的幀。不應(yīng)求”的狀況,則表示系統(tǒng)是失敗的,需要重新雙口 ram 的地址采用格雷碼方法來(lái)產(chǎn)生,內(nèi)置讀指針和寫指針,分別指向讀地

30、址和寫地址。正常狀況下,寫入總是會(huì)先出一大段時(shí)間進(jìn)行,因?yàn)樵诔醮巫x的時(shí)候雙口 ram 就為空。由于對(duì)雙口 ram 內(nèi)部數(shù)據(jù)讀寫的動(dòng)作都是在時(shí)鐘的上升沿進(jìn)行的,所以為了保證讀寫地址和數(shù)據(jù)的穩(wěn)定性,在本模塊內(nèi)讀寫指針(地址)的改變都發(fā)生在對(duì)應(yīng)時(shí)鐘的下降沿。由于寫時(shí)鐘比讀時(shí)鐘速度上快很多,為了防止邏輯上的,還固定了寫指針不能和讀指針重疊,必須隔開 2 個(gè)地址(表現(xiàn)結(jié)果為此時(shí) full 會(huì)等于 1,以提示 ram 滿了)。而如果在讀時(shí)出現(xiàn) empty=1 的情況,則會(huì)系統(tǒng)錯(cuò)誤到 slave 內(nèi)的狀態(tài)寄存器(state)中,表現(xiàn)為錯(cuò)誤標(biāo)志為 stat_luint=1,cpu 檢測(cè)到這種錯(cuò)誤時(shí),lcd器應(yīng)

31、該立即 reset 并重新新的幀。152.子模塊端口列表表 6-5-4-A6.5.5 子模塊 Lcd_vtim.v1.子模塊頂層示意圖:16名稱方向位寬功能rclk輸入1讀時(shí)鐘wclk輸入1寫時(shí)鐘srst輸入1resetwreq輸入1寫請(qǐng)求rreq輸入1讀請(qǐng)求d輸入24像素?cái)?shù)據(jù)輸入q輸出24像素?cái)?shù)據(jù)輸出empty輸出1內(nèi)置 memory 為空f(shuō)ull輸出1內(nèi)中 memory 為滿stat_luint輸出1line fifo under run 錯(cuò)誤lcd_vtim.vclkdoneenagatesrst8tsyncLCD屏信號(hào)gateEn d狀態(tài)機(jī)8tgdelsync16tgate16tlen

32、圖 6-5-5-A功能描述實(shí)現(xiàn)時(shí)鐘脈沖 hsync,vsync 的計(jì)數(shù)輸出。以 horizon 為例,計(jì)數(shù)分為 hsync,hdel,hgate,hlen 幾個(gè)階段,每個(gè)階段的時(shí)間值大小htim,hvlen 決定。寄存器這幾個(gè)值的大小實(shí)際上是根據(jù) LCD 屏的時(shí)序要求配置的,如果不知道一個(gè) LCD 屏的時(shí)序要求,可試,如 LA1024,市價(jià)約 1K以在某個(gè)多)應(yīng)用該屏的上面測(cè)出來(lái)(可以使用邏輯分析儀進(jìn)2.子模塊端口列表表 6-5-5-A17名稱方向位寬功能clk輸入1時(shí)鐘信號(hào)ena輸入1狀態(tài)機(jī)運(yùn)行信號(hào)srst輸入1reset 信號(hào)tsync輸入8脈沖波形同步段長(zhǎng)度tgdel輸入8脈沖波形延時(shí)段

33、長(zhǎng)度tgate輸入16脈沖波形像素有效段長(zhǎng)度3.狀態(tài)機(jī)描述:所有 resetidle_stateEnasync_stateEna && cnt_doneEna && cnt_len_donegdel_stateEna && cnt_donegate_stateEna && cnt_donelen_state圖 6-5-5-B6.5.6 子模塊 Lcd_tgen.v1.子模塊頂層示意圖18tlen輸入16脈沖波形總長(zhǎng)度done輸出1脈沖波形總長(zhǎng)度計(jì)數(shù)完成信號(hào)gate輸出1脈沖波形像素有效信號(hào)gateEnd輸出1脈沖波形像素有效段結(jié)束

34、sync輸出1脈沖波形同步段信號(hào)lcd_tgen.vThsynceolThgdelhsync行同步塊模ThgatelendThlen行/幀同步塊協(xié)調(diào)邏輯模TvsynceofTvgdelgateTvgateblank幀同步塊模Tvlenvsynccsync圖 6-5-6-A功能描述:通過(guò)實(shí)例 hor_gen 和 ver_gen 的組合實(shí)現(xiàn)了 gate,hsync,vsync,csync,blank,eol,eof 等信號(hào)的配合輸出。Vertical 的時(shí)鐘計(jì)數(shù)經(jīng)過(guò) Hdone 來(lái)。2.子模塊端口列表表 6-5-6-A198816168816166.5.7 子模塊模型 Generic_spram.

35、v目的:模擬 VENDER FGPA 中同步 sram 的行為,是 clut_mem(地址深度 256,數(shù)據(jù)寬度 24bit), cbuf(游標(biāo)大小:32*32 象素) 的介質(zhì)。與時(shí)鐘同步輸入輸出。操作方法不同于市場(chǎng)上面買的一些沒有時(shí)鐘同步的 sram。6.5.8 子模塊 Lcd_curproc.v1.子模塊頂層示意圖:20名稱方向位寬功能clk輸入1時(shí)鐘信號(hào)clk_ena輸入1狀態(tài)機(jī)運(yùn)行信號(hào)srst輸入1reset 信號(hào)thsync輸入8行脈沖波形同步段長(zhǎng)度thgdel輸入8行脈沖波形延時(shí)段長(zhǎng)度thgate輸入16行脈沖波形像素有效段長(zhǎng)度thlen輸入16行脈沖波形總長(zhǎng)度tvsync輸入8幀

36、脈沖波形同步段長(zhǎng)度tvgdel輸入8幀脈沖波形延時(shí)段長(zhǎng)度tvgate輸入16幀脈沖波形像素有效段長(zhǎng)度tvlen輸入16幀脈沖波形總長(zhǎng)度eol輸出1行(含前/后掃)結(jié)束信號(hào)eof輸出1幀(含前/后掃)結(jié)束信號(hào)gate輸出1像素有效信號(hào)blank輸出1gate 的反相hsync輸出1行脈沖同步信號(hào)vsync輸出1幀脈沖同步信號(hào)csync輸出1復(fù)合脈沖同步信號(hào)lend輸出1行中像素有效部分(不含前/后掃)結(jié)束信號(hào)lcd_curproc.vcursor_wecursor_wd ar9cursor_wd at游標(biāo)buffer cbuf/memor y32ThgateInbox16游標(biāo)buffer 地址生

37、成器信號(hào)生 Tvgate成器1632游標(biāo)坐標(biāo)X,Y行列計(jì)數(shù)器cursor_xy32rgb_fif o_wreq游標(biāo)/圖象像素處理器idat2424rgbidat_wreqcursor_en圖 6-5-8-A功能描述:根據(jù) cursor0_xy 的值實(shí)現(xiàn)對(duì)應(yīng)點(diǎn)(inbox 信號(hào)為 1)的象素替換為相應(yīng)游標(biāo)象素。在inbox 信號(hào)為 1,且 cursor0_en1 的條件下才要替換。內(nèi)置了實(shí)例 cbuf, 用于32*321024 個(gè)象素?cái)?shù)據(jù)。象素?cái)?shù)據(jù)從 lcd_master.v 上直接過(guò)來(lái),目前 cbuf 的數(shù)據(jù)深度為 512,寬度為 32bit,其中每 16bit 代表一個(gè)游標(biāo)象素,在每個(gè) 16

38、bit 內(nèi)還存在該象素是否為 color mode 或者 alpha/transparent mode 的位和對(duì)應(yīng)的數(shù)據(jù)處理方式。如果為 colormode,則其余 15bit 按照 5(3 個(gè) 0) 、5(3 個(gè) 0)、5(3 個(gè) 0)的方法擴(kuò)展為彩色數(shù)據(jù);如果為alpha/transparent mode,則為 black-white scale(r=g=b=低 8bits)顯示或者透明(低 8bit 全為 1,不替21換)顯示。本模塊電路的一個(gè)重要特點(diǎn)是,所有的游標(biāo)數(shù)據(jù)都采用“預(yù)取”的辦法,即將下一個(gè)將要用于替換的游標(biāo)數(shù)據(jù)預(yù)先提取出來(lái)。當(dāng)對(duì)應(yīng)的幀象素是游標(biāo)數(shù)據(jù)時(shí),可以立刻將預(yù)取的游標(biāo)數(shù)據(jù)

39、替換送出。而對(duì)應(yīng)的幀象素也是通過(guò)“預(yù)算”出來(lái)的,即在本模塊內(nèi)增加了 horizonal 和vertical 的計(jì)數(shù)器, 每傳輸過(guò)一個(gè)象素后,相應(yīng)行列 XY 計(jì)數(shù)器遞增 1,就可以根據(jù) cursor_xy 的值預(yù)知下一個(gè)象素是否應(yīng)該被替換,替換標(biāo)識(shí)為 inbox 信號(hào)。2.子模塊端口列表表 6-5-8-A6.5.9 子模塊 Lcd_colproc.v1.子模塊頂層示意圖:22名稱方向位寬功能clk輸入1時(shí)鐘信號(hào)srst輸入1reset 信號(hào)thgate輸入16lcd 屏水平長(zhǎng)度tvgate輸入16lcd 屏垂直高度idat輸入24像素?cái)?shù)據(jù)輸入idat_wreq輸入1像素?cái)?shù)據(jù)寫請(qǐng)求cursor_x

40、y輸入32游標(biāo)在 lcd 屏幕中的 x,y 坐標(biāo)值cursor_en輸入1游標(biāo)cursor_wadr輸入9游標(biāo) memory 地址輸入cursor_wdat輸入32游標(biāo) memory 數(shù)據(jù)輸入cursor_we輸入1游標(biāo) memory 寫請(qǐng)求rgb_fifo_wreq輸出1下一級(jí) fifo 寫請(qǐng)求rgb輸出24像素?cái)?shù)據(jù)輸出lcd_colproc.vwe1_iack1_oadr1_i顏色查找表CLUTdat1_o24dat1_i24acc1_i24查找表值查找表返回值ColorDept h2vdat_buf fer_rreqPseudoCol orrgb_fif o_wreqvdat_buff

41、er_emptyrgb_fifo_ afullLCD器工作模式處理狀態(tài)機(jī)rgb_fifo_ fullrgb24rgb_fifo_nword5vdat_buf fer_q32圖 6-5-9-A功能描述:根據(jù)ctrl_cd1,ctrl_cd0(Color Depth)的值,決的工作模式(有 bw_8bpp, col_8bpp,col_16bpp, col_24bpp, col32_bpp 幾種工作模式),相應(yīng)處理從 data_fifo 過(guò)來(lái)的象素,重點(diǎn)提示:“wire full = rgb_fifo_afull | rgb_fifo_full;”因?yàn)樗紤]了有可能會(huì)在 rgb_fifo 為 ful

42、l 的情況下會(huì)多發(fā)一個(gè)象素過(guò)去,所以要在其為 afull 時(shí)就停止。這些可能性出現(xiàn)的是:lcd_colproc 是在第一個(gè)時(shí)鐘的上升沿?cái)?shù)據(jù),lcd_rgb_fifo 是在第二個(gè)時(shí)鐘的上升沿采樣數(shù)據(jù),這樣相當(dāng)于 colproc的一個(gè)象素會(huì)推遲了一個(gè)周期才會(huì)被采樣,而 rgb_fifo 的 full 信號(hào)也是23。這樣,lcd_colproc 采樣到的 full 信號(hào)很有可能是上一個(gè)周期的推遲了一個(gè)周期才rgb_fifo 狀態(tài),即,上升沿后 colproc 發(fā)現(xiàn)上升沿前 full0,所以上升沿后它理所當(dāng)然的一個(gè)象素過(guò)去,但是實(shí)際上 rgb_fifo 上升沿后亦會(huì)立刻為滿,因此會(huì)多發(fā)一個(gè)數(shù)據(jù)過(guò)去 r

43、gb_fifo 造成。另一個(gè)十分重要的地方是 c_stat 狀態(tài)機(jī)的實(shí)現(xiàn),里面每一個(gè)細(xì)節(jié)都非常關(guān)鍵,所以在理解或修改本模塊前,首先對(duì)該狀態(tài)機(jī)每個(gè)狀態(tài)進(jìn)行全面的理解,以及狀態(tài)之間互相的清楚。(密切?。┒寂€有一個(gè)要注意的地方是關(guān)于實(shí)例 clutproc 的著的下降沿就可以得到新的 clut_q 了。問題,其是在上升沿地址 clut_offs,在緊跟8bpp 模式:象素以 8bit 為,從 vdat_buffer_di 的至低位取;16bpp 模式:象素以 16bit 為,從 vdat_buffer_di 的至低位取; 24bpp 模式:象素的取法按照下列順序進(jìn)行, 第一個(gè)象素內(nèi)容為 R1=di_

44、131:24,G1=di_123:16, B1=di_115:8; 第二個(gè)象素內(nèi)容為 R2=di_17:0, G2=di_231:24, B2=di_223:16;后面的象素依此方法類推,亦是從每次過(guò)來(lái)的 vdat_buffer_di 的至低位取。32bpp 模式:象素取每次過(guò)來(lái)的 vdat_buffer_di 的低 24bit,高 8bit 暫不使用。2.子模塊端口列表表 6-5-9-A6.5.10 子模塊 Lcd_master.v1.子模塊頂層示意圖:24名稱方向位寬功能clk輸入1時(shí)鐘信號(hào)srst輸入1reset 信號(hào)colorDepth輸入2顏色深度(工作模式)選擇pseudoColo

45、r輸入1偽顏色選擇vdat_buffer_q輸入32vdat_buffer 像素?cái)?shù)據(jù)輸入vdat_buffer_empty輸入1vdat_buffer 像素?cái)?shù)據(jù)為空rgb_fifo_afull輸入1rgb_fifo 還差一個(gè)像素就滿rgb_fifo_full輸入1rgb_fifo 滿rgb_fifo_nword輸入5rgb_fifo 當(dāng)前有效像素個(gè)數(shù)acc1_i輸入1CLUT 存取we1_i輸入1CLUT 寫入請(qǐng)求adr1_i輸入8CLUT 地址信號(hào)dat1_i輸入24CLUT 數(shù)據(jù)輸入信號(hào)vdat_buffer_rreq輸出1vdat_buffer 讀請(qǐng)求rgb_fifo_wreq輸出1rg

46、b_fifo 寫請(qǐng)求rgb輸出24像素?cái)?shù)據(jù)輸出dat1_o輸出24CLUT 數(shù)據(jù)輸出信號(hào)lcd_master.vcursor_ wadr9mst接口cursor_ wdat3232硬件游標(biāo)生成CBUF訪問邏輯顯存訪問邏輯器cursor_ wevdat_bu ffer_wr eqVDAT_BU FFER訪問邏輯32ctrl_cd2vdat_bu ffer_d32ctrl_bic igvdat_buff er_nwordctrl_vbs w5stat_v bsintstat_avm pstat_vbs int顯存像素計(jì)數(shù)控制器stat_a vmpstat_sys int16thgatestat_s

47、 ysingtvgate16cursor_ ba3232VBA0cursor_ ldVBA132圖 6-5-10-A功能描述:接收從memory 過(guò)來(lái)的幀或游標(biāo)數(shù)據(jù),至 lcd_data_fifo 或cbuf。該模塊內(nèi)設(shè)立了兩個(gè)顯存的請(qǐng)求信號(hào):vmem_acc 和 cmem_acc。其中vmem_acc 代表視頻數(shù)據(jù)的請(qǐng)求,cmem_acc 代表游標(biāo)數(shù)據(jù)的請(qǐng)求。vmem_acc 具有優(yōu)先級(jí),當(dāng) vmem_acc 為 1 的25情況下,cmem_acc 必定為0!vmem_acc 的觸發(fā)來(lái)源于data_fifo 的狀態(tài)(未滿或半空),而cmem_acc的觸發(fā)出了受vmem_acc 約束外,還來(lái)源于游標(biāo)重載標(biāo)志 tag_cursor_ld,并且tag_cursor_ld 在slave那邊有新的游標(biāo)地址或當(dāng)前游標(biāo)數(shù)據(jù)傳輸完才會(huì)變?yōu)?0。模塊內(nèi)嵌入了 horizon 和vertical 計(jì)數(shù)器,當(dāng)請(qǐng)求有效且顯存過(guò)來(lái)的數(shù)據(jù)有效(ack 信號(hào)為 1, 可選)時(shí)遞增 1。顯存尋址地址的生成取決于 vmem_acc 和 cmem_acc 的狀態(tài)。2.子模塊端口列表表 6-5-10-A26名稱方向位寬功能slave_srst

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論