LCD 显示--lvds

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:IMX8MP,本专栏记录imx8mp开发板,学习开发过程中的问题及解决方法记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

LCD 显示–lvds

该lcd详细技术文档,请下载:lvds lcd

1.基础知识

1.1 lcd

下图是LCD各个参数对应的位置:

在这里插入图片描述

显示mode 各个参数含义如下:

hdisplay:有效显示区水平像素数量,对应Active Width

hsync_start:水平同步开始,对应hdispay + HFP

hsync_end:水平同步结束,对应hdisplay + HFP + HSYNC width(HPW)

htotal:水平总像素,对应hdisplay + HFP + HSYNC width + HBP

vdisplay:垂直显示像素,对应Active Height

vsync_start:垂直同步开始,对应vdispay + VFP

vsync_end:垂直像素结束,对应vdisplay + VFP + VSYNC width(VPW)

vtotal:垂直总像素,对应vdisplay + VFP + VSYNC width + VBP

vrefresh:刷新率

1.2 lvds

LVDS(Low Voltage Differential Signaling,即低电压差分信号)接口又称RS-644总线接口,是20世纪90年代才提出的一种数据传输和接口技术。
LVDS接口是美国NS美国国家半导体公司为克服以TTL电平方式传输宽带高码率数据时功耗大,电磁干扰大等缺点而研制的一种数字视频信号传输方式。由于其采用低压和低电流驱动方式,因此,实现了低噪声和低功耗。LVDS技术具有低功耗、低误码率、低串扰和低辐射等特点,其传输介质可以是铜质的PCB连线,也可以是平衡电缆。LVDS在对信号完整性、低抖动及共模特性要求较高的系统中得到了越来越广泛的应用,常见于液晶电视中。

2.原理图

在这里插入图片描述

在这里插入图片描述

3.设备数添加

    lvds0_panel {compatible = "boe,ev121wxm-n10-1850";backlight = <&lvds_backlight>;port {panel_lvds_in: endpoint {remote-endpoint = <&lvds_out>;};};};lvds_backlight: lvds_backlight {compatible = "pwm-backlight";pwms = <&pwm2 0 100000 0>;status = "okay";enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;brightness-levels = < 0  1  2  3  4  5  6  7  8  910 11 12 13 14 15 16 17 18 1920 21 22 23 24 25 26 27 28 2930 31 32 33 34 35 36 37 38 3940 41 42 43 44 45 46 47 48 4950 51 52 53 54 55 56 57 58 5960 61 62 63 64 65 66 67 68 6970 71 72 73 74 75 76 77 78 7980 81 82 83 84 85 86 87 88 8990 91 92 93 94 95 96 97 98 99100>;default-brightness-level = <80>;};
&pwm2 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_pwm2>;status = "okay";
};&lcdif2 {status = "okay";
};&ldb {status = "okay";lvds-channel@0 {fsl,data-mapping = "spwg";fsl,data-width = <24>;status = "okay";port@1 {reg = <1>;lvds_out: endpoint {remote-endpoint = <&panel_lvds_in>;};};};
};&ldb_phy {status = "okay";
};&lcdif1 {status = "okay";
};pinctrl_pwm2: pwm2grp {fsl,pins = <MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT   0x116>;};

因为我们的lcd显示屏也是京东方公司的产品,在/drivers/gpu/drm/panel/panel-simple.c文件,搜索boe,会找到一个与我们所使用lcd参数很相似的产品boe,ev121wxm-n10-1850

static const struct drm_display_mode boe_ev121wxm_n10_1850_mode = {.clock = 71143,.hdisplay = 1280,.hsync_start = 1280 + 48,.hsync_end = 1280 + 48 + 32,.htotal = 1280 + 48 + 32 + 80,.vdisplay = 800,.vsync_start = 800 + 3,.vsync_end = 800 + 3 + 6,.vtotal = 800 + 3 + 6 + 14,
};static const struct panel_desc boe_ev121wxm_n10_1850 = {.modes = &boe_ev121wxm_n10_1850_mode,.num_modes = 1,.bpc = 8,.size = {.width = 261,.height = 163,},.delay = {.prepare = 8,.enable = 300,.unprepare = 300,.disable = 60,},.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,.bus_flags = DRM_BUS_FLAG_DE_HIGH,.connector_type = DRM_MODE_CONNECTOR_LVDS,
};

对比一下我们的lcd屏幕参数,会发现几乎差不多,是同个厂家生产的产品,几乎是兼容的,于是我们在设备数中添加compatible = "boe,ev121wxm-n10-1850"与其兼容。

在这里插入图片描述

4.实物图及其接线

lcd屏背面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.实验测试

5.1 启动显示

开机,屏幕显示终端信息:

在这里插入图片描述

在这里插入图片描述

/dev目录下出现fb0

在这里插入图片描述

在/sys/kernel/debug/dri/0目录下有LVDS-1

在这里插入图片描述

5.2 使用modetest工具进行DRM测试

查看DRM驱动名称为imx-drm

root@igkboard:/sys/kernel/debug/dri/0# cat /sys/class/drm/card0/device/uevent
DRIVER=imx-drm
OF_NAME=display-subsystem
OF_FULLNAME=/display-subsystem
OF_COMPATIBLE_0=fsl,imx-display-subsystem
OF_COMPATIBLE_N=1
MODALIAS=of:Ndisplay-subsystemT(null)Cfsl,imx-display-subsystem
  • DRIVER=imx-drm:指示使用的驱动程序是 imx-drm,这是用于i.MX处理器的DRM(Direct Rendering Manager)驱动。
  • OF_NAME=display-subsystem:设备树中的节点名称是 display-subsystem,表示这是显示子系统的一部分。
  • OF_FULLNAME=/display-subsystem:设备树中的完整路径是 /display-subsystem,这是设备在设备树中的位置。
  • OF_COMPATIBLE_0=fsl,imx-display-subsystem:设备的兼容性信息,指示这是适用于Freescale(现在的NXP)i.MX平台的显示子系统。
  • MODALIAS=of:Ndisplay-subsystemT(null)Cfsl,imx-display-subsystem:这是一个模块别名,用于在Linux系统中标识设备和其对应的设备树节点。

查看DRM驱动connectors信息:

Connectors:
id      encoder status          name            size (mm)       modes   encoders
41      40      connected       LVDS-1          261x163         1       40modes:index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot#0 1280x800 60.03 1280 1328 1360 1440 800 803 809 823 71143 flags: ; type: preferredprops:1 EDID:flags: immutable blobblobs:value:2 DPMS:flags: enumenums: On=0 Standby=1 Suspend=2 Off=3value: 05 link-status:flags: enumenums: Good=0 Bad=1value: 06 non-desktop:flags: immutable rangevalues: 0 1value: 04 TILE:flags: immutable blobblobs:value:

连接器信息

显示了连接器的属性和详情:

  • ID 41:
    • 编码器 (encoder): 40
    • 连接状态 (status): 已连接 (connected)
    • 名称 (name): LVDS-1
    • 尺寸 (size): 261 毫米 x 163 毫米
    • 支持的模式 (modes): 1 种
    • 编码器 (encoders): 40

支持的模式

列出了支持的显示模式:

  • 模式 0:
    • 名称: 1280x800
    • 刷新率 (refresh): 60.03 Hz
    • 水平显示参数: 1280 1328 1360 1440
    • 垂直显示参数: 800 803 809 823
    • 总计参数: 71143
    • 属性:
      • EDID: 不可更改的二进制数据块
      • DPMS: 当前状态为 “On” (开启)
      • 连接状态: 连接良好
      • 非桌面显示:
      • TILE: 不可更改的二进制数据块

查看DRM驱动CRTs和plans信息:

root@igkboard:/sys/class/drm/card0/device# modetest -M imx-drm -p
CRTCs:
id      fb      pos     size
36      45      (0,0)   (1280x800)#0 1280x800 60.03 1280 1328 1360 1440 800 803 809 823 71143 flags: ; type: preferredprops:24 VRR_ENABLED:flags: rangevalues: 0 1value: 0
Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
34      36      45      0,0             0,0     0               0x00000002formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15props:8 type:flags: immutable enumenums: Overlay=0 Primary=1 Cursor=2value: 135 zpos:flags: immutable rangevalues: 0 0value: 0

CRTCs (显示控制器管道)

显示了与显示控制器管道相关的信息:

CRTC ID 36

  • 帧缓冲 (fb): 45
  • 位置 (pos): (0,0)
  • 尺寸 (size): (1280x800)

该 CRTC 连接到一个显示设备,显示分辨率为 1280x800。

Planes (平面)

显示了与显示平面相关的信息:

平面 ID 34

  • 关联 CRTC (crtc): 36
  • 帧缓冲 (fb): 45
  • CRTC 坐标 (CRTC x,y): (0,0)
  • 平面坐标 (x,y): (0,0)
  • 伽马大小 (gamma size): 0
  • 可能的 CRTCs: 0x00000002

支持的格式 (formats):

  • XR24, AR24, RG16, XB24, AB24, AR15, XR15

属性 (props):

  • 类型 (type):
    • 不可变枚举类型: 表示平面类型,可能是 Overlay (叠加层)、Primary (主显示)、Cursor (光标)。
    • 值为 1: 表示当前为主显示。
  • zpos:
    • 不可变范围: 表示平面的 Z 轴位置。
    • 值为 0: 表示当前 Z 轴位置为 0。

5.3 花屏显示

modetest -M imx-drm -D 1 -a -s 41@36:1280x800 -P 34@36:1280x800
        -P <plane_id>@<crtc_id>:<w>x<h>[+<x>+<y>][*<scale>][@<format>]  set a plane-s <connector_id>[,<connector_id>][@<crtc_id>]:[#<mode index>]<mode>[-<vrefresh>][@<format>]    set a mode

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙生态应用开发白皮书V3.0

来源&#xff1a;华为&#xff1a; 近期历史回顾&#xff1a;

鸿蒙:this传递参数到子组件中无法实现

this指代当前组件的某个变量&#xff0c;当把这个变量当作参数传递给子组件时&#xff0c;子组件中没有这个变量&#xff0c;属于使用不了这个变量 解决方法&#xff1a;在变量后面加.bind(this)将当前组件的变量一起绑定过去

【6.26更新】Win10 22H2 19045.4598镜像:免费下载!

当前微软已经发布了六月最新的KB5039299更新补丁&#xff0c;用户完成升级后&#xff0c;系统版本号将更新至19045.4598。此次更新解决了任务栏上应用跳转列表失败、可能导致系统无法从休眠状态恢复等多个问题&#xff0c;推荐大家升级。如果您不知道去哪里才能下载到该版本&am…

JavaScript原型对象和对象原型、原型继承、原型链

目录 1. 原型对象和对象原型2. 原型继承3. 原型链 1. 原型对象和对象原型 作用: 以前通过构造函数实例化的对象&#xff0c;每个实例化的对象的属性和方法都是独立的&#xff0c;会造成内存浪费。通过prototype对象原型能实现不同实例化对象共享公用的属性和方法&#xff0c;减…

STM32之四:TIM定时器(1-基本定时器)

目录 1. STM32有哪些定时器 2. 基本定时器 2.1 基本定时器主要功能 2.2 基本定时器的框图 2.2.1 时钟输入 2.2.2 至DAC 2.2.3 至时基单元&#xff08;重点&#xff09; 2.2.4 影子寄存器 2.2.5 基本定时器寄存器说明 2.2.5.1 控制寄存器1&#xff08;TIMx_CR1&#x…

ITK-二值阈值分割

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 什么是二值阈值分割&#xff1f; 二值阈值分割是一种常见的图像处理技术&#xff0c;用于将图像的像素值分成两个类别&#xff1…

【JVM系列】JVM调优

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

AT32F425C8T7 开发笔记

目录 0x00 AT32F425C8T7 引脚矩阵映射关系0x01 AT32_Work_Bench 图形化配置指南0x02 AT32串口打印函数0x03 AT32 串口中断函数0x04 AT32 延时函数 0x00 AT32F425C8T7 引脚矩阵映射关系 详情可见AT32手册 AT32的矩阵映射其实也就是开启端口的复用功能&#xff0c;但是它的功能…

HTML-缓动函数-贝萨尔曲线

缓动函数速查表 (easings.net)-cubic-bezier(.06,.44,.94,.7) ✿ cubic-bezier.com 展示了如何使用easeOutSine函数来实现一个元素的平滑移动动画。这个demo创建了一个按钮&#xff0c;当点击它时&#xff0c;会使页面上的一个元素向右平滑移动。 <!DOCTYPE html> <ht…

计算机组成原理——寄存器

文章目录 1. 寄存器 2. 带寄存器的加法器 3. 时钟信号与计算速度 1. 寄存器 上一篇D触发器可以在时钟上沿存储1位数据。如果想存储多个位&#xff08;bit&#xff09;的数据&#xff0c;就需要用多个D触发器并联实现&#xff0c;这种电路称之为寄存器。 寄存器是计算机中央…

深入模拟版图工程师基础学习:CMOS工艺解析

作为模拟版图工程师&#xff0c;了解CMOS&#xff08;互补金属氧化物半导体&#xff09;工艺是非常重要的&#xff0c;以下是我们需要掌握的基本内容&#xff1a; 1.基础理论&#xff1a;理解CMOS工艺的基本原理和结构&#xff0c;包括NMOS和PMOS晶体管的构造及其工作原理。&a…

适配手机《植物大战僵尸杂交版》最新整合包,附Android、iOS、Windows保姆级教程和工具合集!

最近&#xff0c;新版的《植物大战僵尸杂交版》火爆全网啊&#xff01;许多小伙伴不知道手机和电脑怎样安装设置才能畅玩《杂交版》&#xff0c;所以今天阿星特意为大家准备了一份安装工具集。 里面有安卓、iOS及电脑端的安装包&#xff0c;包含安装视频教程、修改器、防闪退、…

力扣931. 下降路径最小和

Problem: 931. 下降路径最小和 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义状态&#xff1a;我们定义dp[i][j]为从矩阵的第一行到达位置(i, j)的最小下降路径和。 2.初始化状态&#xff1a;对于矩阵的第一行&#xff0c;即i 0时&#xff0c;dp[0][j]就是矩阵的第一…

密码学:对称加密算法、非对称加密算法、哈希算法

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 这一章节我们需…

重生之我要学后端0--HTTP协议和RESTful APIs

http和RESTful APIs HTTP协议RESTful APIs设计RESTful API设计实例 HTTP协议 HTTP&#xff08;超文本传输协议&#xff09;是用于分布式、协作式和超媒体信息系统的应用层协议。它是网页数据通讯的基础。工作原理简述如下&#xff1a; 客户端请求&#xff08;Request&#xf…

【期末速成】计算机操作系统 EP07 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文&#xff1a;☀️☀️☀️2.1 考点十八&#xff1a;管程的概念与特征 一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 回报不在行动之后&#xff0c;回报在行动之中。 本文简介&#xff1a;本人是大二…

vue 组件el-tree添加结构指示线条

效果展示: 注意&#xff1a;组件中需要添加:indent"0" 进行子级缩进处理&#xff0c;否则会出现子级缩进逐级递增 :expand-on-click-node"false" 设置点击箭头图标才会展开或者收起 代码&#xff1a; <el-tree class"tree filter-tree" :da…

张高兴的 MicroPython 入门指南:(一)环境配置、Blink、部署

目录 什么是 MicroPython环境配置 硬件部分软件部分Hello World&#xff01;Blink Pico 的引脚常见电子元件 面包板跳线开关发光二极管电阻使你的 Pico 闪烁部署参考 什么是 MicroPython MicroPython 是一个基于 Python 3.4 的高效实现&#xff0c;它专为微控制器和嵌入式系统设…

Springboot ResourceLoader获取指定package目录下所有的类(get class in jar on Linux)

get class in jar on Linux Springboot ResourceLoader获取指定package目录下所有的类 PathMatchingResourcePatternResolver resolver new PathMatchingResourcePatternResolver();String pattern ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX ClassUtils.convertClas…

“吃饭大学”!中国大学食堂排行TOP10(含西电)

同学们们&#xff0c;考研择校考虑的因素除了学术&#xff0c;地理位置等方面&#xff0c;你们还会考虑哪些因素呢&#xff1f;小研作为一个吃货&#xff0c;必定会考虑的一个因素当然是大学的食堂美食啊~ 那中国超级好吃的大学食堂在哪&#xff1f;一起来看看有没有你的目标院…