module ZephRay;

今朝有鱼今朝摸

Category

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

Tags

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

Recent replies

  • Khiemmy 发表于「On the way to overclock the TI nspire CX II calculator」
  • critor 发表于「On the way to overclock the TI nspire CX II calculator」
  • ZephRay 发表于「On the way to overclock the TI nspire CX II calculator」
  • critor 发表于「On the way to overclock the TI nspire CX II calculator」
  • Rise 发表于「写给玩家的FPGA入门指南(6)——Verilog(下)」
  • 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.
春上冰月的博客
初音没有来
FindHao
Test2g
Shell Bin
LEAFER x LAB
标签:点屏

日常点屏[26]: GameBoy Pocket LCD

2019 年 9 月 22 日分类:硬件坑#点屏#LCD

因为最近新坑(RP)的原因终于是有机会来点了点这个屏幕。讲一讲这个屏幕和其它之前遇到过的屏幕不一样的地方。首先屏幕是FSTN但是却是负高压。这两者本身并不冲突,只是通常而言FSTN的屏幕出现晚于STN,倾向于使用正高压而非负高压。其次是这个屏幕的扫描和行锁存分别有两个信号控制,一个为S,另外一个为CPL,目前并不清楚区别。再次是这个屏幕有一个叫CPG的信号,每一行会脉冲四次,第二次脉冲紧接着第一次,而第三次和第四次则是相隔较远。经测试该信号与PWM灰度有关,如调节第三次脉冲的位置即可调节较浅一级灰度的深度。向前会变淡,而向后会变浓。第四次脉冲则是控制较深灰度的深度。如果两个脉冲的位置不变而行长度增长,同样也会使两个灰度变淡。

刷新方法的话,这里采用MCU软件刷新。软件刷新目前的代码可以达到约153Hz的刷新率,那么为了节约电力大约有以下三种方案:

  • 基准:MCU持续刷新
  • 场待机:MCU刷完每一场后WFI待机,保持垂直刷新率85Hz。这种做法的问题在于MCU刷完待机期间屏幕也不显示内容,相当于占空比增加,为了达到同样亮度需要提高驱动电压,可能会带来额外的功耗开销。
  • 行待机:MCU刷完每一行后WFI待机,保持水平刷新率13.6kHz,垂直刷新率85Hz。

在当前的硬件下测试结果如下:

  • 基准:125mW
  • 场待机:117mW
  • 行待机:106mW

基本信息

  • 类型:单色点阵STN
  • 模式:FSTN Reflective
  • 分辨率:320x320
  • 灰度:2bpp
  • 驱动器:不详
  • 尺寸:2.6"
  • 背光:无

1569201522584-DSC_5023_s.jpg

MORE

日常点屏[25]: AML-B16C15012Q

2018 年 11 月 22 日分类:硬件坑#LCD#点屏#单片机#FPGA

这个屏幕是给VerilogBoy实体机使用的屏幕,MIPI DSI接口,因为以前从来没有点过MIPI的屏幕,这里记录下过程方便以后参考。

基本信息

  • 型号:AML-B16C15012Q
  • 类型:RGB IPS TFT-LCD
  • 模式:Normal Black
  • 分辨率:320x320
  • 灰度:接口支持8bpc,内部显存为6bpc,实际输出可能为6bpc
  • 控制器:ST7796S
  • 尺寸:1.54"
  • 接口:MIPI 1-lane
  • 背光:3并,VF=3.2V

接口定义

  1. LEDA
  2. LEDK
  3. VCC 2.8
  4. RESET
  5. NC
  6. NC
  7. NC
  8. VCCIO 1.8
  9. GND
  10. DATA0_P
  11. TE
  12. DATA0_N
  13. NC
  14. GND
  15. GND
  16. CLK_P
  17. NC
  18. CLK_N
  19. NC
  20. GND
MORE

日常点屏[24]: SX21V001

2018 年 8 月 31 日分类:硬件坑#LCD#点屏#FPGA#Verilog

纵观之前的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"
MORE

非日常点屏[4]:LUM-115HML300

2018 年 5 月 12 日分类:硬件坑#点屏#LED

这次这个屏幕其实买来已经很久了,是之前在香港淘的。其实也就是港铁上很常见的那种显示新闻、天气和广告等信息的LED屏幕。买的时候就随手查了下发现网上有资料,就买了,回来发现那个资料里根本没有引脚定义,于是就没继续动。今天有空找出来研究了一下,发现其实资料是有的,只是我之前没有仔细找。于是就点了一下咯。这个屏幕效果还是不错的。一共买了两块,做实验的这块是残缺品(买的时候没有注意看……),另外一块应该是全好的。

以下是具体信息

基本信息

  • 型号:LUM-115HML300
  • 类型:LED图形点阵
  • 分辨率:48 x 24
  • 灰度:红绿双色无灰度
  • 控制器:ROHM自有
  • 尺寸:192mm x 96mm

驱动信息

引脚定义:

CN1:

  1. RamSelect(AB)
  2. A4
  3. A3
  4. A2
  5. A1
  6. A0
  7. GND
  8. Green
  9. Clock
  10. WriteEnable
  11. Red
  12. AddressEnable
  13. DispEnable

CN3:

  1. GND
  2. VLED
  3. VLED
  4. GNDLED
  5. GNDLED
  6. VDD

驱动代码:

void LED_WriteScreen()
{
  int i, j;
  for (i = 0; i < 24; i ++) {
    if ((i & 0x01) != 0) {LED_A0_HIGH();} else {LED_A0_LOW();}
    if ((i & 0x02) != 0) {LED_A1_HIGH();} else {LED_A1_LOW();}
    if ((i & 0x04) != 0) {LED_A2_HIGH();} else {LED_A2_LOW();}
    if ((i & 0x08) != 0) {LED_A3_HIGH();} else {LED_A3_LOW();}
    if ((i & 0x10) != 0) {LED_A4_HIGH();} else {LED_A4_LOW();}
    for (j = 0; j < 48; j++) {
      LED_CLK_LOW();
      if (dispBuffer_G[i*6 + j/8] & (0x01 << (j % 8))) LED_GR_HIGH(); else LED_GR_LOW();
      if (dispBuffer_R[i*6 + j/8] & (0x01 << (j % 8))) LED_RD_HIGH(); else LED_RD_LOW();
      LED_CLK_HIGH();
    }
    LED_CLK_LOW();
    Delay();
    LED_AE_HIGH();
    Delay();
    LED_WE_HIGH();
    Delay();
    LED_WE_LOW();
    Delay();
    LED_AE_LOW();
    Delay();
  }
}
MORE

日常点屏[23]:AND1013ST-OE

2017 年 8 月 13 日分类:硬件坑#点屏#LCD

这个屏幕是大概三四月的时候在yleee论坛收的,但是就一直没有去点亮,今天也是有空,点一点。

屏幕后面的芯片组合已经基本说明了情况,T6963C主控,没有负高压生成,但是有偏置跟随。分辨率的话为160×128。(我第一次看的时候还以为是320×80呢)

定义嘛,这种PCB+硬封结构的就太方便了,万用表量一量就出来了。于是简单写了下测试程序,顺利点亮,效果如头图。

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