scoopydoo 发表于 2024-11-21 01:42:56

[折腾] 基于 STM32H750 的 TFT 显示模块

本帖最后由 scoopydoo 于 2024-11-21 01:47 编辑

半个月前画好的板子,今天刚刚收到,老规矩还是 50mm X 50mm 的六层板。

连夜贴片上铁板烧,进展还算顺利,blinky 程序跑起来了,液晶屏的背光也亮了。

屏上的芯片是常见的 ST7701S,但是这是俺第一次玩并口屏,没啥经验,明天开始查资料找例程,争取点亮它! :lol

scoopydoo 发表于 2024-11-24 00:19:50

MF35_ 发表于 2024-11-23 23:50
确实是好奇怪的屏,第一次见这样的

俺也是第一次见识这样的屏,它会把每行的前 80 个像素丢掉,从第 81 个像素开始显示。

屏幕点亮之后心情大好,这个小制作基本算是成功一半了,一边看球一边慢慢写代码,悠哉悠哉啊 ~ :lol

h988 发表于 2024-11-21 09:24:01

这个准备做个什么?贴的很漂亮啊

MF35_ 发表于 2024-11-21 09:57:52

本帖最后由 MF35_ 于 2024-11-21 10:05 编辑

用STM32的LCD控制器推RGB接口TFT,然后向外提供其他接口(比如SPI)?

感觉有点儿麻烦,我早年用CPLD做过TFT驱动器,但受限于CPLD的性能,效果不太满意,后来直接用类似RA8875这种驱动芯片,对外支持8080/6800总线接口和SPI/I2C接口,自带显存,还带一个4x3的键盘扫描接口,就是有点儿贵,我早年买的40一个,现在应该停产了,不过有其他型号代替,价格基本30左右,你可以试试,STM32H750VBT6也要25一片

luosifu 发表于 2024-11-21 11:38:21

右上角是个温湿度传感器?

scoopydoo 发表于 2024-11-21 16:00:19

h988 发表于 2024-11-21 09:24
这个准备做个什么?贴的很漂亮啊

本来是打算做爱德万 R6581T 万用表的替换屏的,不过板子上还有空间,俺又加了一些其他的电路上去,一物多用。

年纪大了,贴一张板子累得够呛,还好没出啥问题 ...... :lol

scoopydoo 发表于 2024-11-21 16:03:06

本帖最后由 scoopydoo 于 2024-11-21 16:19 编辑

MF35_ 发表于 2024-11-21 09:57
用STM32的LCD控制器推RGB接口TFT,然后向外提供其他接口(比如SPI)?

感觉有点儿麻烦,我早年用CPLD做 ...

俺这个肯定要用单片机的,因为俺要做 VFD 替换的,要分析原来屏幕的接口协议,然后通过 SPI/LTDC 驱动 TFT 显示出来。

既然老兄对并口屏这么有心得,后面遇到问题还要多多指教哈! :lol

scoopydoo 发表于 2024-11-21 16:03:45

luosifu 发表于 2024-11-21 11:38
右上角是个温湿度传感器?

总统先生目光如炬!那是一片 SHT40 温湿度传感器! :lol

MF35_ 发表于 2024-11-21 16:20:54

scoopydoo 发表于 2024-11-21 16:03
俺这个肯定要用单片机的,因为俺要做 VFD 替换的,要分析原来屏幕得接口协议,然后在 TFT 上显示出来。
...


原来是做协议转换,那确实通用芯片解决不了,指教不敢当,我也是瞎玩儿;P ,早年TFT屏尺寸大点的基本都是不带驱动的,MCU接口的比较少,而且都是小尺寸,很难选到合适规格的,驱动芯片也不多,比较著名的就是所罗门公司出的几款,不但难买而且贵的要死,所以折腾过一阵子

scoopydoo 发表于 2024-11-21 16:27:05

MF35_ 发表于 2024-11-21 16:20
原来是做协议转换,那确实通用芯片解决不了,指教不敢当,我也是瞎玩儿 ,早年TFT屏尺寸大点的基本 ...

这次选的是 960x320 的长条屏,匹配万用表 VFD 的,卖家那边有现成的驱动板子,是 HDMI 接口的。

网上用 STM32 驱动这块屏的例程都找不到,不过有一些 ESP32 或者 Arduino 驱动 ST7701S 的,应该可以拿来参考。

scoopydoo 发表于 2024-11-22 03:26:01

本帖最后由 scoopydoo 于 2024-11-22 03:27 编辑

屏还没点亮,已经发现自己踩了个坑!

俺选的屏幕分辨率为 960*320,每个点 16 位色深的话需要 600KB 的显存空间,而 STM32H750VBT6 的 RAM 为 1MB,理论上应该是绰绰有余的。

但是,败家的厂家却把这 1MB RAM 分成了几个小块放在不连续的地址空间上,最大的一块是512MB,导致无法分配所需要的 600KB 显存空间!

解决的办法只有一个,换成同系列的 STM32H7B0VBT6,它有 1.4MB RAM,也是分为几个小块,其中最大的一块为 1MB ......

h988 发表于 2024-11-22 09:19:27

发现论坛里的大佬都是很大年纪了:lol

MF35_ 发表于 2024-11-22 09:25:31

本帖最后由 MF35_ 于 2024-11-22 09:28 编辑

scoopydoo 发表于 2024-11-22 03:26
屏还没点亮,已经发现自己踩了个坑!

俺选的屏幕分辨率为 960*320,每个点 16 位色深的话需要 600KB 的 ...


可以用8bit索引色(调色板)模式啊,反正你是给仪表用,又不显示图片:lol ,我给仪表用的屏基本都用索引色,省出的显存可以做逻辑帧或者逻辑窗口,这样刷新就更平滑了

scoopydoo 发表于 2024-11-22 16:20:57

h988 发表于 2024-11-22 09:19
发现论坛里的大佬都是很大年纪了

所以大佬的意思就是年纪大的老人 ;P

scoopydoo 发表于 2024-11-22 16:25:37

本帖最后由 scoopydoo 于 2024-11-22 16:32 编辑

MF35_ 发表于 2024-11-22 09:25
可以用8bit索引色(调色板)模式啊,反正你是给仪表用,又不显示图片 ,我给仪表用的屏基本都用 ...

ST7701S 只支持 16、18、24bit 三种模式,这块屏接口有 18位 数据线,单片机这边 LTDC 接口只有 16、18bit 两种模式。

俺本来是按照 18 位 设计的,为了省内存单片机那边改用了 16 位,结果依然不够!

还好有可以直接替换的 STM32H7B0,价格也贵不了几块钱,要不然这板子就白画了 ......

---

俺的理解,LTDC 是用 DMA 直接访问显存的,应该没办法实现索引色,不过俺真的没仔细看资料,现在去做功课了 ......

MF35_ 发表于 2024-11-22 16:39:49

scoopydoo 发表于 2024-11-22 16:25
ST7701S 只支持 16、18、24bit 三种方式,这块屏接口有 18位 数据线,俺也是按照 18 位 设计的,为了省内 ...

不是,你搞错了,ST7701S只是TCON驱动,不是LCD驱动,它只是用来驱动液晶面板时序的,而非显示时序,显示时序是由LCD驱动器完成的,LCD驱动器在你的STM32H750中。

你说的ST7701S 只支持 16、18、24bit 三种方式,这个指的是RGB模式,而8bit索引色是LCD驱动器的特性,指的是bpp值,和TCON没有关系,它是LCD驱动器识别显存的方式,比如16bpp以上,LCD认为显存中存储的就是RGB的比特位,而如果是8bpp以下,则认为显存中存储的是调色板索引号,真正的RGB值在调色板中定义,所以索引色模式需要设置LCD控制器的调色板,使用调色板后,比如8bpp下,最多只能显示256种颜色,这256种颜色由调色板来设置,但调色板设置的颜色是16bit还是18bit还是24bit,则跟调色板的配置有关,和显存无关
页: [1] 2 3 4 5 6
查看完整版本: [折腾] 基于 STM32H750 的 TFT 显示模块