[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

講到display,要先從pixel clock(PCLK)談起。PCLK的單位是HZ,從意義上來看,就是每秒要畫幾個點(pixel)。10MHz就表示其能力為每秒可畫10M個點,就這麼簡單。

那PCLK跟display的關係又是什麼呢?基本上,我認為是display的大小,決定了PCLK的值。舉個例好了,假設spec是resolution:1024x768,frame rate(註1)是60Hz

==>每秒鐘,桌面需要畫的點數為1024x768x60=47185920=47.18MHz

因此lcdc至少需要有47.18MHz的能力,才有辦法滿足這個spec。

或許你使用過gtf這個工具來編寫xorg,conf,會覺得有些奇怪,在設定相同的sepc時,所需的PCLK不是47.18MHz。那是因為lcdc將pixel打到panel時,因為硬體的關係,需要有一些blanking的buffer。因此如果是要畫上一張1024x768的桌面,打出來的點其實不止1024x768。舉個例子,如果你想將桌面投影到某台電視,必須先決定要以多少frame rate/resolution來投影。通常絕大多數的電視會follow vesa的spec來訂定blanking的值,因此可用gtf等utility來產生:

  # 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
  Modeline "1024x768_60.00"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync

對lcdc來說,所要打的範圍其實是加上blanking的部份,也就是1344x795x60=64108800=64.11MHz。因此,lcdc必須用此PCLK,才能將vsync鎖在60hHz,電視也才能夠投影。

相關資訊請見:http://kezeodsnx.pixnet.net/blog/post/24115814

至於什麼是blanking的parameter,請參閱這篇文章,說的相當清楚!

http://realchecko.blogspot.com/2007/12/lcd-controller-timing-parameters.html

另附上dsub的pin assignment,給相關工作者參考~

Dsub pin assignment

註1:frame rate: 整個桌面每秒更新的次數,一般的PC/NB都設在60/75HZ,有人說什麼要45Hz人眼才不會覺得閃爍。總之,載狼A啦。

kezeodsnx 發表在 痞客邦 PIXNET 留言(0) 人氣()