数码之家

 找回密码
 立即注册
搜索
查看: 2375|回复: 12

[ARM] 两款lcd初始化时序分析之初探

[复制链接]
发表于 2023-10-8 00:08:01 | 显示全部楼层 |阅读模式
近来有业余项目将用到2.4寸的lcd彩屏,刚好手上有吃灰多年的meizu M6 sp;加上之前对这款机器屏幕进行过更换,手上算是搜集了一点资料(话说市面上成熟产品lcd的资料真的难搞,有机会后面再继续吐槽吧)。
简单归纳一下,得知市面的sp存在有两个硬件版本:v7和v8;刚好我都有这两个版本的机器,
v7对应的屏为LTS241QV-F08,而v8对应LMS241GF06-001;资料称sp版本为samsung的屏幕(tp为toshiba屏),而此两款屏查询到的资料也确实是三星,但是没有驱动型号可查,看样子是要藏着掖着啊!查到sp可能有一款驱动ic为s6d0139,但不知道是v7还是v8,亦或者还有其它的可能。
回到自己手上的测试实验,因为这两款屏的接口位置和规格都一样,斗胆交换一下屏幕测试一下,然而结果均白屏,换回原机后又正常显示。好家伙,固件还不兼容,但从官网的固件看并未针对sp的硬件版本区分固件,而且官网目前sp也只有一个最终版本可下载,难道后期固件做了统一?
但当前显示白屏说明两款屏的驱动ic不兼容;

推测1)s6d0139对应了lms241gf06
s6d0139确实是三星240x320的屏幕驱动方案,这一点是能对应上。
sp v7的原理图上中lcd屏幕为35p 0.3mm间距、20V led背光、3.0V vcc供电、rgb666、spi接口。
该有的都有了,按理照线序lay块板薅jlc个羊毛,再拿手册写个驱动直接完美!是不是感觉快要大结局了?实际上真正的好戏才刚刚开始…
----------------------------------------------------------------------------------------------------------------------------
那就先假设这厮就是s6d0139吧。从35p的spi接口说起,它就特殊在是三线(cs/scl/sdi),没有sdo就不能通过spi读取lcd寄存器,也就不能验证屏幕驱动ic是不是0x0139,只能往里面写命令或数据,甚至写成功没有都不知道。好一个魅族,这是要定制防抄袭啊?通过s6d0139的ds手册可知,spi接口写入数据时需要先写一个8bit的校验字节,其中的ID位是由驱动ic的外围配置IM【3:0】中的IM0决定,这里面就有两种可能性了(0或1)。


推测2)lcd屏的工作方式为spi+vsync
这两个屏幕都有可能是s6d0139,也有小概率都不是。

这个时候就要分析时序了,只分析8个通道的关键数据,RGB就不管了。先拿SP V8开刀(对应LMS241GF06
spi的数据倒是很像s6d0139的spi接口,都是8+16位的结构;
在图二中当然也确实只有写控制寄存器、RAM数据。ID值可见为1(高电平)





但比较特殊的是第一条指令:
它是一条读指令;暂时不知道原因

统计了一下初始化的配置字,见下表:

仍然有规律可见,图三整体上分为两段。而在第二段开始时RGB数据同时开始输出:


到此推测2)已经没有悬念,但推测1)比较悬;因为配置字里面对应的操作很多跟s6d0139寄存器描述对应不上。
在图一中另外一款s6d0154的SPI校验字节同s6d0319一样,所以也不能以此为判定依据。难道推测1)就只能验证到这?


SPI的时钟频率大概是350kHz左右,想要近一步验证推测2)得从SPI去初始化。此时就要祭出手边的stm32了!





---未完待续,期待两款lcd初始化时序分析之进阶


本帖子中包含更多资源

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

x

打赏

参与人数 3家元 +192 收起 理由
2n3055 + 30 謝謝分享
jf201006 + 12 原創內容
家睦 + 150

查看全部打赏

发表于 2023-10-8 08:38:25 | 显示全部楼层
这是大神级的操作,我等看不明白
回复 支持 反对

使用道具 举报

发表于 2023-10-8 10:43:35 | 显示全部楼层
目测是一篇精华帖
回复 支持 反对

使用道具 举报

发表于 2023-10-8 11:09:26 | 显示全部楼层
感谢大神分享
回复 支持 反对

使用道具 举报

发表于 2023-10-8 11:26:30 | 显示全部楼层
完整版一次性发出来应该能得一个精华,分成多次发估计不行,你考虑一下要不要在这一个帖子里发完
回复 支持 反对

使用道具 举报

发表于 2023-10-8 11:41:22 | 显示全部楼层
自己水平有限,看不懂,只觉得是高手才能这样玩。
回复 支持 反对

使用道具 举报

发表于 2023-10-8 16:09:01 | 显示全部楼层
期待后续,比较喜欢看这种分析
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-8 18:29:39 | 显示全部楼层
猪小呆 发表于 2023-10-7 17:26
完整版一次性发出来应该能得一个精华,分成多次发估计不行,你考虑一下要不要在这一个帖子里发完 ...

时间仓促,图文功底太差了。如果进展顺利,后续的故事还很长的;期望能及时更新
回复 支持 反对

使用道具 举报

发表于 2023-10-11 11:06:56 | 显示全部楼层
谢谢楼主分享   很好的解析思路  期望能及时更新
回复 支持 反对

使用道具 举报

发表于 2023-10-26 17:28:00 | 显示全部楼层
解析思路非常好,期望能及时更新
回复 支持 反对

使用道具 举报

发表于 2023-10-27 08:20:08 | 显示全部楼层
谢谢楼主分享~
回复 支持 反对

使用道具 举报

发表于 2023-10-27 09:10:02 | 显示全部楼层
时序安排起来 就好写程序了
回复 支持 反对

使用道具 举报

发表于 2024-6-28 08:51:54 | 显示全部楼层
V7V8 屏幕是不一样,把V7屏幕安装到V8主板上能使用,显示正常,不知道是V8的主板问题还是背光驱动不一样再充电的时候电感有啸叫,但是用V7的主板点亮V8的屏幕我没有成功,因为这块V8的屏幕是坏的

可以证明V7V8屏幕接口定义应该是一样的,并且一定要使用最新版本固件
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-1 21:53 , Processed in 0.249600 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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