Glider: monitor de tinta eletrônica open source
Visão geral
Características
- solução completa para monitores EPD de baixa latência/alta taxa de atualização
- suporte a painéis de display eletroforético com interface paralela (Eink(R), SiPix e DES)
- suporte a telas monocromáticas e coloridas baseadas em matriz de filtros de cor (por exemplo, Kaleido(TM))
- latência de processamento extremamente baixa, de <20us
- suporte aos modos de saída binário, escala de cinza de 4 níveis e escala de cinza de 16 níveis
- modos de acionamento binário e de escala de cinza de 4 níveis otimizados para latência
- modo híbrido de acionamento automático binário e escala de cinza de 16 níveis
- atualização regional e troca de modos com controle em tempo de execução pelo software host
- dithering Bayer em hardware, dithering de ruído azul e dithering por difusão de erro sem latência adicional
- o controlador oferece suporte nativo a entradas FPD-Link (LVDS), DVI (TMDS) e MIPI-DSI
- o design em nível de placa oferece suporte a entrada USB-C (USB Type-C DisplayPort Alt Mode) e DVI
Hardware
- FPGA Xilinx(R) Spartan-6 LX16 executando o Caster
- memória de framebuffer DDR3-800
- entrada de vídeo Type-C DisplayPort Alt-Mode por meio da ponte DP-LVDS PTN3460 integrada, ou
- entrada de vídeo DVI (conector microHDMI) por meio do decodificador ADV7611 integrado
- fonte de alimentação para tinta eletrônica com trilhos de +/-15V e suporte a corrente de pico de até 1A
- suporte à medição da tensão de kickback VCOM
- microcontrolador RaspberryPi(R) RP2040 integrado para comunicação USB e atualização de firmware
- taxa de processamento de até 133MP/s com dithering ativado, e >200MP/s desativado
Componentes
- este repositório hospeda o design da PCB, o código-fonte do firmware e um design de gabinete de referência imprimível em 3D
- o código RTL está em um repositório separado: Caster
Tela de tinta eletrônica
Teoria básica de funcionamento
- a tinta eletrônica contém partículas carregadas de cores diferentes dispersas em um recipiente transparente; ao aplicar um campo elétrico, as partículas se movem para cima e para baixo, gerando preto, branco ou suas misturas
Vantagens e desvantagens
- displays de tinta eletrônica refletem luz, consomem pouca energia e podem ser usados ao ar livre
- graças à biestabilidade, mantêm a imagem mesmo após a remoção da energia
- a aparência semelhante a papel é seu maior diferencial
Papel do controlador de tinta eletrônica
- o controlador de tinta eletrônica é semelhante à combinação de controlador de display (DC/CRTC) + controlador de temporização (TCON) em sistemas LCD
- ele recebe dados brutos de imagem e os converte nos sinais necessários para acionar a tela
Tipos de painéis de tela
- dividem-se em telas com controlador integrado e telas sem controlador integrado
- telas sem controlador exigem um controlador dedicado ou SoC, enquanto telas com controlador podem ser acionadas diretamente por quase qualquer MCU
Uso de telas com controlador integrado
- como a maioria dos componentes já está integrada, são necessários apenas alguns componentes externos
- podem ser conectadas a um MCU ou MPU usando interfaces comuns como SPI ou I2C
Uso de telas sem controlador integrado
- podem ser acionadas usando um chip controlador dedicado, um SoC com controlador integrado ou um MCU/SoC rápido
- com um chip controlador dedicado, é possível receber dados de um dispositivo externo, o que permite uso em várias aplicações
Sinais de interface e temporização
- possuem sinais e temporização de interface semelhantes aos de LCD
- cada pixel é representado por 2 bits, o que não significa 2bpp nem escala de cinza de 4 níveis
- assim como em CRT/LCD, existe um período de blanking
Entendendo as formas de onda
- as formas de onda são tabelas de consulta que determinam como o controlador de tinta eletrônica aciona os pixels
- os arquivos de forma de onda são independentes da resolução, e mesmo uma forma de onda incorreta pode exibir uma imagem reconhecível
Exibição em escala de cinza
- telas de tinta eletrônica podem exibir alguns níveis de escala de cinza por meio de modulação adequada
- isso pode ser implementado por modulação de tempo de quadro ou modulação por número de quadros
Exibição colorida
- é possível implementar EPD full color usando matriz de filtros de cor (CFA) ou displays coloridos com múltiplos pigmentos
- CFA gera cor usando filtros de cor; o controle é relativamente simples, mas a refletância da tela diminui
Opinião do GN⁺
- a tecnologia de tinta eletrônica consome pouca energia e é adequada para uso ao ar livre, sendo muito útil em dispositivos como leitores de e-books
- displays de tinta eletrônica oferecem uma aparência semelhante a papel, o que ajuda a reduzir o cansaço visual
- entender os vários modos e formas de onda do controlador de tinta eletrônica permite obter melhor desempenho de display
- displays coloridos de tinta eletrônica ainda têm a desvantagem de baixa refletância, resultando em telas mais escuras
- ao planejar um novo projeto com tecnologia de tinta eletrônica, a escolha do controlador e das formas de onda é importante
1 comentários
Opiniões no Hacker News
Resumo dos comentários do Hacker News
Discussão interessante sobre limitações
Link para o repositório original
Profundidade das informações no README
Experiência de uso do Kindle
Insatisfação com o Kindle
Agradecimento por compartilhar conhecimento sobre e-ink
Ideia de projeto usando display e-ink
Excelente trabalho e documentação
Desmontagem óptica do display do Kindle
Expectativa sobre a evolução da tecnologia e-ink