本帖最后由 yofa2008 于 2023-10-14 23:48 编辑
点lcd屏最糟糕的事情有二: 一是没有接口定义; 其二则是没有驱动芯片资料。
为方便阐述,简化lts241qv屏型号为v7屏、lms241gf为v8屏。
继上次之后发现有两点判断错误的地方: 第一点是交换屏幕测试实验中,v7屏是可以被v8主板点亮的,但v8屏依旧在v7主板上白屏,意思是较新的硬件兼容了较老的lcd物料。当时是因为解析出来的两个屏的初始化命令都是一样,只是各命令时间间隔不超过同;v8屏的驱动芯片有点像是v7屏升级版的意思,逻辑上更加缜密了,比如那个0xFFFFFF命令。就果断再次尝试用v8主板驱动v7屏,居然就点亮了!亮了!。。百思不得其解啊……
对比两款主板的初始化时序
第二点是寨版逻辑分析仪在win10下面用logic软件抓取的时序有错码,切换到linux下的PULSEVIEW后正常。可能跟usb驱动支持的最大带宽有关系,此处必须感谢开源、感谢开源、感谢开源。
v8主板在初始化时给出的第一条指令,暂时不清楚是否会根据不同的LCD类型输出不同的初始化命令,后续有机会再验证吧。 之前 在logic中抓取的是0xFFFF;但这次是0xFFFFFF
坊间只能找到v7版m6的电路图,但没有v8的电路(相当于没有接口定义);也没有驱动芯片资料,对自己来说条件简直糟糕透顶。 v8主板能点亮v7屏说明两款屏硬件接口肯定是兼容的,即 暂且假设它们共用了一套初始化时序,暂时不考虑v8主板根据不同lcd发送初始化命令的情况; 再次更新了初始化配置参数如下,可见初始化配置命令字都 是一样; 然后就是用stm32f4来模拟发送这些命令了,经过测试它也没比stm32f103快多少;RGB数据和VSYNC等用别它的开发板产生,用了全志的f133。
经过投入精力和时间简单lay了一块板,也达到了薅羊毛目的。v7屏已经可以被简单地驱动显示;很好地验证了之前的 推测2)lcd屏的工作方式为spi+vsync。
在另 一方面从PCB上的布局来看,LCD屏接口周边外围存在一点小差异,可能这就是目前驱动不了v8屏的原因所在 v8主板lcd接口多了一颗电阻,且阻值接近0,分析其走线已有研究引到了主控;逻辑分析仪检测到的波形也证实了这点。参照v7的电路 图可见是在lcd接口的pin6有差异,v8不对它进行接地。
但因条件限制无法进行lcd的在线路测试,可能再后续才会安排;那样就可以验证不同lcd是否使用了不同的时序。 说v8屏没资料也不全对,至少有它的引脚 定义和一部分初始化配置命令,至此推测1)已经不重要了,也无法验证。其实偶然间在v7屏的fpc排线上看到了有SDO信号的测试点,可能就是内部SPI的MISO信号,有可能可以通过它来读取SPI的配置字,从而就能验证屏的驱动是否是S6D0139(0x0319),这也许是另外的一个思路。 但有了初始化配置参数就能点亮它了,如果仍有后续我也会分享出来,感谢关注! (全文完)
|