Why DACs are used in A4988?

Hello. I’m not good at English, but I have a question about stepper motor driver a4988.
I want to design some stepper motor drivers like A4988 for my own projects.
I watched datasheet of a4988, but I can’t understand why DACs are used and How Translator and gate driver operate. I look forward to hearing from you.


Hi Ryu, I asked myself these exact same questions last summer except I was using the A3967, which is similar structurally. Here’s how I think it works (corrections/clarifications welcome!):

When the device is holding the stepper at a given step/microstep, what it’s doing is pulsing each H-bridge at a width that maintains the current associated with that step/microstep. It knows the current being delivered by each H-bridge by measuring the voltage across its corresponding sense resistor. That voltage is compared with the desired voltage. If it’s below, the control logic turns the H-bridge on; if above, then off. How does the comparator know what the desired voltage is? The Translator tells it via the DAC. Does that make sense?

(In reality, the A3967 has a fixed off time, so the H-bridge doesn’t necessarily turn on immediately after the sense resistor voltage drops below the desired voltage. But for understanding the DAC and control logic, I think it’s an OK simplification)

If you have access to an oscilloscope, look at the outputs and the top of the sense resistors while stepping/microstepping. That told me the whole story.

BTW, I tried to replicate this feedback circuit using ICs (a timer, comparator, and H-bridge) and it was really jittery, so there are probably some other signal-conditioning subtleties being handled by the device.

Thank you so much jlo. My curiosity was somewhat relieved.