微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 6260外置背光ic,怎么输出pwm?知道的大神指点一下

6260外置背光ic,怎么输出pwm?知道的大神指点一下

时间:10-02 整理:3721RD 点击:
好像必须要关掉 DRV_PWM_DRV_TOOL_SUPPORT 和 DRV_PWM_ISINK_SOURCE 这两个宏,GPIO0 配置为PWM,才能有pwm输出,但是这样改了之后闪一下开机动画就黑屏死机了,电流一直是60ma,哪位大神做过60上面带背光ic的,过来指点一下吧

我 60M 的喇叭 和 马达不 工作,有改过没有啊

60上的PWM 定义 在pwm_drv.h
#define PWM_MAX_NUM  3
#define DCL_NONE   DCL_PWM1
#define DCL_LED_KP   DCL_PWM2
#define DCL_MAIN_LCD_BL   DCL_PWM3
默认背光配置为isink  pwm输出
void pmu6260_bl_init(void)
{
    bl_support_level = BL_ISINK_LEVEL;
    bl_use_pwm = DCL_TRUE;
}
用户自定义
void custom_pwm_configure(kal_uint8 gpio_dev_type, kal_uint32 level, kal_uint32 freq, kal_uint32 duty)
{   
        DCL_HANDLE pwm_handle;
        PWM_DATA_T pwm_data;
    switch(gpio_dev_type)
    {
        case GPIO_DEV_LED_MAINLCD:
                pwm_handle= DclPWM_Open(DCL_MAIN_LCD_BL, MOD_UEM);
                pwm_data.pwm_level = level;
                pwm_data.pwm_duty = duty;
                pwm_data.pwm_freq = freq;
                DclPWM_Control(pwm_handle, PWM_CMD_SET_FREQ_BY_LEVEL, (DCL_CTRL_DATA_T*)&pwm_data);
                        DclPWM_Control(pwm_handle, PWM_CMD_SET_DUTY_BY_LEVEL, (DCL_CTRL_DATA_T*)&pwm_data);
                        DclPWM_Close(pwm_handle);       
            break;
        default:
            /* error undefine */
            ASSERT(0);         
    }   

}
背光对应的pwm处理
kal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level )
{  
...
                        level.pwm_level = gpio_dev_level;
                        pwm_handle= DclPWM_Open(DCL_MAIN_LCD_BL, MOD_UEM);
                        DclPWM_Control(pwm_handle, PWM_CMD_SET_LEVEL,(DCL_CTRL_DATA_T*)&level);
                        DclPWM_Close(pwm_handle);  

如果想单独使用pwm3    ,这里的代码应该需要屏蔽
你可以做个试验

我的喇叭 和 马达 不工作,要怎么检查啊

喇叭的话你线路图里音频部分有没有按参考设计加全呢,有个耳机检测的脚如果不用要外部上拉,不然开机后进入的是耳机模式,喇叭就会没声音。
马达 的话是一个LDO输出,你用万用表量下+极有没有电压输出
如果没有再查下代码

贴片厂 随便找了60M 的软件 都可以让我的主板 喇叭 和 马达正常工作 。
我的喇叭 和马达 都是从60M 直接接出来的 。

那就叫你们的软件查下代码吧 看代码里面是不是有做改动

代码是原始的 ,我就是做软件的。afe.c 这个文件我也去看过 ,但是硬件上没有接对应的gpio 口,
是用6260 SPK_OUTN 和SPK_OUTP 俩个口接出来的 。

我现在要用GPIO0 不是isink 啊

60已经内置了1.2W 音频功放,接外放才需要改afe.c文件。
默认应该不需要做改动的
make 文件里 ACCDET_SUPPORT 你看下这个宏 是负责耳机检测的


不好意思,没仔细看,这个重新配置一下试试,codegen.dws 里GPIO setting  GPIO0选PWM模式
PWM Setting 把PWM通道1 设置为MAIN_LCD_BL试试 把PWM 3 设为 NONE
还有,你改动的代码能否贴出来看看

if( gpio_dev_level == LED_LIGHT_LEVEL0)
{
GPIO_ModeSetup(gpio_led_mainbl_en_pin, 0);
}
else
{
GPIO_ModeSetup(gpio_led_mainbl_en_pin, 2);
}
PWM_level(gpio_dev_level);
照这样改了开不了机,不知道为什么

不是这么用的啊,50以后的架构就变了,你要按照他的框架来

没有例子哦,好像60的很少有人用背光ic的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top