module ZephRay;

今朝有鱼今朝摸

Category

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

Tags

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

Recent replies

  • 朱寅翚 发表于「Kindle Paperwhite 2 强行救砖(1)」
  • 朱寅翚 发表于「Kindle Paperwhite 2 强行救砖(1)」
  • jcyfkimi 发表于「日常点屏[27]: LAEL320.256-6C」
  • hzy 发表于「IBM ThinkPad 560E (Type 2640) 简单展示」
  • 城市猎人 发表于「IBM ThinkPad 560E (Type 2640) 简单展示」
  • imbushuo 发表于「About Me」
  • 070 发表于「古董电脑选型」
  • Thermit 发表于「About Me」
  • 盛崖鱼 发表于「About Me」
  • Wenting Zhang 发表于「About Me」

My

RSS (中文优先)
RSS (English preferred)

坑 / Projects
关于我 / About
简历 / CV
破烂采购计划 / Craplist
古董电脑选型
SM83(GB CPU)指令编码
Linux PI 1M位跑分
Coremark跑分
音质参考

淘宝杂货铺
Bilibili空间
GitHub

Links

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

Keshuai Xu
>Lithia's Core
ntzyz's space
丘丘塔台
tonoko.moe
kasora's blog
447f.Misaka
paizhang.info
spinmry实验室
电子考古学
Hikari Calyx Tech.
春上冰月的博客
业余无线电台 BD4SUR
FindHao
Test2g
Shell Bin
LEAFER x LAB
标签:EL

Driving TFEL with RP2040: Offloading the CPU step by step

2021 年 3 月 20 日分类:硬件坑#点屏#单片机#EL

Introduction

I recently bought few Plannar EL640.480-AM series panels. They are monochrome 10.4" 640x480 TFEL panels with an STN LCD interface. It is similar to DPI (sometimes called RGB), the screen is timed with HVSync signals, and needs to be continuously refreshed. But, as a monochrome screen, the pixel is 1bpp, so the data bus transmits multiple pixels at a time. These screens are also dual-scan: there are two "raster beams" at the same time, one refresh from the top of the screen, the other one refreshes from the middle of the screen. They are supposed to be refreshed at 120 Hz.

This creates some interesting challenges: It expects to be driving with an STN LCD controller. However, where can I find one?

  • There used to be dedicated graphics controllers such as NM128 or CT65530 that could drive STN LCDs directly. But they have been long obsolete.
  • ARM SoCs from the early 2000s typically has an LCD controller that is capable of driving STN LCDs. However many of these SoCs are also being deprecated or obsolete.
  • There used to display controller chips that could convert VGA into STN LCD signals. But I don't know any specific models. I suspect they are also being deprecated.

If not using dedicated hardware (and I am not too interested in buying one anyway), there are several alternative ways to drive it:

  • Use a really fast microcontroller with a large SRAM to Bit-Bang the GPIO to generate the video signal.
  • Use a CPLD/FPGA to generate the timing

I have used both methods before. The first method:

  • https://www.zephray.me/post/anxin_320160

The second method:

  • https://hackaday.io/project/160738-cstron-cstn-lcd-monitor/log/160613-cstron-monitor-powered-by-an-ancient-cstn-screen

I am going to use the microcontroller way this time again. But this time I am going to use the RP2040, which has a very powerful IO engine called PIO. We will see how it would help us with driving the screen and offload the CPU core.

Claimer: The methods described here are provided as-is. Use at your own risk.

I am new to RP2040, this is the first time I use the PIO. So the program provided here is likely not optimal.

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