如何用电子墨水显示和stm32微控制器组成电子日历?

描述

本文主要介绍了一个由E-lnk和stm32微控制器组成的电子日历。

描述

本文介绍一个由电子墨水显示和stm32微控制器组成的简单电子日历。 它不仅可以显示日期和时间,还可以显示储存在SD卡中的背景图像。而且它的消耗很低可长时间待机。下一步我将尝试使用ESP32来取代STM32F4,从而实现从互联网上获取更多信息。

硬件规格:

版本1:

处理器:STM32F407ZET6

内存:512K * 16位SRAM

版本1.1(成本降低)

处理器:STM32F407VGT6

内存:全部移至内部SRAM

屏幕:ED060SC4 800 * 600 EPD(在16级灰度模式下工作)

可实现功能:

显示课程的日期和时间;

将SD卡中的BMP显示为背景;

可能与Raspberry Pi一起使用?

运行要求:

多达16种灰色阴影;

完全刷新和部分刷新;

完整的800 * 600分辨率

提供快速响应1位模式(最高10fps+,取决于使用的屏幕)

其他有关详细信息,请参阅源代码。

日志细节:

组件

任何电子纸张显示设备,都需要下列组件:

每个系统都需要这些组件。然而,它们可以被整合,所以人们可能不知道这些。如今,一种常用的屏幕技术被称为“玻璃上的芯片”,简称为COG。它允许集成芯片在玻璃面板上。几乎所有的电子纸显示器都使用这种技术将系统的某些部分集成到玻璃上。

目前市面上大部分的屏幕,根据被集成到玻璃面板上的内容,可以分为两类,如图所示为A类和B类。

注:A/B类型的名字仅为代称,非官方名称。

A型屏幕只集成了显示驱动芯片,然而,B型屏幕集成了几乎所有你需要使用屏幕的芯片。

以下是一个基于类型大小的非详尽列表:(大小或分辨率与类型无关,也不受类型的限制,它只是针对特定的大小,供应商倾向于将它们设置为相同的类型。)

Type A (纯驱动)

4.3英寸面板(800x480和800x600)

6.0英寸面板(包括单色和ACeP)

7.8英寸面板(单色和ACeP)

9.7”面板

10.3”面板

13.3”面板

Type B (全集成)

1.02”面板

1.54”面板

2.13”面板

2.6”面板

2.9”面板

3.71”面板

4.2”面板

5.83”面板

7.5”面板

12.48”面板

你可能会注意到,几乎所有的电子阅读器/电子墨水手机都使用a型屏幕,而几乎所有的电子墨水电子货架标签(ESL)都使用b型屏幕。这给了一些关于两种类型的优点和缺点的提示:

注:

1、刷新速度指的是开始刷新屏幕所需的时间:从开始看到屏幕变化,到屏幕结束显示新内容。

2、总更新延迟是指处理器需要更新屏幕、到屏幕完成显示新内容时的延迟。如您所见,这是Type B显示的最大问题。这就是为什么它们几乎从未在电子阅读器、手机或PC显示器上使用过的主要原因。

补充:

我们能从电子墨水显示器得到32级灰度吗?

研究表明,当前市场上的电子墨水设备的最大灰度等级为16。是硬件的限制?或者是像人们在CGA、commodore64、GameBoy Color和许多其他有颜色限制的老式硬件上那样,使电子墨水显示屏获得更高的灰度。

是的,的确如此,看看我的成果:

正如屏幕上显示的,“2018年新年快乐”!

这是怎么做到的呢?其实,要在E-lnk显示屏上显示图像,需要在屏幕上应用多个帧,叠加起来的结果就是图像了。首先用一个查询表来显示特定的颜色,该查询表被称为“波形表”。它通常是有渠道程序解决方案提供商提供的,由于它是机密文件,所以没有办法直接访问它。现在所有的商用显示器只能做到4bpp,因为根本没有5bpp的LUT。

但为了对其进行存档,需要我们先对LUT进行“修剪”。因为4D太多,我认为可以先忽略温度,让它一直先从白色开始。现在它已经是2D LUT了,我们可以使目标灰度等于帧数:将使用固定的32帧序列,而一帧则对应一个级别的灰度。这需要对LUT进行很大的更改:在进行时,我们已经对它进行了匹配,所以我们不需要在去查找它的输出数据,而且我们可以通过调整它查找路线的时间来更好的控制灰度。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分