纵观之前的23期日常点屏加上4期非日常点屏,点过的屏幕类型已经涵盖了正负性STN、正负性FSTN、彩色TFT、Eink、彩色CRT、双色LED点阵和微型LED字符屏。不过显然也有更多其它的屏幕类型是没有涉猎过的,比如等离子、EL、PNLC等等。今天这次点的就是一种十分常见,但是之前却从来没有尝试过的屏幕类型:CSTN。

CSTN屏幕简单来说,无非就是单色STN加上彩色滤色片。那直接用之前单色屏的方案就好了咯?并不是那么简单。目前主流的处理器早已没有了对STN/CSTN接口的原生支持,想要直接接上LCDC玩不太现实,除非找一个古董MPU,比如2410一类的,确实是一个方案。我之前一直都是采用STM32 + bitbang来驱动STN液晶。这个方法对付STN还行,对付CSTN就麻烦了,最大的问题就是各方面速度都不够快。如果从USB输入图像数据,最高也就1-2fps的速度,就算是从SD卡,也就大约10fps的速度(无压缩)。而输出就更惨了,刷新率可能只有30Hz不到,别说抖动灰度,估计连稳定显示都做不到了。

所以解决方案也很直接,上FPGA。于是就有了这个项目了咯。VGA输入,DDR2缓冲,FRC抖动到32级灰度(32K色),最后输出到CSTN。

具体效果可以参考演示视频:https://www.bilibili.com/video/av30767980/

基本信息

  • 型号:SX21V001
  • 类型:彩色被动双扫描图形点阵
  • 模式:CSTN Negative
  • 分辨率:640x480
  • 灰度:无(依靠驱动器进行FRC)
  • 控制器:无
  • 尺寸:8.2"

驱动信息

参考项目代码和Datasheet:

CSTroN GitHub源:https://github.com/zephray/CSTroN

屏幕datasheet:https://www.zephray.me/api/media/1535734517689-sx21v001-z4.pdf