Original Posting Date: September 22, 2014
When designing an embedded system, developers must decide whether a function should be controlled by a discrete component of the design, or whether that functionality can be covered by an existing, more centralized part in the system. For instance, developers of systems with an analog input component may have to decide between designing a system with a discrete analog IC, and designing a system where the MCU has an on-chip analog-to-digital converter.
A system’s user interface is another function where a designer must consider whether to centralize functionality or create a sub-system to cover that functionality. As MCUs become more powerful and functionally dense, it can be tempting to control all user interface features from a centralized host processor. One reason this design style is tempting is because assigning all responsibility to a host processor can reduce BOM cost, as well as manufacturing and test time. It can make a system appear to be easier to design and control because so much functionality is packed into a single chip. However, in most cases, partitioning off the interface responsibilities into a discrete system component creates a system that is more energy-efficient, responsive and faster to design and debug.
Embedded systems with powerful host processors tend to be energy-hungry. The more functionality piled onto the host processor, the more often the processor will be in a high-current active mode of operation. In order for a user interface to be responsive, the host processor will have to frequently poll inputs and monitor the interface’s state. This monitoring becomes even more burdensome in systems that use a capacitive sensing surface as an interface style because capacitive sensing requires post-processing to convert capacitance values to qualified touch events. If the developer designs the system so that the capacitive sensing user interface is controlled by a smaller, more energy-efficient MCU designed for that specific purpose, such as the capacitive touch MCUs offered by Silicon Labs, then the host processor can stay in a low power state a higher percentage of the time and system current consumption can be greatly reduced.
In a system with a discrete touch MCU used to monitor a user interface, a system will tend to be more responsive to touches. This is because the MCU monitoring touch is often assigned only this task, meaning that it will not have to periodically service other interrupts or cover other responsibilities that steal processor cycles and memory from the touch interface. The touch processor can fully qualify a touch autonomously, without any involvement from a host processor that could slow down touch-qualifying decisions. This speed and focus results in a system with reliable – and reliably fast – touch detection.
Finally, developing a discrete and autonomous touch sensing component in an embedded system adds modularity to the design that promotes concurrent development between team members. The team members working on the touch design do not need to worry about their code stealing chip resources from the host processor’s other responsibilities. All of the work of the touch interface can instead be distilled down to a simple interface between the touch MCU and the host processor. Usually this is a serial interface with at most two data lines describing touch events, and possibly an interrupt pin that goes active when a new touch event has been qualified. Development and debug by system engineers on the product can concentrate on the output generated on that serial interface. This abstraction of the touch interface also enables a system design team to develop multiple touch interface variants in the prototype stage, and because each variant would use the same serial interface, the cost of switching out variants for tests is minimal compared to the cost of switching a host processor or a host processor’s code base to examine performance differences between capacitive sensing solutions on the market.
Factors as wide-ranging as current consumption constraints, printed circuit board sizes, end product price targets and radiated noise all factor into system developers’ decisions on whether to lump multiple functions into a single system component or decentralize functionality across multiple components. Silicon Labs’ capacitive sensing MCU solutions make it easy to develop a discreet touch interface component on a board that is power-friendly, responsive, and reliable.