数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 6259|回复: 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 優秀文章
200birds + 30
zzqqzzz + 30 给大佬递茶!( ̄▽ ̄)"
aping365 + 30 優秀文章
兰陵 + 30 謝謝分享
kkdkj + 30 謝謝分享

查看全部打赏

发表于 2024-8-4 14:41:33 | 显示全部楼层
t3486784401 发表于 2024-8-4 13:43
不是研究计算机的,只参加过若干电赛

厉害,果断关注!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-4 13:43:24 | 显示全部楼层
jude365 发表于 2024-8-4 12:36
真大佬,大佬是计算机科班出身吗?怎么研究这么透彻的,实在佩服!

不是研究计算机的,只参加过若干电赛
回复 支持 1 反对 0

使用道具 举报

发表于 2024-8-4 12:36:13 | 显示全部楼层
真大佬,大佬是计算机科班出身吗?怎么研究这么透彻的,实在佩服!
回复 支持 反对

使用道具 举报

发表于 2024-5-14 07:49:09 来自手机浏览器 | 显示全部楼层
能点亮屏幕的都是高手!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-11 19:54:21 | 显示全部楼层
2361656471 发表于 2024-5-11 16:07
这个是不是可以刷新率做很高?

是可以做很高,不过目前 AVR 到驱动芯片之间的串行带宽,一定程度上制约了刷新率
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-11 19:53:39 | 显示全部楼层
2361656471 发表于 2024-5-11 16:06
矩阵扫描按理说会有频闪问题,反正PMOLED模块频闪挺明显。这副液晶不明显是因为液晶的特性?tft是利用tft来 ...

tft 和单色 lcd 原理上一样,只是 tft 人为规定了每个液晶通道的颜色,每三个颜色组成一个像素。

液晶不频闪,就是利用的液晶迟滞特性: 不选通状态下,液晶分子偏转需要时间。
行扫描的时间只要小于上述的,基本上就看不出闪烁。

不过另一方面,也造就了液晶屏略慢的刷新频率。高帧率显示肯定 OLED 更好。
回复 支持 反对

使用道具 举报

发表于 2024-5-11 16:07:18 来自手机浏览器 | 显示全部楼层
这个是不是可以刷新率做很高?
回复 支持 反对

使用道具 举报

发表于 2024-5-11 16:06:15 来自手机浏览器 | 显示全部楼层
矩阵扫描按理说会有频闪问题,反正PMOLED模块频闪挺明显。这副液晶不明显是因为液晶的特性?tft是利用tft来保存状态?
回复 支持 反对

使用道具 举报

发表于 2023-11-21 15:44:51 | 显示全部楼层
强!牛人!希望大神再接再励!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-18 14:57:48 | 显示全部楼层
pcdoctor 发表于 2023-11-18 14:34
这不就是手机屏幕的老祖么,驱动手机屏幕最原始的实现

nokia5110 那个经典;

再下一档 TFT,单片机也能玩玩;

再下一档 IPS,就彻底没兴趣玩了,光做 UI 都会把你从码农升级为美工
回复 支持 反对

使用道具 举报

发表于 2023-11-18 14:34:46 | 显示全部楼层
这不就是手机屏幕的老祖么,驱动手机屏幕最原始的实现
回复 支持 反对

使用道具 举报

发表于 2023-11-18 12:19:19 | 显示全部楼层
虽然看不懂,但也觉得很厉害
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-4 21:59:56 | 显示全部楼层
hylg 发表于 2023-8-3 10:17
有驱动芯片没控制芯片的屏,一直刷一直显,不刷不显。

差点给我憋的去上 FPGA 写控制器了。

后来强行压住了这想法,不要重复造轮子不要重复造轮子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-4 21:59:11 | 显示全部楼层
didadi991 发表于 2023-7-28 22:33
这个大神真厉害。

感谢支持!
回复 支持 反对

使用道具 举报

发表于 2023-8-3 10:17:37 | 显示全部楼层
有驱动芯片没控制芯片的屏,一直刷一直显,不刷不显。
回复 支持 反对

使用道具 举报

发表于 2023-8-3 06:34:02 来自手机浏览器 | 显示全部楼层
不错啊,楼主厉害
回复 支持 反对

使用道具 举报

发表于 2023-7-31 10:33:24 | 显示全部楼层
佩服技术好的人,谢谢分享经验了
回复 支持 反对

使用道具 举报

发表于 2023-7-28 22:33:55 来自手机浏览器 | 显示全部楼层
这个大神真厉害。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-10 22:11 , Processed in 0.202800 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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