欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > LCD 显示--lvds

LCD 显示--lvds

2025/2/22 16:39:59 来源:https://blog.csdn.net/qq_44647100/article/details/140081656  浏览:    关键词: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

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词