Skip to content
Anthony Lee edited this page Nov 13, 2018 · 4 revisions

适用设备分析

当前项目适用平台设备之一,NanoPi OLED 扩展附件,其配备一个分辨率为 128x64 单色显示屏及三个按键。

低分辨率显示屏

这种低分辨率显示屏主要用于信息提示以及简单交互操作,优势是节能以及体积小。以此设备驱动芯片 SSD1306 为例,其 datasheet 中公式为 Ffrm = Fosc/(DxKxNmux),其中 D 取最小值 1、K = 54、Nmux = 64、Fosc = 370kHz,则计算得刷新率约为 100fps(未深究实际含义);但是,仅仅从数据传输方面看,SSD1306 芯片允许 I2C 时钟最高为 400 kHz,刷新一帧,需要先设置 GRAM 偏移(指令为三次 Command),而后传输数据共 128x8 = 1024 字节;粗略计算(忽略掉 I2C START/STOP 等信号的时间),则传输一帧数据总共 3x(1+1+1)+(1+1+1024) = 1035 个字节,所需时间约为 1035x8/400 = 20.7 微秒,则最快刷新率 1000/20.7 = 48.3 fps。实际上,由于各种影响,刷新率根本很难达到这个值,特别是只采用非硬件的模拟 I2C 时,I2C 时钟约在 100kHz 左右,这样的话,实际刷新率只有可怜的 12fps 左右。虽然,此芯片配置了图形滚动的加速指令,但每次终止滚动时,都需要重写 GRAM,其用处相当有限。

综上所述,现适用平台设备不适合于像素差异变化频率过大的场景;再者,单色且分辨率较低,比较适合于对图形要求不高的静态图形(文字最终体现亦是图形)显示或对画面复杂度、变化度要求不高的简单交互场景。要获得比较流畅的显示体验,除了提高 I2C 时钟,还需要尽可能得减少传输的数据量。

按键

没有其它方式(比如:触摸、声控等)时,按键是交互操作的重要组成部件之一。由上,简易设备不可能时刻配备诸如 PC 键盘之类具有丰富构成的部件,而两三个按键要使其不至于形同虚设,就需要从交互操作中频率最高的步骤出发去考虑设计功能。比如,现在普遍的手机操作系统,三个标配按钮(无论是物理还是虚拟)功能是各种操作不可或缺的(菜单键对于系统不可或缺,对于应用则不然)。

Clone this wiki locally