99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TFT-LCD電容觸摸屏模塊(RGB接口)驅(qū)動(dòng)時(shí)序設(shè)計(jì)

CHANBAEK ? 來源:杰克拉力船長(zhǎng) ? 作者:杰克拉力船長(zhǎng) ? 2023-05-25 12:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,這里是程序員杰克。一名平平無奇的嵌入式軟件工程師。

上兩篇已經(jīng)總結(jié)和分享了RGB接口TFT-LCD觸摸屏的相關(guān)內(nèi)容。 本篇使用Verilog語言實(shí)現(xiàn)RGB的驅(qū)動(dòng)時(shí)序。

前面描述了很多關(guān)于時(shí)序的內(nèi)容,但其實(shí)在FPGA中實(shí)現(xiàn)RGB接口的LCD屏驅(qū)動(dòng)時(shí)序還是很簡(jiǎn)單的。 只需要實(shí)現(xiàn)行掃描、列掃描的時(shí)鐘周期控制,并且在有效區(qū)域輸出對(duì)應(yīng)像素點(diǎn)的RGB數(shù)據(jù)便可。 實(shí)現(xiàn)控制時(shí)序和測(cè)試驗(yàn)證難度不大,主要還是要在實(shí)際的項(xiàng)目中應(yīng)用,例如:實(shí)時(shí)顯示攝像頭的圖像信息等。 由于文字篇幅原因, 本篇僅對(duì)RGB接口驅(qū)動(dòng)時(shí)序的實(shí)現(xiàn)思想以及Verilog語言代碼進(jìn)行說明。

下面正式進(jìn)入本章推送的內(nèi)容。

01 時(shí)序參數(shù)

常用的TFT-LCD屏(幀率為60Hz)時(shí)序參數(shù)如下圖所示,其中,行同步信號(hào)時(shí)序的單位是時(shí)鐘脈沖,而場(chǎng)同步信號(hào)時(shí)序的單位是行周期。

圖片

對(duì)于驅(qū)動(dòng)時(shí)序而言,最重要的是確定幀率和像素時(shí)鐘,其他參數(shù)由廠商提供。本示例使用的是分辨率為800*480 的4.3寸TFT-LCD屏,使用的幀率為60Hz(每秒60幀圖像),時(shí)序參參數(shù)以及相關(guān)計(jì)算公式如下表所示:

02 時(shí)序?qū)崿F(xiàn)

對(duì)于幀率和分辨率固定的LCD屏幕驅(qū)動(dòng)時(shí)序(RGB接口),有以下特點(diǎn):

  • 圖像輸出的行掃描、列掃描是周期性的邏輯
  • 同步時(shí)序(SYNC)、有效信號(hào)(DE)的脈沖固定

設(shè)計(jì)思路

FPGA設(shè)計(jì)周期性的時(shí)序,可以通過計(jì)數(shù)器來控制,在計(jì)數(shù)器的對(duì)應(yīng)count數(shù)執(zhí)行相對(duì)應(yīng)的邏輯; 對(duì)于邏輯而言,需要考慮的是同步信號(hào)、數(shù)據(jù)有效信號(hào)的范圍脈沖數(shù)、以及掃描周期; 行掃描、列掃描對(duì)應(yīng)的設(shè)計(jì)思路如下(800*480 @60 TFT-LCD屏示例):

時(shí)序 設(shè)計(jì)思路描述
行掃描 設(shè)計(jì)場(chǎng)掃描脈沖計(jì)數(shù)器,對(duì)PCLK脈沖計(jì)數(shù); 計(jì)數(shù)的最大值 = 行掃描周期; 計(jì)數(shù)自增條件為時(shí)鐘脈沖高電平(PCLK); 當(dāng)cnt>H Pulse width時(shí), HSYNC=1,否則為HSYNC=0;
場(chǎng)掃描 設(shè)計(jì)場(chǎng)掃描脈沖計(jì)數(shù)器,對(duì)行掃描周期計(jì)數(shù); 場(chǎng)掃描計(jì)數(shù)最大值 = 場(chǎng)掃描周期; 計(jì)數(shù)自增條件為行掃描周期; 當(dāng)cnt>V Pulsewidth時(shí),VSYNC=1,否則為VSYNC=0;

行掃描時(shí)序?qū)崿F(xiàn)

由于FPGA設(shè)計(jì)計(jì)數(shù)器時(shí),一般從0開始計(jì)數(shù),因此行掃描邏輯控制參數(shù)需要減去1,如下表所示:

邏輯控制參數(shù) 說明 數(shù)值(單位:PCLK)
H_SYNC 行同步持續(xù)時(shí)間 128-1
H_DATA_START 行數(shù)據(jù)開始 216-1
H_DATA_END 行數(shù)據(jù)結(jié)束 1016-1
H_PERIOD 行掃描周期 1055-1

Verilog實(shí)現(xiàn)代碼如下:

parameter  H_SYNC        = 11'd127    ;
parameter  H_DATA_START  = 11'd215    ;
parameter  H_DATA_END    = 11'd1015   ;
parameter  H_PERIOD      = 11'd1055   ;
//行掃描控制時(shí)序
reg  [10:0]  h_cnt;
always @(posedge pclk) begin
  if(rst_n == 1'b0) begin
    h_cnt  <= 11'd0;
  end
  else if(h_cnt == H_PERIOD) begin
    h_cnt  <= 11'd0;
  end
  else begin
    h_cnt  <= h_cnt + 1'b1;
  end
end
assign hsync  = (h_cnt > H_SYNC) ? 1'b1 : 1'b0;
assign h_index = (h_cnt > H_DATA_START) ? (h_cnt - H_DATA_START) : 11'd0;

場(chǎng)掃描時(shí)序?qū)崿F(xiàn)

由于FPGA設(shè)計(jì)計(jì)數(shù)器時(shí),一般從0開始計(jì)數(shù),因此行掃描邏輯控制參數(shù)需要減去1,如下表所示:

參數(shù) 說明 數(shù)值(單位:PCLK)
V_SYNC 行同步持續(xù)時(shí)間 2-1
V_DATA_START 行數(shù)據(jù)開始 216-1
V_DATA_END 行數(shù)據(jù)結(jié)束 1016-1
V_PERIOD 行掃描周期 1055-1

Verilog實(shí)現(xiàn)代碼如下:

parameter  v_SYNC        = 11'd1    ;
parameter  v_DATA_START  = 11'd34   ;
parameter  v_DATA_END    = 11'd514  ;
parameter  v_PERIOD      = 11'd524  ;
//場(chǎng)掃描控制時(shí)序
reg  [10:0]  v_cnt;
always @(posedge pclk) begin
  if(rst_n == 1'b0) begin
    v_cnt  <= 11'd0;
  end
  else if(v_cnt == v_PERIOD) begin
    v_cnt  <= 11'd0;
  end
  else if(h_cnt == H_PERIOD) begin
    v_cnt  <= v_cnt + 1'b1;
  end
  else begin
    v_cnt  <= v_cnt;
  end
end
assign vsync  = (v_cnt > v_SYNC) ? 1'b1 : 1'b0;
assign v_index  = (v_cnt > v_DATA_START) ? (v_cnt - v_DATA_START) : 11'd0;

完整Verilog代碼如下:

module parallel_rgb_control
#
(
  parameter  H_SYNC        = 11'd127   ,
  parameter  H_DATA_START  = 11'd215   ,
  parameter  H_DATA_END    = 11'd1015  ,
  parameter  H_PERIOD      = 11'd1055  ,


  parameter  v_SYNC        = 11'd1    ,
  parameter  v_DATA_START  = 11'd34   ,
  parameter  v_DATA_END    = 11'd514  ,
  parameter  v_PERIOD      = 11'd524  
)
(
  input    wire        pclk    ,
  input    wire        rst_n    ,

  output  wire          hsync    ,
  output  wire  [10:0]  h_index  ,

  output  wire          vsync    ,
  output  wire  [10:0]  v_index  ,

  output  wire        de      
);


//行掃描控制時(shí)序
reg  [10:0]  h_cnt;
always @(posedge pclk) begin
  if(rst_n == 1'b0) begin
    h_cnt  <= 11'd0;
  end
  else if(h_cnt == H_PERIOD) begin
    h_cnt  <= 11'd0;
  end
  else begin
    h_cnt  <= h_cnt + 1'b1;
  end
end
assign hsync  = (h_cnt > H_SYNC) ? 1'b1 : 1'b0;
assign h_index = (h_cnt > H_DATA_START) ? (h_cnt - H_DATA_START) : 11'd0;


//場(chǎng)掃描控制時(shí)序
reg  [10:0]  v_cnt;
always @(posedge pclk) begin
  if(rst_n == 1'b0) begin
    v_cnt  <= 11'd0;
  end
  else if(v_cnt == v_PERIOD) begin
    v_cnt  <= 11'd0;
  end
  else if(h_cnt == H_PERIOD) begin
    v_cnt  <= v_cnt + 1'b1;
  end
  else begin
    v_cnt  <= v_cnt;
  end
end
assign vsync  = (v_cnt > v_SYNC) ? 1'b1 : 1'b0;
assign v_index  = (v_cnt > v_DATA_START) ? (v_cnt - v_DATA_START) : 11'd0;
assign de = ( (h_cnt >= H_DATA_START) && (h_cnt < H_DATA_END) ) && ( (v_cnt >= v_DATA_START) && (v_cnt < v_DATA_END) );
endmodule

05 文章總結(jié)

對(duì)于RGB接口的TFT-LCD屏的時(shí)序驅(qū)動(dòng)代碼還是較為簡(jiǎn)單的。 使用文字描述實(shí)際的應(yīng)用并且讓人容易理解,還是很困難的。 基于此,本篇僅僅只是分享了RGB接口周期時(shí)序的實(shí)現(xiàn),對(duì)于具體的數(shù)據(jù)輸出顯示的應(yīng)用并未說明。 倘若有兄弟想了解實(shí)際應(yīng)用,可以添加杰克的微信號(hào)來交流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4520

    瀏覽量

    171647
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153782
  • 觸摸屏
    +關(guān)注

    關(guān)注

    42

    文章

    2387

    瀏覽量

    118583
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    807

    瀏覽量

    59955
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    398

    瀏覽量

    37971
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    怎樣通過STM32的普通IO口模擬8080總線來控制TFT-LCD的顯示

    我們通過STM32的普通IO口模擬8080總線來控制TFT-LCD的顯示。我們使用的是正點(diǎn)原子的2.8寸ALIENTEK TFT-LCD模塊, 16位真彩顯示,自帶觸摸屏,可以用來作為
    發(fā)表于 12-09 07:57

    TFT-LCD的8080并口時(shí)序簡(jiǎn)析

    隨言:TFT-LCD的8080并口時(shí)序可以與ST的FSMC總線上操作SRAM的時(shí)序類似。故把TFT-LCD掛在SRAM上就能想操作SRAM一樣操作T
    發(fā)表于 01-17 06:08

    TFT-lcd液晶接口類型之ttl接口相關(guān)資料分享

    顯示,也就是常說的液晶;tft是英文“Thin Film Transistor”,表示薄膜場(chǎng)效應(yīng)晶體管。TFT-LCD實(shí)際上是一組件,即液晶組件,主要由液晶面板、背光源、均光膜、行
    發(fā)表于 03-01 07:14

    TFT-LCD驅(qū)動(dòng)IC設(shè)計(jì)

    TFT-LCD驅(qū)動(dòng)IC設(shè)計(jì) Introduction to Liquid-Crystal Display
    發(fā)表于 10-16 13:22 ?104次下載
    <b class='flag-5'>TFT-LCD</b><b class='flag-5'>驅(qū)動(dòng)</b>IC設(shè)計(jì)

    S3C2440A 驅(qū)動(dòng)RGB 接口TFT LCD的研究

    S3C2440A 驅(qū)動(dòng)RGB 接口TFT LCD 的研究:隨著科技的進(jìn)步,TFT
    發(fā)表于 03-18 17:51 ?42次下載

    TFT-LCD系統(tǒng)時(shí)序控制模塊的設(shè)計(jì)

    TFT-LCD系統(tǒng)時(shí)序控制模塊的設(shè)計(jì) 摘要:說明時(shí)序控制模塊LCD系統(tǒng)中其它子
    發(fā)表于 01-16 09:54 ?4963次閱讀
    <b class='flag-5'>TFT-LCD</b>系統(tǒng)<b class='flag-5'>時(shí)序</b>控制<b class='flag-5'>模塊</b>的設(shè)計(jì)

    LCD控制及觸摸屏接口設(shè)計(jì)

    觸摸屏作為一種特殊的計(jì)算機(jī)外設(shè), 是目前最自然、便利的一種人機(jī)交互方式。提出了一種用8位單片機(jī)控制16位帶觸摸屏LCD的設(shè)計(jì)方法。TFT- LCD
    發(fā)表于 05-02 11:08 ?8021次閱讀
    <b class='flag-5'>LCD</b>控制及<b class='flag-5'>觸摸屏</b><b class='flag-5'>接口</b>設(shè)計(jì)

    微雪電子7寸電容觸摸彩色LCD顯示模塊簡(jiǎn)介

    7寸電容觸摸屏 TFT 1024×600分辨率 RGB/LVDS接口 LED背光 RGB/
    的頭像 發(fā)表于 01-06 10:43 ?1964次閱讀

    微雪電子7寸 電容觸摸 彩色 LCD 顯示模塊簡(jiǎn)介

    7寸電容觸摸屏 TFT 800×480分辨率 RGB接口 LED背光 24-bit并行接口
    的頭像 發(fā)表于 01-06 11:36 ?2895次閱讀
    微雪電子7寸 <b class='flag-5'>電容</b><b class='flag-5'>觸摸</b> 彩色 <b class='flag-5'>LCD</b> 顯示<b class='flag-5'>模塊</b>簡(jiǎn)介

    微雪電子10.1寸 電容觸摸 彩色 LCD 顯示模塊簡(jiǎn)介

    10.1寸電容觸摸屏 RGB/LVDS接口 1024×600分辨率 LED背光 TFT顯示
    的頭像 發(fā)表于 01-06 11:13 ?2929次閱讀

    ATK-7 TFT LCD電容觸摸屏模塊測(cè)試實(shí)驗(yàn)的工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ATK-7 TFT LCD電容觸摸屏模塊測(cè)試實(shí)驗(yàn)的工程文件免費(fèi)下載。
    發(fā)表于 03-19 10:26 ?16次下載

    如何使用STM32 HAL庫驅(qū)動(dòng)TFT-LCD實(shí)現(xiàn)手畫板功能

    我們通過STM32的普通IO口模擬8080總線來控制TFT-LCD的顯示。我們使用的是正點(diǎn)原子的2.8寸ALIENTEK TFT-LCD模塊, 16位真彩顯示,自帶觸摸屏,可以用來作為
    發(fā)表于 11-26 13:51 ?14次下載
    如何使用STM32 HAL庫<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>TFT-LCD</b>實(shí)現(xiàn)手畫板功能

    LCD電容觸摸屏的三種觸摸技術(shù)In-Cell/On-Cell/OGS

    相信了解過TFT LCD觸摸顯示的朋友們一定都聽說過In-Cell/ On-Cell/ OGS電容
    的頭像 發(fā)表于 04-28 15:14 ?6988次閱讀
    <b class='flag-5'>LCD</b><b class='flag-5'>電容</b><b class='flag-5'>觸摸屏</b>的三種<b class='flag-5'>觸摸</b>技術(shù)In-Cell/On-Cell/OGS

    TFT-LCD電容觸摸屏模塊(RGB接口)時(shí)序描述

    上篇推文主要是介紹TFT-LCD觸摸屏模塊(RGB接口)的組成以及相關(guān)接口的描述,本篇開始對(duì)
    的頭像 發(fā)表于 05-25 12:47 ?1.8w次閱讀
    <b class='flag-5'>TFT-LCD</b><b class='flag-5'>電容</b><b class='flag-5'>觸摸屏</b><b class='flag-5'>模塊</b>(<b class='flag-5'>RGB</b><b class='flag-5'>接口</b>)<b class='flag-5'>時(shí)序</b>描述

    LCD | TFT LCD 觸摸屏的選擇

    具有觸摸功能的TFT LCD顯示操作簡(jiǎn)單,被廣泛應(yīng)用在各個(gè)領(lǐng)域。觸摸屏技術(shù)有5種類型,他們具有優(yōu)點(diǎn)和局限性,領(lǐng)域成本,圖像質(zhì)量,
    的頭像 發(fā)表于 10-13 16:57 ?3153次閱讀
    <b class='flag-5'>LCD</b> | <b class='flag-5'>TFT</b> <b class='flag-5'>LCD</b> <b class='flag-5'>觸摸屏</b>的選擇