1.LCM 之 Fmark 功能
http://blog.csdn.net/zhandoushi1982/article/details/6011241
工作 div 测试 c
分类: 音视频与电视 2010-11-15 22:48 1757 人阅读 评论(1) 收藏 举报
最近调试 R61509V 这颗 LCM 驱动芯片时,出现在纯色测试画面下画面刷新有残留
(tearing effect,即 TE)的问题。根本原因是主控写图像数据的速度与 LCM 刷屏的速度不一
致造成的,具体是刷屏速度要快于主控写速度。好在很多 LCM 驱动芯片都有一个 Fmark
脚,用来与主控同步,当 Fmark 发出一个信号给主控时,主控才开始写一帧数据,这样就
可以保证两边同步。讲述前首先对几个概念描述:
(1)刷屏速度
刷屏率是指 LCM 刷新的速度,这个值一般在 LCM 的初始化 CODE 中会设定好。对于
瑞萨的 R61509V 这颗 LCD 驱动,设定 0x0010 寄存器就是设定刷屏速度。根据公式:帧率
=678KHZ/{(RTN)*DIV*(432+8+8)} ,其中 678K 是 LCM 内部的时钟源,RTN 是每行的时
钟数,DIV 是分频系数,(432+8+8)则是行像素。测得的结果是:
0X011F 20HZ,最小频率.
0X011A 29HZ
0X0115 36HZ
0X0110 52HZ
0X001C 60HZ
0X0018 70HZ
0X0014 80HZ
刷屏率太低会导致出现 flicker 现象,所以一般要设定在 60HZ 以上。
(2)主控写速度 WR 跟片选 CS
这两个 PIN 脚对每个 DBI 的 LCM 都具备,两者的工作频率是一致的。主控每次写一帧
数据时,会有一个片选信号,同时对应一个 WR 的写有效信号。主控的写频率的变化是由
工作状态决定的,比如摄像时,拍摄动态物体的显示写速度就快于拍摄静态物体的显示写速
度。
如果屏幕的画面没有更新,就会 70ms update 一次 lcd,如果画面有动,就是最多 33ms
刷一次屏。意思就是 CS 频率只能限定在 1/70 到 1/30,14.28HZ 至 33.33HZ 之间。最高频
率已经快于 PAL 或者 NTSC 的帧频,可以保证摄像头工作或者播放视频时不会出现丢帧现
象。
(3)Fmark 功能
要使能 fmark,首先要保证主控的 fmark 脚与 LCM 的 fmark 脚是正确连接的;其次要
在 LCM 初始化中使能屏的 fmark 功能,保证 LCM 周期性发出信号给主控,同时使能主控
的 fmark 功能,保证主控收到一个 fmark 信号才写一帧数据。
LCM 的 fmark 有两个参数可以配置:一是刷多少次屏发出一个 fmark 信号,比如不一
定要每次刷屏都发 fmark 信号,可以刷几次屏发一次 fmark 信号;二是 fmark 的位置参数,
可以让 fmark 迟滞几条线输出,目的是让主控晚点写数据到 GRAM,避免 TE。
举例:存在这样的情况,就是 IC 在从 GRAM 读完最后一行就输出 te 信号,此时 BB
开始写 GRAM。但可能还要有一两条 line 的时间,IC 才开始从 GRAM 的第一行读数据刷
下二桢,而写 GRAM 的速度要慢于 IC 读 GRAM 的速度,此时可能还没有开始写。导致读
GRAM 超过写 GRAM,所以会在上方产生 tearing。要避免 TE 输出太早,导致写 GRAM 先
开始,所以要加延迟,保证读老旧数据开始后,写 GRAM 才开始。
(4)fmark 周期与 CS 周期
出现 TE 现象的根本原因是两边速度不一致,具体是 LCM 的刷新速度要快于主控送数
据的速度,两者的速度要符合一定的范围才行。只要保证 CS 的周期在两个 TE 周期之间即
可,也就是 CS 的写频率不能低于 TE 读频率的二分之一,Tearing 出现的根本条件是读写
有交叉。通常都是写 Gram 速度(WR)慢于 lcd 刷屏速度(TE),只要刷屏的位置不超过
写 Gram 位置就不会有切屏现象。
举个实例:比如 CS 差不多就比两个 TE 周期小一点,要刷两桢数据,首先第一桢刷屏
开始刷屏了,表示读 GRAM 开始,它的速度比较快,它读的是老旧数据;紧接着主控开始
写 GRAM,大概写到 GRAM 的快一半时,这时候已经刷完一桢,然后开始刷第二桢,即又
从 GRAM 的最上方开始读并刷屏,此时读出来的才是刚写入的新数据,在写完 GRAM 之前,
读的步骤永远跟不上写的步骤,就不会出现 tearing。
如果 CS 比两个 TE 周期大,假设相当于三个 TE 周期,那么只有在第三个 TE 读周期
时,显示的数据才是写好的 GRAM 的数据;第一个 TE 读的是老旧的数据,第二个 TE 周
期由于 GRAM 还没有写完,但读步骤赶上写 GRAM 步骤了,导致显式一部分是旧的一部分
是新的,所以出现 TE。此即本质。
(5) TE 类型
TE 显示使能时,必须保证 CPU 的 LCD TE 使能和 LCM 驱动的 TE 功能都打开。LCM
的 TM 使能有两种:VSYSC,VSYNC&HSYNC。图示如下:
另外:
http://blog.csdn.net/zhandoushi1982/article/details/5908490
2 me 的总结
注意:
作为帧同步信号的 VSYNC,每发出一个脉冲,都意味着新的一屏图像数据开始发送。
而作为行同步信号的 HSYNC,每发出一个脉冲都表明新的一行图像资料开始发送
分析
切屏:中间有一条线,这应该是 LCD 显示丢了几行数据造成的,根本原因是 LCD 显示
的速度慢与主控写的速度,而两者又没有使用 Tearing effect out line 的机制
分屏:就是下面的图像显示到了上面去,本来上面的图像显示到了 LCD 下面。看来君
正 N800C 的瑞鼎屏在播放视频时出现分屏,应该就是这个原因。根本原因是 LCD 显示的速
度快与主控写的速度,而两者又没有使用 Tearing effect out line 的机制
3. 例子 Hx8357