OLED显示屏工作原理及示例

OLED显示屏工作原理及示例

前言

OLED(Organic Light Emitting Diode)即有机发光二极管,是一种特殊的显示技术。与传统LCD不同,OLED显示器不需要背光,每个像素都可以独立发光,因此具有更高的对比度、更快的响应速度和较低的功耗等优势。在正式接触OLED显示原理前,最好提前熟悉以下这些概念。

  • 分辨率(Resolution):OLED显示器的分辨率决定了屏幕上能够显示的像素数量。它由水平像素数和垂直像素数组成,如128×64、256×128等。较高的分辨率意味着屏幕能够显示更多细节和更清晰的图像。
  • 像素(Pixel):像素是OLED显示器的最小显示单元,具有独立的亮度和颜色。通过控制每个像素的亮度和颜色,可以在屏幕上绘制各种形状、文字和图像。
  • 帧缓冲(Frame Buffer):帧缓冲是一个内存区域,用于存储要在屏幕上显示的图像数据。可以将帧缓冲看作是一个二维数组,每个元素代表屏幕上一个像素的亮度值或颜色值。通过修改帧缓冲中的数据,可以实现屏幕的绘制和更新
  • OLED驱动芯片:OLED屏幕和驱动芯片共同构成OLED显示模块。驱动芯片内部集成了驱动电路、RAM存储器、控制器,用于接收来自主控制器(如MCU)的指令和数据,将其转化为合适的信号来驱动OLED屏幕的像素点。
  • 通信接口:OLED显示屏(驱动芯片)与控制器之间通过特定的通信接口进行数据传输,常见的接口有I2C、SPI等。
  • 驱动库:驱动库是用于与硬件设备进行通信和控制的软件库,一般包括初始化、绘制图像、控制亮度等操作。驱动库通常需要与特定的硬件设备配合使用,以确保与设备兼容性和正确的操作。
  • 图形库:图形库是用于处理和管理图形绘制的软件库。图形库提供了各种绘图接口,可以更方便地绘制图形、文本和图像。它一般是基于驱动库编写的高级图形操作接口,因为图形库会调用相应的驱动库函数来实现底层的硬件操作和数据传输。

注:有时候图形库和驱动库的界限不会太清晰,同一个软件库就同时包含了底层驱动和高级的图形绘制接口。

显示原理——从驱动角度理解

从基础知识开始,我们可以以广泛应用于小尺寸显示屏嵌入式应用场景的SSD1306驱动芯片为例(SH1106也是一款常用的小屏幕OLED显示芯片)。好习惯,献上产品手册。梳理一下SSD1306的主要指标参数:

  • 分辨率:由128个SEG(列输出)和64个COM(行输出)组成,即 128 x 64 点阵(Dot Matrix)
  • 电源:对于集成逻辑电路,VDD=1.65V3.3V;对于面板驱动,VCC=7V至15V
  • 点阵驱动:OLED驱动输出电压最大15V;SEG最大源电流100uA;COM最大汇电流15mA;256阶对比度亮度电流控制
  • 内置128 x 64位RAM显示缓冲区(8192位=1024字节=1KB)
  • 引脚可选择的MCU接口:8位6800/8080串并接口、 3/4线串行外围接口、I2C接口

对于使用了SSD1306作为驱动的显示模块。无论OLED屏幕尺寸多大,1KB RAM是固定不变的:128×64 OLED模块显示1KB RAM的全部内容,而128×32 OLED模块仅使用一半RAM的内容来显示。

1KB-128x64-OLED-Display-RAM-Memory-Map

(图片来源:lastminuteengineers.com)

基础图形绘制

图片显示及位图数组转换工具

字模和字库

库包——以为例进行分析

除了我们熟悉的兼容性和拓展性都特别出众的U8G2和LVGL库可以用于SSD1306的开发外,还存在一些在创客圈流行的OLED开发库,这些库包多数可被用于Arduino框架下的显示应用开发,例如esp8266-oled-ssd1306Adafruit_SSD1306,大大降低了开发门槛。同时由于它们的源代码是开放的,我们也可以方便地移植到其他硬件平台。随着Python的流行,一些极客也提供了在micropython固件下适用的SSD1306显示驱动库,例如micropython-ssd1306

前面我们介绍过驱动库和图形库的概念。虽然Adafruit提供了SSD1306驱动库,但在进行开发时我们一般还会使用另一个库——Adafruit-GFX-Library。该库提供了通用图形(点、线、圆等)以及文本、位图等的渲染接口,不需要我们直接去控制OLED点阵每一个独立像素的亮灭。

示例程序

硬件信息:

  • 主控:ESP32
  • 显示器:中景园0.96寸OLED显示屏128×64
  • 驱动:SSD1306

参考

OLED Displays(makeabilitylab)

SSD1306 OLED驱动芯片 详细介绍

OLED屏幕的结构(浅显易懂)

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容