首页 > 其他分享 >28 液晶屏7寸LCD显示测试

28 液晶屏7寸LCD显示测试

时间:2023-12-29 17:46:03浏览次数:35  
标签:vid 28 RGB 液晶屏 电源 接口 LCD lcd

软件版本:VIVADO2021.1

操作系统:WIN10 64bit

硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA

登录米联客(MiLianKe)FPGA社区-www.uisrc.com观看免费视频课程、在线答疑解惑!

1 概述

前文中,我们已经实现了HDMI输出实验,米联客的HDMI输出采用了FPGA实现了HDMI输出协议,直接驱动了HDMI接口的液晶屏。我们可以把HDMI输出IP看作一个黑盒子,黑盒子的接口是RGB输入接口,输出是HDMI接口输出。不管是HDMI接口,或者是VGA接口,亦或是RGB接口等等...关键的是让程序正确输出RGB时序。对于本文中使用的液晶屏,可以通过RGB接口直接驱动液晶屏,也可以通过LVDS驱动液晶屏,如果使用LVDS接口,也是首先要正确输出RGB的驱动时序。

米联客的液晶屏同时支持RGB接口和LVDS接口,RGB接口是3.3V IO,LVDS接口支持标准的LVDS和LVDS25。用户在使用液晶屏的时候一定要根据开发板支持的电平选择对应的驱动接口,以免损坏液晶屏或者开发板。

液晶屏参数:

型号

VCLD-7TH

液晶显示屏型号

T HC63LVDM83D

液晶分辨率

1024*600

液晶屏幕比例

4:3

液晶驱动接口

RGB/VGA

触摸芯片型号

GP915

支持触点数量

5

支持最大分辨率

1024*600

2 LCD液晶屏参数

以上参数中液晶屏支持分辨率为1024*600,使用的接口是LVDS接口。我们做的液晶屏产品增加的RGB转LVDS芯片所以也支持RGB接口驱动液晶屏,对于一些新手来说,RGB接口更加方便,而且RGB是3.3V的接口。

3 LCD液晶屏驱动时序

本实验以8bit LVDS 方式工作,下图中给出了6bit和8bit的工作时序,FPGA程序设计需要满足以下时序。另外注意,时钟的占空比,高电平:低电平=4:3

4 LCD液晶屏接口

RGB接口定义

引脚号

标识

描述

类型

1

CTP_INT

触摸中断

输出

2

CTP_RST

触摸复位

输入

3

CTP_SDA

I2C数据脚

输入/输出

4

CTP_SCL

I2C时钟脚

输出入

5

GND

电源地

电源

6

PWM

PWM调光

输入

7

DE

数据有效

输入

8

VSYNC

场同步

输入

9

HSYNC

行同步

输入

10

BL-EN

背光使能

输入

11

PCLK

像素时钟

输入

12

GND

电源地

电源

13~20

B0~B7

数据

输入

21~28

G0~G7

数据

输入

29~36

R0~R7

数据

输入

37

VDD

电源3.3V

电源

38

GND

电源地

电源

39

BL_VDD

电源5V

电源

40

BL_VDD

电源5V

电源

 

LVDS接口定义

引脚号

标识

 

类型

1~3

BL-5V

电源5V

电源

4

NC

悬空

 

5

BL-EN

背光使能

输入

6

PWM

PWM调光

输入

7

NC

悬空

 

8~10

BL-GND

电源地

电源

11

GND

电源地

电源

12

CTP_INT

触摸中断

输出

13

CTP_RST

触摸复位

输入

14

CTP_SCL

I2C时钟脚

输入

15

CTP_SDA

I2C数据脚

输入/输出

16

GND

电源地

电源

17~18

NC

悬空

 

19

GND

电源地

电源

20/21

RXIN3+/ RXIN3-

差分数据

输入

22

GND

电源地

电源

23/24

RXCLKIN+/ RXCLKIN -

差分时钟

输入

25

GND

电源地

电源

26/27

RXIN2+/ RXIN2-

差分数据

输入

28

GND

电源地

电源

29/30

RXIN1+/ RXIN1-

差分数据

输入

31

GND

电源地

电源

32/33

RXIN0+/ RXIN0-

差分数据

输入

34~36

GND

电源地

电源

37~39

VDD

电源3.3V

电源

40

NC

悬空

 

5 硬件电路分析

硬件接口和子卡模块请阅读"附录 1"

配套工程的 FPGA PIN 脚定义路径为 fpga_prj/uisrc/04_pin/ fpga_pin.xdc。

6 系统框图

7 RGB接口显示程序

默认液晶屏是直接支持LVDS信号驱动,而不支持RGB驱动,所以如果从省硬件IO资源以及省成本角度,LVDS成本更低。但是LVDS对于FPGA支持有要求,XILINX 的FPGA支持LVDS25和标准LVDS。而一般的开发板IO电平为3.3V所以一般情况下,开发板默认不能支持LVDS输出。米联客的开发板如果支持3.3V默认输出的,需要修改核心板的ADJ电阻实现2.5V或者1.8V输出,修改后就可以使用LVDS驱动液晶屏。用户选购板卡使用液晶的时候需要清楚知道自己的IO电平。

/*************LCD 视频输出测试*************

--版本号1.1

--使用VTC产生视频时序

--使用TPG产生测试图像数据

*********************************************************************/

`timescale 1 ps / 1 ps

 

module display(

input   I_sysclk,//系统时钟输入

output  O_lcd_pwm,//背光PWM

output  O_lcd_pclk,

output  [7:3] O_lcd_r,

output  [7:2] O_lcd_g,

output  [7:3] O_lcd_b,

output  O_lcd_hs,

output  O_lcd_vs,

output  O_lcd_de,

output  O_card_power_en

);

 

wire vid_rst,vid_clk,vid_vs,vid_hs,vid_de;

 

assign O_card_power_en   = 1'b1;//子卡上电

assign O_lcd_pwm  = 1'b1;//设置背光PWM,设置1背光全开

assign O_lcd_pclk = vid_clk;

 

//MMCM/PLL 时钟模块

clk_wiz_0  u_clk(.clk_in1(I_sysclk),.clk_out1(vid_clk),.locked(vid_rst));

 

//例化uivtc VTC 产生视频时序,液晶屏分辨率1024*600

uivtc#

(

.H_ActiveSize(1024), //视频时间参数,行视频信号,一行有效(需要显示的部分)像素所占的时钟数,一个时钟对应一个有效像素

.H_FrameSize(1344), //视频时间参数,行视频信号,一行视频信号总计占用的时钟数

.H_SyncStart(1048), //视频时间参数,行同步开始,即多少时钟数后开始产生行同步信号

.H_SyncEnd(1184), //视频时间参数,行同步结束,即多少时钟数后停止产生行同步信号,之后就是行有效数据部分

.V_ActiveSize(600), //视频时间参数,场视频信号,一帧图像所占用的有效(需要显示的部分)行数量,通常说的视频分辨率即H_ActiveSize*V_ActiveSize

.V_FrameSize(628), //视频时间参数,场视频信号,一帧视频信号总计占用的行数量

.V_SyncStart(601), //视频时间参数,场同步开始,即多少行数后开始产生场同步信号

.V_SyncEnd (602) //视频时间参数,场同步结束,即多少行数后停止产生场同步信号,之后就是场有效数据部分

)

uivtc_inst

(

.I_vtc_rstn(vid_rst),//系统时钟,像素时钟

.I_vtc_clk(vid_clk),//系统复位

.O_vtc_vs(vid_vs),//场同步输出

.O_vtc_hs(vid_hs),//行同步输出

.O_vtc_de_valid(vid_de) //视频数据有效

);

 

//例化TPG 产生测试视频数据

uitpg uitpg_inst    

(

.I_tpg_rstn(vid_rst),//系统复位

.I_tpg_clk(vid_clk),//系统时钟,像素时钟

.I_tpg_vs(vid_vs),//场同步输入

.I_tpg_hs(vid_hs),//行同步输入

.I_tpg_de(vid_de),//视频数据有效

.O_tpg_vs(O_lcd_vs),//场同步输出

.O_tpg_hs(O_lcd_hs),//行同步输出

.O_tpg_de(O_lcd_de),    

.O_tpg_data({{O_lcd_r,3'd0},{O_lcd_g,2'd0},{O_lcd_b,3'd0}}) //测试图像数据输出  

);

 

endmodule

 

8 硬件连线

(该教程为通用型教程,教程中仅展示一款示例开发板的连接方式,具体连接方式以所购买的开发板型号以及结合配套代码管脚约束为准。)

我们使用米联客3.3V BASE子卡,接口使用的是我们液晶屏的RGB口。下图是RGB接线方式。请确保下载器和开发板已经正确连接,并且开发板已经上电。(注意JTAG端子不支持热插拔,而USB接口支持,所以在不通电的情况下接通好JTAG后,再插入USB到电脑,之后再上电,以免造成JTAG IO损坏)

7寸液晶屏的接口使用的是RGB接口

9 测试结果

标签:vid,28,RGB,液晶屏,电源,接口,LCD,lcd
From: https://www.cnblogs.com/milianke/p/17935407.html

相关文章

  • 【力扣】-28. 找出字符串中第一个匹配项的下标|刷题打卡-JS
    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。......
  • OI练习记录 - 28/12/2023
    悲报:Div4打寄了......
  • 28.headless无头浏览器使用
    seleniumoption常用操作目录 Options概述添加启动配置Options概述 是一个配置浏览器启动的选项类,用于自定义和配置Driver会话常见使用场景:设置无头模式:不会显示调用浏览器,避免人为干扰的问题。设置调试模式:调试自动化测试代码(浏览器复用)https://......
  • Adobe Illustrator 2024 v28.1 (macOS, Windows) - 矢量绘图
    AdobeIllustrator2024v28.1(macOS,Windows)-矢量绘图Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD作者主页:sys......
  • 12.28阅读笔记《软件需求分析》
    管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用。客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,......
  • 20231228
    年末越来越近了,我的心也越来越沉重了。今天晚上ml把我们去年写的「给明年的自己的信」发给我们了,我好像是最后一个得到的(不过有些人都没得到?),说实话要不是ml要搞这个活动我都已经忘记了。看了一下,我给自己写的是:省流:不要摆烂不能摆烂!不能摆烂!绝对不能摆烂!不可能摆烂!别......
  • 每日总结12.28
    今天上午的软件需求分析课上老师讲了未来软件工程师的就业规划下午继续去完成绩效考核的系统原型职业发展路线参考——软件技术特点:善于独立思考,做事谨慎细致,热衷于专研技术及其创新,对新技术敏感,技术涉面广。属专业技术人才。准备:努力专研技术,紧跟行业动向,深入研究,掌握精髓,做到......
  • 2023.12.28——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.ERP明日计划:学习......
  • Solution Set【2023.12.28】
    [NOI2015]品酒大会若建出后缀树,我们可以发现,产生贡献的是每个点对。考虑在其最近公共祖先处统计答案。因此对于每个点,我们需要统计其子树中每个权值的最大值和最小值,以及子树大小即可解出答案。使用后缀自动机建出后缀树,然后统计即可。Code#include<bits/stdc++.h>typed......
  • JAVA学习12-28 数据类型
    数据类型学习publicclassDemo01{publicstaticvoidmain(String[]args){//单行注释/*多行注释*//*不能用关键字来做标识符*//*标识符可以大写字母,小写字母,美元符号,下划线_开头,不能以关键字作为变量名或方法名,-......