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.

DRV8214: Using EXT_DUTY

Part Number: DRV8214

On page 56 of the DRV8214 datasheet (SLVSH04 – NOVEMBER 2023) it states that EXT_DUTY is "Available when using external bridge control (I2C_BC=0b)." This is incorrect. I2C_BC must be 1b, since in fact EXT_DUTY is using the on-chip PWM. In addition, when using the on-chip PWM, the documentation does not make very clear the way in which PMODE, I2C_EN_IN1 and I2C_EN_IN2 interact, although it is not too hard to figure it out by experiment. EXT_DUTY is probably really misnamed. Might be better to call it something like FIXED_DUTY.

  • Hey Robert,

    Thank you for bringing this to our attention.  I have notified our systems engineer for this part and he is going to look through your comments, verify, and update the datasheet.  Thank you also for clarifying what is unclear/poorly named - sometimes we need new pairs of eyes to spot things like this.  

    Best,

    Jacob

  • Hi Robert, 

    Thank you for pointing this out. I have the following clarifications for you: 

    1. EXT_DUTY will be renamed with the description edited in the next version of the datasheet to better reflect its functionality. PMODE, I2C_EN_IN1, IN2 will also be explained more clearly.
    2. EXT_DUTY does not depend on I2C_BC for operation (this will also be clarified in the revised datasheet). When EXT_DUTY is in operation (i.e., when speed/voltage  regulation is disabled and DUTY_CRL=1b), I2C_BC is used to decide if the information about direction of rotation (fwd/reverse/brake/hi-z/coast, see tables 8-4 and 8-5 on pg 14-15) will be extracted:
      1. Externally (from the EN/IN1 and PH/IN2 pins; I2C_BC=0b), or
      2. Internally (from the I2C_EN_IN1 and I2C_PH_IN2 bits; I2C_BC=1b).
    3. PMODE can be either 0b or 1b it does not matter. The register PWM_FREQ selects the PWM frequency if I2C_BC=1b. 
    4. As an example, if 
      I2C_BC 1b
      DUTY_CTRL 1b
      PMODE 1b
      PWM_FREQ 0b
      EXT_DUTY 011111b
      I2C_EN_IN1 1b
      I2C_PH_IN2 0b
      then the device will pwm at 50kHz with approximately 50% duty cycle in the forward direction.
  • Thanks a lot for the clarification. I doubt I would have figured all that out just by experimentation.

  • There is another error. On page 29 it states: "Duty cycle can be programmed by using the IN_DUTY register."

    IN_DUTY is documented as read only. I suspect it should say WSET_VSET.

  • Thanks for pointing it out. I will make the changes in the next revision. 

    You are correct - REG_CTRL determines speed/voltage regulation. REG_CTRL needs to be set to 00b or 01b which disables speed/voltage regulation.