背光調整詳細文檔

因爲最近在做MSTAR648平臺的項目,涉及到背光調節的問題,下面給出背光調節的詳細文檔.
背光公式修改:
[(Div+1)/ 12000000] * (Period+1) = 1/Pwm_Freq
Pwm_Freq = 12000000/[(Div+1)* (Period+1)]
(Period + 1) = [(12000000 / Pwm_Freq) / (Div+1)]
Period = [(12000000 / Pwm_Freq) / (Div+1)] -1
 

1,背光頻率:如60HZ,80HZ,100HZ,120HZ。。。。400HZ。 (Pwm_Freq)

2,DivPWM:根據val = (12000000 / Pwm_Freq) 的結果決定:

     2.1 若val > 0xFFFF,則DivPWM的值爲1;

     2.2 若val <= 0xFFFF, 則DivPWM的值爲0;

3,Period = (12000000 / Pwm_Freq) / (DivPWM + 1) - 1;
 

4,屏參文件修改:

u32PeriodPWM = 0x927D; (Perio 轉16進制)

panel:u32PeriodPWM

u32DutyPWM = 0x7F; (固定值)

u16DivPWM = 0x01; (DivPWM的值)

panel:u16DivPWM

bPolPWM = 1; #0:NON_INVERSE (極性 backlight Polarity 爲 On)

u16MaxPWMvalue = 0x927D; (PeriodPWM)

panel:u16MaxPWMvalue

u16MinPWMvalue = 0x2000; (PeriodPWM * 佔空比)

panel:u16MinPWMvalue

極性爲0時,u16MaxPWMvalue 和 u16MinPWMvalue的值交換。
 

5,數據庫factory.sql修改:

5.1,設置最大值:

tbl_FactoryExtern maxBacklightpwm 改成Period -1;

update tbl_FactoryExtern set maxBacklightpwm = Period -1;

5.2,

update tbl_NonLinearAdjust set u8OSD_V0=15000, u8OSD_V25=20000, u8OSD_V50=25000,u8OSD_V75=30000,u8OSD_V100=37499 where CurveTypeIndex=6;

上述u8OSD_V0 ~ u8OSD_V100取值方法:

將u16MinPWMvalue到u16MaxPWMvalue分爲四段,計算出每段間隔,然後遞增。

下面以 200HZ 佔空比爲30爲例子 做一個說明:

 

1,Pwm_Freq = 200HZ;

2,DivPWM: (12000000 / 200 = 60000) < 0xFFFF ==> DviPWM = 0;

3,Period = (12000000 / 200) / (0 + 1) - 1; ==> Period = 59999;

4,修改屏參文件:

u32PeriodPWM = 0xEA5F; period 轉16進制

u32DutyPWM = 0x7F;

u16DivPWM = 0x00;

bPolPWM = 1; #0:NON_INVERSE

u16MaxPWMvalue = 0xEA5F; 此時極性爲1,所以:u32PeriodPWM。

u16MinPWMvalue = 0x2000; Period * 佔空比 ==> 60000 * 30% = 18000 ==> 0x4650

 

5,數據庫:

5.1,update tbl_FactoryExtern set maxBacklightpwm = 59999; 60000 - 1;

5.2,u8OSD_V0 = 18000; 間隔: (60000-18000)/ 4 = 10500;

u8OSD_V25 = V0 + 10500 = 28500;

u8OSD_V50 = V25 + 10500 = 39000;

u8OSD_V75 = V25 + 10500 = 49500;

u8OSD_V100 = V100 + 10500 - 1 = 60000 -1 = 59999 ; 等於 maxBacklightpwm
以上是背光調節的完整內容 如有不懂的小夥伴歡迎私信我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章