MT2503 External Buck问题

公司项目使用SIM2_SCLK作为External Buck的Enable pin,Dws中配置为GPIO mode,output high;
但是开机却开不起来,量去Vcore以及Buck Enable pin的电压波形发现Vcore电压升至1.3V后,很短时间就降为0,而Buck Enable pin始终没有电压,感觉就是这个GPIO口拉不起来,因为之前也没有使用过SIM卡的CLOCK口作GPIO,但和硬件确认说MTK明确回复该口可以作GPIO使用。

问题卡在这边,接下来我们量了下其他使用External Buck的Vcore以及 Buck Enable pin的波形:
Vcore在从0升至1.3V后,大概维持了1.26s后,会有一个电压下降(ms级别),之后又恢复1.3V,从硬件原理上分析是在Vcore上电1.2s后基于功耗效率考虑降为0.75V输出,但同时GPIO使能External Buck,Buck输出1.3V,由于是和Vcore并联,又将Vcore抬高到1.3V。

上述主要过程对应code中如下:

/*below code is add for init external buck*/
#if defined(__EXT_BUCK__)
    DclPMU_Initialize();
gpio_external_buck_set_in_normal_mode();
pmu_vcore_voltage_set_in_normal_mode();
#endif
----------
void gpio_external_buck_set_in_normal_mode(void)
{
    gpio_external_buck_init();
    gpio_external_buck_turn_on();
}

void pmu_vcore_voltage_set_in_normal_mode(void)
{
    DCL_HANDLE handle;
    PMU_CTRL_LDO_BUCK_SET_VOLTAGE val; 

    handle = DclPMU_Open(DCL_PMU, FLAGS_NONE);

    val.voltage = PMU_VOLT_00_750000_V;
    val.mod = VCORE;

    DclPMU_Control(handle, LDO_BUCK_SET_VOLTAGE, (DCL_CTRL_DATA_T *)&val);
    DclPMU_Close(handle);
}
----------

之后我们开始检查SIM部分的电源域,因之前项目GPIO使用的是2.8V的电源域,而这里的电压是1.8V,基带确认1.8V的输出是足够拉高的。最后没办法我们又测量了同属于同一电源域的VSIM2,结果竟然也是没有电压。。。只不过这次问题很明显了,SIM2的电源根本就没有打开!

Finally,我们在buck初始化时gpio_external_buck_init加入:

    /* Enable VSIM2 power and adjust VSIM2 to 1.8V */
    handle = DclPMU_Open(DCL_PMU, FLAGS_NONE);
    val.voltage = PMU_VOLT_01_800000_V;
    val.mod = VSIM2;
    DclPMU_Control(handle, LDO_BUCK_SET_VOLTAGE, (DCL_CTRL_DATA_T *)&val);
    ldo_vsim_gpldo_en.enable = DCL_TRUE;
    ldo_vsim_gpldo_en.mod = VSIM2;
    DclPMU_Control(handle, LDO_BUCK_SET_VSIM2_GPLDO_EN, (DCL_CTRL_DATA_T *)&ldo_vsim_gpldo_en);
    ldoSetEn.mod = VSIM2;
    ldoSetEn.enable = DCL_TRUE;
    DclPMU_Control(handle, LDO_BUCK_SET_EN, (DCL_CTRL_DATA_T *)&ldoSetEn);
    DclPMU_Close(handle);

Problem Solved.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值