OLED显示模组介绍、驱动原理及应用
cac55 2024-10-12 02:25 67 浏览 0 评论
一、 OLED显示屏概念
显示屏的发光单元是有机聚合物发光二级管,即organic/polymer light emitting diode,简称 OLED。单色屏的一个像素就是一个发光二极管。OLED是“自发光”,像素本身就是光源,所以对比度极高,显示效果很犀利。缺点:当前技术所限,无法大尺寸化,价格较高。
OLED分PMOLED、AMOLED两种,PMOLED为无源驱动,AMOLED为有源驱动。
二、模块基本信息
本文使用OLED模组为:单色,IIC接口,0.96寸,4P(4个引脚,分别为:VCC,GND,SDA,SCL)
三、OLED 模块器件
OLED显示屏:128*64点阵OLED单色屏。
驱动芯片:SSD1306驱动芯片(模块上直接看不到,芯片封装在显示屏背面玻璃基板上。)
四、 模块电路图
五、 显示屏与驱动的电气连接
本模块显示区域尺寸为:宽21.744毫米,高10.864毫米,因此有效显示面积为2.36平方厘米,作为对比,一元硬币的面积为4.9平方厘米,整个模块也仅一个硬币大小,不要被网上放大的图片所误导。就在这2.36平方厘米的面积里,做进了8192个发光二级管,每个发光点就是一个像素,这些点组成了一个“阵列”,因此也叫“点阵”。点阵分成128列,64行,每个像素尺寸仅0.154*0.154毫米,像素间距0.016毫米。
显示屏有8192个像素,每个发光点都有正负两个电极,全部引出8192*2个驱动电极是不现实的,实际做法是把每列的正极都接在一起引出一个电极,定义为一个段(SEG),把每行的负级接在一起引出一个电极,定义为一个公共极(COM),这样128*64的点阵,只需要引出128个段引脚、64个公共极引脚、一共有192个引脚就可以了。驱动芯片SSD1306尺寸很小,只有6.76X0.86毫米,长条形,四周一圈上有281个引脚,为提高导电率,这些引脚都是镀金的,可能是纯金的,厚度也就几个微米。这些引脚很瘦弱,尺度在30-80微米间。芯片上的几个十字形或圆孔形的对标孔,是安装时与玻璃基板上电极精确定位用的。
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个阶段,分别是放电、充电、恒流驱动,如上图标注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 |
(翻译至数据手册,更多见数据手册)
十一、程序见视频教程
欢迎关注逗比小憨憨
相关推荐
- 如何屏蔽色情网站?_怎么能屏蔽网站
-
一、基础防御:全网DNS劫持阻断1.修改全网DNS服务器推荐DNS:安全DNS:CleanBrowsing(成人内容过滤):185.228.168.168/185.228.169.168Open...
- 容器、Pod、虚拟机与宿主机网络通信全解:看这一篇就够了
-
在日常开发与部署过程中,很多人一开始都会有这样的疑惑:容器之间是怎么通信的?容器怎么访问宿主机?宿主机又如何访问容器?Kubernetes中Pod的网络和Docker容器一样吗?容器跨机器是...
- Win11专业版找不到共享打印机的问题
-
有很多深度官网的用户,都是在办公室上班的。而上班就需要使用打印机,但更新win11系统后,却出现同一个办公室里面的打印机都找不到的问题,这该如何处理呢?其实,可能是由于我们并没有打开共享打印机而造成的...
- 常用电脑快捷键大全,摆脱鼠标依赖,建议收藏
-
Ctrl+C复制Ctrl+X剪切Ctrl+V粘贴Ctrl+Z撤销Ctrl+Y重做Ctrl+B加粗Ctrl+A全选所有文件Ctrl+S保存Ctrl+N新建Ctrl+O打开Ctrl+E...
- Win11实现自动追剧Jellyfin硬解,免NAS复杂操作
-
大家好,欢迎来到思赞数码。本期将详细介绍如何通过安装和配置Sonarr、Radarr、Prowlarr、qBittorrent和Jellyfin,打造一套自动化的影视管理系统。很多人认为,要实现自动追...
- 微软Win11安卓子系统WSA 2308.40000.3.0更新推送下载
-
IT之家9月21日消息,微软官方博客今日宣布,已面向所有WindowsInsider用户推送了Windows11安卓子系统的2308.40000.3.0版本更新。本次更新和之前...
- 路由器总掉线 一个命令就能猜出八九分
-
明明网络强度满格或有线图标正常,但视频卡成PPT、网页刷不开、游戏动不了,闲心这些问题很多小伙伴都碰到过。每次都要开关路由、宽带/光猫、插拔网线……一通忙。有没有啥办法能快速确定故障到底在哪儿,方便处...
- windows电脑如何修改hosts文件?_windows怎么修改hosts
-
先来简单说下电脑host的作用hosts文件的作用:hosts文件是一个用于储存计算机网络中各节点信息的计算机文件;作用是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中...
- win10广告弹窗ShellExperienceHost.exe
-
win10右下角老是弹出广告弹窗,排查为以下程序引起,但是这个是系统菜单的程序不能动:C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\S...
- Win10 Mobile预览版10512/10166越狱解锁部署已被黑客攻破
-
看起来统一的WindowsPhone和Windows越加吸引人们的关注,特别是黑客们的好奇心。XDA论坛宣称,在Win10Mobile预览版10512/10166上,已取得越狱/解锁部署突破,比如可...
- 6款冷门小众软件,都是宝藏,建议收藏
-
真的很不错(。-ω-)zzzBearhttps://bear.app/cn/Bear是一个漂亮,灵活的Markdown的写作工具。它一样只支持苹果家的全平台。它一出现就惊艳四方,就被AppSto...
- 如何让不符合条件的设备升级Windows 11
-
如果你是最近(6月24日之后)加入WindowsInsider项目并且你的设备并不符合升级条件,那么当你在尝试升级Windows11的时候可能会看到以下错误:你的PC不符合Wi...
- windows host文件怎么恢复?局域网访问全靠这些!
-
windowshost文件怎么恢复?windowshost文件是常用网址域名及其相应IP地址建立一个关联文件,通过这个host文件配置域名和IP的映射关系,以提高域名解析的速度,方便局域网用户使用...
- Mac Hosts管理工具---SwitchHosts
-
switchhosts!formac是一款帮助用户快速切换hosts文件的工具,switchhosts!formac能够帮助你快速方便的打造个人专用的网络环境,支持本地和在线两种方式,并且支持...
- 「浅谈趣说网络知识」 第十二弹 老而不死的Hosts,它还很有用
-
【浅谈趣说网络知识】第十二弹老而不死的Hosts,它还很有用什么时候才觉得自己真的老了,不是35岁以上的数字,不是头上的点点白发,而是不知觉中的怀旧。风口上的IT界讲的就是"长江后浪推前浪...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)