This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DRV8860:DRV8860输出通道问题

Guru**** 2358920 points
Other Parts Discussed in Thread: DRV8860
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/580178/drv8860-drv8860-output-channels-question

部件号:DRV8860

德拉斯,

DRV8860具有8通道输出,具有通电和PWM切碎功能。 我有一个关于驱动多个电磁阀时的通道的问题。  

仅举个例子:

我将控制寄存器设置为: 使用25 % PWM chopping,300ms通电时间,通过输出1通道输出,方法是将数据寄存器设置为0x01。300ms之后,OUT1将输出25 % 占空比PWM波。  然后我需要驱动另一个螺线管,如输出通道2。  

请告诉我,当我现在将0x03写入数据寄存器时,OUT1通道的输出状态是什么? OUT1是否与OUT2同时有另一个300ms的通电波? 还是将25 % 占空比输出保持在OUT1?

非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Gavin:

    请告诉我,当我现在将0x03写入数据寄存器时,OUT1通道的输出状态是什么? OUT1是否与OUT2同时有另一个300ms的通电波? 还是将25 % 占空比输出保持在OUT1?

    每个输出都是独立操作的。 在上述情况下,OUT1将看不到另一个300ms通电波。 OUT1将保持在25 % 占空比。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Rick:
    非常感谢您的快速响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Rick:

    我的客户进行了测试。 每次我们向数据寄存器写入数据时,我们都看到了激励浪潮,即使数据是相同的。 代码是否有任何问题?

    它在 D1/ D2/ D8/D9通道(0x0303)设置为3ms通电,50kHz 50 % 占空比PWM输出,并每20ms向数据寄存器写入0x0303。

    /*
    * main.c
    */
    
    UINT32_t tick=0;
    void SysTickIntHandler (void) // 1 ms
    {
    tick ++; 	
    如果(tick >100)
    {
    	IF (tick % 20 == 0)
    	Write_Data_Reg (0x0303); // d0,d1.d8,d9
    }
    }
    
    void main(void){
    
    SysCrtlClockSet(sysctl_SYSDIV_5| sysctl_use_pll | sysctl_XTAL_8MHZ |
    sysctl_OSC主);//40MHz
    	
    SysCtlPeripheralEnable(sysctl_Periph_GPIOA);
    SysCTlDelay (SysCTlClockGet ()/4);
    
    all_GPIOInit();
    配置UART();
    tick_init();
    
    IntMasterDisable();
    PWM_SET (0xC1C1,0x0303);//频率:50kHz通电时间:3ms D0,D01;D8,D9打开
    IntMasterEnable();
    	
    my_printf ("Hello World.\n");
    同时(1)
    {//SysCtlDelay(10万);
    		
    	}
    } 

    输出波形如下所示,我们 看到OUT0/OUT1输出每20ms通电3ms (向数据寄存器写入0x0303的时间间隔)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Gavin:

    我们正在调查。 这可能需要几天时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Gavin:

    我很抱歉。 所有激活的输出将重新进入通电状态。 通电状态可通过使用数据表8.5 .1.3 Tm5部分中所述的特殊命令PWM启动来终止。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI是否将此分类为错误? 这种奇怪的行为具有非常真实的硬件安全影响。 例如,如果数据寄存器已启用(打开)所有通道,并且软件循环频繁地为所有通道写入数据以打开,则通道将始终保持通电状态,并且从不实际进入PWM模式。 对于许多电磁阀(例如在我们的应用中),持续通电状态(全电流)将会损坏电磁阀。 我们已经在电路板上设计了这个零件,并且刚刚发现了这种不良行为。 这对我们来说是一场表演,我想其他任何人都想独立地操作8个频道。 如果此错误未在部件中修复,则至少应存在一个明确的警告,说明对软件更新频率和此全局通电功能的依赖性,以及依赖PWM功能不会过热的下游设备的危险。

    特洛伊