stm32和液晶显示

总结stm32中的液晶显示

前言

面我们主要区分ledoledlcd三种显示器,并且说明它们的工作原理。

液晶显示器

液晶显示器(LCD),相对于上一代CRT显示器(阴极射线管显示器),LCD显示器具有功耗低、体积小、 承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备,其中包括电视、电脑显示器、手机屏幕及各种嵌入式设备的显示器。 图 液晶电视及CRT电视 是液晶电视与CRT电视的外观对比,很明显液晶电视更薄,“时尚”是液晶电视给人的第一印象,而CRT 电视则感觉很“笨重”。

工作原理

液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分子排列却和固体晶体一样非常规则,因此取名液晶。如果给液晶施加电场,会改变它的分子排列,从而改变光线的传播方向,配合偏振光片,它就具有控制光线透过率的作用,再配合彩色滤光片, 改变加给液晶电压大小,就能改变某一颜色透光量的多少

注意液晶本身是不发光的,所以需要有一个背光灯提供光源,光线经过一系列处理过程才到输出,所以输出的光线强度是要比光源的强度低很多的, 比较浪费能源(当然,比CRT显示器还是节能多了)。

液晶的优缺点

优点:

  • 相较于CRT显示器具有耗能低,体积小,不伤眼的好处

缺点:

  • 从侧面看不清,
  • 色彩较多的画面时,转换的速度慢

LED

相较于上一代的液晶显示器,led显示器有如下优点

  • 色彩更加丰富
  • 响应速度更快
  • 能耗更低

但是其也有缺点:

  • 相较于下一代oled显示器,其体积过大,一般使用在广场、广告牌上
  • 相较于oled,其色彩单一。

工作原理

LED点阵显示器不存在以上液晶显示器的问题,LED点阵彩色显示器的单个像素点内包含红绿蓝三色LED灯,显示原理类似我们实验板上的LED彩灯, 通过控制红绿蓝颜色的强度进行混色,实现全彩颜色输出,多个像素点构成一个屏幕。

OLED

新一代的OLED显示器与LED点阵彩色显示器的原理类似, 但由于它采用的像素单元是“有机发光二极管”(Organic Light Emitting Diode), 所以像素密度比普通LED点阵显示器高得多

OLED显示器不需要背光源、对比度高、轻薄、视角广及响应速度快等优点。待到生产工艺更加成熟时, 必将取代现在液晶显示器的地位。

显示面板的接口

从上图中可以看到,一些显示面板中会出现有一些黄色的接口线。这些线被称之为:FFC,flexible flat cable,柔性扁平电缆。如果看实物,跟FPC比较像。但它仅仅是电缆,或者可以称为排线,铜线被压制在绝缘材料内。比一般的铜线密度更大。

FPC:英文全拼Flexible Printed Circuit ,其中文意思是柔性印制线路板,简称软板。

与之相对应的就是PCB(又称为硬板)PCB:英文全拼Printed Circuit Board,其中文意思是钢性印制线路板,简称硬板;

FFC(Flexible Flat Cable)柔性扁平电缆是一种用PET绝缘材料和极薄的镀锡扁平铜线,通过高科技自动化设备生产线压合而成的新型数据线缆,具有柔软、随意弯曲折叠、厚度薄、体积小、连接简单、拆卸方便、易解决电磁屏蔽(EMI)等优点。 FPC(Flexible Printed Circuit board翻译成中文就是:柔性印刷电路板,通俗讲就是用软性材料(可以折叠、弯曲的材料)做成的PCB)连接器用于LCD显示屏到驱动电路(PCB)的连接,目前以0.5mm pitch产品为主,0.3mm pitch产品也已大量使用。

用来连接上述类型的连接器被称之为FFC/FPC连接器,形状如下所示:

一般的显示模块都是使用两种连接器:

  • 一个就是上述的FFC/FPC连接器
  • 第二个就是一般的插座

二者的主要区别

  1. 制造方式的不同:
    • FPC 是用化学蚀刻的方式把FCCL(柔性覆铜箔)处理得到线路走型不同单面双面以及多层结构的柔性线路板。
    • FFC是用上下两层绝缘箔膜中间夹上扁平铜箔,成品较简单,厚度较厚。
  2. 价格不同,FFC的价格一般要低于FPC的价格

stm32和液晶显示器的共同使用

实际上市面上的液晶显示器都需要芯片来进行管理和控制。在野火平台上则是使用ILI9806G液晶控制器来进行控制。我们通过控制stm32和液晶控制器进行通信来达到控制显示器的目的。

ILI9806G在这个液晶控制器中, 默认使用8080时序来通信, stm32可以通过FSMC中的不同的模式来模仿8080时序,以达到通信的目的。

编程相关

首先我们需要通过FSMC来模仿ILI9806G芯片的时序。stm32中的FSMC时序结构体如下:

1
2
3
4
5
6
7
8
9
10
typedef struct
{
uint32_t FSMC_AddressSetupTime; /*地址建立时间,0-0xF个HCLK周期*/
uint32_t FSMC_AddressHoldTime; /*地址保持时间,0-0xF个HCLK周期*/
uint32_t FSMC_DataSetupTime; /*地址建立时间,0-0xF个HCLK周期*/
uint32_t FSMC_BusTurnAroundDuration;/*总线转换周期,0-0xF个HCLK周期,在NOR FLASH */
uint32_t FSMC_CLKDivision;/*时钟分频因子,1-0xF,若控制异步存储器,本参数无效 */
uint32_t FSMC_DataLatency; /*数据延迟时间,若控制异步存储器,本参数无效 */
uint32_t FSMC_AccessMode; /*设置访问模式 */
}FSMC_NORSRAMTimingInitTypeDef;


通过对比FSMC的B模式和8080时序图,可以发现B模式和8080非常相似。一次通过这个模式来模仿8080通信。

参考资料

http://www.pinhui.wang/73981.shtml


stm32和液晶显示
https://ysc2.github.io/ysc2.github.io/2024/01/25/stm32和液晶显示/
作者
Ysc
发布于
2024年1月25日
许可协议