Sponsored Article
Extending visual development and complex algorithms to new applications
29 March 2010
Digital Signal Processor or Microcontroller? One set of processors is bridging the gap as Anders Frederiksen reports.

In many applications, system designers have, until recently, faced a decision between the performance of their code and the speed of development time. While visual programming tools make developing code faster and easier, it has been unrealistic in many cases to achieve the required performance/price ratio for the end application without resorting to low-level tools. There has also been a decision to make between DSPs (digital signal processors) and MCUs (microcontrollers).
One class of device that has bridged this gap is Analog Devices’ Blackfin processors, which deliver high processing performance at low price points for converged digital signal and control processing applications. Complemented by a rich ecosystem of development tools, applications and third-party support, ADI Blackfin processors have proved themselves a popular choice among designers.
ADI’s new Blackfin BF50x series processors are optimised for a wide range of price/performance-sensitive applications, including applications previously serviced by high-end (32/64 bit) MCUs. Designers facing a choice between incorporating DSPs and/or MCUs in their systems can utilise Blackfin BF50x processors to run the complex algorithms and execute the system control tasks they require to realise their design objectives – without compromising on processor cost. With performance headroom to spare, designers need not be experts in DSP programming to take advantage of higher performance.
Reduce complexity with visual programming
Visual programming tools can preclude the need for specialised DSP programming experience, providing system designers with an abstracted design interface that handles low-level code generation in the background. Built-in abstractions liberate the designer from the strict modelling style guides that are required by general-purpose languages, allowing design objects to be represented with a high degree of efficiency.
Designers programming DSPs using traditional text-based languages such as assembly or C spend much of their time performing tasks that require multiple steps to make small changes. With visual programming tools, they can reduce iterative design cycles and overall development time. Commercially available model-based programming products can also provide support for Analog Devices’ VisualDSP++ integrated development and debug environment (IDDE) to ensure end-to-end development simplicity spanning executable specification, design with simulation, embedded code generation, debugging, and code verification. The integration of these capabilities helps to reduce or eliminate errors associated with hand coding, and can incorporate system-level test bench capabilities, which eliminates the need for a different set of software tools for verification.
Efficient algorithm development
Compared to microcontrollers or lower performance devices, higher performing DSPs can run a greater number of algorithm cycles and process more sophisticated algorithms in a fixed amount of time. Blackfin BF50x’s performance profile and ample on chip memory (4 MB executable flash) equips designers to achieve greater system functionality and precision through the use of more advanced algorithms.
For solar energy inverter applications, for example, sophisticated algorithms can enable inverters to convert variable DC output into ‘clean’ current and regulate power flow into the commercial electrical grid and/or local electrical networks fed by residential and municipal photovoltaic (PV) cell arrays. Maximum power point tracking (MPPT) algorithms maximise the amount of energy that can be extracted from individual and/or serial-connected solar panels, and designers typically employ multiple MPPT algorithms to accommodate a range of environmental variables. Blackfin BF50x processors provide the signal processing performance to execute complex MPPT algorithms, ensuring ultra efficient energy extraction in inverter applications for which comparably-priced, lesser-performing processors and MCUs would be inadequate.
For motor control applications, the ability to process complex algorithms assures dynamic control that adapts to real-time variations in system behaviour to yield smoother performance and reduced power consumption. Consider a sensorless field-oriented control (FOC) algorithm, which can enable variable-speed control of permanent magnet synchronous motors (PMSMs) to yield greater energy efficiency and eliminate the need for speed and position sensors within the motor (sensorless vector control). Utilising advanced modelling algorithms to accurately determine rotor shaft position and speed, designers can eliminate the need for position/speed sensors to realise smaller form factors, reduced costs and greater system reliability.
Combining algorithm optimisation with visual programming
Algorithms such as the aforementioned sensorless FOC algorithms can be readily developed, manipulated and validated with the aid of visual programming tools. Variables such as vectors, scalars and matrices are accounted for and correlated, freeing an algorithm developer from having to declare variables or create iterative loops to implement operations of this nature. Visual programming tools typically manage a host of automated mathematical functions that would allow the designer to focus on the top-level sensorless FOC algorithm, rather than re-implementing operations centric to sine or cosine flux. These tools facilitate hierarchical design so that complex functions can be structured and presented in a manner that is intuitive to the designer and easy for other members of a design team to understand, while offering visualisation options that can include 2-D/3-D plotting, as well as animated graphics.
These automated capabilities don’t preclude designers from manipulating the lower-level code, or porting existing code to the visual programming environment. As many designers maintain and reuse a stable of highly optimised, manually coded algorithms, most visual programming environments accommodate the integration and continued refinement of existing C code. In this way, visual software tools provide designers with a flexible, unified development environment via which they can tune and reuse code, and port designs to multiple platforms – all of which helps to shorten development cycles for subsequent design initiatives.
Greater development agility
Analog Devices’ 16/32-bit fixed-point Blackfin digital signal processors are designed specifically to meet the computational demands and power constraints of today's embedded industrial, automotive, audio, video and consumer electronics applications. Blackfin processors deliver high performance and power efficiency with a RISC programming model, combining advanced signal processing functionality with the ease-of-use attributes found in general-purpose microcontrollers. This combination of processing attributes enables Blackfin processors to perform equally well in both signal processing and control processing applications - in many cases eliminating the requirement for separate heterogeneous processors. This capability greatly simplifies both the hardware and software design implementation tasks.
Announced in 2010, the latest generation Blackfin BF50x processors provide up to 400MHz of processing performance at a price point where 150-200MHz clock speeds have been the norm. This performance profile extends high-performance digital signal processing capabilities to a broader range of applications, many of which previously required designers to implement algorithms in hand optimised C code, and in some cases assembly code, in order to run the application with the performance limitations of the processor or MCU.
Designers can leverage Blackfin BF50x’s performance headroom to utilise advanced visual programming software, which helps designers shorten development cycles and reduce design complexity. These easy-to-use programming tools enable designers to evaluate concepts, develop and validate algorithms, map parallel, deterministic tasks, and tune parameters in real-time before committing to a hardware prototype. With the flexibility to model, simulate, and deploy systems utilising user-friendly visual programming tools, design teams are empowered to make the best use of their resources and accelerate time to market.
Development and support ecosystem
Analog Devices software and hardware development tools are designed to provide easier and more robust methods for engineers to develop and optimise systems, simplifying product development processes and reducing time to market. The Blackfin processor family leverages familiar development tools including the VisualDSP++ integrated development and debug environment (IDDE) and the EZ-Kit Lite evaluation and application prototyping platform. A rich third-party software support network further enables developers to design more intelligent and efficient solutions for the industrial market.
The author is Marketing Segment Manager for Motor Control, Analog Devices
Contact Details and Archive...
Related Articles...
Most Viewed Articles...