设计与开发

单片机 oled 单片机控制的OLED简易电子表原型

小编 2024-10-12 设计与开发 23 0

单片机控制的OLED简易电子表原型

在多年以前,我刚开始学单片机的时候,就想着要用51单片机加上0.96英寸的OLED DIY一个电子表,但是可惜当时水平有限,没能实现。现在我早已玩转了STM32,准备向ARM9进发,突然想到了当年的想法,今天终于亲手实现了它。

整体设计

毕竟是要实现当年的想法,所以整体还是选择了常见的STC单片机作为主控,以及当时选定的0.96英寸OLED作为屏幕。一般STC都会选择搭配DS1302 RTC芯片用来计时,那么也一起加上。按键方面,为了操作方便,我没有使用普通的微动开关,那种太硬了,戴在手上摁起来不方便。我选择了一种拨轮开关(见图16.1),它上面有一个摇柄,可以上下推动,也可以按下去。一个开关可以同时实现上下选择和确定选择,这在MP3上比较常见,网上价格也不贵,大约三毛钱一个。另外,考虑到OLED比较费电,使用纽扣电池作为电源并不妥,于是我采用了可充电的锂聚合物电池作为主电源,另加了一块TP4056作为充电管理IC。

图16.1 一种常见的拨轮开关

电路原理

1. 主控电路

主控电路中最主要的部分就是STC15L2K60S2的单片机(见图16.2),我选择了SOP28封装的版本,比较小,制作手表比较合适。这是一款基于51内核的单片机,最高主频35MHz,具有60KB的ROM和2KB的RAM,虽然配置并不强大,但是做个手表还是绰绰有余的。型号中带L的为低电压版本,采用3.3V供电。其实这个系列的单片机应该是前几年初学者非常常用的,我当时学习的也是STC单片机。不过近几年随着国外开源硬件的发展,Arduino系的东西大有取代原来STC单片机国内DIY初学者入门必备地位的势头啊。当然相比Arduino,STC也是有它的优势的:第一就是便宜,一片STC只要5~8元就可以购得;第二是它的电路十分简单,最新的STC15系列,一片芯片就可以组成最小系统,和Arduino Mini一样,装上面包板直接可以用,不必连接外部复位或者晶体振荡器之类的东西;第三就是它的内部高精准RC振荡器可以调节频率,可以等我们把程序写完了再来调节频率,找到功耗和性能的平衡点;第四,它的社区支持并不差,Arduino有许多现成的程序可以利用,STC也一样,在国内有很多讨论51单片机的论坛,里面的程序都可以借鉴。因为数据量不大,手表对刷新率也没有很高的要求,我这个设计没有用到硬件的SPI,通过I/O口模拟SPI与OLED和DS1302通信。

图16.2 STC15L2K60S2单片机

2. 屏幕及其外围电路

我使用了Univision出品的一款OLED屏幕(见图16.3),型号UG-2864HMBEG01,尺寸为0.96英寸,分辨率为128像素×64像素,白色单色,支持I2C、3线SPI、4线SPI、I80和68K五种接口协议,可以说全兼容,同时内置了电荷泵,提供OLED驱动所需的高压,给电路设计提供了极大的方便。OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,对比度非常高,做得好的话,可以做到正无限比为1。其实这种屏幕在MP3上十分常见,不过现在出厂的MP3大多已经采用LCD了。但是OLED屏幕也并非没有缺点,长时间显示同样的静止图案会造成烧屏,所以实际上并不是很适合用来做手表,而且用OLED做手表的话,确实费电了一些。我觉得理想的方案还是用一块反射式的STN屏幕。

图16.3 OLED屏幕及其外围电路

3. RTC(实时时钟)电路

DS1302这款芯片其实相信大家都应该比较了解了,是一款高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、周、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5~5.5V,采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器(见图16.4)。我这里没有连接备用电池,直接把主供电连上了LDO的输出。值得一提的是,DS1302使用的是BCD(全称为Binary-Coded Decimal)编码,是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了4个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷进行。但是实际上在单片机里面,BCD还给我们带来了一点小麻烦,单片机能处理的是二进制码,而不是BCD码,所以要进行一下转换。

图16.4 RTC(实时时钟)电路

4. 供电电路

供电方面采用了一片ME6219 LDO(低压差线性稳压器),见图16.5,它的压降仅为0.2V,可以满足锂电池供电的需要,像一般常用的AMS1117,它的压降达到了1V,也就是当锂电池电压为3.7V时,AMS1117最多只能输出2.7V的电压,完全起不到稳压的作用。同时,锂电池要考虑的问题就是电量检测,一方面提醒使用者充电,另一方面也要保护锂电池,电量过低就强制关机,以免过放对锂电池造成损伤。单片机的供电电压是3.3V,而电池的电压则是3.5~4.2V,是高于单片机电源电压的,因此就必须设计一个分压电路,分压之后再接入单片机的ADC进行测量。分压电路是始终连接在电池上的,如果电池电量全消耗在这个分压上,那也太冤枉了。所以我选择了两个1MΩ的电阻来分压(见图16.6),也就是2MΩ的阻值,根据欧姆定律可知,在3.7V标准电压下的电流仅为2μA,符合要求。但是这样又会出现一个问题,ADC也不是理想电表,存在一个输入阻抗的问题,我没有研究过STC的输入阻抗,但是明显不可能会远高于1MΩ,这样就必须加一个电容来减少输入阻抗过低对分压的影响。

图16.5 ME6219低压差线性稳压器

图16.6 分压电路

5. 充电电路

充电使用了常见的TP4056作为充电管理IC (见图16.7),TP4056是一款完整的单节锂离子电池恒流/恒压线性充电器,其底部带有散热片的SOP8封装与较少的外部元件数目,这使得TP4056成为便携式应用的理想选择。TP4056适用于USB电源和适配器电源,其输入电压范围为4~8V,充电电流最大1000mA。它的充电电流是通过一个外部电阻来调节的。其实TP4056的外部电路设计还是挺简单的,但是我还是单独使用了一块现成的充电板,因为主洞洞板上放不下了,最终也导致整个作品非常厚,也算是一点遗憾吧。

图16.7 充电电路

其实现在大多数的高级点的移动设备都会选择专门的PMIC (电源管理集成电路),它们通常提供了多路DC-DC和LDO输出,满足不同设备的供电需求,内置锂电池充电管理功能,部分还内置了库仑计,可以更精确地测定电池电量,并进行功耗控制。这类PMIC通常提供了I2C接口,主处理器可以通过I2C和PMIC进行通信,获取电量、电流之类的数据,并且可以直接通过软件来调整电压之类的参数,十分强大。不过像51这种设计就用不上那种东西啦,那种一般都是给Cortex-A级别的处理器用的。

硬件制作

因为用到的元器件并不复杂,连接也不是很多,所以我选用了洞洞板+飞线的形式,虽然这样比较麻烦,但是可以省下打样的钱,不过对“手艺”有一定的要求。工具方面,一把好用的电烙铁,一把美工刀,以及一把热熔胶枪就够了,都是比较常规的工具。材料方面,请准备原理图里面出现的各种元器件、一卷焊锡丝、一卷漆包线、一块洞洞板,以及你的热情和耐心。

首先,把洞洞板裁成需要的大小,然后在上面合适的位置用美工刀割出SOP28的焊盘(见图16.8),因为SOP28的引脚间距为1.27mm,而洞洞板的洞间距为2.54mm,因此把每个洞的焊盘割成两半就可以焊接SOP28的芯片了。割的时候不一定要在正中间,但是一定要割干净,最好空出一条,避免短路之类的事情发生。

割完焊盘就可以焊接主MCU了,这个没有什么值得注意的,不要让引脚短路就可以了(见图16.9)。如果短路了,用把好点的烙铁,加点助焊剂(或者带助焊剂的焊锡也可以),烙铁可以把多余的焊锡吸起来,然后用海绵擦掉烙铁头上的锡就好了。

图16.8 割出SOP28的焊盘

图16.9 焊上单片机

然后,处理和MCU连接最多的屏幕部分。虽然采用了四线制SPI通信,但是这个OLED内部电荷泵需要几个外部的电容,相对还是比较麻烦的。屏幕的引脚间距仅为0.8mm,比较考验“焊功”(见图16.10)。建议漆包线在焊接之前先镀好锡,会方便很多。屏幕部分完成之后,看起来就是一团糟的样子(见图16.11)。

图16.10 处理屏幕与单片机的连接

图16.11 连接好的样子

STC单片机使用串口下载,准备好串口的接口也是必不可少的。如果使用插针,担心会刺到手(其实是我多虑了,不会发生这种事情),于是我选择了排孔,并且是没有出头的设计,这样可以说是对本来就不充裕的电路板空间的巨大浪费,但是凸出来实在太难看,于是我还是这样做了,如图16.12所示。

这个接口只要“飞”上VCC、TXD、RXD和GND这4个引脚就够了,不过我这里先只连接了VBAT,也就是锂电池电源。下一步是焊接LDO,在LDO焊接完成之后,就可以开始调试OLED驱动了(见图16.13),顺便检查之前的连接是否可靠。

图16.12 用于串口下载的排孔

图16.13 焊接LDO

事实上,这个OLED困扰了我大半个小时,一直没有显示,检查连接也似乎没什么问题,也没有虚焊,后来仔细看了Datasheet才发现我犯了一个十分低级的错误,OLED的VCC并非逻辑电源输入,而是屏幕驱动电压输入,应该接上12V外部电源,在使用内部电荷泵升压的时候应该在外部对底连接一个电容。解决问题后,显示正常了(见图16.14)。

下面就是用同样的方法处理DS1302,也就不多说了。我使用了一条铁丝架在拨轮开关上加强固定,再顺便焊上锂电充电板。因为该电路的功耗很低,所以不需要使用很粗的漆包线,用最细的来连接电路完全不成问题,充电板直接和锂电池连接就好,如图16.15所示。

图16.14 OLED驱动正常了

图16.15 充电板和控制板接到一起

在最终打胶并把充电板装上去之前,一定要确保所有硬件部分都已调试正常了,因为打胶基本上是不可逆的,等打完胶再发现有什么错误就太迟了。还有记得一定要设计一个断电的方法,因为STC单片机必须要断电一下才能进入ISP模式。我使用了一个跳线来解决这个问题。于是,就有了图16.16、图16.17所示的成品了。

图16.16 制作好的LOED手表正面

图16.17 背面是锂电池

个人感觉这个做完的“手表”还是厚了一点,屏幕也有点小,如果以后有机会再改进。

软件编写

因为目前就只打算实现时钟显示这一单一功能,所以代码设计十分简单。首先就是要解决各个部件的驱动。

1. 屏幕驱动

屏幕的分辨率为128像素×64像素。因为是单色的,所以一个1bit就可以表示一个像素,一个字节中有8个像素,所以整个屏幕显示内容所要占用的内存空间为1KB (128×64/8),可以放进STC的RAM,所以我就在RAM里面建立了一个屏幕缓冲区,所有绘图操作都在缓冲区里面进行,这样可以大幅减少和屏幕的通信,加快绘图速度。怎么理解呢?比如要点亮屏幕上的一个像素,但是像素是以8个为单位存在一个字节里面的,要操作里面某一位,只能先把这个字节读出来,修改后再写回去,也就是读改写。注意,单片机和屏幕的通信速度并不快,一直这样读改写速度会非常慢。可以计算一下,这样操作一个像素就要传输两个字节的数据,一共8192个像素,就要传输16384个字节的数据,也就是16KB,而如果先在缓冲区内画完,再传输,只要传输1024个字节就足够了,速度自然就快了。

另外还有一点,一般绘图都要清空屏幕,不然后来的东西会和先前有的叠在一起,就看不清楚了。清空的代价就是闪烁,屏幕会先变全黑再显示出需要的东西,如果使用了缓冲的设计,就不会有这种问题。

2. DS1302 驱动

DS1302的驱动程序在网上很常见,也不困难,我就简单说下BCD和二进制的互转吧。BCD是什么意思呢?简单理解就是在十进制数前面加个0x,然后就变成十六进制了。举个例子,35的BCD编码就是0x35,而二进制编码却应该是0x23。在C语言中,写程序的时候写十进制或者十六进制都没有关系,程序里面写35,编译器会自动认为就是0x23。如果把BCD码用在程序里面,就会出现问题,主要是加减法的问题。还是之前的35,如果加上5,应该是40,这点用二进制码表示是没有问题的,但如果是BCD呢?BCD 0x35加上BCD 0x05应该变成BCD 0x45,但是在程序里面写0x35+0x05结果是0x3A,3A在BCD码中是没有意义的,应该直接进位才对。不过BCD其实转换起来并不困难,因为BCD码4bit对应一个十进制数,一个字节对应两个十进制数。在DS1302驱动中,只涉及1个字节的转换,所以程序就十分简单,以下是简单的BCD转二进制代码的方法。

BIN=(BCD/16)×10+(BCD%16);

除以16和取模16就是获得一个字节中前4bit和后4bit,比如0x35,分别返回3和5,然后第一位乘以十加上第二位就是最终需要的结果了。

3. 主程序设计

我的主程序设计十分简单,先读取时间,比较和上次读取到的时间是否有变化,如果有就显示在屏幕上,然后检测按键是否按下,如果按下,则启动修改时间的函数。具体设计大家还是看代码吧,主函数大家可以自己来写,这样也满足个性化的需求。

后记

制作这个东西加起来需要的时间没有超过24小时,主要的时间还是花费在了飞线上,或许这样飞线的难度有点太高了,并不适合大家仿制。不过采用飞线制作主要还是为了一种心情,今天想到了,第二天就能把它做出来,这是打样PCB做不到的。

多年前我就买过0.96英寸的OLED模块,想用它DIY一个非常酷的手表,但是非常遗憾的是,被我不小心把正负极接反给烧了。然后,我为了玩大屏,买了STM32开发板,为了做成品,自己画了不少PCB。结果就是一个项目所要耗费的时间越来越长,比如我现在在折腾的一款图形计算器,上上下下设计、打样、写程序,再改设计、修改bug什么的,已经做了4版硬件,花了近1年的时间,到现在我还是不满意,准备用ARM9处理器继续做第5版硬件,我也不知道什么时候能完成。虽然工程越做越大,所谓的技术含量也越来越高,但是却似乎少了当初那份纯粹的乐趣,那份质朴的感动。

■介绍一个与众不同的淘宝店铺:首页-数码达人小二-淘宝网,点开有惊喜!

OLED显示屏,行驱动电路设计,单片机AT89C51与和显示屏的硬件接线

OLEDindustry

一个有内容的公众平台!

随着科学技术与电子业技术的不断发展更迭,有机发光二极管如何简易并且有效的实现显示均匀、大面积发光、高亮度高分辨率发光、以及延长有机发光二极管寿命等当前亟需解决的问题,是我们未来要面对的技术挑战。今天小编给大家带来几个平日里做有源、无源oled显示驱动设计的例子,以供大家作为电子设计参考。

一、驱动控制SSD1303实现96x64点阵PM-OLED

本例子使用Solomon公司的OLED显示驱动电路SSD1303,结合AT89C51单片机实现驱动OLED显示屏的方法。SSD1303是一款集控制器、行驱动器和列驱动器于一体的专用于OLED显示控制驱动电路。

实验中OLED结构阳极材料,采用ITO(铟锡氧化物),阴极则使用Mg与其他稳定金属合金的办法Mg:Ag做阴极,以提高器件量子效率和稳定性,并可以在有机膜上形成稳定坚固的金属薄膜。

PM-OLED使用普通的矩阵交叉屏, OLED位于交叉排列的阳极和阴极中间,通过对阳极和阴极组合的选通,可以控制每一个OLED的点亮。

SSD1303芯片内部电路框图如下图1所示:

SSD1303芯片主要由MCU接口、命令译码器、振荡器、显示时序发生器、电压控制与电流控制、区颜色译码器、和图形显示数据存储器(GDDRAM)、行驱动和列驱动组成。这种IC的专用OLED驱动方案使OLED显示性能最佳,降低了功耗。该器件采用TCP/TAB封装。具有驱动最大132×64点阵的图形显示、提供的逻辑电源为2.4~3.5V、供给OLED屏的电源为7.0~16V、列输出的最大电流为 320μA、行输入的最大电流为45mA、低电流睡眠模式小于5μA、256级对比度控制,可编程帧频、具有几个MCU接口,如68/80并行总线和串行的周边接口、132×65bit显示缓冲器、可以垂直滚动、支持部分显示、工作温度:-40 oC~ 85 oC。

整个系统由单片机、控制驱动电路SSD1303和OLED显示屏三部分组成.SSD1303与单片机接口的引脚有:DO~D7为与单片机接口的数据总线,R/W(RW#)为读写选择信号,D/C为数据/命令选择信号,CS#为片选信号,低电平有效,E(RD#)为使能信号,RES#为复位信号。单片机采用ATMEL 公司生产的低功耗、高性能的AT89C51, AT89C51与SSD1303和显示屏的硬件接线如图2所示,P1.0、P1.1、P1.2、P1.3、P1.4分别与SSD1303的 R/W(RW#)、D/C、CS#、E(RD#)、RES#相连,P0口与SSD1303的数据总线相连。其它引脚的连线VCC接12V,VDD接 2.7V,VSS接地等。下面通过程序来控制这些引脚,从而使OLED显示需要的汉字或图形。主程序软件流程图如图3所示。

图2 单片机AT89C51与SSD1303和显示屏的硬件接线

图3 主程序软件流程图

二、台湾普诚PT6807/PT6808无源矩阵驱动方式

本案例采用ISL97702便携式产品的DC/DC直流升压电源电路,输入电压2.3~5.5V,输出电压根据负载轻重在2~30V范围内可调;OLED显示驱动采用PT6807和PT6808构建的无源矩阵驱动方式,适用于单色小尺寸OLED的显示驱动。

只所以选择ISL97702作为电源IC,需要考虑器件运行在最高效率的同时,尽可能的降低功耗并延长电池工作时间。ISL97702具有一种突发模式以及双输出电压选择功能,用以在轻载电流下保持转换器的效率和电源的节约。并且ISL97702还具有浪涌电流限制、短路保护和关机期间负载隔离等功能。ISL97702的DC/DC直流升压电源电路图,如下图所示:

基于ISL97702的DC/DC直流升压电源电路图

OLED显示屏像素点,按行、列排成矩阵,显示图像时,按行扫描或按列扫描,无源矩阵的基本结构框图,如下所示:

无源矩阵基本结构框图

其中“行”是由公共驱动器PT6807依次选通,“列”则是由列选择器PT6808根据图形要求来开通。例如,图中假如第一行只有第一个OLED导通就只有大约0.3mA,而假如第二行是所有OLLED都选通,而每一行一共有100个OLED,则其总电流大约为33mA。也就是说,其总电流是由每一行中的OLED数,就是其象素数决定。因为OLED的亮度是由其电流决定的,所以保持电流的稳定是很重要的。列驱动通常采用P沟道器件作为电流源。为保证其工作于饱和区,至少需要有2伏电压,这样其输出电流随VDS的变化将会小于1%每伏。当某一行有很多OLED导通时,它的总电流就比较大。这时在连接电极上就会有较大压降,从而使VDS降低。而这种压降又取决于显示的图形,而且是不可避免的。所以必须将电流受VDS的变化而变化的灵敏度降至最低。同时输出电流的不均匀性也受到驱动器件的不一致性的影响,这种不均匀性可以靠提高VGS工作电压和版图匹配技术来减小。

128×128点阵模块驱动接口,如下图所示:

128×128点阵模块驱动接口图

1. 行驱动电路设计

PT6807是点阵OLED图形显示系统64路行驱动器,它利用CMOS技术,提供64个移位寄存器和64路输出驱动,PT6807自己产生时钟信号用来控制PT6808列驱动器。

PT6807可以设计为主,从两种模式,为OLED驱动显示提供方便;主/从模式选择由控制脚MS来控制,在主模式下,选择MS脚为高电平,输入/输出脚DIO1,DIO2,CL2只作为输出脚来用;在从模式下,MS脚被置为低电平,输入/输出脚CL2作为输入来用,而DIO1,DIO2的状态由SHL脚来决定。

晶振电路:主模式下,可由R、C、CR端来决定时钟频率;在从模式下,晶振电路的R,C端为悬空状态,CR端接高电平。

显示占空比选择:显示占空比靠输入脚DS1,DS2的状态来决定;在主模式下根据DS1,DS2脚的设置来选择占空比,有四种占空比1/48,1/64,1/96,1/128可供选择;在从模式下,DS1,DS2脚与电源VDD相连。

移位时钟和相位选择:PCLK2用来选择移位数据是在CL2时钟信号的上升沿,还是下降沿移出;数据移位方向的选择由MS,SHL脚来控制。

2. 列驱动电路设计

PT6808是点阵OLED图形显示系统64路列驱动器,它也利用CMOS技术,并提供显示RAM、64位数据锁存、64位驱动和解码逻辑,内部显示RAM用来存储由八位微处理器传来的显示数据,它根据存储数据产生点阵OLED驱动信号,与PT6807(行驱动器)配合使用。

输入缓存用来允许和禁止PT6808,当输入输出数据和指令被执行时,CS1B和CS3必须处于工作状态,不论CS1B和CS3处于任何状态,RSTB和ADC都可以正常操作,并且内部状态不会改变。

输入寄存器用来与MPU接口,并临时存储要写入显示RAM的数据,当CS1B和CS3处于工作状态时,输入寄存器通过R/W和RS来选定,数据通过MPU被写入输入寄存器,然后写入显示RAM中,数据在E信号的下降沿被锁入,通过内部操作自动写入显示RAM中。

输出寄存器:当CS1B和CS3处于工作状态,并且R/W和RS为高电平时,输出寄存器用来临时存储显示数据RAM,也即显示数据RAM中的存储数据被锁存到输出寄存器。当CS1B和CS3处于工作状态,R/W为高,RS为低时,状态数据(忙检测)可以被读出。

为了读出显示数据RAM中的内容,需要访问读指令两次,在第一次访问中,显示数据RAM中的数据被锁存到输出寄存器中,在第二次访问中,MPU读锁存数据。这就是说,在读显示数据RAM时需要一次假读,但是,在读状态数据时不需要假读。

为了克服在工作过程中当OLED亮度较高时的自动关屏问题,在写入数据之前应该查看该项,若关屏,则将其打开,以保证OLED屏的正常工作。其中判断是否关屏,若关闭则将其自动打开子程序如下:

Rs=0; // rs为数据/指令选择脚

r_w=1; // r_w为读/写输入脚

e =1; // e为允许信号输入脚

busy = P3; // P3接数据线端口

e = 0;

if(busy&0x20==0x00) // 若为真,表示已关屏

{com=0x3f; // com为形参

wr_command(com);} // wr_command是写命令子程序

三、TFT-OLED模拟像素单元驱动/控制电路

AM-OLED驱动实现方案包括模拟和数字两种。在数字驱动方案中,每一像素与一开关相连,TFT仅作模拟开关使用,灰度级产生方法包括时间比率灰度和面积比率灰度,或者两者的结合。目前,模拟像素电路仍占主流,但在灰度级实现上,模拟技术与时间比率灰度和面积比率灰度理论相结合将会是将来的一个发展趋势。在模拟方案中,根据输入数据信号的类型不同,单元像素电路可分为电压控制型和电流控制型。

电压控制型像素电路

1.两管TFT结构

电压控制型单元像素电路以数据电压作为视频信号。最简单的电压控制型两管TFT单元像素电路如图1所示。

图1 两管TFT驱动电路

其工作原理如下:当扫描线被选中时,开关管T1开启,数据电压通过T1管对存储电容CS充电,CS的电压控制驱动管T2的漏极电流;当扫描线未被选中时,T1截止,储存在CS上的电荷继续维持T2的栅极电压,T2保持导通状态,故在整个帧周期中,OLED处于恒流控制。

其中(a),(b)被分别称为恒流源结构与源极跟随结构,前者OLED处于驱动管T2的漏端,克服了OLED开启电压的变化对T2管电流的影响;后者在工艺上更容易实现。两管电路结构的不足之处在于驱动管T2阈值电压的不一致将导致逐个显示屏的亮度的不均匀,OLED的电流和数据电压呈非线性关系,不利于灰度的调节。

2.三管TFT结构

基于第二代电流传输器原理的电压控制型像素单元电路如图2所示,虚线左边可视为外部驱动电路,右边为单元像素电路。

图2 基于第二代电流传输器原理的像素电路

在控制模式下,T2和T3开启,T1和运算放大器构成第二代电流传输器,由于运算放大器的放大倍数可以取得很大,T1管的阈值电压对电流的影响变得不敏感,此时,流经T1的电流:

IT1=Vin/Rin

并且T1管源极电压应低于OLED的开启电压,防止OLED开启。在保持模式下,T2和T3关断,存储电容Cs维持T1管的栅极电压,电流经T1进入OLED。其中放大器由COMS电路实现,所有同行像素可共用一个运算放大器。

仿真结果表明,尽管T3管存在电荷注入与时钟馈漏效应,使得OLED电流略小于控制电流;在OLED标称电流为1μA,阈值电压漂移超过5V时,控制电流、OLED电流相对误差分别为-0.18%、5.2%,成功补偿了TFT的空间不均性和不稳定性。

虽然电压控制型电路具有响应速度快的特点,但由于不能准确地调节显示的灰度,难以满足显示的需求,于是人们提出电流驱动方案。电流控制型单元像素电路是以数据电流作为视频信号的。

3管电流控制型TFT像素电路

4-TFT电流控制电流镜像素电路

目前,全球已经有多家公司在从事OLED驱动IC的研究,到目前为止,还没有完全商业化的AM-OLED的驱动IC。但NextSierra公司已推出了分别集成的TFT-OLED行列驱动NXS1008、NXS1009和控制芯片NXS1010,张志伟等人采用该系列芯片,通过MCS-51单片机的控制来驱动240×320×3点阵的TFT-OLED屏,实现了大信息量的动态图形显示。

由于液晶显示器件的配套驱动芯片功能比较完善,且价格低廉,所以将此类芯片移用于有源矩阵显示屏(AM-OLED)成为了国内外当前的研究焦点。显示驱动IC是目前TFT-OLED的薄弱环节,开发通用或者专用的驱动IC,并集成控制电路,是提高OLED在平板及显示领域竞争力的重要动力。

往期精彩回顾

OPPO的又一首次突破!屏下摄像头真的来了.......

维信诺供应AMOLED!小米屏下摄像头来啦!

OLEDindustry

↓↓ 可以畅聊到天亮的行业技术群!你要不要来?↓↓

管理员微信:OLEDindustry2

添加管理员微信 > 入群 > 尽情畅聊探讨

相关问答

单片机 oled 和lcd显示有什么区别?

单片机(MCU)用OLED和LCD显示有以下区别:1.技术原理:OLED是有机发光二极管显示技术,其采用有机材料层间的电流流动产生发光;而LCD是液晶显示技术,通过在...

OLED 11C和12C有什么不同?-ZOL问答

1.尺寸:OLED11C和12C的尺寸可能会有所不同。这取决于制造商和产品规格,常见的尺寸包括5英寸、6英寸等。2.分辨率:分辨率指屏幕上像素点的数量,用来表示屏幕...

数显式轨距尺海特测控厂家怎么样大侠们,求解

[回答]数字轨距尺自动完成所有数据的测量,彻底省去了使用机械刻线轨距尺时,必须弯腰调节度轮盘、对准水准泡零位、看超高刻度,再从放大镜刻线正上方看轨距...

小米10s与neo5视频拍摄对比

一、外貌iqooneo5:官方海报上显示,iQOONeo5正面采用了居中挖孔直屏设计,打孔位置放置在屏幕最中心孔径较小,边框位置很窄,具有很好的视觉效果和屏占比。后...

1621驱动lcd有关问题

其中LCD阵营中,WBRPMLCD包括MSTN(MonoSTN)、CSTN(ColorSTN)等技术,AMLCD阵营包括a-SiTFTLCD、LTPSTFTLCD等。OLED阵营按材料分类...

拨珠子的计数器怎么做?

拨珠子的计数器,又称作珠子计数器、珠算计数器,是一种用于对珠子进行计数的传统工具。对于想要制作一款拨珠子计数器的人来说,需要准备一些珠子和绳子,将珠子...

大神赐教!数显式轨距尺使用方法

海特测控数显轨距尺通过微电子、单片机、传感器、信号处理等技术,位移传感器采集轨距、查照和护背的数据,倾角传感器采集超高和温度数据,经过计算后...

led数码管显示方式?

LED数码管是一种集数字电路、光电显示、光学技术于一体的显示器件。下面介绍一些常见的LED数码管显示方式:1.共阳数码管:数码管的阳极连接在一起,数码管的阳...

苹果电脑死机了,停在界面不动了,为什么-ZOL问答

华为发布双层OLED云晰柔光屏平板:天生会画打造数字创作的新王牌评论8重塑职...单片机复位电路作用9634浏览8回答无线路由器显示主机名稱qca4002,这是什么...

玩客云的硬盘大家肿么分区的-ZOL问答

华为MatePadPro12.2英寸搭载双层OLED云晰柔光屏,重构专业创作体验评论428...单片机复位电路作用9634浏览8回答无线路由器显示主机名稱qca4002,这是什么....

猜你喜欢