“Today’s motor control applications require multi-axis, multi-function solutions with clear results. Consider robots in large automated industrial manufacturing cells (performing tasks cyclically), or even robot-assisted medical surgery – these robots need to be precisely controlled in all directions while producing deterministic output. Likewise, high-end industrial drones require stable gyroscopes and higher mechanical reliability, as well as the high-speed computing power of DSPs.
By Apurva Peri, Senior Marketing Engineer, Microchip Technology Inc.
Use SmartHLS™ to reduce development time by up to 5x.
Introduction to Advanced Motor Control Applications
Today’s motor control applications require multi-axis, multi-function solutions with clear results. Consider robots in large automated industrial manufacturing cells (performing tasks cyclically), or even robot-assisted medical surgery – these robots need to be precisely controlled in all directions while producing deterministic output. Likewise, high-end industrial drones require stable gyroscopes and higher mechanical reliability, as well as the high-speed computing power of DSPs. In more important scenarios, such as the implantation of medical implants like ventricular assist devices (improving cardiac function), there is no room for error, so in addition to accuracy and certainty, robustness and reliability must also be Essential. Electric motors also perform critical functions such as attitude control, deployment mechanisms, motion, and throttle control in spacecraft. Wing actuators typically maintain aircraft fuel efficiency at lower speeds after takeoff or when preparing to land. These applications require long service life, high reliability and safety in high vacuum, radiation and changing operating environments.
Reducing system cost and creating a single networked, multi-protocol hardware that integrates digital peripherals with the processor core is a constant requirement.
Advantages of FPGAs in Motor Control Designs
Compared with ASIC, FPGA has more advantages, the most prominent one is its deterministic parallel computing function with field configurability. They can implement complex logic functions and support the implementation and modification of a variety of systems.
Our FPGAs are unique because they have flash-based non-volatile memory. With this instant-on technology, they can consume 30% to 50% less power than competing FPGAs. FPGAs are radiation-hardened and have unique security features such as overbuilding and cloning avoidance, design IP protection, root of trust, secure data communication, and tamper resistance. Specifically, in motor control, our FPGAs with low power consumption, low jitter, low latency, high accuracy, high determinism and scalability can play an important role in solving the complex challenges facing modern motor control applications.
SmartHLS boosts productivity
Designing a new hardware-based motor Controller for an FPGA from scratch using Verilog/VHDL can be time-consuming. Often, engineers already have a motor controller running in C/C++ design. In this case, the ideal solution is to automatically convert existing C++ software code to an equivalent hardware implementation for Microchip PolarFire® FPGAs. This is made easy with Smart High Level Synthesis (SmartHLS™) tools and integrated development environments that compile C++ software into hardware modules for Microchip FPGAs. With advanced synthesis tools, you can take C++ as input and generate Verilog as output. Typically, HLS marks the generated top-level C++ functions as equivalent hardware IP cores. You can describe algorithms in top-level C++ functions. You can then use HLS pragmas and C++ HLS libraries to describe standard hardware interfaces such as AXI, AXI-stream, or memory interfaces. An attractive benefit of HLS is that using C++ can significantly improve abstraction levels and productivity compared to RTL designs, which can help reduce hardware design and verification times. HLS can easily add or remove pipeline registers to achieve user-specified target frequencies, making it ideal for architectural exploration.
One of our customers used SmartHLS to port their advanced motor control design with tight constraints to our FPGA. The customer’s main goal is to reduce deterministic latency to less than 3 μs. This delay time includes the feedback time from receiving the signal from each of the eight motor encoder sensors until the FPGA motor control core updates the current outputs of all of these sensors. Due to external I/O requirements such as DDR and PCIe®, customers also expect designs to operate at clock frequencies above 200MHz. In addition, they wanted to be able to easily fit the design onto the PolarFire MPF500 device.
Clients reported the quality of their results, which far exceeded their design goals. Their cycle latency was reduced by 50% while the frequency was increased to their target clock frequency of 200 MHz. The final deterministic delay time of the motor controller is also halved, to about 2 μs. The motor controller area is also shrunk enough to fit into a 300K LE PolarFire FPGA.
Experiments comparing the original C++ motor controller with the improved FPGA version show that the FPGA-based motor controller is 2.5-6 times faster than the Arm® microcontroller in terms of latency, depending on the microcontroller’s jitter and real-time operating system.