Embedded systems are getting all touchy-feely. The iPhone ushered in the era of touch-sensitive user interfaces, and now everybody wants one. Nintendo’s Wii introduced most of us to MEMS accelerometers that can tell whether you’re holding it sideways or upside-down or swinging it around. Jogging shoes come with sensors that measure the length of your stride and count the number of steps you’ve taken, even calculating calories burned on the way to the next Starbucks.
None of this is new, really. Embedded systems have always been all about sensing and measuring the outside world. By some definitions, “embedded system” means a box that detects and reacts to external sensors. We hook up sensors, we write code, and we activate outputs. Input / processing / output. That’s what we do.
Well, get ready to make it more interesting. Freescale is rolling out a new line of “smart” sensor chips that do more than just measure and report raw data. They take care of that “processing” part, too. The company has taken run-of-the-mill sensors and combined them with a ColdFire processor, an I2C interface, and some memory. The result is a one-chip sensor subsystem that detects stuff, filters and massages the data, acts on it, and delivers the predigested result to a host processor elsewhere in your system.
It’s a pretty fun idea, especially if you’ve got a lot of sensors in your system and a single processor polling them all. Instead of reading raw data directly from each sensor, you could program the sensors themselves to handle some of the work and interrupt the main processor only when something interesting happens.
For example, Freescale’s first chip in this new family is the MMA9550L, which comes with an X/Y/Z accelerometer. In other words, it’s like the tilt sensor in your iPhone. This chip can, all by itself, tell whether it’s being held right-side-up or not, if it’s being shaken, if you’ve “flicked” the device like the motion of casting a fishing line, if you’ve tapped on it (and how many times), or even if you’ve dropped it and it’s now tumbling toward the sidewalk. All of these motions are detected, filtered, and classified on-chip, so the main processor never has to know how it’s done. All it needs is an interrupt (or a stream of update data; your choice) that says, “It’s time to park the hard drive before we hit the pavement.”
Future chips in the series will come with temperature sensors, gyroscopes, soft- and hard-iron magnetic sensors, touch-screen sensors, and more. They’ll all have the same ColdFire CPU and nonvolatile memory for your code, so they’ll all be software-compatible with one another.
But what if you don’t know how to program a sensor to filter accelerometer data? No problem there, since Freescale is giving that software away. Depending on the type of sensor chip, they’ll provide low- and high-pass filtering algorithms, gesture-detection code, tilt-angle translation, and other low-level code that makes the sensors less of a burden to program. Any code you add to the chip should be value-added stuff, not basic make-it-work stuff. Entrepreneurial programmers can even write their own code and sell it to Freescale’s customers. The company is happy to allow third parties to use its chips as a platform.
If your system has a lot of sensors, it might not make sense for all of them to be smart ones like the 9550L. Dumb sensors have their place, too. As long as the sensor has an I2C or SPI interface, it’ll plug into the back of the 9550L, which then acts as a controller for the downstream sensor. Up to 12 external sensors can be connected this way, with one smart sensor chip managing all the dumb ones as well as its own on-chip sensor. Or you can go the other way, daisy-chaining smart sensor chips together, each with its own ColdFire CPU and on-chip sensor component.
The only odd thing about the 9550L and its future siblings is their power supply voltage. They’re designed to run on 1.71 to 1.89 V, which seems a bit low for normal digital components. Freescale says it picked this voltage because that’s what a lot of cell phone components want, and cell phones are definitely a market Freescale wants to attract with these chips. For the rest of us used to 3.3V or even 5V supplies, we’ll have to convert the DC supply to make the chips happy.
By the way, Freescale’s new brand name for these sensor chips is Xtrinsic. (Evidently all the good names were already taken.) The first chip in the family, the 9550L, is due to begin sampling in about three months, with production early next year. Although there will be future Xtrinsic chips coming soon with different kinds of built-in sensors, Freescale isn’t saying what they’ll be or when they’ll be available. But until then you can dream up new uses for that freefall-detection function.