• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于FPGA的OLED按键矩阵低时延刷新显示技术研究与设计

于杰 郭毅 任超
  
百家媒体号
2023年67期
苏州长风航空电子有限公司

打开文本图片集

摘要:本文利用FPGA能够实现并行处理数据的优势,设计了MCU+FPGA架构的多数量OLED显示屏按键矩阵处理电路,并选用了自带存储功能的OLED显示屏按键,实现了OLED显示屏按键矩阵处理电路的低时延刷新显示设计,通过分析比较传统设计方案与本方案在时延方面的优劣势,给出了两种方案在时延方面的分析结果。结果表明,通过MCU+FPGA架构的多数量OLED显示屏按键矩阵处理电路在画面刷新显示时延方面有着明显的提高。

关键词:FPGA,OLED显示屏按键,低时延

1 项目背景

随着电气化、数字化、智能化的普及,传统的机械式按键已无法满足当前的使用需求,在实现以往开关功能的同时,还需自定义按键,对按键刻字或画面进行实时灵活变更,以达到不同的使用场景功能,而OLED按键的出现,能够很好的解决此问题,但随着OLED按键使用的数量越来越多,给处理电路带来了负担,带来了OLED按键画面刷新速度慢、实时性差等问题。

针对上述多数量OLED按键矩阵处理电路带来的实时性差的问题,本文根据实际使用需求,增强人机交互体验,设计了基于FPGA的OLED按键矩阵低时延刷新显示处理电路,并针对OLED按键进行了选型,以进一步提高OLED按键画面刷新的时效性,有效降低时延。

2 功能概述

本项目采用5×5 OLED显示屏按键矩阵布局(如图1),OLED按键矩阵处理电路板用于采集25个OLED显示屏按键的开关信息,通过RS422串口与外部设备交互传递按键信息;同时可通过SPI总线接口控制25个OLED显示画面同步变化及亮度调节。

3 方案设计

3.1 OLED显示屏按键选型

本项目选用HOLB/HLCD(系列)显示屏按键,HOLB/HLCD系列显示屏按键是应用于航空、航天、船舶、装甲车辆等领域的微型显示控制模块。其具有良好的环境适应性,能够在严苛的环境下正常工作。产品集成显示和控制功能,能够根据客户需要灵活应用,产品可选内置存储或不带存储,本项目选用带内置存储的HOLB-5YT-9MAP OLED显示屏按键,其特点如下:

a)尺寸小巧,外形尺寸仅为 24.7mm×21.7mm×25mm;

b)画面清晰,显示屏分辨率为 180RGB×120(像素);

c)色彩丰富,显示屏颜色为 24-bit;

d)按键按压回馈手感良好,有明确的通断感;

e)IP56 防水等级;

f)SPI 总线通信;

g)内置 GB2312 字库;

h)高可靠性点触式开关;

i)重量不大于20g;

j)MTBF 值高达30万小时。

OLED显示屏按键功能如下:

a)1路点触式按键开关;

b)高饱和度真彩画面显示;

c)可通过SPI总线实现256级亮度调节;

d)内部多达16MB存储空间,可存储256幅图片;

e)可通过SPI总线控制画面切换;

f)可通过SPI总线在线更新内部存储图片。

3.2设计方案权衡

3.2.1传统典型应用电路

传统典型应用电路如图3所示,采用MCU自带SPI接口对OLED显示屏按键进行操作,当存在多个OLED显示屏按键时,MCU由于SPI接口有限,只能通过OLED显示屏按键的片选信号轮流进行串行操作,故将会导致OLED显示屏按键画面刷新实时性差的问题。

此方式是将SPI总线进行串联的方式进行连接,每个OLED按键会有一个片选信号,低有效如果需要刷新总线上某个OLED按键时,需要拉低这个信号,操作完成后变成高电平,由于MCU处理器同一时刻只能完成,一个任务的特点,OLED按键在完成刷新显示内容时,还需要按键采集,这就造成了多个OLED按键矩阵时,更新显示内容时所需要时间需要更长时间,25个OLED按键画面刷新时间计算如下:

a)SPI的速率为50M/14=3.571Mbps;

b)按键前端滤波器的滤波宽度(按键防抖):T_filter =2.0ms;

c)向OLED写数据帧或读数据帧的时间:T_cmd=17.96us;

d)OLED SPI总线读写操作之间的间隔:T_gap=2.5ms;(要求≮2ms,如图4)

e)table页面切换完成时间:time=T_filter +(4×T_cmd + 4×T_gap)≈7ms;

f)key切换完成时间:time=(2×T_cmd + 2×T_gap)≈ 5ms;

g)刷新完成时间:time=T_filter +(4×T_cmd + 3×T_gap)+(2×T_cmd + 2×T_gap)=14.5ms;table页面切换时间和key的切换时间,存在一个T_gap时间的重叠,因为table切换等待最后一个T_gap的时候,key的切换已经启动。

OLED画面刷新完成时间为14.5ms,从单个按键按下到显示内容更新,单个按键时间为14.5ms,本项目共有25个OLED按键,共计需要362.5ms,而人眼反应时间大约24ms,这个刷新时间显然太长,效率太低,在实际使用中人机交互体验非常不好。

3.2.2本项目改进后应用电路

改进后应用电路如图8所示,在MCU和OLED显示屏按键之间增加FPGA,利用FPGA可以并行处理数据的优势,可同时对多个OLED显示屏按键进行SPI读写操作,从而解决传统电路处理多个OLED显示屏按键画面刷新实时性差的问题,本项目改进后刷新时间理论上是改进前的1/25,可大大缩减时延,增强人机交互体验。

此方式是将SPI总线进行单独与OLED按键连接,每个OLED按键也会有一个片选信号,低有效如果需要刷新总线上某个OLED按键时,需要拉低这个信号,操作完成后变成高电平,由于FPGA处理器为并行运算同一时刻可完成多个任务的特点,可实现对25个OLED按键同时进行SPI读写操作,故其操作OLED画面刷新时间是14.5ms,是传统方式画面刷新时间(改进前)的1/25,对于FPGA来说更新一个按键与多个按键是没区别的,此方法大大改善时延问题。

3.2.3结论

通过以上计算分析,针对此项目,选择MCU+FPGA方式有助于改善时延问题,增强人机交互体验。

注:对于使用场景只用到3个及以下OLED显示屏按键的产品建议采用单MCU方式,可以降低电路复杂度和成本。

3.3设计与实现

3.3.1产品组成

本产品组成主要包括OLED显示屏按键、OLED按键矩阵处理电路板(含OLED载板)、框架等组成部分,组成示意图如图9所示,包括:

a)框架;

b)OLED显示屏按键;

c)OLED按键矩阵处理电路板。

3.3.2工作原理

OLED按键矩阵处理电路板采用MCU+FPGA架构,FPGA通过25路SPI接口与OLED显示屏按键进行读写操作,实现OLED画面刷新,并采集25个OLED显示屏按键开关信息,通过UART串口发送至MCU,MCU通过协议打包将数据通过RS422串口发送至系统,同时,MCU可接收外部RS422接口控制指令,通过FPGA控制OLED按键的画面状态。

原理框图如图10所示。

3.3.3 MCU处理单元

MCU在本项目中主要实现串口通信功能。

如图11所示,MCU采用 ARM Cortex-M4 32位处理器核心,在200MHz频率下工作,Flash访问零等待状态以获得最大效率。它提供高达3072KB 的片上闪存和512KB 的 SRAM 存储器。扩展范围的增强 I/O 和外围设备连接到两个APB总线。这些设备提供多达三个12位2.6Mbps ADC、两个12位 DAC、多达八个通用16位定时器、两个16位 PWM 高级控制定时器、两个32位通用定时器和两个16位基本定时器,以及标准和高级通信接口:多达六个 SPI、三个 I2C、四个USART 和四个UART、两个I2S、两个CAN等接口实现原理。

3.3.4 FPGA处理单元

FPGA在本项目中主要实现对OLED按键显示切换,按键采集,串口通信。

在实际使用中需要多个OLED按键通过SPI通信同时切换画面,最大需要25路SPI通信接口,本课题选用安路科技的 ELF2 系列器件,其具有低成本、低功耗等特点。ELF2 器件已用于大批量产品中,选用的EF2L45BG256B器件主要参数如下:

a)55nm 低功耗工艺,最大用户 IO 数量达 207;

b)无需外部配置器件,支持快速上电启动;

c)最大支持 35 Kbits 分布存储器,最大支持 700Kbits 嵌入块存储器;

d)可配置支持以下单端标准 LVTTL,LVCMOS(3.3/2.5/1.8/1.5/1.2V)配置上拉/下拉模式;

e)LUTs 4480 DFFs 4480 Dis-RAM 35(Kbs);

f)Flash 4M。

3.3.5 RS422电平转换电路

MCU引出通信串口用于与外部设备通信,该串口为TTL电平在外部需加入电平转换芯片型号为TD541S485S-FT隔离芯片。

TD(H)541S485S-FT 是为 RS-485 总线网络设计的一款隔离型全双工增强型收发器,且完全符合 TIA/EIA-485A 标准。逻辑侧支持 3.3V 和 5V 逻辑电平的转换,总线接收器采用 1/8 单元负载设计,其总线负载能力高达 256 个节点单元,满足多节点设计设计需求。总线传输速率高达 20Mbps。TD(H)541S485S-FT 更在传统 IC 基础上重点加强 A、B、Z、Y 引脚可靠性设计,其中包括驱动器过流保护,增强型 ESD 设计等,其 A、B、Z、Y端口 ESD 承受能力高达 15KV(Human Body Model)。

3.3.6 FPGA逻辑软件设计

FPGA逻辑软件由4个模块组成,包括SPI模块、TTL串口模块、按键采集模块、按键防抖处理模块,如图14所示。SPI模块负责实现与OLED显示屏按键SPI总线读写操作,刷新OLED显示画面,TTL串口模块完成发送按键状态值,同时接收MCU串口信息进行OLED显示屏按键亮度调节,按键查询功能,按键采集模块完成采集功能,按键防抖处理模块实现按键防抖滤波功能。

4 结束语

本文通过分析比较传统多数量OLED显示屏按键单MCU处理电路设计方法与MCU+FPGA设计方法在画面刷新时延方面的差异,给出了两种方法在时延方面的分析结果。结果表明,通过MCU+FPGA架构的多数量OLED按键矩阵处理电路在画面刷新显示时延方面有着明显的提高,而且采用的OLED显示屏按键越多,画面刷新显示时延效果更加明显,但对于使用场景只用到3个及以下的OLED显示屏按键的产品建议采用单MCU方式,可以降低电路复杂度和成本。

*本文暂不支持打印功能

monitor