当前位置:首页 > 燃气灶 > 文章正文

OLED显示模组介绍、驱动事理及应用

编辑:[db:作者] 时间:2024-08-25 02:32:12

显示屏的发光单元是有机聚合物发光二级管,即organic/polymer light emitting diode,简称 OLED。

OLED显示模组介绍、驱动事理及应用

单色屏的一个像素便是一个发光二极管。
OLED是“自发光”,像素本身便是光源,以是比拟度极高,显示效果很锐利。
缺陷:当前技能所限,无法大尺寸化,价格较高。

OLED分PMOLED、AMOLED两种,PMOLED为无源驱动,AMOLED为有源驱动。

二、模块基本信息

本文利用OLED模组为:单色,IIC接口,0.96寸,4P(4个引脚,分别为:VCC,GND,SDA,SCL)

模块正面及反面

模块尺寸图

三、OLED 模块器件

   OLED显示屏:12864点阵OLED单色屏。

   驱动芯片:SSD1306驱动芯片(模块上直接看不到,芯片封装在显示屏背面玻璃基板上。

四、 模块电路图

电路事理图

五、 显示屏与驱动的电气连接

本模块显示区域尺寸为:宽21.744毫米,高10.864毫米,因此有效显示面积为2.36平方厘米,作为比拟,一元硬币的面积为4.9平方厘米,全体模块也仅一个硬币大小,不要被网上放大的图片所误导。
就在这2.36平方厘米的面积里,做进了8192个发光二级管,每个发光点便是一个像素,这些点组成了一个“阵列”,因此也叫“点阵”。
点阵分成128列,64行,每个像素尺寸仅0.1540.154毫米,像素间距0.016毫米。

显示屏像素示意图

显示屏有8192个像素,每个发光点都有正负两个电极,全部引出81922个驱动电极是不现实的,实际做法是把每列的正极都接在一起引出一个电极,定义为一个段(SEG),把每行的负级接在一起引出一个电极,定义为一个公共极(COM),这样12864的点阵,只须要引出128个段引脚、64个公共极引脚、一共有192个引脚就可以了。
驱动芯片SSD1306尺寸很小,只有6.76X0.86毫米,长条形,四周一圈上有281个引脚,为提高导电率,这些引脚都是镀金的,可能是纯金的,厚度也就几个微米。
这些引脚很瘦弱,尺度在30-80微米间。
芯片上的几个十字形或圆孔形的对标孔,是安装时与玻璃基板上电极精确定位用的。

驱动芯片SSD1306尺寸示意图

281个引脚中,192个引脚便是专门奉养那块屏的,还有30个引脚通过 “柔性电路板”接在本模块的印制线路板上,干系外围器件均已焊接好。
仅有4个脚终极通过模块的插针供应给用户:数据、时钟、片选和指令数据脚,简化了利用。
其他一些引脚用于供电,还有一些未被利用。
(以上摘自百度百科与芯片手册)

六、 技能要点

本模块的驱动芯片SSD1306为例,其技能要点部分罗列如下:

行列式点阵扫描驱动:矩阵显示屏动辄上万像素的分辨率,除扫描驱动,别无选择。
像素恒流驱动:OLED发光亮度与驱动电流有较好的线性关系。
而电压与亮度呈幂级数关系,掌握电路不易实现。
预充电技能:因寄生电容影响,OLED屏各像素点亮不同步,预充电技能办理此问题。
预放电技能:各像素寄生电容电压不一致,电压过高会造成恒流驱动时无法准确掌握其亮度,造成显示屏亮度不屈均。
反向抑制技能:行列电极公用,会导致交叉效应,功能薄膜相连造成附近像素串扰,交叉和串扰效应会导致暗点发弱光,影响比拟度。
办理办法是加上反向电压来抑制。
电荷泵技能:OLED面板恒流驱动时须要7-15V电源,电荷泵是一个升压电路。
帧同步写入技能:该技能防止外部MCU写入数据速率滞后于帧频而造成一屏显示内容被撕裂的环境。
多种显示办法:部分显示、顺序或隔行显示、行列颠倒、256级比拟度掌握、水平及垂直滚动显示、写入换行次序定义等,均有专门操作指令,支持丰富的显示效果需求。

七、点阵屏扫描驱动的基本事理

显示点阵示意图

(可参考《单片机实践课程》中的点阵干系视频或OLED干系视频)

点阵屏像素按128列X64行组织,每一行128个像素单元的阴极是连接在一起,作为公共极(COM),每一列64个像素单元的阳极也连接在一起,作为一段(SEG)。
行列交叉点上的LED便是一个显示单元,即一个像素。
要点亮一个像素,只要在该像素所在列电极上加上正电压、行电极接地。
同样,要驱动一整行图像,就须要同时把128列旗子暗记加载到列电极上,把该行行电极接地。
该行显示时,其他63行均不能显示,其行电极应为高电平或悬空。

整屏的显示,只能分时扫描进行,一行一行的显示,每次显示一行。
行驱依次产生低电平扫描各行,列驱动读取显示数据依次加载到列电极上。
扫描一行的韶光称为行周期,完成一次全屏扫描,就叫做一帧。
一样平常帧频为大于60,因此人眼不雅观察不到逐行显示。
每行扫描显示用时叫占空比,占空比小,为达到相同的显示亮度,驱动电流就大。
SSD1306段驱动最大电流为100uA,当整行128个像素全部点亮时,行电极就要流过12.8mA的电流。
(摘自芯片手册和百度百科)

补充:OLED工艺问题及办理技能

OLED工艺上存在两个问题,一个是寄生电容,第二个是“单元串扰”。

先剖析寄生电容的影响。
一个像素的等效电路为一个发光二极管和一个电容并联,这个电容不是真正的器件,而是寄生电容,其容量约在22PF旁边。
一样平常要点亮一个OLED二极管,须要在阳极和阴极间加上大概4V旁边的电压,这个电压叫开启电压,与制造材料有关。
但寄生电容的存在,电源先要对电容充电,两端电压达到或超过二极管的开启电压后,二极管才会点亮。

显示单元等效电路

寄生电容的存在,一是造成显示反应速率变慢;二是造成屏幕亮度不均,其缘故原由是各寄生电容内电压不一致。
AMOLED屏驱动电路办理办法是“预充电”,即对面板上所有寄生电容进行预充电,充到略低于二极管开启电压,当驱动旗子暗记到达时,无需等待即可点亮。
PMOLED驱动电路的办理办法分3步走,不管电容原有电压高低,先全部放电,再统一充电到相同电压,末了加显示驱动旗子暗记。

第二个问题是“单元串扰”,即一个像素加载驱动电压或电流点亮,感应电压造成隔壁像素乃至同行同列像素微弱发光,这是OLED平面工艺的胎病,只能在驱动技能上动脑筋。
办理办法是“反向抑制”,即对当前不显示的所有行加上反偏电压,即行电极(COM)加正电压Vcomh,当列电极驱动旗子暗记为0时,列电压接地,反压便是Vcomh。
当列电极驱动旗子暗记为1时,列电极处于恒流驱动,列电压约在4V-Vcc间,此时反向抑制电压较小或靠近于0,但不管反压大小,都能确保感应电荷及时被反压旁路掉。
Vcomh可通过指令调节为Vcc 的0.65、0.77、0.83倍。

八、 行周期中的段驱动旗子暗记剖析

驱动芯片SSD1306数据手册中的“段输出波形图”。
该图描述的是扫描某一行时,加载到列电极上的“段旗子暗记”波形。

列(段)驱动旗子暗记3阶段

旗子暗记分成3个阶段,分别是放电、充电、恒流驱动,如上图标注1、2、3所示,每个阶段驱动旗子暗记的类型是不同的,韶光是非也不同。
因而其电路较繁芜。

阶段1:放电阶段,行列电极均接地,电容两端同电位,电容放电。
放电韶光可以通过指令调节,这跟电路内阻、电容大小有关,SSD1306默认为2DCLK。

阶段2:充电阶段,行电极接地,列电极接到一个略小于二极管开启电压的固定电压端进行充电,充电韶光也可以通过指令调节,SSD1306默认也是2DCLK。

阶段3:充电结束后进入恒流驱动阶段,这个阶段持续50DCLK。
需点亮像素被恒流源持续驱动,截止像素的列电极接地。

驱动电流从0-100uA分256极可调,调节电流便是调节亮度,不支持单个像素的灰度显示。

驱动示意图

非扫描行的行电极接Vcomh时,各像素反偏,感应电被及时开释,就不会涌现串扰征象。
假设帧频为100HZ,扫描一帧的韶光便是10ms,一帧包括64行,每行扫描用时即行周期便是156us,每个行周期又分成54个显示时钟(DCLK),每个显示时钟为2.9us,预放电、充电都是占2个DCLK,为5.8us。
DCLK可通过调节“振荡频率”及“分频因子”来调度,从而也调度了帧频。
(摘自数据手册)

九、 GDDRAM与OLED屏的对应关系

1. GDDRAM的浸染

GDDRAM用于存储显示数据,用户通过MCU把数据写入RAM,同时向SSD1306发送相应的显示命令,驱动芯片会按用户指令哀求自动进行逐帧扫描显示。
与OLED屏128X64像素点阵对应,1个像素对应1个存储bit,因此 SSD1306驱动芯片内建1024字节的SRAM。

2. GDDRAM的逻辑构造

GDDRAM的逻辑存储构造是按页来组织的,相应地,OLED屏像素点阵空间也把每8行组织成1页,但128个列不作划分。
全体显示区域(存储空间)被划分成8个“页”,每页8行、128列,每页对应128个字节,每个字节按竖向排列的,低位在上,高位不才,下图是第2页的存储映像示意图。

页的存储构造示意图

“页”的划分是方便于显示字符图形,一页8个像素的高度可以显示一个ASC字符,两页合起来16个像素高度,恰好可显示一个16X16像素点阵汉字。
这样写数据就很方便,如要显示一个5X7尺寸的ASC字符,可连接写5个字节。
要显示一个16X16的汉字,就须要在2页上分别写16个字节。
如果字节的各位横向排列,每一个字节都要定位,无法连续写入。

3. 驱动电路补充

GDDRAM与屏点阵的映像关系不是固定不变的,两者之间的桥梁便是驱动电路,依赖对操作指令的硬件译码,驱动电路供应了灵巧的显示办法。
理解驱动细节是理解多数指令的关键。
SSD1306数据手册给出的驱动逻辑图较为大略,结合逻辑图及指令可剖析驱动的一些实现细节。

驱动电路功能逻辑示意图

(摘自网络)

行(公共极)驱动:行驱动产生周期性脉冲,卖力逐行扫描。
扫描顺序既支持从COM0到COM63的正向扫描,也支持从COM63-COM0的反向扫描。
从上图可见,行驱动是分成两部分的,可实现逐行/隔行、顺序/交叉平分歧的扫描办法。

列(段)驱动:段驱动加载SRAM中当前行的128列显示数据,通过图10所示的切换开关,先后切换到放电、充电及恒流驱动的输出电路上,完成一行的扫描周期。
同行驱动一样,0-127路段旗子暗记既可以顺向加载,也可以反向加载。

行、列驱动的正/反方向扫描或加载设计,可以很方便地让用户实现显示内容的变换:行列同时反向,显示内容颠倒,即旋转180度;仅行或仅列反向,显示内容在行或列方向上镜像。
旋转90度是做不到的,除非在软件中重组全体SRAM的映像。

驱动电路还能显示部分行,而屏蔽掉另一部分;当然也能有选择地加载SRAM中的数据。

十、 SSD1306的指令系统解析

SSD1306指令表:

指令种别

指令名称

指令代码(H)

指令浸染简介

根本指令

1. 亮度掌握

81,A[7:0]

参数A[]可设置256级亮度

2. 全显开关

A4/A5

A4正常显示,A5点亮全部像素

3. 反白开关

A6/A7

A6正常显示,A7反白显示

4. 显示开关

AE/AF

AE关闭显示,AF打开显示

显示滚动

5. 水平滚动

26/27,00,B[],C[],D[],00,FF

26水平右滚,27水平左滚

6. 双向滚动

29/2A,00, B[],C[],D[],E[]

垂直+水平右/左滚动

7. 关闭滚动

2E

8. 启动滚动

2F

9. 垂直滚动区域

A3,A[],B[]

A[]区域锁定不动,B[]区域滚动

地址设置

10. 起始列地址低

00~0F

2个4位合成一个字节作为列指针,页模式下指定显示内容的列位置

11. 起始列地址高

10~1F

12. 地址模式

20,A[]

3种模式:页,水平,垂直

13. 列(起止)地址

21,A[],B[]

水平或垂直模式时,指定行列起止地址来描写一块连续写入存储区域

14. 页(起止)地址

22,A[],B[]

15. 页起始地址

B0~B7

页模式下,指定要写入的页

硬件配置

16. 显示起始行

40~7F

从RAM中哪一行起读取显示内容

17. 段重映像

A0/A1

A1:列显示次序反向

18. 行扫多路系数

A8,A[]

设置只扫描哪些行(16~64)

19. 行扫方向

C0/C8

C8:行扫描次序反向

20. 行扫偏移

D3,A[5:0]

公共极(垂直)方向移动A[]行

21. 行扫配置

DA,A[]

4种组合,再结合行扫方向有8种

22. 升压泵开关

8D,A[]

打开或关闭内置升压泵

时序设置

23. 时钟分频

D5,A[]

16级振荡频率及16级分频设置

24. 充放电周期

D9,A[]

16级充电、放电周期设置

25. Vcomh反压

DB,A[]

3级反向截止电压设置

26. 空操作

E3

(翻译至数据手册,更多见数据手册)

十一、程序见视频教程欢迎关注逗比小憨憨

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/rqz/81880.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com