Collecting sensor data is relatively straightforward; analyzing the data and using it in sophisticated consumer or medical applications is not. This article examines some of the challenges that arise when you introduce a simple sensor into a complex system.
The ability to accurately track motion using sensors based on MEMS (microelectromechanical systems) technology has completely transformed the health and fitness markets. MEMS technology is a natural fit for monitoring fitness as it can be embedded in shoes and clothing to track performance. What has caught many companies by surprise, however, is the number of niche applications in which MEMS technology can bring significant and unique value. For example, MEMS can be used to detect if an elderly person at home alone has fallen and can't get up or has stopped moving altogether. In both cases, a personal monitor can call for assistance over an RF link.
MEMS sensor technology is also quickly becoming an expected feature in portable and handheld consumer electronics devices, given the number of ways it can enhance usability. For example, the ability to sense tilt, rotation, and gestures is becoming a standard feature of gaming peripherals. Portable devices are using MEMS to determine in which direction to display text and images so that users can view them from the right angle. Advanced features such as dead reckoning can be used to provide local GPS functionality.
Historically, MEMS devices have been quite expensive. However, higher sales volumes continue to drive down cost, making them viable within even lower-cost systems. As a result, MEMS technology is being introduced for use in a wide variety of personal electronics applications, including medical monitors, training equipment, and PDAs/handsets.
One of the barriers to the rapid adoption of a technology is the ease with which developers can evaluate and design with the components based on that technology. Technologies that are difficult to work with, either because they only are available in a surface-mounted package or do not have available drivers or software, are less likely to be considered for serious evaluation. On the whole, MEMS devices are simple sensors. They come in small, standard packages, which make them easy to work with, and they are available with analog or digital interfaces. As the digital interfaces are typically I²C or SPI, any MCU can interface to them.
The primary challenges engineers face when designing with MEMS is not being able to integrate the sensor into a system or collect data. The first challenge is dealing with the potential software complexity associated with analyzing captured data. The second is correlating MEMS data with data from other sensors in the system. The third is being able to evaluate and develop MEMS technology under real-world operating conditions.Multifaceted software challenges
Collecting positioning data — even in three dimensions — is a straightforward process. Using this data to track the motion of a user's arm or to simulate a localized GPS function using dead reckoning, however, requires some extraordinary engineering.
Both MEMS and MCU manufacturers understand the importance of providing software to accelerate design. Given that MEMS are, in essence, basic sensors, the low-level software required to access them is fairly simple. In fact, many MCU vendors provide libraries that can connect to a MEMS device and abstract operation through an API that provides logical access to sensor data without requiring system developers to have to delve into the hardware implementation details of the sensor.
This level of software support, however, is too low level for many applications since accessing MEMS data still requires a direct connection to the sensor. Open systems such as an Android-based phone really need OS-level drivers to proliferate use. The problem that arises is that various handsets may use a different sensor or implement it in a specific way that affects operation. The situation resembles one that plagued peripheral vendors in the early days of the PC where a driver might work on some systems but not others.
The final level of software support required to make MEMS truly a commodity technology is the availability of algorithmic software. Consider how access to device orientation has become a standard feature in portable device applications. Any application can take advantage of the reformatting of the display between landscape and portrait mode when the device is turned on its side. As functions such as localized positioning and motion recognition become standard features, more systems will be able to utilize these features to create wholly new applications. For example, a device could detect whether or not it is falling and protect against data corruption by suspending write functions in case of impact.
MCU vendors are recognizing that supporting MEMS is becoming increasingly important and that offering sensor drivers is as much a requirement as providing drivers for other peripherals. Some companies are already working on OS-level drivers. Texas Instruments, for example, already has some OS-level drivers for its OMAP and DaVinci architectures and anticipates bringing these drivers down to MCUs like the CC430 within one year. These drivers will support sensor interfacing and processing on a logical level so that the same application code and libraries can operate with different sensors. In addition, with an OS-level driver, any application running on the system could easily access the sensor just like any other system-managed resource.
Algorithmic software is also becoming a key focus. The more advanced algorithmic functions an MCU or MPU supports, the more value it brings to the system. Many of these algorithms, however, are non-trivial. Plotting x, y, z data is fairly simple (see Figure 1). Tracking position or speed is an order of higher complexity. Accurately recognizing even simple gestures is even more difficult.
The path for algorithmic software will likely follow the same path as video processing has taken over the years. Early on, processors could support video but developers had to write much of their own code. Third-party vendors began to offer specialized functions to accelerate design, and eventually these algorithms became part of the standard processor library. Today, developers have access to highly advanced video analytics such as object recognition and tracking.
Figure 1: The core data from a 3-D accelerator is x, y, z positioning data that is used to calculate more complex factors such as user speed or gestures.
MEMS technology is currently at the stage of providing engineers with the base tools to develop their own algorithms (see Figure 2). As market demand for advanced features continues to grow, these features will become available off-the-shelf. Today, however, developers will need to develop their own IP.
Figure 2: Texas Instruments' Chronos development software.
One development resource worth looking at when evaluating a MEMS device, or an MCU to be used to monitor and control MEMS devices, is a vendor's online forum. Silicon vendors want to ensure that software for new technologies is available quickly, so often they will support open development models and technology-specific wikis where developers can upload and download projects, ask questions, and share lessons learned to accelerate the design process. It is possible to estimate the availability levels of technology, support, and software Figure 1: The core data from a 3-D accelerator is x, y, and z positioning data that is used to calculate more complex factors such as user speed or gestures. Figure 2: Texas Instruments' Chronos development software of a particular vendor by scanning recent postings in such a forum. These postings will also alert developers to potential strengths and weaknesses of the vendor's hardware and software offerings, based on the types of problems and questions customers are sharing.Not the only sensor in the system
When introducing MEMS technology to an application, it is important to recognize that the MEMS device is probably not the only sensor in the system. Handsets, for example, are highly integrated systems where MEMS are just one of many types of useful sensors — including temperature, gyroscope, compass, proximity, light, and GPS sensors — that need to be managed as efficiently as possible. In addition, these systems also utilize a variety of peripherals, including I/O buttons, capacitive sliders, touchscreens, and three or four RF radios.
Managing sensors and peripherals using the main application processor is likely to be extremely inefficient, especially when monitoring requires constantly waking a power-hungry processor from sleep mode. Each of these sensors and peripherals also requires its own I/O, and the aggregate I/O demand can put a strain on available processor resources. Part of the high cost of implementing MEMS in high-end systems has been the capacity required to analyze sensor data. While a Pentium-class processor or DSP can provide the raw horsepower to analyze MEMS data in real-time, these types of devices consume too much power to be feasible in handheld systems.
A more efficient approach, especially for handheld and portable applications where battery life is critical, is to introduce a second, low-power MCU to serve as a sensor/peripheral hub. Because many of the algorithms for processing MEMS data are complicated, the primary purpose of this MCU is to collect and buffer data for periodic uploading by the main processor. This allows the main processor to stay in low-power modes longer, resulting in a longer battery life.
For example, consider an application like a pedometer with a relatively low sample rate. Implemented as a standalone device, a simple MCU can be used to collect data for later uploading to a PC where it is processed and the user can view statistics such as how many steps were taken or how many calories were burned during the day. Implemented on a device like a cell phone, the MCU sensor hub collects data until the handset wakes for another task (i.e., an incoming call or the user pressing a key). It can then transfer the data to the main CPU for analysis.
Depending upon the system architecture, the MCU serving as the sensor is likely the same device that is monitoring the UI, communication interfaces, and radios. This results in an even more integrated, cost-effective, and power-efficient system.Evaluating MEMS technology
Evaluating the effectiveness of MEMS technology can be quite challenging, especially for personal electronics applications where the form factor of the final application plays a significant role in the performance, accuracy, and complexity of the implementation. For example, a device to be embedded in shoes needs to be small and robust enough to handle impact. A bulky development board that needs to be plugged into a wall is not only fragile and awkward to use, it is unlikely to provide data that is reliable enough data to evaluate how a sensor and an MCU will operate under real-world operating conditions. To complete an evaluation with sufficient confidence, developers need to build a prototype or have an evaluation system that more closely reflects the final application form factor.
Texas Instruments, for example, offers its Chronos development system for engineers evaluating MEMS technology. Based on a wireless, sub-1 GHz CC430F6137, the kit includes a three-axis accelerometer, a pressure/altitude sensor, and a temperature sensor (see Figure 3). A USB dongle allows the watch to communicate via RF to a PC or other device. Also included is an emulator for programming and troubleshooting. What makes Chronos unique, however, is its form factor: the development kit is a watch (see Figure 4).
Figure 3: CC430F6137 block diagram.
Figure 4: Texas Instruments' Chronos development kit.
The availability of the watch form factor has a significant impact on design evaluation and development. Having the form factor of a self-contained watch with an RF link makes the kit small and robust enough to be used in almost any application. The watch itself displays current x, y, and z data and transfers captured data to a PC for real-time processing. In addition, the kit costs significantly less than building even a simple prototype. Developers not only save the time required to design and populate their own board, they have easy access to as many prototypes as they need, rather than just one or two.
The form factor of a watch also facilitates the design of numerous motion-based applications. For example, MEMS allows the extension of the idea of gesture-based interfaces by recognizing motions such as a twisting hand or snapping fingers. Once these motions can be recognized, they can be associated with a specification.
The kit's simplicity lowers the barrier to entry by enabling engineers to experiment with MEMS technology with little upfront investment of design resources. Rather than having to read about MEMS and determine whether it is worth risking a week of research and design to evaluate the technology's appropriateness for an application, developers can make such a determination in a matter of hours.
The Chronos development kit has been well received, and its success is likely to ripple into larger changes across the electronics industry. Silicon vendors already accept that software is an essential element of any hardware platform. The form factor of a development kit will also clearly impact an engineer's choice when the kit accelerates development by reflecting the real-world constraints and requirements of the application.
MEMS technology is changing the way we interact with our devices. However, it is important to remember that while MEMS is a core technology for enabling more intuitive interfaces, it is only one of many components that contribute to a system's usability. For example, just knowing acceleration is not enough to determine position; a reference point is also required. When implemented with complementary technologies, rather advanced functions can be achieved. For example, a MEMS device has difficulty determining which way is up when used on its own. When coupled with a gyroscope, the system can detect position and rotation. Used in conjunction with a compass, localized GPS through dead reckoning becomes possible.
The total number of sensors in a system drives the capabilities of the system, and the amount of data we can collect about ourselves and our environment is growing at an incredible rate. However, correlating multiple sensors is still beyond the capabilities of current application libraries. This is a key area of growth for MEMS. For the time being, such capabilities require significant engineering design and will be used by manufacturers to differentiate their products. In time, these features will become a core part of every MEMS offering.
Through increased accessibility, what has traditionally been a high-end technology is quickly evolving into components for many consumer and personal electronics applications. Already, key differentiating features have been captured in software, providing incredible flexibility and versatility. Coupled with the design resources available for MEMS technology — including development tools, application software, and evaluation kits based on real-world form factors — silicon vendors are successfully bridging the gap between MEMS and low-cost applications.