--作者:肖肖肖
本文为明德扬原创及录用文章,转载请注明出处!
1.1 总体设计
1.1.1 概述
液晶显示器是一-种通过液晶和色彩过滤器过滤光源,在平面面板上产生图像的数字显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置薄膜晶体管,.上基板玻璃上设置彩色滤光片,通过薄膜晶体管上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。与传统的阴极射线管相比,LCD具有占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳等优点。现在LCD已渐替代CRT成为主流,价格也已经下降了很多,并已充分的普及。
1.1.2 设计目标
1. 在7寸LCD显示屏上实现明德扬LOGO图标的左上角显示和大写字母“E”图片的居中显示;
2. 可以选择使用上位机还是按键来控制“E”图片的放大和缩小;
3. 并且统计1秒时间图像的帧率。
1.1.3 系统结构框图
系统结构框图如下所示:
![5ad14443dcc9d5d340d618b23ce9ba90.png](https://i-blog.csdnimg.cn/blog_migrate/26a9d19ac0868f084a96b8386f9b5a46.jpeg)
1.1.4 模块功能
以下本工程所用到的所有模块中,除了PicZoomInAndOut模块都是明德扬提供的可用的IP模块,这些模块不允许修改避免调用IP模块使用时出现问题。
Ø mdyPllAltera模块实现功能
1. 将输入的50MHz时钟分频输出40MHz的时钟。
Ø mdyRom模块实现功能
1. 存储明德扬LOGO图标数据;
2. 存储大小字母“E”图像数据。
Ø mdyCfg模块实现功能
top_uart_cfg
1. 对接收的数据进行串并转换;
2. 对发送的数据进行并串转换。
mdyCfgCtrl
1. 对传输的指令进行解析。
Ø mdyKey模块实现功能
1. 检测按下的按键并输出对应按键有效的数值。
Ø PicZoomInAndOut模块实现功能
1. 规定了明德扬LOGO图标和大写字母“E”显示的区域;
2. 控制大写字母“E”显示的放大和缩小。
Ø mdyLcd驱动模块实现功能
1、 产生驱动LCD屏显示的时序。
Ø mdyGetEdge模块实现功能
1. 对信号的边沿进行检测。
Ø mdyStatic_1S模块实现功能
1. 统计一段时间内的某些信号的数据。
1.1.5 顶层信号
![b70aef75d025edff1d22820154ad2e8f.png](https://i-blog.csdnimg.cn/blog_migrate/01cf1a27a8eb9ac36bd86aa2d695fdec.jpeg)
1.1.6 参考代码
1. module top_mdyLcdPicZoomInAndOut(
2. clk ,
3. rst_n ,
4. key ,
5. uart_rxd ,
6.
7. uart_txd ,
8. lcd_hs ,
9. lcd_vs ,
10. lcd_de ,
11. lcd_dat ,
12. lcd_clk
13. );
14.
15. parameter PICTURE_W = 24 ;
16. parameter KEY_W = 4 ;
17.
18.
19. input clk ;//50MHz
20. input rst_n ;
21. input [KEY_W-1 :0] key ;
22. input uart_rxd ;
23.
24. output uart_txd ;
25. output lcd_hs ;
26. output lcd_vs ;
27. output lcd_de ;
28. output [PICTURE_W-1:0] lcd_dat ;
29. output lcd_clk ;
30.
31. wire uart_txd ;
32. wire lcd_hs ;
33. wire lcd_vs ;
34. wire lcd_de ;
35. wire [PICTURE_W-1:0] lcd_dat ;
36. wire lcd_clk ;
37.
38. wire clk_0 ;
39. wire [23:0] pic_data ;
40. wire [10:0] req_x ;
41. wire [ 9:0] req_y ;
42. wire frame_start ;
43. wire [KEY_W-1:0] key_vld ;
44. wire frame_pos ;
45. wire [63:0] uart_dout ;
46. wire uart_dout_vld ;
47. wire [63:0] cfgCtrl_dout ;
48. wire cfgCtrl_dout_vld ;
49.
50. &#