計算dsi資料速率的方式,以及如何配置時鐘clk的方式
[keyword]
dsi、data rate、mipi clk
[solution]
1、dsi vdo mode下的資料速率data_rate的計算公式為:
data rate= (width+vsa+vbp+vfp)*(height+hsa+hbp+hfp)* total_bit_per_pixel*frame_per_second/total_lane_num
2、dsi cmd mode下的資料速率data_rate的計算公式為:
data rate= width*height*1.2* total_bit_per_pixel*frame_per_second/total_lane_num
引數注釋:
data_rate : 表示的是資料速率
width,height :螢幕解析度
vsa vbp vfp :dsi vdo mode的vertical porch配置引數
hsa hbp hfp :dsi vdo mode的horizontal porch配置引數
total_bit_per_pixel :表示的是乙個pixel需要用幾個bit來表示,比如rgb565的話就是16個bit
frame_per_second :就是我們通常看到的fps,叫做幀率,表示每秒傳送多少個幀,一般是60幀每秒
total_lane_num :表示的是data lane的對數。
3、dsi採用的是雙邊取樣,則clk等於資料速率的一半,因此: clk=data_rate/2
有兩種配置clk的方式,第一種方式配置四個引數得到,第二種配置方式直接配置頻率,建議採用第二種。
第一種方式:
params->dsi.pll_div1 = ; //配置範圍為0,1,2,3的時候,對應的div1_real等於1,2,4,4
params->dsi.pll_div2 = ; //配置範圍為0,1,2,3的時候,對應的div2_real等於1,2,4,4
params->dsi.fbk_div = ; //範圍 0..63
params->dsi.fbk_sel = ; //配置範圍為0,1,2,3的時候,對應的fbk_sel_real等於1,2,4,4
輸出頻率=26mhz*fbk_div*(2*fbk_sel_real)/(div1_real*div2_real)
第二種方式:
params->dsi.pll_clock = lcm_dsi_6589_pll_clock_234;//這裡舉例89平台,使用乙個巨集,表示配置的clk等於234mhz。但是在89之後的平台,使用直接配置乙個頻率數字的方式,比如234,表示234mhz)
4、在lcm porting過程中,這些引數都定義在lcm_drv.h檔案中的lcm_dsi_params結構體中,隨著平台的發展,或許有所不同,但是基本原理都是一致的,如何配置clk的大小,請先根據自己的幀率、畫素格式、porch值、屏的解析度、data lane對數等計算出data_rate,然後計算出clk。
如何配置DSI時鐘頻率
description 計算dsi資料速率的方式,以及如何配置時鐘clk的方式 keyword dsi data rate mipi clk solution 1 dsi vdo mode下的資料速率data rate的計算公式為 data rate width vsa vbp vfp height...
kernel 下檢視時鐘頻率
例如 檢視畫素時鐘 cd dcu pix cat clk rate 得到畫素時鐘大小為 150m 150000000檢視 can 時鐘 cd can0 cat clk rate 該值應該是預設值,說明該 can 的時鐘還未做其他配置 132917888path u boot arch arm cpu...
ADC取樣頻率計算與時鐘頻率選擇
adc10每次取樣轉換的總時間是 取樣時間 轉換時間 其中取樣時間可以設定成若干個adc10clk,轉換時間手冊中給出的是13個adc10clk,當然還有乙個時鐘同步時間tsync,但是這個時間小於乙個adc10clk,粗略計算的話個人感覺就可以忽略了。所以最終的計算公式是 n 13 adc10cl...