主要讲几张关键的时序图。
VCLK(Hz) = HCLK/[(CLKVAL+1)x2]
Frame Rate = 1/ [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1) } x {(HSPW+1) + (HBPD +1)
+ (HFPD+1) + (HOZVAL + 1) } x { 2 x ( CLKVAL+1 ) / ( HCLK ) } ]
LCD 控制器时序图
INT_FrSyn : LCD 中断时序,每次刷新一帧图片产生一次中断 LCD中断用来测试刷新频率
VSYNC : 垂直同步信号, 每一帧开始的信号
HSYNC : 水平同步信号, 每一行开始的信号
VD : 数据
VCLK : 每一个像素点的时序
LEND : 每一行结束信号
下面是几个比较重要的变量:
VSPW : VSYNC 持续的时间也就是
VBPD : 一帧开始后无效个HSYNC时序 (行)的时间(也就是屏幕上边没有显示的黑边框)
LINEVAL : 有效的数据行数,也就是LCD的行像素点数
VFPD : 一帧结束后无效个HSYNC时序 (行)的时间(也就是屏幕下边没有显示的黑边框)
HSPW : VSYNC 持续的时间也就是
HBPD : 一帧开始后无效个HSYNC时序 (列)的时间(也就是屏幕左边没有显示的黑边框)
HOZVAL: 有效的数据列数,也就是LCD的列像素点数
HFPD : 一帧结束后无效个HSYNC时序 (列)的时间(也就是屏幕右边没有显示的黑边框)
要获得上面的变量值还必须看LCD的数据手册 由于sony这款x35的手册提供的数据不完全而且还有的地方有错所以有的配置需要自己调试出来
VCLK 就是表格中的CLK frequency 4.57khz 是最小频率 5.94khz是最高频率 一般去个中间比较容易算的数字这里可以取5khz
x35时序图
MCLK = 2440的VCLK
DENB 手册的这个时序有错 应该反转(LCDCON5的第9位置1) DNB 的HBLK 的 32个dot代表32个无效的 MCLK 也就是说 前面2440的时序图中的 HSPW + HBPD + HFPD = 32;具体的三个变量的值索尼没有给我们需要自己去调试(垃圾索尼)
同理 从上图看出 VSPW + VBPD + VFPD = 16
配置好上面的变量后其他的地方相信程序员都是聪明人应该不需要多说了