The speed of technological development is getting faster and faster. Although this has the benefit of bringing useful technologies to the market more quickly, it also presents a major headache to designers – project deadlines are getting tighter. The performance and features expected of modern systems are very demanding, yet the time available to develop these systems is becoming more and more limited. Of course, there are then the additional pressures of designing a product that is less expensive and that will work first time.
A strategy that can be helpful in reconciling these conflicting demands is to spend time at the project definition phase, determining the best trade-offs between hardware and software solutions.
Software/hardware
Using software where possible can help to keep costs down. The controller or processor is already sitting in the system, so, provided the increased amount of software does not necessitate a change of device, it may be possible to develop the extra software required to implement extra functions at relatively low cost. Some designers appreciate that software solutions can have recurring hidden costs, such as service, maintenance and de-bugging, but these need not be prohibitive. Software solutions are usually easy to modify by plugging in a new program. Hardware solutions implemented in circuit boards and shipped with every product create a recurring cost, which can be prohibitive. Hardware modifications and enhancements often require a new device, which can translate into PCB revisions. Because of these cost considerations, software solutions are usually preferred over hardware solutions for higher volume products.
Hardware advantages
This is not to say that hardware solutions do not have their advantages. Often, a hardware approach can yield a result that is suitable for many users. From a customer perspective, the product is likely to have been proven in someone else's application, although this is often also true for a software solution. Generally, hardware will be well proven by the time it reaches the market, because any bugs in the hardware will probably have had such a major impact that they will have prevented the product launch until they have been fixed.
Generally speaking, hardware solutions are faster and more precise and the hardware solution is ready to go. Therefore, development times are often improved dramatically. Functions such as A/D converters, D/A converters, pulse-width modulators and counters are often better-implemented in hardware. A timer/counter design provides a simple example of the hardware/software trade-offs. Most controllers and processors contain at least one timer/counter, but if the designer needs more than are provided on-chip, the options are to purchase a device that has more than one or write the program for the missing timer(s). The software route uses a lot of processor time, leaving little for other tasks. An advantage is that the timer can be changed by the software, but the debugging work will have to be repeated to ensure that the accuracy of the timer is not lost. Alternatively, hardware timers/counters can run much faster and with higher resolution.
Software is often used to produce an interim solution and then, as time permits, the software design is migrated to a hardware solution. Although today's processors and controllers offer a large amount of processing power, this can be eaten up very quickly by 'soft peripherals'. Often, it is much more efficient to off-load simple programming tasks such as PWM timer/counters to the hardware equivalent. The availability of on- or off-chip peripherals offering complex communication protocols such as CANopen, DeviceNet, TCP/IP and USB can save the designer from some tricky programming problems.
Generally, software program solutions dominate when product-cost is critical. However, a hardware solution can be more effective when time to market is critical. As a result, the design engineer often has to consider both hardware and software in order to effectively produce competitive products.
References: 'Hardware/software Tradeoffs in Microcontroller-Based Systems', Fink, Scott, Embedded Systems Conference, West, 1997.
Tel: | +27 11 923 9600 |
Email: | [email protected] |
www: | www.altronarrow.com |
Articles: | More information and articles about Altron Arrow |
Tel: | +27 11 458 9000 |
Email: | [email protected] |
www: | www.electrocomp.co.za |
Articles: | More information and articles about Electrocomp |
Email: | [email protected] |
www: | |
Articles: | More information and articles about Tempe Technologies |
© Technews Publishing (Pty) Ltd | All Rights Reserved