关于LCD时序的HBP、HFP、HSW造成图像左移或者右移的原因
关于LCD时序中的HBP、HFP、HSW等参数,如果HBP参数配置的不准确,屏幕图像会左移或者右移。
问题:由于我需要在PC上仿真一个TFT,需要仿真出这种左移或右移的效果,我想知道这种现象的原因。
1:我的想法是LCM中本身有一个固定的HBP值,假设其值为HBP_LCM,假设LCD Controller中配置的HBP为HBP_CON.当HSW到达后,经过了HBP_LCM个像素周期,LCM不管VDE是否有效,内部的x坐标开始计数。而LCD Controller中相应的X坐标的数据是在经过HBP_CON后始计数的。如果HBP_CON和HBP_LCM不等,两个X坐标偏移,就造成了左移或者右移的现象。这种理解对不对呢?
2:如果不按照上面的理解,如果LCM是在VDE有效后,内部的x坐标从零开始计数的,而这个VDE信号的LCD Controller发送的,当LCD Controller使得VDE有效后,它开始从零发送X坐标的RGB数据,这样的话永远也不会发生图像偏移了啊。
[解决办法]
我觉得不是这几个参数造成的左移或者右移,这些参数都是同步用的,设置不好,可能会导致同步失败,画面花掉,而不是整齐的左右移。楼主可以试着改改这些值,我认为改完后,应该移动的距离不会变的!
[解决办法]
建议去看下SVGA的VESS标准,上面写的很清楚。
[解决办法]
正常的TFT一行的显示周期是 前消隐+实际点输出+后消隐
HBP、HFP 代表前后消隐所需要的周期
如果前消隐设置小了,后消隐设置大了,LCD控制器的实际输出就会被当做消隐而不会实际显示出来,看到的效果就是图像左移,反之图像右移
如果前后消隐都设置小了,理论上第二行的图像可能会被当做第一行的图像显示,照成屏幕歪斜不同步,但是有些TFT中内部的时序电路会自动补上缺少的时钟,所以也不一定会看到不同步的画面
场的消隐同理
至于为什么要消隐是为了兼容CRT显示器的显示原理,CRT显示器每一个扫描行完成后,电子枪需要回扫,这段时间不能显示,所以这段时间的视频信号需要暂停一下,就是消隐.
[解决办法]
11楼正解
不过,我发现了好几款屏的数据手册对这几个参数的描述并不准确,如果按数据手册配置出来,反而会出现显示的偏移。
所以,我认为这几个参数并不是楼主所理解的保存在LCM内部的寄存器内,它们只是LCM时序上的需要,而并不是LCM控制器去读寄存器得到的。