基于OLED的多电子图文广告屏设计
1 引言
新一代显示器件有机电致发光显示器件OLED(OrganicLightEmittingDiode)厚度为LCD的1/3,响应速度是LCD元件的1000倍,低温特性好,在-40℃能正常显示,OLED主动发光的特性使其几乎没有视角问题,在很大的角度内观看,显示厕面仍不失真;OLED能够在不同材质的基板上制造,可做成能弯曲的柔软显示器;外形不受限制,可以是任何形状;可以放到任意物体的表面,所以特别适于户外大屏幕电子屏广告显示领域。基于上述优点,设计开发一套能在多个公共场合(如厂区、校区)同步发布电子公告的多电子图文广告屏。该系统基于通用串行总线(USB)传输,速度快、可靠性高,有效地克服了传统广告图文传输的缺陷。
2系统设计
多场合同步发布电子广告屏系统由位于Internet网络的PC机(上位机)和位于各LED控制器上的单片机(下位机)组成,采用USB总线进行主从式通信。图1为控制系统的逻辑结构框图。上位机主要完成图文编辑、字模提取与保存、图像预览与文件传输等任务;下位机通过一定的扫描驱动方式控制OLED点阵行列驱动器,实现设备的驱动并最终接收并显示图文。由于采用USB总线,可顺利实现多屏连接。
3 OLED驱动电路设计
OLED的驱动方式属于电流驱动。图2是有源矩阵OLED像素的驱动原理图。
与液晶像素相比,OLED像素驱动多一个晶体管VT2,它能在VT1截止时给OLED像素提供发光的电流。当行信号端输入高电压选通信号,VT1处于导通状态时,列同步输入相应电压,向电容C充电同时控制流过VT2的电流的大小。当行信号端输入低电压信号时,VT1截止,由电容C为VT2管提供栅极电压,继续控制VT2的漏极电流,维持像素继续发光。
系统中的OLED采用无源驱动方式。假设OLED显示屏有n行m列像素点,若使第x行与第y列交叉的发光元件发光(导通),仅需使列驱动电路的第y列选通开关闭合,输出高电平,并使行扫描电路的第x行输出低电平,其扫描时序图如图3所示。其中TFRM为帧周期,TLINE为行扫描周期,确定帧频率fFRM后也即确定一帧的时间,TFRM=1/fFRM;每一行的扫描时间TLINE在帧频确定的情况下是确定的,即TLINE=TFRM/N。
设计的驱动电路采用PT6807、PT6808、PT6807是点阵0LED图形显示系统64路行驱动器,它利用CMOS技术,提供64个移位寄存器和64路输出驱动,PT6807自己产生时钟信号控制PT6808列驱动器。以128x128点阵为例说明具体的操作,点阵驱动模块接口如图4所示。为读出显示数据RAM中的内容,需访问读指令2次,第1次访问中,显示数据RAM中的数据被锁存到输出寄存器中,在第2次访问中,MPU读锁存数据。即在读显示数据RAM时需1次假读,但在读状态数据时无需假读。
4单片机存储器设计
OLED电子屏以汉字显示为主,而存储一个汉字需32x32=1024b=128B的空间。而AT89C51内部存储空间有限,扩展数据存储器,采用62256SRAM,每片可存储256个汉字,用8片能显示常见的2000多个汉字。另外,由于系统需调用的程序和数据较多,所以在外部扩展1片程序存储器,使除堆栈、队列等频繁使用的结构外,其他类似初始化状态字等不占用片内存储器,避免片内数据阻塞。
5USB接口的硬件设计
上位机向下位机的数据传输通过专用USB通信控制器件PDIUSBD12实现。该器件支持3个USB端点,采用多种中断方式方便于块传输(Bulk)和同步传输(Isochronous),块传输和同步传输的数据传输速率均可达1Mb/s,其与AT89C51单片机的棒口电路如图5所示。
6软件设计
软件系统包括USB驱动固件和图文资料处理两部分。设备固件是设备运行的核心,采用C语言编写。其主要功能是通过PDIUSBD12实时下传数据至单片机。程序主要分初始化、数据处理、控制和USB通信4个模块。设备与微机相连后,初始化模块对设备进行初始化配置;数据处理模块预处理前端数据;控制模块则用于控制前端硬件;而USB通信模块负责主机与前端硬件的通信,是同件设计的关键。USB通信同件设计的目标是使PDIUSBD12在USB上达到最大的传输速率。在程序中需定义USB设备的GUID,通过USB驱动程序与USB设备连通,且需利用Windows的API函数取得USB设备的Handle。根据USB协议,任何传输都由主机(Host)开始。单片机进行其前台工作,等待中断。主机首先发令牌包给PDIUSBD12,PDIUSBD12接收到令牌包后就给单片机发中断。单片机进入中断服务程序,首先读PDIUSBD12的中断寄存器,判断USB令牌包的类型,然后执行相应操作。PDIUSBD12采用SIE管理USB通信。当主机与器件进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这3个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在同件中分别执行不同的中断程序实现USB的数据传输。外部中断0程序如下:
- 为手持设备的被动式OLED显示器供电(11-25)
- 基于C8051F的OLED控制电路的设计(07-18)
- OLED的结构原理及优缺点(10-01)
- 欧司朗将在 Light + Building 展览会上以数百颗有机 LED 展示照明新可能(02-13)
- 显示屏背光源的管理方案介绍(01-14)
- LED背光源的设计方案与实际应用案例集锦(07-07)