矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 6411|回复: 76

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

[复制链接]
     
发表于 2024-11-21 01:42:56 | 显示全部楼层 |阅读模式
本帖最后由 scoopydoo 于 2024-11-21 01:47 编辑

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

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

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

评分

3

查看全部评分

     
 楼主| 发表于 2024-11-24 00:19:50 | 显示全部楼层
MF35_ 发表于 2024-11-23 23:50
确实是好奇怪的屏,第一次见这样的

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

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

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

     
发表于 2024-11-21 09:24:01 | 显示全部楼层
这个准备做个什么?贴的很漂亮啊
回复 支持 反对

使用道具 举报

     
发表于 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一片
回复 支持 反对

使用道具 举报

     
发表于 2024-11-21 11:38:21 | 显示全部楼层
右上角是个温湿度传感器?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-11-21 16:00:19 | 显示全部楼层
h988 发表于 2024-11-21 09:24
这个准备做个什么?贴的很漂亮啊

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

年纪大了,贴一张板子累得够呛,还好没出啥问题 ......
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 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 显示出来。

既然老兄对并口屏这么有心得,后面遇到问题还要多多指教哈!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-11-21 16:03:45 | 显示全部楼层
luosifu 发表于 2024-11-21 11:38
右上角是个温湿度传感器?

总统先生目光如炬!那是一片 SHT40 温湿度传感器!
回复 支持 反对

使用道具 举报

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



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

使用道具 举报

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

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

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

使用道具 举报

     
 楼主| 发表于 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 ......
回复 支持 反对

使用道具 举报

     
发表于 2024-11-22 09:19:27 | 显示全部楼层
发现论坛里的大佬都是很大年纪了
回复 支持 反对

使用道具 举报

     
发表于 2024-11-22 09:25:31 | 显示全部楼层
本帖最后由 MF35_ 于 2024-11-22 09:28 编辑
scoopydoo 发表于 2024-11-22 03:26
屏还没点亮,已经发现自己踩了个坑!

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



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

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-11-22 16:20:57 | 显示全部楼层
h988 发表于 2024-11-22 09:19
发现论坛里的大佬都是很大年纪了

所以大佬的意思就是年纪大的老人
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 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 直接访问显存的,应该没办法实现索引色,不过俺真的没仔细看资料,现在去做功课了 ......
回复 支持 反对

使用道具 举报

     
发表于 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,则跟调色板的配置有关,和显存无关

评分

2

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-26 11:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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