xsh2005105326 发表于 2020-12-30 13:29:13

单芯片数控DC-DC TPS61170控制模式(ES)解读

本帖最后由 xsh2005105326 于 2020-12-30 14:19 编辑

上一篇帖子说到了TPS61170这货:基于SEPIC拓扑结构实现升降压DC To DC的设计

可以当作数控电源使用,调压控制方式有两种:PWM和ES单线模式。上次测试PWM模式下发现纹波较大,这次换ES模式,实际测试纹波有下降,参考下图



另外说说这个ES协议时许:
1. 首先使能进入ES检测窗口,不低于1ms,我程序1.5ms左右

2. CTRL脚拉高260us后拉低260us,再拉高1ms,进入ES模式

3. 发送ES起始信号:CTRL拉高2us以上,再拉低

4. 发送一个字节地址,0x72;

5. 发送结束信号:CTRL拉低2us以上,再拉高;

6. 发送调压数据,bit7 是RFA,0代表不需要TPS61170反馈,1意味着发送完数据后会返回ACKN信号;bit6和bit5是A1,A0地址信号,默认0,bit4~bit0是对应的FB电压值,0到1.229V,共32级

逻辑0:先低电平后高电平,低电平时间是高电平的2倍,高电平时间2-180us
逻辑1:先低电平后高电平,高电平时间是低电平的2倍,低电平时间2-180us





实测参考程序如下:

注:Timer0_Delay100us函数实际是10us左右


#define set_PWM        P15 = 1;
#define clr_PWM        P15 = 0;
#define PWM_STAR        { set_PWM;Timer0_Delay100us(3);clr_PWM;}//命令起始位,拉高最小2us,此处30us
#define PWM_STOP        { clr_PWM;Timer0_Delay100us(3);set_PWM;}//命令结束位,拉低最小2us,最大360us,此处30us
#define PWM_H                { clr_PWM;Timer0_Delay100us(1);set_PWM;Timer0_Delay100us(3);}//数据1
#define PWM_L                { clr_PWM;Timer0_Delay100us(3);set_PWM;Timer0_Delay100us(1);}//数据0


void volset(UINT8 addr,UINT8 vol_data)
{
        UINT8 i;
        //进入ES模式
        set_PWM;
        Timer0_Delay100us(30);//延时300us
        clr_PWM;
        Timer0_Delay100us(30);//延时300us
        set_PWM;
        Timer0_Delay100us(100);//延时1ms
        /***************
        发送8位地址
        ****************/
        PWM_STAR;
        for(i = 0;i < 8;i ++)
        {
                if(addr&0x80)       
                {
                        PWM_H;
                }
                else
                {
                        PWM_L;
                }
                addr = addr << 1;
        }
        PWM_STOP;
        /***************
        发送8位数据
        ****************/
        PWM_STAR;
        for(i = 0;i < 8;i ++)
        {
                if(vol_data&0x80)       
                {
                        PWM_H;
                }
                else
                {
                        PWM_L;
                }
                vol_data = vol_data << 1;
        }
        PWM_STOP;
}
页: [1]
查看完整版本: 单芯片数控DC-DC TPS61170控制模式(ES)解读