数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 7268|回复: 107

[Arduino] 点亮一片低配NT7086 LCD单色液晶屏,并科普驱动原理(GEM-TECH GTG-3201283)

    [复制链接]
发表于 2023-7-16 19:00:02 | 显示全部楼层 |阅读模式
二手市场入手了几片超大单色液晶屏(GEM-TECH GTG-3201283),分辨率 320x128,在众多 12864 中算是鹤立鸡群。

然而价格低的离谱:每片 ¥19.99 包邮,要示例代码的话额外加钱。
一看这主控都有型号,自己测测也就点亮了,于是果断放弃要代码,准备自己搞。






然而大意了,这片液晶根本不是开往幼儿园的车,跳车都来不及。
为了点亮它我几乎复习了整个液晶的驱动原理,特写下来与大家分享。


【显示原理】

关于显示为啥要用点阵,大概就是用数字方块来模拟现实世界的一种方式吧,参考 minecraft。

首先考虑发光管 LED 点阵,就是满大街光污染的走字广告牌,显示电路大致如下图 (a) 所示:



行线(Commons) 与 列线(Segments) 同时使能时(=ON),对应交叉点的 LED 正向通电点亮。

然而这种方式对液晶 LCD 点阵无效,参考上图 (b). 液晶的每个像素相当于一个小电容,充电就“变黑”,放电就“透明”。
对于未使能的行线,即 Commons=OFF 状态,电容可能被反向充电,导致 LCD 像素意外“变黑”,显示出错。


为此需要用更复杂的波形驱动 LCD 点阵,如下图 (b) 所示。行线、列线上被加载了不同振幅、不同相位的交流信号,
只在行列均使能(=ON)的交叉点上,电容可以获得最高 Vpp 的交流信号,像素正确“变黑”。



其他像素虽有交流信号,但 Vpp 未达到“变黑”阈值,也就保持透明状态。
该阈值若匹配不当,就是点阵液晶常见的“暗淡”、“鬼影”现象。


【串行传输】

基于上述分析,工程上有常见的芯片组合实现相应驱动,如下图所示。



LED 点阵常用 HC595-HC164 组合,HC595 级联后加载列线(Segments),HC164 级联后加载行线(Commons);
LCD 点阵的芯片比较花,我这次入手的就是 NT7086 驱动,四片级联驱动列(320px),再两片级联驱动行(128px)。

从原理上来看,此次入手的液晶屏驱动时序应该与 LED 点阵相仿,需要单片机正确输出移位+锁存信号。


【为何没用u8g2】

说到玩屏,估计不少朋友都接触过 Arduino 以及 u8glib/u8g2 图形库,简单粗暴有疗效。
我起初也是这么想的,结果等理清了液晶电路,彻底傻眼:



传统的牛屎 12864 或者 FPC-COG 液晶如右侧所示,在 NT7086 或同类基础上多了一片 MPU,实现物理显存、总线适配。
这也是单片机访问完 12864 以后,可以去做其他工作的原因,例如 delay 完全卡死也不影响显示。

而这次的 320x240 液晶,完全拿掉了这片 MPU(左图),导致单片机得模拟这片 MPU 工作,得有显存,得有扫描时序...
更糟糕的是,液晶的 Commons 线有 128 根,扫描时序为 1/128 duty. 但凡驱动单片机停一下,液晶就变成一条亮线...

而 u8glib/u8g2 的 HAL 层,都是默认了有 MPU 的液晶模块;像这片需要手动扫描的,资源完全不够用(需要模拟MPU)。

不过这都不是问题,点亮屏幕才是关键。


【点屏】

分析到这里,基本确认了驱动方向:模拟 MPU 扫描,然后在适当的位置模拟个显存。

液晶的排线为 12PIN-FPC1.0MM,为此特地购入抽屉座、排线以及杜邦线板,连接也要优雅:





由于 NT7086 本质上是移位寄存器,因而应该有静态特性,先写个手动扫描固件压压惊:
通电测试下效果,加载列驱动时液晶没反应,再搞上行驱动,液晶顺利点亮一条亮线。

确认驱动逻辑没毛病后,写一个简单的周期图像:



至此只是显示了些马赛克,还没真正达到刷屏状态,目标刷一张 320x128 的位图。

需要一张二值图,GIMP 先搞起来,充斥着修图取模的艰辛:



最后取模完成,刷进去没白瞎研究这么久:



大合照,没有额外的负压生成器,于是得两套独立电源:




最后附上主固件,含NT7086 手册:




以上,点亮了一片低配的单色液晶,顺手科普下液晶驱动原理。

最后祝大家点屏愉快!





从晶体管讲起,科普下 NT7086 系列 LCD 液晶屏代码该怎么写
https://www.mydigit.cn/thread-403154-1-1.html



补充内容 (2023-7-26 17:32):
Arduino 直连版本的 PCB 已搞好,详见 92 楼

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 11家元 +302 收起 理由
springvirus + 30 原創內容
newnet1234 + 30 優秀文章
hongo + 30 優秀文章
lxvtag + 20 優秀文章
jf201006 + 30 優秀文章

查看全部打赏

发表于 2023-7-16 19:29:19 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 19:47:33 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 19:52:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-16 19:57:27 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 19:59:05 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-16 20:21:22 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +30 收起 理由
springvirus + 30

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-7-16 20:23:07 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-16 20:26:26 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +30 收起 理由
springvirus + 30 楼主竟然有21篇精华!!!

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-7-16 20:42:45 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 20:57:59 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-16 21:01:22 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 21:18:56 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 22:50:47 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 22:57:13 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-16 23:53:03 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-17 02:00:25 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2023-7-17 06:47:39 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-6-4 00:38 , Processed in 0.202800 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表