F4—LVDS接口LCD显示彩图测试-2023-02-25

news2024/11/19 13:33:24

1.简介

        系列文章TFT彩条测试介绍到,屏幕是由厂家提供的TFT显示模组和屏幕PCB背板组成。PCB的作用是提供LCD背光所需的电压、用于屏幕显示的电压、与其他设备相连的排针或者其他连接器形式。当模组支持触摸功能时还可以接上触摸转换或触摸控制芯片,通过SPIIIC等方式向控制端提供触摸信息。液晶屏提供的常见的视频接入口有RGBLVDSVGAHDMIMIP-DSI接口。本文点亮一块LVDS接口的液晶屏介绍LVDS接口时序。

        拿到一块屏幕,在编程之前,应该搞清pin定义,屏幕时序参数,和接口时序三部分内容,在屏幕手册中均可找到。手头的这块板子pin定义如下。搞清每一个管脚的作用,并且根据硬件连接在FPGA工程中为每一个管脚添加约束。该屏幕支持触摸功能(即PCB背板上有触摸控制芯片且屏幕模组支持触摸功能。),但本次开发并未涉及,所以无需关注。

         该屏幕的时序参数如下,这与其他接口的显示参数是一致的,只是没有前沿和后沿的概念,这是因为LVDS接口时序中只有de信号,而没有行场同步信号。而这个de信号是 RGB 时序中才有,对于 VGA 时序是不需要的。

        该屏幕支持RGB888格式的图片,在此模式下,其操作时序如下所示,图中PINC即为屏幕时序参数中的时钟频率转换成差分信号所得,可以看到该时钟占空比为43,参数中为51.2MHz,实操中给50MHz即可。图中的”-”在编程时给0即可。

 

2.RGBLVDSVGAHDMIMIPI DSI接口的区别

        RGB TTL接口信号类型是TTL电平,信号的内容是RGB666或者RGB888还有行场同步和时钟,以及DE信号;LVDS接口信号类型是LVDS信号(低电压差分对),信号的内容是RGB数据和DE信号和时钟,本质是RGB的信号转换成差分串行的数据,不同的屏幕位组合通道组合的方式有所不同;VGA接口与RGB接口信号基本一致,是传统的接口,现在也已基本淘汰。HDMI接口是速度比较快的接口,活跃于生活的各个角落,接口类型丰富,常用的HDMI1.42.02.1,分别支持最高2k60hz4K60hz4K120hz8K60hz),采用TMDS电平标准,本质是RGB接口经过TMDS编码,该过程可以用编码芯片实现,也可通过支持TMDS标准的FPGA实现。另外,HDMI还可作为输入接口应用。MIPI-DSI接口信号类型是LVDS信号,信号的内容是视频流数据和控制指令,是消费类电子中常见的接口,例如手机玩具等。此外MIPI还有用于视频采集的CSI接口,常见于各类CMOS图像传感器中。

3.源代码与实现

工程链接顶层模块Top例化了三个模块,其中clk ip生成各模块所用的时钟,lvds_driver模块完成RGB数据到LVDS数据的转换(满足该屏幕的操作时序),并且对外留下数据同步信号lcd_deRGB数据进入信号,即在lcd_de有效的时候按照像素顺序输入RGB数据即可。Rgb888_data模块是自定义的图片数据源。每秒切换一张图,一共8张不同颜色的图,在实际应用中数据替换即可。

LVDS发送端在LVDS收发实例中介绍了使用serdes原语串并转换的方式,此处使用另外一种方式完成串并转换,在此过程中将数据也重组成符合该屏幕操作时序的序列。

另外上电之后lcd_de信号的生成应该等其他位置就绪之后在进行,这里将原复位信号延时后作为模块的复位信号做到了二者之间先后启动。

4.效果

 

 

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

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

相关文章

Qt 中的XML

XML的基本介绍: 在前端开发中:HTML是用来显示数据,而XML是用来传输和存储数据的 XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而…

超简单的待办事项列表管理器todo

什么是 todo ? todo 是一个自托管的 todo web 应用程序,可让您以简单且最少的方式跟踪您的 todo。📝 老苏觉得和之前介绍的 KissLists 比较像 文章传送门:最简单的共享列表服务器KissLists 官方提供了 Demo 演示站点:https://tod…

零基础的人如何入门 Python ?看完这篇文章你就懂了

第一部分:编程环境准备 零基础入门Python的话我不建议用IDE,IDE叫集成开发环境,这东西一般是专业程序员用来实战开发用的,好处很多,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测…

Android-MVVM之快速上手ViewModel

Android-MVVM之快速上手ViewModel什么是ViewModel?ViewModel生命周期?ViewModel的使用?什么是ViewModel? 简单来说,就是让view层(视图层)与model层(数据层)分离开来的桥梁。让view层展示ui,不持有数据。 Vi…

【2021春节】解题领红包之番外篇

【2021春节】解题领红包之番外篇前言原始代码解题思路flag1寻找flag2的寻找前言 记录下jsfuck的另类,时间都过去两年了,确实有点久远。。。 原始代码 要求找出flag1和flag2值 ([][])[([][[]][])[!![]](!![][][(![][])[[]](![][])[!![]!![]](![][])[!![…

Vue基础入门讲义(二)-语法基础

文章目录1.vue入门案例1.1.HTML模板1.2.vue渲染1.3.双向绑定1.4.事件处理2.Vue实例2.1.创建Vue实例2.2.模板或元素2.3.数据2.4.方法3.生命周期钩子3.1.生命周期3.2.钩子函数3.3.this1.vue入门案例 1.1.HTML模板 在项目目录新建一个HTML文件 01-demo.html 1.2.vue渲染 01-d…

SSM框架-AOP概述、Spring事务

16 spring整合mybatis 16.1 前情代码 实体类 public class Account {private Integer id;private String name;private Double money;public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void …

搭建k8s高可用集群—20230225

文章目录多master(高可用)介绍高可用集群使用技术介绍搭建高可用k8s集群步骤1. 准备环境-系统初始化2. 在所有master节点上部署keepalived3.1 安装相关包3.2 配置master节点3.3 部署haproxy错误解决3. 所有节点安装Docker/kubeadm/kubelet4. 部署Kuberne…

对redis之键值型数据库的理解

键值数据库,首先就要考虑里面可以存什么样的数据,对数据可以做什么样的操作,也就是数据模型和操作接口。它们看似简单,实际上却是我们理解 Redis 经常被用于缓存、秒杀、分布式锁等场景的重要基础。理解了数据模型,你就…

2022年网络安全竞赛——数字取证调查attack.pcapng

攻击日志分析:需求环境可私信博主获取 任务环境说明: 服务器场景:PYsystem0031服务器场景操作系统:未知服务器场景FTP用户名:anonymous 密码:空从靶机服务器的FTP上下载attack.pcapng数据包文件,通过分析数据包attack.pcapng,找出黑客的IP地址,并将黑客的IP地址作为FL…

SPI协议介绍

SPI协议介绍 文章目录SPI协议介绍一、 SPI硬件知识1.1 硬件连线1.2 SPI控制器内部结构二、 SPI协议2.1 传输示例2.2 SPI模式致谢一、 SPI硬件知识 1.1 硬件连线 引脚含义如下: 引脚含义DO(MOSI)Master Output, Slave Input,SPI主控用来发出数据&#x…

逆向之Windows PE结构

写在前面 对于Windows PE文件结构,个人认为还是非常有必要掌握和了解的,不管是在做逆向分析、免杀、病毒分析,脱壳加壳都是有着非常重要的技能。但是PE文件的学习又是一个非常枯燥过程,希望本文可以帮你有一个了解。 PE文件结构…

buu [NCTF2019]babyRSA 1

题目描述: 题目分析: 首先明确两个公式: e*d 1 mod (p-1)(q-1) ed1 e*d - 1 k(p-1)(q-1)想要解出此题,我们必须知道n,而要知道n,我们要知道p和q的值通过 e*d 的计算,我们知道其长度为2066位,而生成p的…

《分布式技术原理与算法解析》学习笔记Day22

哈希与一致性哈希 在分布式系统中,哈希和一致性哈希是数据索引或者数据分布的常见实现方式。 数据分布设计原则 在分布式数据存储系统中,做存储方案选型时,一般会考虑以下因素: 数据均匀数据稳定节点异构性隔离故障域性能稳定…

Delphi Http Https 最好的解决方法(三) LoadLibrary扩展

开发环境: Delphi XE 10.1 Berlin 前提文章: Delphi Http Https 最好的解决方法(二) 目录 1. 项目描述 2. 问题描述 3. 解决方案 3.1 主程序在导入dll方法单元处理(不推荐) 3.2 在dll的工程文件处加入(不推荐) 3.3 在dll的工程文件获取dll(HelpTool.dll)的当前路径(推荐方…

gitlab 安装到项目上传一篇解决

文章目录1.安装1.1创建挂载目录1.2启动1.3 配置gitlab查看docker admin 账户初始密码注册普通用户2.1进入注册2.2创建后通过登录admin审批3.2 步骤13.2 步骤23.3步骤33.4 项目添加成员4 使用成员用户,上传到新建的项目中4.1 复制项目地址4.2使用 git here 克隆项目4.3进入下载目…

读懂分布式事务

一、概述 1.1 什么是分布式事务 事务我们都很熟悉,事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成这组操作的各个单元,要么全部成功,要么全部失败。 事务有四大特性: Atomic&#xf…

rabbitmq安装和thinkphp6简单操作思路

1、安装rabbitmq 2、crontab定时检测rabbtimq状态 2、使用thinphp6.0框架rabbitmq示例,supervisor守护消费者 3、RabbitMQ有四种交换机类型 rabbitmq组成部分如下: Broker:消息队列服务进程,此进程包括两个部分:Exchange和Que…

代码随想录算法训练营day42 |动态规划之背包问题 11.分割等和子集 1049. 最后一块石头的重量 II 494. 目标和

day4211.分割等和子集1.dp数组的含义2.确定递推公式3.dp数组初始化4.确定遍历顺序5.打印dp数组1049. 最后一块石头的重量 II1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组494. 目标和1.确定dp数组以及下标的含义2.确定递推公式3.…

Bootstrap系列之Flex布局

文章目录Bootstrap中的Flexd-flex与d-inline-flex也存在响应式变化flex水平布局flex垂直布局flex水平与垂直也存在响应式变化内容排列(justify-content响应式变化也存在于这里sm,md,lg,xl)子元素对齐方式Align items&a…