1.
我想問一下,爲什麼我用的開發板,bsp裏設定 FRAME_RATE = 60,
但我用示波器實測VSync信號頻率是120Hz左右。
這個 FRAME_RATE 是幀頻嗎??還是什麼信號?按理說,VSync信號頻率就是幀頻了。
2.
還有,關於 CLKVAL與VCLK的關係,三星使用手冊上是這樣的:RGB_VCLK (Hz) =HCLK/ [CLKVAL+1]
我的BSP在Oal初始化裏是這樣的:
hsync_cnt = (lcd_vbpd+lcd_vfpd+lcd_vspw+lcd_line_value);
vclk_cnt = (lcd_hbpd+lcd_hfpd+lcd_hspw+lcd_horizon_value);
clkval = (UINT8)(((float)S3C2450_HCLK/(float)(hsync_cnt*vclk_cnt*lcd_frame_rate*2))+0.5)-1;
這樣的話:VCLK 就等於 (hsync_cnt*vclk_cnt*lcd_frame_rate*2)。
這裏爲什麼要 ‘*2’??
通過示波器實測VCLK頻率,得到很高的11MHz。一般這個VCLK沒這麼高的吧?
謝謝能得到大家對上面兩個疑問的回答。
總結如下:
1、在2450的數據手冊裏,有這麼一句話,The frame rate is RGB_VSYNC signal frequency. 那就是說Frame rate = RGB_VSYNC = 幀頻。
樓主的理解也就是正確的,但是爲什麼要把Frame rate設置爲60呢,是因爲Frame rate是和你第二條裏說的clkval有關的,這樣才能保證CPU輸出的clock正確。
2、樓主的這個問題我也很困惑,曾經發過帖子,每人回。鬱悶。
其實這個公式可以不去理會它的,具體要看你的lcd的datasheet,比如你的屏的clock要求13MHz,而你使用HCLK的時鐘源(2450是133MHz),那麼clkval + 1 = 133/13 = 10,你可以直接對clkval賦值了。
至於vclk信號,不是和屏的大小有關的,是和像素有關,但也不是絕對的,一般要參考數據手冊,我使用的屏,一般都在26——33MHz。
LCD屏總算點亮了,總結一下就是:
1.VCLK較高的話,幀頻也會提高,屏幕就不會閃爍。但是芯片對VCLK的頻率是有接受範圍的。
2.按照哪個公式計算沒有關係 ,關鍵是給CLKVAL賦一個合適的值,使VCLK的頻率在合適的範圍內。