Software Tools
www.ti.com
This framework also allows a user to commission system software in a step-by-step manner, and at each
step validate key vital signs before moving on. The number of build levels may vary depending on final
system complexity, but an important point to note is that regardless of the number of build levels, this
framework becomes a common point of reference. In either case, it will greatly improve the chances of
system software success. As will be seen later, incremental system build levels are supported by
frameworks with various configurations of interconnected modules. Frameworks also provide invaluable
skeletons for users to modify or customize as required to suit their own target system requirements.
2.2.3
Well Defined Module Variables Provide Clear Debug Points
Because the system/module framework has one-to-one mapping with the system signal flow diagram, it is
easy to probe signals of interest and to visualize them in real time. TI provides useful utility modules which
can display time-varying signals (i.e., software variables) via hardware DAC using an oscilloscope, or on
screen with Code Composer Studio™ using a data-logging software module. The PWMDAC and
DATA_LOG modules can be readily connected by way of pointers during run-time, to any module terminal
variable and internal module variables for greater software visibility.
2.2.4
Known Working Library Eases the Development
Modules can provide a valuable starting point, even if they are not exactly the final requirement. Known
good modules can be used initially on a “trust-for-now” basis as a system is built up and valuable
experience is gained. Later on, these standard modules can be investigated on an as-needed basis, to
learn more, or to modify or customize to suit. A modular approach is ideal for this, allowing standard
modules to be swapped out for customized ones later on without risk or delays.
2.2.5
Code Composer Studio and Documentation Completes the Package
The solutions collateral outlined so far for the digital motor control systems software is comprehensive with
many component parts. To bring it all together and to allow customers to test drive many solutions quickly,
TI offers Code Composer Studio™ (CCS) for the C2000 platform as the Integrated Development
Environment (IDE). Ready-to-run CCS projects and workspaces ensure customers are jump-started into
productivity quickly. To complement the IDE, clear module and system documentation tie the solutions
together and help customers understand how theory, implementation, and debug all come together to
provide a working solution.
2.3
Software Modularity
The benefits of structured, modular software are well known. This is especially true for large, complex
systems with many sub-blocks contributed by many individuals. In these cases, there is a strong common
set of needs. Efforts by contributors should only be used one time, and are reusable for future projects.
The contributed software blocks (modules) must be predictable in their behavior and compatible with other
blocks, both functionally and numerically. Industry has learned the benefits of these methodologies, and
has realized the impact they can make on smoother system integration; reducing debug and
troubleshooting time, providing a higher degree of visibility inside the software, and allowing quicker
system reconfiguration. These attributes have significant impact on getting quality products out to market
in a timely manner.
Such methodologies needed to be applied to high-performance motor control systems and to address this,
TI introduced the modular DMC library in early 2000. Within the digital control systems space, the
algorithm standard has been used to address the specific needs of application areas such as digital motor
control, industrial electronics, uninterruptible power supplies, plus a host of other control-related areas.
The familiar signal flow block diagram representation of digital control systems, as seen in control texts
and university publications, lend themselves well to effective implementation by software-interconnected
module blocks (i.e., functions or macros) with well-defined input and output ports.
6
TMS320C2000 Motor Control Primer
SPRUGI6 – September 2010
Submit Documentation Feedback
Copyright © 2010, Texas Instruments Incorporated