9d-Ol 1
Copyright © 1996 IFAC 13th Triennial World Congress, San Francisco, USA
DIGITAL SIGNAL PROCESSORS IN MODERN CONTROL SYSTEMS
Michael K, Masten Texas Instruments, Dallas, TX, m.masten@ieee,org
Issa Panahi Texas Instruments, Houston, TX
Abstract: Development of improved "theories" has been an on-going activity in the control systems field, and some truly outstanding methods have been developed. Meanwhile, low-cost, improved capability, integrated circuit-based processors have also been developed. These parallel developments offer an unprecedented opportunity for practical implementation of advanced control techniques. Digital signal processors have specialized high speed architectures and tailored instruction sets which execute "signal-processing" type operations in a single machine cycle; DSPs are therefore ideal for modern control algorithms. This paper overviews DSPs, reviews their key features, and outlines procedures for using DSPs in control applications. Keywords: Digital Signal Processors, Microprocessors, Real-Time Systems
1. INTRODUCTION The last decade of the 20th century will someday be viewed as a time of truly significant development for control system applications. Many advanced control "theories" have been developed that provide techniques to improve overall performance. At the same time, the "digital revolution" ... the ever increasing proliferation of "computers" which alters all human endeavors ... is providing the means for practical implementation of these new control system methodologies. Microprocessors, microcontrollers, and digital signal processors have become extremely powerful while their cost has declined to the point that control algorithms are now "virtually free". (Compare the cost of feedback sensors and control actuators to that of today's digital "decision and control" components!) At the same time that advanced control "techniques" ... which demand more control processing ... are being
7213
developed, engineers now have (I) extremely effective design and synthesis techniques for digital control, plus (2) processors with increasing capabilities. This parallel development of complimentary technologies produces an era that is truly exciting; powerful control theories can now be implemented into practical applications. 2. MICROPROCESSORIMICROCONTROLLER Early control system engineers eagerly welcomed development of the digital computer, which when compared to analog systems, offered great promise: • Easier control of complex, multivariable, linear or nonlinear systems able to process feedback from many sensors • Easier adjustment and modification of control algorithms; easier incorporation of advanced control methods
• More direct formulation of control algorithms; computer code rather than analog hardware All these promises of digital control have been realized in practical systems. However most early digital applications were confined to large, complex systems (chemicaVpetroleum processing, space flight) or to specialized applications (computer controlled machines, robots). Small, mobile, low-cost applications were unable to use digital computer-based control because the computers were too large/heavy/bulky, too expensive, and consumed too much power. Fortunately, general purpose microprocessors and microcontrollers were developed and became available for Although early wide spread use in the 1970's. microprocessors were quite simple, they achieved many digital control benefits; drift was eliminated and design upgrades were relatively easy (although computer code was frequently limited to assembly or other elementary languages). The terminology of digital processors is sometimes confusing. However, most of these devices are composed of the following fundamental units. • A Central Processing Unit (CPU) which consists of an ALU andaCU. The Arithmetic-Logical Unit (ALU) mathematical and logic operations subtraction, AND, OR, shift, etc.).
performs (addition,
The Control Unit (CU) fetches, decodes, and executes successive instructions from programs stored in memory. The CU also controls data flow within and outside the ALU as well as the internal address and data buses. • Memory Modules which store PROGRAM information (instructions to be executed) and DATA (numbers or characters to be processed by the ALU). Registers are "special" memory elements directly associated with the ALU to facilitate its operation. For example, Accumulator registers store results of ALU operations. • Input Unit and Output Unit which communicate with the outside world. Input information might consist of measurements from feedback sensors; outputs might be the processed data for off-chip components to drive a control motor or other actuator.
7214
• Internal Buses which connect elements of the computer (CPU, Memory, Input Units, Output Units). Data Buses transmit data between units, Address Buses select the origin and destination of signals transmitted on the data bus, and the Control Bus synchronizes overall activity. With these basic definitions, a "microprocessor" can be defined as a single-chip Large Scale Integration (LSI) or Very Large Scale Integration (VLSI) integrated circuit (IC) which implements CPU functions (ALU and CU). A "microcomputer" typically implies both CPU and Memory Modules integrated onto a single chip. A "microcontroller" generally identifies chips containing control oriented peripherals in addition to the CPU and Memory. To the causal observer, the distinction between microprocessors, microcontrollers, and digital signal processors is confusing. Indeed as these devices mature, it is not uncommon for special editions of one device to contain features that were once exclusive to another device. Although the distinctions have blurred, most microprocessors, as a generalization, use single-bus architectures, thus relying on the same internal (multiplexed) data bus for all functions. Data are brought from registers to the ALU; then after ALU operation, results are loaded onto the same bus to be returned to the registers. The major benefit of single-bus architectures is that it saves space on the IC chip. The primary disadvantage is its slow operation. (In a simple addition instruction, three transfers are necessary: two from the registers to be added and then back to the result register.) Furthermore, multiply operations using the single bus (Von Neumann) architecture must be performed in the same ALU by repetitive additions (thus requiring several machine cycles). Early 4-bit microcontroller architectures were quickly superseded by today's 8-bit and 16-bit configurations that are used in a wide variety of control applications. However, microcontrollers are still relatively simple tools with inadequate speed for many advanced control algorithms; real-time, adaptive, or multiaxis applications are inefficient and sometimes completely impossible with a microcontroller.
3. DIGITAL SIGNAL PROCESSORS The Digital Signal Processor (DSP) is superior for generic full-digital (single chip) control. A DSP is basically a special-purpose microcontroller whose architecture and instruction set have been optimized specifically for signal processing-type algorithms. These algorithms are characterized by repetitive multiplications and additions or accumulations; these same operations dominate the signal processing methods used in modern control systems.
7215
• Inputffrajectory Profile Generation: Microprocessor control applications frequently rely on look-up tables to generate control inputs. DSPs replace these tables (and their interpolation processes) with a specific function or algorithm. This permits more complex multi variable functions, reduces memory demands, and provides more optimal functions. In addition, system operation may be "smoother" thus reducing mechanical resonance excitation, reducing power consumption, and improving reliability of drivers and motors. DSPs allow effective real-time • Control Laws: implementation of advanced algorithms that result in improved system control. Single and/or mUltiple axis control systems can be realized by a single DSP. Adaptive and optimal multi variable control methods, dual control, learning. neural networks, genetic algorithms, and fuzzy logic as well as other control methodologies are among those using the DSP's speed and performance. • System identification: In many control systems, it is necessary to estimate some system parameters and/or the system model before or during normal operation. DSP performance offers enough spare processing power that an identification process may be included along with other DSP tasks during system operation. • Pulse Width Modulation(PWM): Control systems using electric motors frequently control the switching power converters by PWM techniques. PWM generation, and electronic commutation of DC motors are often carried out by DSP devices. PWM eliminates D/A converters thus reducing component counts and decreasing power dissipation & drive system size (compared to current driven, bipolar transistor power converters). Advanced PWM methods such as the Space Vector PWM that require intensive calculation within few microseconds can also be part of the DSP tasks. These new methods improve efficiency and utilization of the supply voltage and, at the same time, reduce undesired harmonics of the motor currents.
• Other DSP Tasks: In many control systems, the DSP has been used to handle other non-control system tasks in addition to its role as the digital controller. Communication with the host computer, data filtering, and data bus control protocol(such as SCSI) are among demonstrated DSP tasks. 5. DSP-BASED CONTROL SYSTEM DESIGN Although, digital control system design is somewhat more involved than analog, the use of a DSP Development System greatly expedites the design process. Software development tools include C Compiler, AssemblerlLinker, Simulator, and Debugger for both fixed- and floating-point DSPs. Hardware development tools are also available that allow debugging and implementation of software and program codes on actual hardware and in-circuit emulation. Several hardware and software packages are available by DSP manufacturers and independent companies. Control system design tools such as Matlab and Matrix-x can be used to speed up the design processes. Figure 2 illustrates a typical DSP-based control system and an associated Software Development System. Typical software development processes might include, • Writing program codes using a high level language like C or Assembly language • Compiling program codes using the C compiler and/or the Assembler to generate object files • Linking object code files to produce executable file(s) for the DSP • Integrating and testing; after hardware is assembled and initial software is developed, the system can be used to execute the software. If a debugger is included, breakpoints may be inserted into the program to assist check-out and debugging.
• Power Conditioning/Power Supply Control: In many digital motor control systems, power supply signal conditioning and power factor correction is required. This task commonly uses PWM techniques which may be incorporated into the DSP function. • Diagnostics & Protection: Often a major part of the processor task in a practical control system is diagnostics and safety supervision of system operation. DSPs can also handle these responsibilities.
7216
Fig. 2 - Software Development System Interfaces Directly to the DSP-Based Control System.
REFERENCES The final development step is to evaluate performance relative to the specification. One of the major advantages of DSP-based systems is the ability to easily revise/upgrade the system by simply including software to perform additional functions. Many DSP devices have built-in IEEE IT AG standard pins that allow testing and verification of the mounted DSP device without detaching the chip from its board. This greatly simplifies checking of the DSP operations while end products are heing manufactured.
Zaks, Rodnay and Alexander Wolfe (1987). From Chips To Systems: An Introduction To Microprocessors. Sybex. Lin, K.S., G.A. Frantz and R. Simar (1987). TMS320 Family of Digital Signal Processors. Proceedings Of The IEEE. 75. No. 9, 1143-11S9. Dote, Y. (1990). Servo Motor And Motion Controls Using Digital Signal Processors. Prentice-Hall.
6. CONCLUSION High performance DSPs with increased levels of integration for functional modules have become the dominant solution for low cost, real-time digital control systems; the trend toward even higher functional integration, increased performance, smaller size, and lower cost will continue. (Table I illustrates these trends.) The use of DSPs in control system applications has grown exponentially. Modeling, system identification, analysis, design, and development of modern control systems depend more and more on the use of powerful DSPs. They are used in a broad range of applications from Consumer to Industrial, Robotics, Automotive, Military. Medical, and Aerospace products. The remaining papers in this invited session examine some of these applications in more detail. Table I. History and forecast for DSP technology Year
1982
1992
2002
========================================= Die Size Technology Size Instructions /Second Operating Frequency RAM ROM Price
SOmm
SOmm
SOmm
3.0 micron
0.8 micron 0.2S micron
S MIPS
40MIPS
400MIPS
20MHz 144 words 1.5 K words $ISO
80MHz I K words 4 K words $ IS
200MHz 16 K words 64 K words $I.S
7217
Astrom, K., and B. Wittenmark (1984). Controlled Systems. Prentice-Hall.
Computer
Goodwin, G.c., and K.S. Sin (1984). Adaptive Filtering, Prediction And Control. Prentice-Hall. Bose, B. K. (1987). Microcomputer Control Of Power Electronics And Drives. IEEE Press.