Two choices set the ceiling on a servo drive before any code is written: which side of the domain boundary each control loop lives on, and where the current shunt goes. Everything else, loop bandwidth, achievable accuracy, protection speed, BOM, is downstream of those two. They are usually made implicitly, by copying a reference design, and then paid for later.
The loop stack and its periods
A servo axis is a set of nested loops, each running at a multiple of the one outside it [1]:
| Loop | Rate | Period |
|---|---|---|
| Position | 1 kHz to 4 kHz | 1 ms to 250 µs |
| Speed | 2 kHz to 8 kHz | 500 µs to 125 µs |
| Torque, field oriented control | 8 kHz to 32 kHz | 125 µs to 31.25 µs |
At the system level the envelope stretches further: current control reaching 64 kHz where the controller updates twice per PWM period, with PWM itself at 8 kHz to 32 kHz [1]. That double update case is the one to hold onto. Running the current controller twice per PWM period doubles the update rate of the inner loop without touching switching frequency, and whether you can do it depends on the shunt decision below and on having the processing to keep up [1].
The binding constraint is the innermost period. At 31.25 µs everything has to fit: acquire current, acquire angle, run the transforms and the PI loops, update the compare registers. Angle measurement alone wants to stay under 20 µs to leave the MCU time to run the algorithms and update the PWM for the next cycle [4]. The partitioning choice is what creates that room or destroys it.
Three ways to partition
The domain boundary is where the partition happens. In a line fed industrial drive it is a reinforced isolation barrier [1]. In a 48 V joint drive we treat it as a noise boundary rather than a safety one, and the partition logic carries over. TI states the trade offs in terms of interface latency and power stage board cost [1]; the firmware image and boundary crossing counts below are our own accounting.
Split the loop across the boundary. Communications and outer loops on the low voltage side, a separate control unit on the power side running current control and PWM, with a high speed interface between them across the boundary [1]. Feedback paths stay short. Every signal crossing the boundary needs isolating, and you maintain two firmware images.
Two processors, both on the low voltage side. One handles the algorithm processing, including the torque and current loop, while the other acts as a data aggregator and provides the PWM outputs and the sigma delta interface across the isolation boundary [1]. TI's stated benefit is a lower cost power stage board at the same performance; what the single device option below removes is the latency of the interface between the two devices [1].
One processor, everything on the low voltage side. A single device implements the whole loop, including motion profile generation that would traditionally sit in a PLC [1]. Fewest crossings, one firmware image, simplest safety case. It demands enough real time headroom to close a 31.25 µs loop and still service the network.
For a joint mounted drive the third option is usually correct, because the joint is already self contained and there is no cabinet for a second processor. What made it viable is heterogeneous silicon: real time cores handling deterministic control while application cores handle everything else, on one die. The same integration absorbs the protocol problem. More than a dozen protocols are in play across industrial Ethernet, fieldbus and encoders, including Hiperface DSL, EnDat 2.2 and BiSS C, and programmable real time units with integrated multiprotocol support remove the separate protocol silicon that used to be required [1].
The shunt decision
| Placement | Accuracy | What you gain | What you give up |
|---|---|---|---|
| In line with the phase | High | Direct continuous phase current, averaging across the PWM period, controller can run twice per PWM, detects phase to phase and phase to ground shorts | Amplifier needs high common mode range with high common mode rejection |
| Low side | Medium | Near zero common mode, non isolated amplifier usable, lower system cost, detects shoot through | Discontinuous and inverted, measurable only while the low side switch is on, no averaging, no double update, cannot detect phase to ground shorts |
| DC link, single shunt | Low | Near zero common mode, lower system cost, works with vector and trapezoidal control | Two measurements per PWM period synchronised to the switching pattern, needs minimum active vector duration and compensation algorithms, needs a high bandwidth amplifier |
Summarised from TI's comparison [1].
Notice that double update, the thing that doubles the inner loop rate, is available only with in line sensing. So is detection of a phase to ground short, which in a robot that people touch is not an optional diagnostic. In line sensing costs you the hard problem: a shunt whose common mode voltage swings the full bus at the switching edge rate.
Two numbers that follow from it
Input range drives thermal loss. Designing for a ±50 mV full scale shunt voltage instead of the traditional ±250 mV reduces shunt dissipation by about 80 percent [1]. In a joint with no heat sink, that is a thermal decision disguised as a sensing specification.
Resolution and protection come from the same bit stream. A delta sigma modulator, typically clocked at 5 MHz to 20 MHz, hands a one bit stream to the processor, and the digital filter is a firmware choice. With a 20 MHz clock, a sinc cubed filter at 64 times oversampling gives roughly 12.5 ENOB with 9.6 µs settling, while the same stream through an 8 times filter settles in 1.2 µs for overcurrent detection [1]. TI's 48 V GaN current sense design uses the same filter at OSR 8 and the same 20 MHz clock and arrives at the same 1.2 µs [3]. An isolated amplifier path, by contrast, has three conversion stages, caps out around 12 bit system resolution, has fixed bandwidth, and needs a window comparator per phase for short circuit detection [1].
The order to decide in
Pick the loop rate the application needs, and check it against the 8 kHz to 32 kHz current loop band TI cites for humanoid joints [2]. Derive the inner period. Choose in line sensing unless something forces otherwise, because it is the only placement that preserves double update and full fault coverage. Then choose the partition that keeps the inner loop's feedback path short and the boundary crossings few. Processor selection comes last, sized by what is left.
Reversing that order is how a drive ends up at 8 kHz when the application needed 32 kHz.
References
- Texas Instruments, An Engineer's Guide to Industrial Robot Designs, SSIY006, 2Q 2020, sections 1.1, 2.1.1 and 2.2.11.
- Texas Instruments, Application of GaN FET in Humanoid Robots, SNOAAB3, January 2025.
- Texas Instruments, High Resolution, Small Form Factor Phase Current Sense for 48V Robotics and Servo Drives, SBAA666, February 2025.
- Texas Instruments, Choosing a Position Sensor in Motor Control, SLYT867, Analog Design Journal 2Q 2025.
