技术标签: # FPGA学习篇
LCD的接口时序波形如图所示。VSYNC是场同步信号,低电平有效,从时序图可以看出,VSYNC是每一场(即也可以理解为每送一幅完整图像)的同步信号;与此类似,HSYNC是行同步信号,也是在每一行数据传输的开始产生几个时钟周期的低脉冲。这两个信号用于同步当前的数据信号,根据固定的脉冲约定,我们在某些时钟上升沿前将图像数据送到数据总线上供LCD内部锁存。
LCD驱动时序波形
这是LCD时序图中对应的时间参数。
表8.11 LCD驱动时序参数表
信号 |
列项 |
标记 |
最小值 |
标准值 |
最大值 |
单位 |
Dclk |
频率 |
Tosc |
156 |
ns |
||
最大时间 |
Tch |
78 |
ns |
|||
最小时间 |
Tcl |
78 |
ns |
|||
Data |
建立时间 |
Tsu |
12 |
ns |
||
保持时间 |
Thd |
12 |
ns |
|||
Hsync |
周期 |
TH |
408 |
Tosc |
||
脉冲宽度 |
THS |
5 |
30 |
Tosc |
||
后沿 |
THB |
38 |
Tosc |
|||
显示周期 |
TEP |
320 |
Tosc |
|||
同步周期 |
THE |
36 |
68 |
88 |
Tosc |
|
前沿 |
THF |
20 |
Tosc |
|||
Vsync |
周期 |
TV |
262 |
TH |
||
脉冲宽度 |
TVS |
1 |
3 |
5 |
TH |
|
后沿 |
TVB |
15 |
TH |
|||
显示周期 |
TVD |
240 |
TH |
|||
前沿 |
TVF |
2 |
4 |
TH |
相同的方式驱动的程序写法类似:
顶层文件:
module top(ext_clk_25m,ext_rst_n,lcd_light_en,lcd_clk,lcd_hsy,lcd_vsy,lcd_r,lcd_g,lcd_b
);
input ext_clk_25m;
input ext_rst_n;
output lcd_light_en;
output lcd_clk;
output lcd_hsy;
output lcd_vsy;
output [4:0] lcd_r;
output [5:0] lcd_g;
output [4:0] lcd_b;
lcd_controller uut_lcd_controller(
.clk(ext_clk_25m),
.rst_n(ext_rst_n),
.lcd_light_en(lcd_light_en),
.lcd_clk(lcd_clk),
.lcd_hsy(lcd_hsy),
.lcd_vsy(lcd_vsy),
.lcd_r(lcd_r),
.lcd_g(lcd_g),
.lcd_b(lcd_b)
);
endmodule
lcd_controller.v
module lcd_controller(clk,rst_n,lcd_light_en,lcd_clk,lcd_hsy,lcd_vsy,lcd_r,lcd_g,lcd_b
);
input clk;
input rst_n;
output lcd_light_en;
output lcd_clk;
output reg lcd_hsy;
output reg lcd_vsy;
output [4:0] lcd_r;
output [5:0] lcd_g;
output [4:0] lcd_b;
parameter HSY_TH=9'D408-1'D1;//周期
parameter HSY_THS=9'D30 ;//脉冲宽度
parameter HSY_THB=9'D38 ;//后沿
parameter HSY_TEP=9'D320 ;//显示周期
parameter HSY_THE=9'D68 ;//同步周期
parameter HSY_THF=9'D20 ;//前沿
parameter VSY_TV=9'D262-1'D1;//周期
parameter VSY_TVS=9'D3 ;//脉冲宽度
parameter VSY_TVB=9'D15 ;//后沿
parameter VSY_TVD=9'D240 ;//显示周期
parameter VSY_TVF=9'D4 ;//前沿
//lcd背光常开
assign lcd_light_en=1'b1;
//配置驱动时钟6.25mHz
reg [1:0] lcd_cnt;
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
lcd_cnt<=1'b0;
end
else begin
lcd_cnt<=lcd_cnt+1'b1;
end
end
assign lcd_clk=lcd_cnt[1];
wire dchange ={lcd_cnt==2'd2};
//X和Y轴计数器
reg[8:0] xcnt;
reg[8:0] ycnt;
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
xcnt<=1'b0;
end
else if(dchange==1'b1)begin
if(xcnt==HSY_TH)begin
xcnt<=1'b0;
end
else begin
xcnt<=xcnt+1'b1;
end
end
else;
end
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
ycnt<=1'b0;
end
else if(dchange&&xcnt==HSY_TH)begin
if(ycnt==VSY_TV)begin
ycnt<=1'b0;
end
else begin
ycnt<=ycnt+1'b1;
end
end
else begin
ycnt<=ycnt;
end
end
//lcd显示的有效区域
reg valid;
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
valid<=1'b0;
end
else if(ycnt>=(VSY_TVS+VSY_TVB)&&ycnt<(VSY_TVS+VSY_TVB+VSY_TVD)&&
xcnt>=(HSY_THS+HSY_THB)&&xcnt<(HSY_TEP+HSY_THB+HSY_THE))begin
valid<=1'b1;
end
else begin
valid<=1'b0;
end
end
//LCD驱动行场同步信号产生逻辑
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
lcd_hsy<=1'b1;
end
else if(xcnt==1'b0)begin
lcd_hsy<=1'b0;
end
else if(xcnt>=HSY_THS)begin
lcd_hsy<=1'b1;
end
else begin
lcd_hsy<=lcd_hsy;
end
end
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
lcd_vsy<=1'b1;
end
else if(ycnt==1'b0)begin
lcd_vsy<=1'b0;
end
else if(ycnt>=VSY_TVS)begin
lcd_vsy<=1'b1;
end
else begin
lcd_vsy<=lcd_vsy;
end
end
//产生显示条纹
reg [3:0]tmp_cnt;
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
tmp_cnt<=1'b0;
end
else if(valid==1'b0)begin
tmp_cnt<=1'b0;
end
else if(valid&&dchange)begin
if(tmp_cnt<4'd9)begin
tmp_cnt<=tmp_cnt+1'b1;
end
else begin
tmp_cnt<=1'b0;
end
end
end
reg [15:0]lcd_db_rgb;
always@(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
lcd_db_rgb<=16'd0;
end
else if(valid)begin
if((tmp_cnt==4'd9)&&dchange)begin
lcd_db_rgb[15:11]<=lcd_db_rgb[15:11]+1'b1;
end
else;
end
else begin
lcd_db_rgb<=1'b0;
end
end
assign lcd_r =valid ? lcd_db_rgb[15:11]:5'd0;
assign lcd_g =valid ? lcd_db_rgb[10:5]:6'd0;
assign lcd_b =valid ? lcd_db_rgb[4:0]:5'd0;
endmodule
下板子效果图:
文章浏览阅读936次。LSTM是RNN的一种。它的出现解决了梯度失真的问题。而且使得RNN的收敛速度比普通的RNN要快上不少。LSTM的名称有些奇特,叫长短时记忆。这个实际反应了这个算法的原理:保持记忆的长短。我们的大脑并不是记忆所有的信息,有短时记忆,也有长时间记忆。LSTM就是利用这个原理来设计的。普通的RNN只是保持了短时的记忆(h),在LSTM中增加了对记忆的处理。这个增加的部分控制的逻辑比较复杂。简单的来说就是通过3个门:遗忘门、输入门和输出门来控制增加的记忆单元。需要注意的是,增加的门都是用来控制记忆单元的。_lstm的定义
文章浏览阅读4.7k次。1. 计算机工程与应用: 评审费为100元,评审期为60-70天左右,布局费为930-1100元. 该杂志为期十年,从雇用到出版大约需要12个月. 有时这取决于运气. 如果幸运的话,大约四个月. 最大的特点是该期刊载有大量论文,相对来说比较好,但每个人都看中此功能,所以就论文数量而言,一定要有创新性,并且要更加重视博士论文. 论文. 可以加快发布速度,但是成本更高. 摘要: 简单.2. 计算机工程..._计算机科学审稿
文章浏览阅读467次。4、配置和使用CTS4.1、配置CTS1.6及以上版本才能运行CTS。解压ZIP包,编辑android-cts/tools/startcts脚本,修改变量SDK_ROOT来与环境相匹配。例如:SDK_ROOT=/home/myuser/android-sdk-linux_x86-1.6_r1即,指向SDK的根目录。4.2、配置设备下面_cts refapp
文章浏览阅读1.6w次,点赞13次,收藏33次。完全二叉树有一个很有趣的性质:结点从1开始编号,层序。那么分每一个结点(编号为i)的左孩子结点是2i,右孩子结点编号是2i+1. 反之,根据孩子结点的编号可以推知父结点的编号:孩子结点编号的下取整。下面是较聪明的应用: 一棵完全二叉树有1001个结点。其中叶结点的个数是:501个。分析:1001个结点,则最后一个结点的编号是1001,那么它的父亲结点编号是500,注意,这个并不一定是倒数第二_完全二叉树结点数计算公式
文章浏览阅读1.3w次,点赞46次,收藏294次。HTML——表单的详细解析_html表单
文章浏览阅读289次。快解析有24小时不间断技术服务支持,用户遇到任何技术商问题都可以随时得到帮助,而这项专业的1V1定制服务是行业内独有的,它的各项功能在同类型的品牌产品中是极具性价比的。另外,要特别一提的是,随着企业对人力资源管理重视的加强,已经有越来越多的 ERP 厂商将人力资源管理纳入了 ERP 系统的一个重要组成部分。ERP是指建立在信息技术基础上,通过先进管理思想和方法,对企业内部资源和外部资源进行整合,通过标准化的数据和业务操作流程,把企业的人、财、物等进行紧密集成,最终实现资源优化配置和业务流程优化目的的方法。_erp远程交付
文章浏览阅读1.1k次。文 | 曾响铃来源 | 科技向令说(xiangling0815)“数学是自然科学中最基础的学科,计算随处可见、可用。”依稀记得,在学生时代,数学老师开课必会强调那么一句。事实上,回顾我们日常生活的场景,也确实如此。数学计算与我们息息相关,乃至于我们有时候甚至忽视了它的存在。在互联网高度发达的今天,计算产业的处境也大抵如此。基本上,我们的每一个网络操作,都离不开数字计算的支持。但是,对于计算产业的认知,大众又往往会不可避免的将其忽视。然而,对于科技企业而言,却是刚好相反,计算产业是最不能被
文章浏览阅读86次。1.什么是Chrome插件抓取? Chrome插件抓取是指利用Chrome浏览器的扩展程序(插件)功能,实现对网页内容的自动化获取和处理的技术。通过编写和安装适当的插件,用户可以方便地从网页中提取所需的信息,如文字、图片、链接等。2. Chrome插件抓取有哪些应用场景? -_chrome 解锁csdn
文章浏览阅读2.4w次,点赞5次,收藏10次。因为工作关系设置了一下系统时间,然后想用网络获取最新的时间来自动更正下,然后发现没有这个功能…,百度后发现其实是有一个Internet时间页签的,在这个页签里才可以设置,那为什么我这里没有呢?因为我的计算机加入了域,加入了域就不能用这个功能了。如何查看自己的计算机有没有加入域呢?在计算机属性里的系统属性里就能看到_“internet时间”选项卡 没有
文章浏览阅读4.6w次,点赞15次,收藏91次。简述仿射变换是二维坐标间的线性变换,故而变换后的图像仍然具有原图的一些性质,包括“平直性”以及“平行性”,常用于图像翻转(Flip)、旋转(Rotations)、平移(Translations)、缩放(Scale operations)等,然而其实现的函数就是cv::warpAffine()下面我们将对warpAffine()函数进行介绍,并且实现图像的旋转和平移。warpAffine..._warpaffine
文章浏览阅读317次。电池的寿命链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1229时间限制: 1000 ms 内存限制: 65536 KB【题目描述】小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,..._电池的寿命csdn
文章浏览阅读4.4k次。大家都是要求注释掉,但不想这样,看了很多博客,快绝望的时候,用这个办法成功了文件:E:\android\app (工程文件目录) 下面的 build.gradle 文件 在这个文件中加入最后划线3行,保存即可,然后再retryapply plugin: 'com.android.application'android { compileSdkVersion 26 ..._testimplementation 'junit:junit:4.12' 指定源