Industrial machines are getting complex. I am not saying it was ever an easy task, but today’s automation professionals are challenged with increasing efficiency and addressing throughput demands on their systems to stay competitive in today’s global economy. One technology that helps meet the high performance and efficiency needs of today’s machines is the field-programmable gate array (FPGA).
FPGA technology has come a long way in recent years and is quickly becoming a viable tool in the industrial automation arena. Today’s FPGAs provide the reliability of dedicated hardware circuitry, truly parallel execution and very high speeds for closing the loop in control applications.
What is an FPGA?
An FPGA is a silicon chip that contains a matrix of reconfigurable gate array logic circuitry that the user can program. Generally, users can program this circuitry using a hardware description language (HDL), but new high-level design tools allow for programming in C or even graphical interfaces, making it much easier to interface with them. When an FPGA is programmed, the internal circuitry is connected in a way that creates a hardware implementation of the application defined in the software. The result is a user programmable piece of hardware that has the reliability of dedicated hardware circuitry and the speed of a modern micro processor. In addition, FPGAs are completely reconfigurable and can be recompiled to implement additional functionality whenever it becomes necessary.
Reliability
In industrial automation applications, reliability is essential. Nobody can afford to have a plant go down for unnecessary repairs, so there are always concerns about reliability when trying out new technology in automation applications. Fortunately, reliability is one area where FPGAs really shine. While software tools provide the programming environment for defining FPGA functionality, the final FPGA circuitry is a truly hardware implementation of program execution.
Processor-based systems often involve an operating system and several layers of abstraction to help schedule tasks and share resources among multiple processes, in the majority of cases, it is in these abstraction layers and drivers where system instability is introduced. Because they are a hardware solution, FPGAs do not share this same architectural challenge and are thus able to provide the same reliability as fixed-function hardware circuitry. Due to this, a growing number of critical applications such as plant control, monitoring, vehicle automation, and even biomedical applications, are now using FPGAs.
The move to multicore
In recent years, we have heard a lot about the silicon industry’s move to multicore processors to enable higher performance through parallel processing. Like these processor-based control systems, FPGAs are being used to implement all types of industrial control systems, including analogue process control, discreet logic and batch or control systems based on state machines. However, FPGA-based control systems differ from processor-based systems in some significant ways.
For any given processor core, only one instruction can execute at a time and processor-based systems are continually at risk of time-critical tasks pre-empting one another or overwhelming the processor. Unlike processors, FPGAs use dedicated hardware for processing commands. FPGA logic executes in a truly parallel manner, so different processing operations do not have to compete for the same resources. As a result, the performance of one part of the application is not affected when additional processing is added.
This functionality also makes it possible for multiple control loops to run on a single FPGA device at different rates. For instance, you could use the same FPGA hardware to control a servo motor in a PID loop running at 20 kHz, monitor machine health by processing accelerometer data at 50 kHz and fire triggered solenoids at 10 Hz. Because these operations are truly parallel, they work completely independently within the FPGA fabric and there is no concern for one process starving or interrupting another.
The need for speed
In today’s world everything needs to be faster. For control, faster means systems are more stable, more efficient, easier to tune and less susceptible to changing conditions and disturbances. For example, in a simple motion application today, the current in a DC motor might change as fast as 1 amp per millisecond in response to a 24 V output from an H-bridge driver. To control the motor current precisely, the control system must sample the current quickly and make frequent adjustments to the actuator output. As a rule, the control loop rate should be at least 10 times faster than the time constant of the system (plant), which puts a very high demand on processor time. Microprocessor-based systems typically offload the motor drive commutation to separate hardware. In contrast, FPGA-based systems can incorporate motion control and motor drive commutation in a single application, which can significantly reduce system and integration costs.
In FPGA-based automation and control applications, speed is limited by the sensors, actuators, and I/O modules rather than the processing performance of the FPGA. An FPGA can process multiple PID control algorithms in just 300 nanoseconds. However, since there are not many sensors or actuators that can perform at those rates, processing ability is removed as the bottleneck in FPGA-based automation systems.
These are only a few of the benefits of FPGAs in automation applications, so if you are considering your next application or system upgrade, it may be worth your time to take a closer look at FPGA technology.
© Technews Publishing (Pty) Ltd | All Rights Reserved