Fundamentally, microcontrollers can be described as logical processing units closely coupled to increasingly sophisticated peripherals. By coupling this digital domain to the real world, the capabilities and performance of the peripherals are a defining parameter in microcontroller functionality.
In recent times, the focus may have shifted towards the MCU core, but the application still largely defines the peripheral set required. As MCUs continue to drive down the cost of processing power, more diverse and application-specific peripherals have emerged, augmenting general purpose I/O (GPIO) with dedicated interfaces.
In its simplest form, a dedicated interface may be nothing more than comparator, as opposed to an ADC, but increasingly the peripherals in question combine both excitation (a voltage or current source) and measurement (such as an ADC/DAC or current-sensing input). Whether GPIOs should be replaced by application-specific interfaces is now often a matter of the size of the potential market and the cost savings that may result in high volumes. One such application space is touch sensor interfaces.
Demand for low-cost touch interfaces is growing, as the ability to add interactivity not only provides greater control in a range of devices, but is also increasingly expected.
Historically, the most prevalent form of touch sensing has been resistive-based, where the sensing surface may overlay a screen or printed panel. The benefits of this approach are its simplicity and low cost; requiring few resources, it also has a relatively low-processing overhead, but may also be implemented using dedicated function blocks.
Typically, a resistive-screen interface operates by detecting small resistive changes across a planar surface formed by two conductive materials separated by an insulator. When pressure is applied to one surface, the resistance measured reduces. However, the key to this technology is in detecting where on the surface the pressure is applied in X and Y coordinates, which is ultimately dictated by the resolution. The smallest detectable location of an analog-resistive interface would typically be defined by the size of the surface, the absolute excursions of the resistance measurable, and the resolution of the ADC used to measure the resistance, and translate into a digital value.
Applying pressure to a specific point on the surface effectively creates a voltage divider that can be measured in the X and Y axes, and thereby pinpoint a single point of ‘contact’. However, the limitation of this approach is that it typically only allows one point of contact to be measured at any one time. With growing appreciation of the benefits of multi-touch sensing, resistive interfaces have fallen from favor, but there remains a place for this technology as it continues to provide some benefits in terms of operation in harsh environments or hazardous areas.
The alternative is, of course, capacitive-touch sensing, which fundamentally requires no contact but a close proximity to a conductive body, normally a finger. As with resistive sensing, this technology depends on two conductors separated by an insulator, however in this scenario, the insulator is free air and the second conductor is a person’s finger.
Removing the need for pressure but replacing it with proximity has one significant drawback over resistive technology, the ability to operate the interface with any hard object. Instead, while theoretically any conductive object may be used instead of any solid object, it does impose limitations in operation. Most notably, a capacitive touch screen is difficult to operate when wearing gloves, while a resistive interface can easily be operated.
In addition, capacitive touch sensing depends on measuring incredibly small fluctuations in capacitance, as opposed to relatively large and easily detected changes in resistance. This alone demands more sophisticated (and therefore potentially more expensive) solutions, but the software running on the MCU’s core can often absorb this complexity.
Another major benefit of capacitive sensing is the primary conductor can be easily constructed from nothing more complex or expensive than a regular PCB track, allowing for a range of shapes and sizes to be accommodated.
Choosing the right solution for any given application, therefore, is not as simple as opting for the most flexible or sophisticated, (such as capacitive sensing). The most appropriate technology may be the simplest, so all options deserve close evaluation.
The demand for touch-sensitive interfaces has led to the development of a range of dedicated devices, typically targeting the arguably more complex technology, capacitive sensing. An example is Atmel’s QTouch family of dedicated devices, which includes the QT1481. This device is intended to support a matrix layout and integrates all of the signal processing needed to deliver stable sensing in most conditions, even when using single-sided PCBs. This relatively small device (44 pins), can accommodate up to 48 keys of various shapes and sizes. It employs Atmel’s ‘QT’ technology, which uses a technique called transverse charge-transfer. This functions by detecting changes in an electrical charge that is forced across two electrodes using a pulse edge. As this technique can be emulated using GPIO, it is possible to implement it using Atmel’s QTouch software library in many of the company’s MCU devices including the UC3A and UC3B families.
As mentioned earlier, capacitive sensing is not always the most appropriate solution, and for many applications, simple resistive touch sensing may still be the most suitable technology. Solutions still exist to meet this need while offering some unique features. A good example is the EP9315 family of MCUs from Cirrus Logic, which integrates support for resistive touch interfaces.
This established family is based on the ARM920T core, which is able to support Linux and Windows CE operating systems, while some variants in the family feature a math co-processor and a graphics accelerator — features that put it in the same class as the latest MCUs based on ARM®’s now ubiquitous Cortex™ family of processor cores.
The device employs a hardware-based analog resistive touchscreen controller engine, which controls sampling, averaging, range checking, and scan modes. While the engine performs all the necessary features for a standard interface, it is also possible to bypass the engine and use the ARM core to implement more sophisticated scanning algorithms.
While resistive touch sensing still has a role in many applications, it is the flexibility and functionality afforded by multi-touch capacitive sensing that many developers are looking to implement.
As well as being able to integrate multi-touch sensing into a display, capacitive sensing is also able to add user controls to many non-transmissive surfaces, allowing controls to be implemented into glass, ceramic, or plastic panels that have been over-printed to provide legends and instruction. Meaning almost any surface can be turned into a durable interface for use in consumer and industrial applications.
The hardware and software approach to implementing capacitive sensing can vary between manufacturers, but typically will employ an oscillator, as Microchip’s mTouch technology has implemented in its PIC16F family.
The capacitive sensing oscillator produces a triangle waveform, which alternately sources or sinks current. The frequency change caused by a capacitive fluctuation is detected in software, based on two timers, which are also under the oscillator’s control. As a capacitive load is introduced, for example, a finger, the frequency of the capacitive sensing oscillator decreases. The addition of an analog multiplexer means the hardware can support up to twelve individual capacitive inputs.
Figure 1: Microchip’s capacitive touch sensing technology in the PIC16F family.
Microchip has recently developed a standalone device that uses a more sophisticated form of projected capacitive sensing to recognize gestures in three dimensions, at a distance of up to 15 cm from the electrode (PCB track). This is expected to create a host of new applications that can potentially make use of more natural gestures to control devices and equipment.
As the role of MCUs continues to be redefined, so too does their definition, and a good example is the PSoC family of programmable system-on-chip devices from Cypress Semiconductor. There are three main variants within this range, differentiated predominantly by the processing core employed. In the PSoC1 family, the core is the 8-bit M8C core; in the PSoC3 family, the core used is an 8-bit 8051; and in the PSoC5, the core is the 32-bit ARM Cortex-M3.
In each case, the core is augmented by configurable hardware architecture capable of implementing software-defined peripherals using both analog and digital blocks. This flexibility allows for a great deal of configurability, controlled predominantly by Cypress Semiconductor’s integrated development environment (IDE) ‘PSoC Creator’.
Through this IDE, the capacitive sensing functionality is easily configured and optimized, and when used in conjunction with the software library, can be used to implement application-specific touch-sensing solutions.
Figure 2: The PSoC3 and 5 families are configured using Cypress Semiconductor’s PSoC Creator IDE.
Touch sensing in general, as well as capacitive sensing, can now be considered endemic, and while it can be implemented in many MCUs using relatively generic hardware features and largely concise software algorithms, manufacturers will continue to develop ways to differentiate their solutions.
Silicon Labs sees this application area important enough to develop specific solutions, like the C8051F family. This family is described by Silicon Labs as Capacitive Touch Sense MCUs; they are based on a high-performance 8051 core but specifically target touch sensing applications. This is apparent by the feature set, which includes a 16-bit successive approximation converter capable of running autonomously to the CPU.
The latest addition to this range of MCUs from Silicon Labs is the Precision32 family, which is based on ARM’s Cortex-M3 core, exemplified by the SiM3 family. This provides greater processing performance and features Silicon Labs’ ‘Capacitance to Digital’ conversion technology.
In both families, the conversion process can be initiated by a number of sources, both internal and external, and can support up to sixteen channels. In the SiM3C1xx, devices there are four modes of operation available, single conversion, single scan, continuous single conversion, and continuous scan. An auto-accumulate mode takes the average of multiple samples.
Figure 3: The Precision32 family from Silicon Labs combines an ARM Cortex-M3 core with touch-sensing hardware.
User interfaces continue to evolve, and even though the simple single-pole-double-throw switch may remain the simplest to implement, the inherent flexibility of MCUs means as they evolve, so will the sophistication of our user interfaces.
Today, capacitance touch-sensing is displacing resistive in many applications, but both have their place and will continue to be designed-in where appropriate. Future technologies promise even more accuracy in touch sensing, which will further propel this fundamental yet enabling technology into more diverse applications.