背光有些闪,可以从哪些方向处理?
时间:10-02
整理:3721RD
点击:
6268平台,芯片内部控制背光
if (GPIO_dev_level == LED_LIGHT_LEVEL0)
{
// kal_pROMpt_trace(MOD_ENG," Level0");
pMIC_bl_enable(KAL_FALSE);
PMIC_igen_drv_force(KAL_FALSE);
}
else
{
ASSERT(gpio_dev_level < LED_LIGHT_LEVEL_MAX);
duty = (kal_uint8)((PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][1] * 32)/100);
if (duty >= 32){
duty = 31;
}
// kal_prompt_trace(MOD_ENG," duty=%d, gpio_dev_level=%x\n",duty,gpio_dev_level);
//duty = 31;
pmic_bl_dim_duty(duty);
if (pmic_check_bypass(PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0])){
pmic_bl_bypass(KAL_TRUE);
freq = 50000/PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0];
}else{
pmic_bl_bypass(KAL_FALSE);
freq = 2000/PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0];
}
// kal_prompt_trace(MOD_ENG," freq=%d\n",freq);
if (freq > 15){
freq = 15;
}
pmic_boost_mode(BOOST_MODE_TYPE_I);
//pmic_vboost1_tune(VBOOST1_VOL_4_10_V);
pmic_vboost1_tune(VBOOST1_VOL_4_55_V);
///pmic_vboost1_tune(VBOOST1_VOL_3_95_V);
pmic_boost1_enable(KAL_TRUE);
pmic_bl_dim_div((kal_uint8)freq);
pmic_igen_drv_force(KAL_TRUE);
pmic_asw_asel(3);
pmic_bl_number(4);//6个zss
pmic_bl_i_corse_tune(BL_I_CORSE_TUNE_12MA);
//pmic_bl_i_corse_tune(BL_I_CORSE_TUNE_8MA);
pmic_dim_ck_force_on(KAL_TRUE);
pmic_bl_dim_div((kal_uint8)freq);
pmic_bl_enable(KAL_TRUE);
}
if (GPIO_dev_level == LED_LIGHT_LEVEL0)
{
// kal_pROMpt_trace(MOD_ENG," Level0");
pMIC_bl_enable(KAL_FALSE);
PMIC_igen_drv_force(KAL_FALSE);
}
else
{
ASSERT(gpio_dev_level < LED_LIGHT_LEVEL_MAX);
duty = (kal_uint8)((PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][1] * 32)/100);
if (duty >= 32){
duty = 31;
}
// kal_prompt_trace(MOD_ENG," duty=%d, gpio_dev_level=%x\n",duty,gpio_dev_level);
//duty = 31;
pmic_bl_dim_duty(duty);
if (pmic_check_bypass(PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0])){
pmic_bl_bypass(KAL_TRUE);
freq = 50000/PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0];
}else{
pmic_bl_bypass(KAL_FALSE);
freq = 2000/PMIC6326_MAINLCD_Level_Info[(gpio_dev_level-1)][0];
}
// kal_prompt_trace(MOD_ENG," freq=%d\n",freq);
if (freq > 15){
freq = 15;
}
pmic_boost_mode(BOOST_MODE_TYPE_I);
//pmic_vboost1_tune(VBOOST1_VOL_4_10_V);
pmic_vboost1_tune(VBOOST1_VOL_4_55_V);
///pmic_vboost1_tune(VBOOST1_VOL_3_95_V);
pmic_boost1_enable(KAL_TRUE);
pmic_bl_dim_div((kal_uint8)freq);
pmic_igen_drv_force(KAL_TRUE);
pmic_asw_asel(3);
pmic_bl_number(4);//6个zss
pmic_bl_i_corse_tune(BL_I_CORSE_TUNE_12MA);
//pmic_bl_i_corse_tune(BL_I_CORSE_TUNE_8MA);
pmic_dim_ck_force_on(KAL_TRUE);
pmic_bl_dim_div((kal_uint8)freq);
pmic_bl_enable(KAL_TRUE);
}
有些背光闪烁是因为Layout的原因,可能跟软件没关系!
最亮时闪不闪?
先要搞清在哪个情况下闪,不知道你背光是不是VBAT直接供电,如果是,大部分是VBAT瞬间被抽掉大电流造成,你可以用示波器量VBAT的纹波,是不是很大,一般都是在低量时下,开启耗电量大的功能 ,比如播MP3,来电瞬间等,这个好像比较难去除掉,还有一种情况,就是把PWM的频率与周期设置小点,看能不能解决