明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫一扫,快捷登录!

查看: 5198|回复: 0

【每周FPGA案例】至简设计系列_LCD入门案例_显示图片

[复制链接]
发表于 2020-10-8 14:00:13 | 显示全部楼层 |阅读模式

马上注册,看完整文章,学更多FPGA知识。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
至简设计系列_LCD显示图片


--作者:肖肖肖

本文为明德扬原创及录用文章,转载请注明出处

1.1 总体设计1.1.1 概述
液晶显示器是一-种通过液晶和色彩过滤器过滤光源,在平面面板上产生图像的数字显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置薄膜晶体管,.上基板玻璃上设置彩色滤光片,通过薄膜晶体管上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。与传统的阴极射线管相比,LCD具有占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳等优点。现在LCD已渐替代CRT成为主流,价格也已经下降了很多,并已充分的普及。

1.1.2 设计目标
7LCD显示屏上实现图片的居中显示。

1.1.3 系统结构框图
系统结构框图如下所示:
31.JPG

图一
1.1.4模块功能PLL模块实现功能
1.       将输入的50MHz时钟分频输出40MHz时钟。

ROM模块实现功能
2.       存储图像数据。

LCD驱动模块实现功能
1、  产生驱动LCD屏显示的时序
2、  读取ROM里存储的数据并输出显示

1.1.5顶层信号
  
信号名
  
I/O
位宽
定义
clk
I
1
系统工作时钟 50M
rst_n
I
1
系统复位信号,低电平有效
hys
O
1
LCD 行时序信号
vys
O
1
LCD 场时序信号
lcd_de
O
1
LCD 数据输入使能信号
lcd_rgb
O
24
LCD RGB信号,RGB格式为使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。
lcd_dclk
O
1
LCD 数据采样时钟



1.1.6参考代码

  1. module top_mdyLcdPic(
  2.     clk       ,
  3.     rst_n     ,
  4.     hys       ,
  5.     vys       ,
  6.     lcd_de    ,
  7.     lcd_rgb   ,
  8.     lcd_dclk
  9.     );

  10.     parameter   PICTURE_W = 24  ;

  11.     input                   clk         ;
  12.     input                   rst_n       ;
  13.     output                  hys         ;
  14.     output                  vys         ;
  15.     output                  lcd_de      ;
  16.     output  [PICTURE_W-1:0] lcd_rgb     ;
  17.     output                  lcd_dclk    ;
  18.    

  19.     wire                     clk_0      ;
  20.    
  21.     wire                     hys        ;
  22.     wire                     vys        ;
  23.     wire                     lcd_de     ;
  24.     wire   [PICTURE_W-1:0]   lcd_rgb    ;
  25.     wire                     lcd_dclk   ;


  26. //40MHz
  27. pll_40m u_pll_40m(
  28.             .areset     (~rst_n ),
  29.         .inclk0     (clk    ),
  30.             .c0         (clk_0  )
  31.     );


  32. lcd_driver  u2(
  33.    .clk          (clk_0       ),//40MHz
  34.    .rst_n        (rst_n       ),
  35.                           
  36.    .hys          (hys         ),  
  37.    .vys          (vys         ),  
  38.    .lcd_de       (lcd_de      ),                  
  39.    .lcd_rgb      (lcd_rgb     ),
  40.    .lcd_dclk     (lcd_dclk    )
  41.     );

  42. endmodule
复制代码


1.2 PLL模块设计1.2.1接口信号
下面为使用矩阵键盘时的接口信号:

  
信号名
  
I/O
位宽
定义
areset
I
1
PLL复位信号,高电平有效
inclk0
I
1
PLL输入时钟 50MHz
c0
O
1
PLL输出时钟 40MHz

1.2.2 设计思路
本模块主要用于产生LCD驱动时序所需要的时钟,关于PLL的使用详细介绍请看下方链接:

1.3 ROM模块设计1.3.1接口信号
  
信号名
  
I/O
位宽
定义
address
I
16
ROM数据存放地址
clock
I
1
ROM工作时钟40MHz
q
O
8
ROM输出数据

1.3.2设计思路
本模块主要用于存储需要显示的图像数据,关于ROM的使用详细介绍请看下方数据手册: ug_ram_rom.pdf (465.09 KB, 下载次数: 674)
FPGA视频课程  培训班 FPGA学习资料
吴老师 18022857217(微信同号) Q1241003385
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|MDYBBS ( 粤ICP备16061416号 )

GMT+8, 2024-4-20 21:37 , Processed in 0.077448 second(s), 34 queries .

Powered by Discuz! X3.4

本论坛由广州健飞通信有限公司所有

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表