rgb 接口lcd 驱动调试

lcd 控制器的模式配置

  1. 接口配置
    soc lcd controller 一般都支持多种的 Lcd 接口, 如 dumb LCD panel (rgb ) , smart LCD panel , mipi ,lvds , 等等 ,rgb 接口对应的就是 dumbpanel 模式,
  2. rgb 接口还需要配置数据线个数 ,如 24 ,18 16 ,8 等 ,
  3. linux framebuffer 的单点数据格式, 以及rgb 的顺序。

rgb 接口 时序

lcd 的时序是lcd 能否正常显示的关键 ,由 hsync vsysnc de pclk 来控制lcd的 刷新频率和时序,需要配置的时序如下
hbp ,hfp vfp,vbp hspw ,vspw,hactive,vactive;
pclk :一个pclk 传送一个像素的数据
所以
一行的freq : pclk_freq/ (hbp+hfp+hspw+hactive)

frame_rate = pclk_freq /((hbp+hfp+hspw+hactive)*(vfp+vbp+vspw+vactive)

VSPW:帧同步信号的脉宽,单位为1行(Line)的时间。即行同步信号的个数

VFPD: 帧同步信号的前肩,单位为1行(Line)的时间。如上

VBPD: 帧同步信号的后肩,单位为1行(Line)的时间。如上

LINEVAL :帧显示尺寸-1,即屏行宽-1,对于800*480分配率的LCD屏,那么LINEVAL=480-1=479,请记住,是屏行宽,也就是LCD屏显示一帧数据所需要的行的数目。
HBPD:行同步信号的后肩,单位为1pCLK的时间。

HFPD:行同步信号的前肩,单位为1pCLK的时间。

HSPW:行同步信号的脉宽,单位为1pCLK的时间。
hactive,vactive 分别为为行有效像素,和一帧的有效行个数。即屏的分辨率的宽

有些控制器还可以配置 vsync 同步信号的脉宽上下沿的建立时序(以clk 周期为单位)

在这里插入图片描述

dma 配置

lcd控制器会根据上面说的帧率(也就是刷新率)从某个地址搬运一帧数据刷到lcd 的rgb输出信号上,因此至少需要配置数据起始地址和大小。有些控制器可以采用Pingpongbuffer,那就需要配置两个地址。

lcd 调试要点

  1. lcd 白屏的几种可能 ,
    1.初始化未成功(对于有些需要通过spi 初始化的lcd 来说);2 .lcd rgb 时序问题也有可能造成白屏问题。

  2. rgb时序需要和屏的初始化参数一致,lcd 时序盲目照搬参考的时序不可取,因为不同平台clk 时钟频率一般无法做到一模一样。最好可以写一个动态遍历不同时序(参考lcd 规格书上的时序有限范围)的测试程序,来找到适配的时序。

  3. 时钟频率要设对, 太快,LCD反应不过来,显示不了,太慢也不合适,这个范围可以根据你的刷新率需求和lcd 的规格书(一般会有一个最少响应周期)来确定

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,我无法提供完整的代码,但我可以提供一些参考和提示。 首先,要使用stm32f103rct6驱动LCD屏NT35310,你需要了解NT35310的通信协议和STM32的外设。NT35310是一种常用的TFT LCD控制器,具有SPI接口RGB接口。在使用STM32驱动NT35310时,我们通常使用SPI接口进行通信。 以下是一些可能有用的提示: 1. 确定STM32的外设:STM32有几个内置的SPI外设,你可以选择其中一个来驱动NT35310。你需要了解外设的寄存器映射和使用方法,以便正确配置和控制SPI通信。 2. 配置SPI通信:你需要配置SPI接口的时钟、模式、数据位数等参数,以便与NT35310进行通信。通常情况下,NT35310的SPI接口使用CPOL=0,CPHA=0,数据位数为8位。 3. 编写NT35310控制代码:NT35310有许多寄存器,你需要编写代码来读取和写入这些寄存器,以便正确控制LCD屏的显示。具体来说,你需要编写代码来初始化NT35310、设置显示模式、设置像素颜色等。 4. 调试和测试:在编写完代码后,你需要进行调试和测试,以确保代码能够正确地驱动LCD屏。你可以使用示波器或逻辑分析仪来监视SPI通信,以帮助确定问题。 请注意,这只是一个大概的指南,并不是完整的代码。在实际编写代码时,你需要根据具体的硬件和软件环境进行适当的修改和调整。如果你有更具体的问题,可以提出来,我会尽力提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值