
In an increasingly competitive market driven by cost and time-to-market requirements, designers have been using low-cost microcontrollers in their embedded systems. Engineers designed these processors to control entire systems, including all the supervisory tasks, in addition to handling user interfaces. Having limited processing power, these microcontrollers could execute only simple control algorithms, thus limiting their functionality. DSPs, on the other hand, are number crunching devices typically suitable for high-end applications such as telecommunications and audio/video processing, which require a lot of processing in a short amount of time. However, they do not have the control capabilities of microcontrollers.