[Design View / Design Solution]
Choose The Right Multiprocessor For Your Embedded System
It’s often tempting to make one processor handle the entire system load. But sometimes adding a second processor is the best option.
DESIGN VIEW is the summary of the complete DESIGN SOLUTION contributed article, which begins on Page 2.
Cost is king in many embedded-system designs. To reduce costs, designers will typically call upon a single microprocessor to run the whole show, figuring that fewer parts mean lower cost. But splitting up the task among multiple processors can often simplify a design and speed its arrival to the market, more than compensating for the added cost.
However, attention must be paid to your design's characteristics to find the right solution. Keep in mind that adding a satellite processor affects system cost both positively and negatively, so the overall impact needs to be evaluated. Multiprocessing just may turn out to be the lower-cost option.
Using a satellite can lower the performance needs of the main processor, allowing for a less expensive version. It can also simplify wiring, and most importantly, it will ease development and debugging of the design. Tradeoffs must be considered, though. First, there's the cost of the additional processor. A larger potential penalty is the cost of development tools for the additional processor when it differs from the main processor.
However, smart design teams will pick a satellite processor that meets the needs of many multiprocessor designs. Thus, tool cost can be spread over many designs, lowering the overall impact. It also allows for volume purchasing of parts, yielding discounts greater than a single product run.
An actual design can illustrate best when to use multiprocessing. In this article, a state-of-the-art vending machine, which requires lots of control, is used as an example. Discussion surrounds the vending-machine controller (VMC), choosing the right serial bus for your application among the popular serial buses out there, and achieving overall simplicity in the design.
HIGHLIGHTS:
When Is It Best To Use Multiprocessing?
Software changes that come with a multiprocessor design are key in determining resultant cost benefits, as well as tradeoffs that must be made.
Multiprocessing Machine
One advantage of the multiprocessor vending machine is that the payment-processing task becomes independent of the other tasks. It also prevents the vending-machine controller from being tied up when waiting for payment.
Popular Serial Buses
Some of the more popular buses discussed are the I2C bus, the multi-drop bus (MDB), and the serial-peripheral-interconnect (SPI) bus. Also key is the RS-232 standard, a common interface on many MCUs that offers some useful features for multiprocessing.
Choosing A Bus
Determining which bus is best for a given multiprocessor design depends on the importance of each feature. Other key factors are the availability of devices that use the interface and conformance with standard industry practice.
To MDB Or Not To MDB?
"Simplicity in design" means using as few buses as possible, portending the use of MDB or I2C. For the motor-control board, MDB makes sense. But for the Internet interface, the MDB's overhead may be prohibitive.