当前位置: 首页 > news >正文

6_怎么看原理图之协议类接口之LCD笔记

首先想一想再前几篇文章讲的协议类的前提

1、双方约定好通信的协议
2、双方满足一定的时序要求
以上第二点又有一些要求:

1)弄清2440在这个通信协议中,能设置哪些时序的值,这些值的含义是什么——2440手册
2)弄清楚这块LCD的时序有什么要求,要取什么值——看LCD手册
3)计算,这些值一般是以多少秒为一个时钟等。
4)再将这些值写入2440相应的寄存器
本篇假定2440连接LCD


LCD传输的是什么东西


HSYNC——水平方向的同步信号
VSYNC——垂直方向的同步信号
Data Enable——数据使能
CLK——时钟
VD(R、G、B)——video data红绿蓝

作用:

HSYNC 信号用于告诉电子枪该扫描下一行了, 即要转到下一行起始处了;
VSYNC 信号告诉电子枪该显示下一帧了, 即该转回左上角起始处了;
VD颜色信息
Data Enable是否读取颜色数据并打印,高电平有效,低电平只移动
原理图


引脚

1、VGH——电源供电(高电平)
2、DISP——控制开关
6、VGL——电源供电(低电平)
等等,有很多引脚


引脚含义


LCD的引线有非常多,那么怎么去理解这些引线呢?

将LCD屏理解为一个一个像素,每行有很多个点。
假想LCD后面有一个电子枪,将RGB颜色打到电子屏当中。打完再一个又一个移动。
那么我们怎么知道这个电子枪移动到下一个位置呢——时钟VCLK(video clock)

这是2440发出来的时钟

这个时钟一定需要满足一定需求
太快——LCD反应不过来
太慢——一个个像素慢慢出现,人眼受不了

那么一行结束,这个枪怎么跳到下一行呢——HSYNC/VLINE(水平方向同步信号)

一次刷新玩屏幕,这把枪在屏幕的最右下方的位置。下一次刷新需要把枪拿到第一个位置,这时怎么做——VSYNC/VFRAME(垂直方向同步信号)

颜色从哪里来——VD0~VD23(video data)

电子枪是否取出并打印数据,还是只移动不取数据——DE(data enable)

  • 高电平则取数据打出来并移动
  • 低电平只移动不取数据

流程如下

1、每来一个时钟,从VD0~VD23取出一个颜色打到屏幕中
2、移动到一行最右边的时候,2440发送一个HSYNC水平信号。这把枪从最右边跳到下一行的最左边。
3、到一页的最后一个节点,2440发送一个VSYNC垂直信号。告诉这把枪要进行下一帧了,将这把枪移动到起始位置。
原理图导读

这四个引脚是触摸屏相关,先不用管

LED+和LED-

原理图中电路如下

中间的芯片是一个电源芯片

↑这个引脚是接到2440的,2440把它配置成输出引脚

若它输出高电平,如何知道高电平是否有效?
电路图中有一些约定俗成的习惯

  • EN——高电平有效
  • nEN、EN上加一横线、EN/——低电平有效
  • 什么都不写——高电平有效

这个引脚输出低电平,屏幕就变暗
输出高电平,屏幕变亮
输入电压是5V,经过这个芯片过后,会出来一个很高的电压。这个电压有20多V

接线

相同名字的线接到一起就行了。

同步信号时序图

这些信号的时序都有要求,那么如何配置这些信号呢
这就需要配置LCD控制器

内存相关
视频数据从哪里来?
这就还需要配置显存
在内存SDRAM中分配一段地址作为显存,然后把这段地址告诉LCD控制器
在设置好LCD控制器的各项参数后,它就会从地址对应的显存中去读取数据

相关过程:

1、LCD控制器读取显存中第一个点的数据,读出来发送到VD0~VD23中对应的数据线上面,结合已经配置好的信号发送给LCD。
2、LCD从video data数据线上得到像素信息后,打印出来。然后依次反复打印下一个。
3、根据HSYNC、VSYNC信号进行换行和回到起始位置进行下一帧。换到下一帧时,LCD控制器又会从显存的第一个地址开始读取。


LCD控制器

所有信号都是由LCD控制器发出来的
2440发出信号的时序需要根据连接的LCD屏幕进行配置

如VCLK的频率
LCD的规格,是320*240的,还是多少。这关乎于HSYNC水平信号要发多少个,然后再发VSYNC竖直信号。

接下来开始看2440的芯片手册

先打开对应的LCD控制器章节


jz2440中LCD的时序


可以找到如下一张LCD时序的例子

这是2440的图。
接下来我们看能设置哪些参数

以水平方向信号为例。


这个水平方向,是一个高脉冲。这个脉冲要维持多长时间,我们就可以通过设置HSPW+1

收到HSYNC后,电子枪从最右边跳到下一行的最左边。不可能是一瞬间就过去的。LCD收到信号后,要过一段时间才能输出第一个像素。这个时间可以设置HBPD+1

接下来就是VD(video data)输出一行的数据。一行数据有多少个像素。一行的像素个数需要根据LCD规格来设置:如一行是320,那么就设置成319个数据。可以设置HOZVAL+1

发完一行数据后,要再等一段时间才能发出下一个水平方向的信号。这段时间就可以设置HFPD+1

注意:以上四个数据,计算得出正确的值要减一,再配置到相应的寄存器当中。

VCLK

  • 如果设置的太快,LCD反应不过来
  • 如果设置的太慢,显得迟钝

STN和TFT的选择能够百度查到,这里不多解释。
弄清2440中VCLK的取址后,再看外设LCD的LCD取址

时钟周期:最小值是一个周期100纳秒
即LCD接受的最大频率是10兆(时钟周期换算成秒取倒数->10 000 000)

所以2440的VCLK要小于等于10兆赫兹,根据上面2440的手册公式计算,再配置相应寄存器

脉冲宽度


HSPW+1
2440的图列在上面了
下面看看LCD手册


脉冲宽度就是T7


UNIT(单位)是Pixel Clock(像素时钟)
最大值10,最小值4.若我们取5,
那么HSPW就是4

找到寄存器,并配置

水平方向同步信号脉冲的宽度,单位是VCLK

额外注意
LCD手册

2440手册


在这个LCD中是低电平有效,那么我们就需要把2440中的这个脉冲设置成低脉冲

↑2440中可以反转水平信号的脉冲

相关文章:

  • BUUCTF-Misc-百里挑一
  • AI领域再出“王炸“----Claude3是否会成为下一个“神“
  • 24计算机考研深大经验分享(计算机专业考研综合安排)
  • 2024.3.6 FreeRTOS 作业
  • C#,数值计算,求解微分方程的预测校正法(修正欧拉法)算法与源代码
  • 【论文翻译】结构化状态空间模型
  • 13【CPP】Hash(闭散列||开散列)
  • 软考笔记--软件架构风格
  • Matlab/Simulink验证MAB建模规范
  • Android布局优化之include、merge、ViewStub的使用,7年老Android一次坑爹的面试经历
  • 宠物的异味,用空气净化器可以解决吗?宠物空气净化器品牌推荐
  • 【C++】贪心算法
  • Redis是单线程还是多线程?
  • 代码随想录算法训练营第三十三天|LeetCode1005 K次取反后最大化的数组和 、LeetCode134 加油站、LeetCode135 分发糖果
  • 【vue/组件封装】封装一个带条件筛选的搜索框组件(多组条件思路、可多选)详细流程
  • (三)从jvm层面了解线程的启动和停止
  • [deviceone开发]-do_Webview的基本示例
  • AHK 中 = 和 == 等比较运算符的用法
  • Android 控件背景颜色处理
  • chrome扩展demo1-小时钟
  • classpath对获取配置文件的影响
  • css的样式优先级
  • go append函数以及写入
  • JAVA并发编程--1.基础概念
  • JS基础之数据类型、对象、原型、原型链、继承
  • Just for fun——迅速写完快速排序
  • node 版本过低
  • PHP 7 修改了什么呢 -- 2
  • win10下安装mysql5.7
  • XForms - 更强大的Form
  • 从tcpdump抓包看TCP/IP协议
  • 对超线程几个不同角度的解释
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 机器学习中为什么要做归一化normalization
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端相关框架总和
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 我的zsh配置, 2019最新方案
  • 怎么将电脑中的声音录制成WAV格式
  • 大数据全解:定义、价值及挑战
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • #Z0458. 树的中心2
  • (1) caustics\
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (二)构建dubbo分布式平台-平台功能导图
  • (实战篇)如何缓存数据
  • (一)Linux+Windows下安装ffmpeg
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • **python多态
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ./configure,make,make install的作用
  • .apk 成为历史!
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Framework 4.6.2改进了WPF和安全性