FPGA驱动LCD显示红绿蓝彩条
实验目的:先简单熟悉LCD灯的驱动和时序图的代码实现。设计功能是让LCD显示红绿蓝三种颜色,即三个彩带。本次实验比较容易实现,主要是对LCD驱动时序图的理解和时序参数的配置。
实验条件:1.LCD原理图2020-12-17-HXH_ESP32_E1。
2.所用开发板用户手册:GW1NSR-LV4CQN48PC7I6_V1.1开发板用户手册
3.LCD的数据手册:SC7283(确定LCD驱动设计的引脚和时序控制)
注释:第一项和第二项结合是为了,分配LCD和FPGA的引脚。一般用PDF软件Adobe Acrobat DC进行查找引脚编号,再粘贴复制找到引脚的位置,在用一个EXCEL表格记下引脚名字,引脚的位置或编号,引脚的电压类型(LVCMOS33或LVCMOS18等)
实验原理:
LCD的分辨率为480RGB * 272 ,理解为有480列和272行,分别对应行同步计数器h_cnt 和场同步计数器v_cnt ,LCD有三种模式,SYNC, SYNC-DE and DE mode,本次选用的是第二种,和VGA的驱动很相似,先是行同步信号HSYNC,然后是场同步信号VSYNC(行同步信号(一个像素点)可以理解为把一行的所有列扫描完则就是场同步信号,即场同步信号比行同步信号大。)再是有效区域DE。由于对于行同步信号或者场同步信号的时许控制来讲,都是由行同步信号或场同步信号周期,前沿,有效区域,后沿等四个部分参数组成
时许图如下:
下图红框的是LCD分辨率为480RGB * 272时,对应时序图中的配置参数。
三 代码设计:
本设计代码分成两部分,一是顶层模块,二是LCD驱动控制模块。
1.LCD顶层模块:
module lcd_top# //////// RGB /////////////////// ////////////// 延时复位 /////////// wire FPGA_RST_N; LCD_CTRL # ,.lcd_A_vs(fv) ,.lcd_A_clk(pixclk) endmodule |
2.LCD驱动模块
module LCD_CTRL # ,parameter H_FRONT_PORCH = 8 ,parameter H_ACTIVE = 480 ,output lcd_A_vs always @ (posedge clk_9m or negedge rst_n) begin //------------------------VSYNC的时间计数 begin always @ (posedge clk_9m or negedge rst_n) begin //------------------------生成VSYNC信号 begin //------------------------生成HSYNC信号 begin //------------------------生成DE信号 begin //------------------------把控制信号和FIFO读取的数据进行同步 begin always @ (posedge clk_9m or negedge rst_n) begin //------------------------将同步后的RGB数据按照协议进行映射输出 begin always @ (posedge clk_9m or negedge rst_n) begin //显示彩条红绿蓝 assign lcd_A_rgb = lcd_rgb1_d;//16'hf0;// assign lcd_A_vs = vsync_r; endmodule |
四实验中的问题:
注意1:今天出现了FPGA设计软件布局布线时提示引脚错误,说这几个引脚已经有专用引脚了。其实,是同一个引脚复用,即LCD_PIXCLK,PIXDATA[16], PIXDATA[23],DE,LV引脚提示和MSPI引脚冲突,最后通过钩选引脚复用解决,如下所示:
注意2:实验现象即开发板只亮了一半,开发板分辨率:480*272,马上想到是行或列的参数错误。
parameter ROW_NUM = 480
,parameter COL_NUM = 272(H_ACTIVE),即列对应行同步信号。列应该是480=COL_NUM ,行是对应着场同步信号,即行是272=ROW_NUM
五下板实验效果
FPGA驱动LCD显示红绿蓝彩条的更多相关文章
- 阶段小项目1:循环间隔1秒lcd显示红绿蓝
#include<stdlib.h>#include<stdio.h>#include<string.h>#include<error.h>#inclu ...
- FPGA驱动VGA显示静态图片
一 .前言 本文设计思想采用明德扬至简设计法.VGA是最常见的视频显示接口,时序也较为简单.本文从利用显示屏通过VGA方式显示测试图案及静态图片着手带大家接触图像显示应用,算是为后续VGA显示摄像头采 ...
- 基于FPGA驱动VGA显示图片的小问题
学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那 ...
- Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调—Jaosn niu
#!/usr/bin/python # coding:utf-8 from PIL import Image, ImageDraw from HierarchicalClustering import ...
- [LeetCode] Similar RGB Color 相似的红绿蓝颜色
In the following, every capital letter represents some hexadecimal digit from 0 to f. The red-green- ...
- [LeetCode] 800. Similar RGB Color 相似的红绿蓝颜色
In the following, every capital letter represents some hexadecimal digit from 0 to f. The red-green- ...
- 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...
- MSP430常见问题之LCD 显示驱动类
Q1:晶体一般都是接32768,然后使用液晶很正常.我打算将晶体接6M的替换32768,那么液晶还能正常显示吗A1:看你所用的LCM 模块时序极限是多少HZ,然后看6M情况下,MSP430去驱动LCM ...
- linux驱动开发:用户空间操作LCD显示简单的图片【转】
转自:http://blog.csdn.net/changliang7731/article/details/53074616 上一章我们简单介绍了LCD的一些基本原理.当然更深奥的还有,比如gamm ...
随机推荐
- Nginx-反向代理服务器
概述 Nginx是一款轻量级的Web服务器.反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用. 优点 nginx是多进程的,不会出现并发问题,不用加锁.一个进程出问题 ...
- 一、Java 特性和运行机制
目录 Java 特性和优势 Java应用程序的运行机制 JVM.JRE和JDK Java 特性和优势 跨平台/可移植性 核心优势.比如:Java的int型永远是32位,C++(16,32). 安全性 ...
- 防世界之Web_ics-06
题目: 进入实验环境,发现其他页面啥都没有,题目描述说报表中心数据被删,打开报表中心看看 进入数据中发现url上有?id=1的字样就要注意,敏感起来.id是数值,可以尝试爆破一下. 打开burpsui ...
- 记录一次有趣misc
标题:2017_Dating_in_Singapore题目来源:XCTF 3rd-HITB CTF-2017题目描述:01081522291516170310172431-05060713202726 ...
- bugku ctf 杂项 旋转跳跃 (熟悉的声音中貌似又隐藏着啥,key:syclovergeek)
做这道题之前先给出工具 MP3Stego 下载地址 链接:https://pan.baidu.com/s/1W2mmGJcrm570EdJ6o7jD7g 提取码:1h1b 题目下载加压后 是一个 ...
- Java中的Unsafe在安全领域的一些应用总结和复现
目录 0 前言 1 基本使用 1.1 内存级别修改值 1.2 创建对象 1.3 创建VM Anonymous Class 2 利用姿势 2.1 修改值以关闭RASP等防御措施 2.2 创建Native ...
- 思迈特软件Smartbi:机器学习高深难懂?本文深入浅出给你讲明白!
人工智能(Artificial Intelligence,缩写为AI)是对人的意识.思维过程进行模拟的一门新学科.如今,人工智能从虚无缥缈的科学幻想变成了现实.计算机科学家们在人工智能的技术核心--机 ...
- 为什么有些BI工具做数据可视化项目频频失败?
现如今数据可视化可谓是非常之火,随着硬件价格的一降再降,仿佛做数据可视化项目,你没有数据大屏,你就没有逼格.理想很丰满,现实很骨感,并不是每一个数据可视化项目都能够成功.数据可视化项目的进行,无外乎是 ...
- C#正则表达式(通俗易懂)
正则表达式有多重要,话不多说,直接入正题把. 首先我们来说说元字符. 1. . 点号代表除了换行意外的任意单个字符 例如 a.b 说明a和b之间只能有任意一个字符. 2.[]代表从这里面取出任意一个 ...
- fiddler导出jmx脚本
1.fiddler版本必须在v4.6.2以上(插件支持的是4.6版本) jmeter版本最好在v3.0以上,版本太低容易导致导出不成功 2.下载fiddler中导出jmx脚本的插件"Jmet ...