一种基于LPC1788的OLED显示按键矩阵设计
2020-01-15周国良曾范昌
周国良,曾范昌
(中国船舶重工集团公司第七一六研究所,江苏 连云港 222006)
1 引 言
随着军用装备的不断更新换代和人机交互技术的发展,不仅对操控设备的性能要求越来越高,对操控设备的可视化和图形化的显示需求、人机界面友好性的要求也越来越迫切,并对操控设备的功耗、减少光污染方面提出了更高的要求。在车载、舰载、机载等一体化大屏幕显示器应用中,周围需要大量的按键来辅助实现操控信息的输入输出[1],以更加方便、直观、快捷地实现人机信息的交互。
传统的按键矩阵多采用瑞士EAO公司和国内851厂的按键,按键标识采用胶片印字的方式,并通过LED背光源实现按键表面标识字符的发光显示,无法实现按键的通用化设计和按键功能数量的扩展,想要更改按键的功能标识只能重新设计胶片进行更换,对于现场按键标识的更改非常不方便,并且采用LED灯作为背光源,照明不均匀,胶片的显示效果差。如果按键数目不能满足设计要求,只能重新设计按键矩阵,可扩展性差,无法满足硬件通用化设计。
OLED显示屏具有广视角、高亮度、自发光、响应速度快、高清晰、低功耗、抗震性能优异、制造成本低、超轻、超薄等特点,在手持终端及嵌入式设备,应用范围及其广泛[2-3]。将OLED屏应用到按键上,可以充分满足用户可视化、图形化的显示需求。本文为了实现人机交互场景中按键矩阵的硬件通用化设计,按键功能软件自定义、按键功能数量可扩展,对OLED显示按键进行了研究,并设计了基于LPC1788的OLED显示按键矩阵,将字库、图片存储在板载Flash中,实现了显示文字、图片的软件可配置。将OLED图形显示技术应用于显示按键,实现按键提示信息可编程,按键功能标识及显示内容可配置,按键数量通过设置翻页功能可扩展,进一步节省了人机交互空间、简化了人机交互设备,提升了人机交互体验[4-5]。
2 系统设计
2.1 矩阵系统的硬件构成
基于LPC1788的 OLED显示按键矩阵设计[6],采用面向用户的设计理念,实现硬件通用化设计,按键功能、按键显示画面可通过软件实现用户自定义,控制板采用NXP公司的LPC1788处理芯片,按键矩阵主要包括OLED按键、SPI FLASH 模块、PWM调光模块、电源电路、MCU处理模块以及上位机六部分,系统功能框图如图1所示,以下分别介绍各部分的组成及功能[7]。
图1 系统功能框图Fig.1 Function block diagram of system
2.2 OLED按键
OLED显示按键矩阵采用的是NKK公司的ISF型OLED显示按键,为彩色OLED显示模块,16位模式下达65 536色范围,能满足细小文字、图表的精细显示,180°视角,显示达6行,每行10个字符。具有高清晰度、高对比度的特点,分辨率为96×64像素,集成了位图显示功能,结构尺寸小,通过指令及串行通讯接口提供数据(SPI接口)进行显示,可视面积达21.28 mm×18.74 mm。图2为ISF型OLED显示按键功能框图。按键结构紧凑,可靠性高,操作流畅静音,具有单元组合显示功能,应用方便灵活。
图2 OLED显示按键功能框图Fig.2 Function block diagram of OLED key
OLED显示按键通过从选择信号、复位信号、数据指令控制信号3个控制信号和SPI接口实现与MCU的数据通信。控制信号SS为OLED显示按键从选择信号,低电平有效;RES为OLED显示按键的复位信号,低电平有效,复位时OLED显示按键进行初始化;D/C为OLED显示按键数据、指令控制,低电平数据解析为指令,高电平数据被认为数据;SCK为OLED显示按键的SPI接口的时钟;SDI为OLED显示按键的数据线;VDD为逻辑电路电源,控制OLED显示按键的背光亮度;一对SW引脚为开关两端,VCC、GND为OLED显示按键的电源和地信号。图3为ISF型OLED显示按键的驱动时序,表1为ISF型OLED显示按键的驱动时序参数[8]。
图3按键驱动时序Fig.3 Display key drive timing
表1 按键时序参数Tab.1 Display key timing parameters
2.3 SPI FLASH模块
OLED显示按键集成了位图显示功能,能进行小文字、图表的精细显示,但按键本身没有存储器,字库和需要显示的图只能存储在外置存储器中,本文采用了外置Flash的方式,进行字库和图片的存储。Flash选用了ST公司的SPI 接口FLASH M25P128,存储空间128 Mbit。32号字的字库为1 MB左右,96×64像素的彩色图片每张大约为16 KB,可以满足大约数万张16 KB的图片存储需求[9]。
2.4 PWM调光模块
PWM调光模块包括光强传感器和调光电路,光强传感器采用MAX44009串口光强度传感器模块,测量范围0.045 ~188 000 lx,并且具有I2C接口,MCU可直接通过I2C总线进行数据采集。
根据OLED显示按键背光的亮度由按键的逻辑电源VDD控制,逻辑电源典型值为DC 15 V,为了实现OLED按键的亮度调节设计了基于PWM调压技术的调光电路。如图4所示为PWM调光电路,PWM调光电路通过LPC1788 通用PWM管脚输出占空比可调的方波信号,PWM信号经过两级开关三极管进行电压变换,并进行两级LC积分滤波处理,得到输出为接近直流的电压信号,电压信号的幅值为15×X(V),其中X为PWM信号占空比,其值为0~100%,通过调节PWM信号的占空比从而实现了OLED显示按键逻辑电源0~15V区间内可连续平滑调节,即实现了OLED显示按键亮度调节,OLED显示按键亮度调节范围0~250 cd/m2[10-13],可以满足在白天、傍晚、黑夜等不同光线条件下的按键的亮度调节需求和文字、图片的显示需求。
图4 PWM调光电路Fig.4 Design of PWM dimmer circuit
2.5 电源电路
OLED显示按键矩阵电源采用+5 V外部电源供电,内部需要VCC +3.3 V和VDD +15 V两种电源供电,根据图5按键状态变换和图6电源上电、断电顺序,设计了图7电源供电电路,供电电路选用了Linear公司的LTC3531ES6-3.3电源芯片产生+3.3 V、TI的TPS61041电源芯片产生+15 V,并选用了TI的TPS3103K33芯片来控制+3.3 V和+15 V的上电时序。
图5 按键状态变换Fig.5 State transformation of display keys
图6 按键上电顺序Fig.6 Power-on sequence of keys
2.6 MCU处理模块
MCU处理模块采用NXP公司的LPC1788,该芯片为ARM7框架,外设组件包括高达512 kB的Flash存储器、高达92 kB的数据存储器、4 kB的EEPROM存储器、一个用于SDRAM和静态存储器存取的外部存储器控制器、一个6输出的通用PWM、具有以太网MAC、USB、UART、SSP控制器、I2C、双通道CAN等丰富的通信接口、一个正交编码器接口、4个通用定时器、一个带独立电源和时间监控器/记录器的超低功耗RTC、一个窗口看门狗定时器,丰富的资源有效减少了外围电路。
图8 MCU处理模块功能框图Fig.8 Function block diagram of MCU processing module
图8所示为MCU处理模块功能框图,MCU处理模块以LPC1788为核心处理芯片,主要功能包括控制SPI flash、EEPROM的读写,OLED按键的时序控制,以及对外提供USB、RS232、RS422、CAN接口等通信接口。
3 软件设计
软件设计主要包括LPC1788的固件设计和OLED按键矩阵上位机设计,为提高控制系统的可靠性,控制系统的软件采用模块化结构,上位机配置界面如图9所示。上位机界面分为通信接口选择、按键编号选择、字库选择、按键背景配置、按键字体配置、按键图片配置等,图10所示为OLED按键矩阵配置流程图。
图9 上位机配置界面Fig.9 Configuration interface of display Key
图10 按键配置流程Fig.10 Process of key configuration
4 设计实现
OLED显示按键矩阵核心部件是键盘控制板,OLED按键安装在键盘控制板上,每个按键通过金属管脚焊接在键盘控制板上,键盘控制板安装在结构外壳的内部,并通过结构外壳上表面开孔将OLED按键裸露出来,进行显示与按键操作。OLED按键与结构外壳上表面平齐安装。
OLED按键矩阵需要显示的字库和图片存储于键盘控制板的Flash存储器中,LPC1788通过SPI接口与OLED按键通信,根据需要读取Flash中存储的字库和图片到OLED按键进行显示。
LPC1788控制器实时检测OLED按键的抬起、按下变化情况,输出按键抬起、按下变化的编码值,同时根据按键抬起、按下状态从Flash中读取需要显示的内容,从而控制OLED按键的显示内容。按键矩阵一方面可以通过照度传感器实时检测环境光照强度,并根据环境光照轻度调节按键背光的亮度,也可以通过上位机设置白天、傍晚、黑夜3种亮度模式调整按键背光亮度。
OLED显示按键矩阵在设计及试制后,完成了调试验证工作,并进行了批量生产,产品实物如图11所示,按键矩阵由9行2列总共18个OLED显示按键组成,实现了硬件通用化、软件可定义设计,按键矩阵通过USB接口与上位机进行通信,可以根据软件配置灵活的定义按键功能和显示内容。OLED显示按键矩阵还具有翻页扩展功能,通过按键翻页实现对同一个按键的多功能定义,满足更多按键个数的需求。
图11 按键矩阵实物显示图Fig.11 Object of display key matrix
5 结 论
设计的基于LPC1788的 OLED显示按键矩阵设计,实现了按键矩阵的硬件通用化设计、软件可扩展设计,按键矩阵由18个NKK公司的ISF型OLED显示按键组成,按键显示分辨率96×64像素,180°视角,调光范围0~250 cd/m2,高清晰度、高对比度,全屏幕显示,通过软件灵活配置,实现矩阵翻页设计,扩展为更多的按键需求,节省了结构空间。实现了按键背光根据环境光照强度的自动调节,达到减少光污染、延长产品使用寿命的目的。产品具有低功耗、清晰度高、人机界面友好、通用性强、可靠性高、可移植性好、外形美观等特点,现在已经实现了批量化生产和推广应用。随着OLED显示技术的进一步发展,性能的进一步提升,在车载、舰载、机载等人机交互场景中应用范围必将越来越广。