module ZephRay;

被记录的时光

Category

  • 硬件坑
  • 玩机
  • 翻译
  • 软件坑
  • 随记
  • 摄影

Tags

  • LCD
  • 点屏
  • 单片机
  • 计算器
  • 事
  • STM32
  • 摄影
  • 古董
  • 测评
  • 笔记本
  • 移植
  • 改造
  • 树莓派
  • 小动物
  • nspire
  • 景
  • EPD
  • 晒机
  • HP
  • 3DS
  • LED
  • SDL
  • IBM
  • Linux
  • GameBoy
  • Minecraft
  • ThinkPad
  • Kindle
  • ARM
  • 82ES
  • 花
  • Chiptune
  • Assembly
  • 手办
  • 仙剑奇侠传
  • Nikon
  • NDSL
  • 演讲
  • FPGA
  • Verilog

Recent replies

  • Wenting Zhang 发表于「晒机'17」
  • MythPlayer 发表于「Blog无法评论问题已修复」
  • MythPlayer 发表于「晒机'17」
  • Wenting Zhang 发表于「Blog无法评论问题已修复」
  • ZYH 发表于「Blog无法评论问题已修复」
  • ChansonLeung 发表于「About Me」

My

RSS

坑/Projects
关于我
破烂采购计划

淘宝杂货铺
Bilibili空间
GitHub

Links

cnVintage古董电子论坛
cnCalc计算器论坛

Keshuai Xu
>Lithia's Core
ntzyz's space
初春 · 姫
丘丘塔台
tonoko.moe
kasora's blog
447f.Misaka
Hikari Calyx Tech.
春上冰月的博客
一只布丁的部落格
初音没有来
Test2g
Shell Bin
LEAFER x LAB
Android技术站
标签:EPD

Eink屏幕实现32级灰度

2018 年 1 月 4 日分类:硬件坑#EPD

似乎目前所有商用的Eink设备都只能支持到16级灰度。然而也没有办法得到更多灰度等级呢?很多古董硬件上(比如CGA、Commodore64、GBC)都有人去尝试破解发色数上限,现在,轮到Eink了。

如题图,“破解”是可行的,或者说其实本来就不存在16级灰度的限制。(右上角是16级灰度效果对比)

顺便,2018年新年快乐!

讲讲大致的实现思路吧。最简单的来说,要在Eink屏幕上显示图像,需要向屏幕刷新多帧的图像,最终显示效果,是这些帧的叠加。为了确定每帧要发送的数据,通常都是使用一个被称为波形表的查找表。波形表通常由屏幕驱动解决方案提供商提供,由于涉及商业机密,一般人并没有办法直接拿到。前面说的所有商用Eink设备都只能支持16级灰度,那是因为并不存在32级灰度的波形表。

所以自己做一个就好了咯!如果真的做得到的话……波形表是一个4维查找表,输出取决于当前灰度,目标灰度,当前所在帧序列,以及温度。要自己做一个这样的波形表太困难了,可能也是不存在商用的32级灰度的波形表的原因之一。

所以为了强行实现效果,就要想办法调整一下波表的实现。4维太多了,要是1维就好了。首先,无视温度,然后只从全白开始。这样就已经是二维了。接着,人为让目标灰度永远等同于当前所处的帧数,也就是5级灰度永远是32场完成,而每一场都只刷新那些不够黑的像素,白的就白的留着就好了。那查找表做什么呢,连输出灰度都跟着一块解决了。所以现在新的查找表查找的内容是每行的时长,通过控制每场的时间来分别调整每一级灰度的具体的呈现颜色。虽然可能比正常的方法稍慢,但是图像显示效果还是非常好的。

MORE

基于STM32的电子纸死宅台历制作

2016 年 4 月 9 日分类:硬件坑#单片机#点屏#STM32#EPD

起因

2007年,苹果公司推出了第一代的iPhone,后来这款产品完全改变了人们对于智能手机的理解和认识,智能手机以及衍生的后PC产品功能不断强化,正在一步步取代着原本PC才能做的事情。而就是这样一个背景下,亚马逊公司却反其道而行,推出了一款功能无比单一的产品:Kindle。Kindle不但软件上设计成只能用来看书,就连硬件上也选用了一块基本只能用来看书的屏幕:黑白EPD屏幕。这种屏幕只能显示黑白颜色(或者灰阶),响应速度也非常慢(大约400ms-1s),而且还不能主动发光,必须要借助环境光才能显示……然而这种屏幕却也有一些非常重要的优点,比如显示效果非常接近纸张,不刺眼,只有在刷新时耗电等等。几年后,国产厂家也进军了这一领域,把这类使用EPD屏幕的电纸书的价格做到了千元以下。当时我就买了一台,着实是被这种显示屏的效果给吸引住了。当时我就想着要是能自己用单片机驱动起来玩一玩就好了。无奈当时自己技术差,屏幕也贵,没能顺利实施。最近发现大尺寸(6英寸,型号ED060SC4)的E-Ink屏幕价格已经降到了50以内,于是决定开始研究下它的驱动,也顺便做个最简单的应用:台历。

初步研究

首先,为了各位方便阅读,先来区分几个名词,首先是EPD,EPD并非是E-Paper Display(电子纸显示器)的缩写,而应该是Electrophoretic Display即电泳显示器的缩写。E-Ink则是PVI公司的注册商标,用于指代他们旗下的EPD产品。但是并非只有PVI公司生产电子纸,天马、龙亭、友达、佳显和LG等公司都在生产类似且兼容的EPD产品,所以最好称他们为EPD而非E-Ink。电子纸这个概念就比较笼统了,EPD是一种电子纸,但是也有很多基于其它技术的电子纸,比如说Ch-LCD、PN-LCD、HR-TFT LCD等等,比如Pebble所使用的HR-TFT LCD也被宣传为电子纸,但实际上并非EPD。

其实在去年3月的《无线电》上就已经刊登了关于小尺寸EPD驱动的文章,当时看了下感觉挺简单,无非就是和驱动一般的串行液晶一样,通过SPI接口把指令和数据发送到EPD控制器就可以。但是仔细看了下发现对于大尺寸的屏幕却完全不是这样。这类大尺寸的EPD面板通常都没有集成控制器!而一般的做法是在一个应用控制器外通过总线扩展一个独立的EPD控制IC来完成对它的控制,通常使用PVI或者是EPSON的控制器。这类控制器价格昂贵不说,还都是使用BGA封装的,控制器本身还需要外扩SDRAM或者DDR SDRAM才能使用,相当麻烦,所以鲜有个人爱好者去尝试驱动这种屏幕。然而这个昂贵且复杂的控制器到底隐藏了什么细节呢?我们首先从EPD的驱动原理讲起。

MORE

纯粹阅读的开端?第一代Kindle测评&拆解

2016 年 3 月 22 日分类:玩机#测评#EPD#Kindle

前言

亚马逊于2007年11月19日推出了第一代Kindle。5个半小时后,亚马逊宣布售罄,并且一直到5个月之后的2008年4月亚马逊才恢复Kindle的供货。最终于2009年2月10日被Kindle2取代。如今,Kindle已经成为了电子阅读器的第一品牌,也从过去的装B利器变成了大部分人都能负担得起的实用工具。在电子产品讲究全能化的今天(智能手机就是一个很好的例子),为何Kindle这么一系列反其道而行,功能如此单一的设备能如此成功?这次,就让我们一起重探这个系列的起源:Kindle第一代。本文分为两个部分,测评和拆解。测评部分就从使用出发,演示这个设备的功能以及浅谈其背后的产品逻辑;拆解部分则会动手拆解,从用料和技术上来分析这个设备。

测评

定位

Kindle1的有一张屏保上写着这么一句话:“Kindle is a whole new class of device. Thank you for being an early adopter. We'd love to get your input at: kindle-feedback at amazon.com”,说明了亚马逊自己对它的定位。当然实际上,Kindle并不能算是一种全新类型的设备,电子阅读器早在Kindle前就已出现,TXT阅读这类功能也早就被集成在了MP3、手机等设备中。其实,亚马逊推出Kindle一定程度上也是为了对抗SONY的PRS-505电子书,后者同样采用了E-Ink屏幕并且和书店进行了合作。当然,一定程度上说这句话也没错,Kindle确实是属于一种全新类型的设备,至少,从理念上来说。亚马逊推出这个设备,目标很明确,要开创一种全新的阅读模式。而要实现这个目标,对于卖书起家的亚马逊,确实是打算革了自己的老命。那么实际上是否达到了呢?作为一个电子产品,自然得先从配置说起。

MORE

Kindle Paperwhite 2 强行救砖(2)

2016 年 3 月 7 日分类:硬件坑#EPD#改造#Kindle

在上一篇中,我已经给KPW2焊上了新的8GB eMMC,并且验证了通过MfgTools直接把U-Boot加载到内存中运行是可行的,这次就完成主板的修复。

重新配置参数

其实在上一步完成时,U-Boot的启动记录是这样的:

Board: Unknown
Boot Reason: [ POR ]
Boot Device: NAND
Board Id:
S/N:
I2C:   ready
Invaild board id!  Can't determine system type for RAM init.. bailing!
DRAM:   0 kB
Using default environment

这是因为换上全新的eMMC,KPW2也就像失忆了一样,忘记了一些比如自己的型号之类的重要参数以至于无法顺利初始化RAM……这里是我的失误,实际上在拆除原来的eMMC前,应该在U-Boot中输入idme查看NVRAM变量并记录下来(注:虽然名为NVRAM变量,但是实际上是存储在eMMC当中的)。但是我没有做过,所以现在只能自己恢复。在U-Boot中输入idme可以看见一共有5个变量,分别为serial、mac、sec、pcbsn、bootmode和postmode。只要恢复serial mac pcbsn并把其它清空即可。serial是机器的序列号,在“Kindle需要维修的界面”或者包装盒上有写,但是据说会不一样,我是按照需要维修界面上的DSN填写的(使用idme serial XXXXX命令设置)。MAC地址在包装盒上是没有写的,如果要找回可能需要登陆路由器管理界面看下DHCP分配,如果Kindle连接过WiFi应该有记录。如果没有,那么就随便编一个吧,比如把自己电脑的MAC地址+1然后写上去。pcbsn可以在主板的贴纸上找到,如下图:

MORE

Kindle Paperwhite 2 强行救砖(1)

2016 年 3 月 2 日分类:硬件坑#EPD#改造#Kindle

注:本记录并非教程!操作前请确定你清楚自己在做什么!

起因

起因呢,大致就是@ntzyz有天发现他的Kindle Paperwhite 2(下文简称KPW2)复制不进东西了(复制到一半出错),重刷系统也是因为一样的原因失败(没法完整复制刷机包),考虑到网上的救砖教程大多要求拆机飞线使用TTL串口操作,怕自己手残搞坏就寄给了我。随后折腾就开始了……

到手

到手的时候发现完全开不开机,原来是没电了,先接上USB充电。大约半小时后尝试开机,卡死在大树界面,进度条走到30%或者70%卡住,接上电脑只会提示需要进行格式化,然而如果尝试格式化,则是格式化完成后复制不进东西,再次连接则是又提示需要格式化。其实这里已经基本猜到是eMMC坏了,但是还是先祈祷下不是那样,接上TTL看bootlog才能下定论。首先是拆机,Kindle的拆机不复杂,前面板是一片比较软的塑料片,可以撕下来。接着拧掉螺丝,角度合适就可以直接把后盖拿下来了。主板上不难发现在三个未焊接的按键焊盘上方有一个3脚的连接器焊盘:

MORE
  • «
  • 1
  • »
Copyright © 2009-2018 Wenting Zhang. All rights reserved.
Unless otherwise noted, content on this blog is licensed under CC BY-SA 4.0.