For novel ideas about building embedded systems (both hardware and firmware), join the 27,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. It takes just a few seconds (just enter your email, which is shared with absolutely no one) to subscribe.
By Jack Ganssle
An Accumulation of Stuff
I have a very strange job, if one were to even try and glorify my efforts with that three letter word. My commute is ten feet across the hallway, or 30 miles to Baltimore Washington International. I work with people I never see. Susan Rambo, for instance, has edited this column for years yet we've only been in each other's presence four or five times. I have never been given a charter or objective for these articles so have no idea if the powers that be - whoever they are - are infuriated or pleased with them. But frequent readers realize that the subject matter is all over the map, from opinions to book reviews to educational pieces about embedded systems engineering.
It's rather unusual for me to write about products. Who wants to be a corporate shill parroting some press release? But the PR people don't seem to understand this, and they send a daily barrage of exciting news about new version 4.1.2.c of the latest widget (even fewer bugs than in 4.1.2.b!!!) or breathless releases covering Joe Crony's promotion to Executive Assistant Sub-Vice President. Most of it gets eTrashed, but occasionally something grabs my attention and gets set aside. Sometimes for years.
So here's a potpourri of product announcements, ideas and thoughts that have been piling up. I hope you find some of these as interesting as I do.
First there's news in the bearing industry. Yep, bearings, those metallic items that reduce rotational friction. A company called Synchrony (www.synchrony.com) has introduced bearings that hold the rotating shaft in position with a magnetic field, essentially eliminating friction and wear. That's not new; what struck me is that their Fusion line incorporates the required controller inside the bearing! Sensors digitize the shaft's position 15,000 times per second and feed that data into an on-board DSP. The processor drives a PWM whose output goes to two high-power amplifiers that control the magnetic field.
These are not your typical McMaster-Carr bearings; they're bulky, with the smallest being seven inches in diameter and 3.8 inches thick. Besides, one needs a bit of heft so there's room for the RJ-45 Ethernet connection, which lets engineers monitor the health of the bearing and understand loads imposed on it. Who would have dreamed of an Internet-enabled bearing?
The devices need only a 48 volt DC supply of power. They're promoted as being green due to the frictional power savings, but one wonders how much that is offset by the 48 volt supply.
The thought of putting embedded smarts into something as boring as a bearing is truly mind-bending.
Synchrony's Fusion smart bearings, with an embedded controller and Ethernet connection.
In unrelated news, Microchip introduced yet another in their dizzingly-diverse families of PIC microcontrollers this year. The PIC18 "K22" series are notable for their extremely low power consumption. The most miserly parts consume just 75 microamps per megahertz at 1.8 volts. (Note that power consumed in a digital circuit is proportional to V2F, where V is voltage and F frequency. So, though these parts will run at up to 5 volts, there's quite a hit on power consumption.) Sleep current is a miniscule 20 nanoamps, which is so low it's hard to measure.
The company claims a "typical" application can run for two decades on a couple of AAs. That's pretty close to the self discharge rate of alkalines which is generally quoted at around 2%/year at room temperature.
Or, one could slap one of these controllers into a system that uses energy harvesting to suck tiny amounts of power from the environment. Unfortunately many harvesting approaches get power at intermittent intervals so some sort of storage is needed. Ultracapacitors are popular, but they have a very high leakage rate. A CamelCase company with a name that screams for an acronym, InfinitePowerSolutions (www.infinitepowersolutions.com) has a line of tiny power sources designed just for that sort of application. Their INFINERGY Micro Power Module products have very low self-discharge rates and a claimed charge efficiency of 98%. The battery, charger and low dropout regulator are all housed in a postage stamp-sized SMT package that can be assembled onto a PCB via conventional pick and place equipment.
The Micro Power Module won't boot up an Atom processor, as it's rated for a peak of 30 mA with a capacity of only about one milliamp-hour. But soldered on to a board with a low power PIC and a solar cell or piezoelectric transducer and you'll have a self-powered embedded system. And that's pretty cool.
On another front, the folks at LDRA (www.ldra.com) gave me an in-depth demo of their products (and pizza) at the recent Boston ESC. I've been following LDRA for some time, both because of their interesting products and since they have some really smart people. I find it hard to describe the Tool Suite as it's comprised of a great number of individual components that can work together or alone (and they can be purchased individually). Their web site only hints at the products' capabilities. But these are software tools that, together, manage pretty much the entire development lifecycle. For instance, components can do both static and dynamic analysis of your code. The former includes checks against software standards (e.g., MISRA and many others) as well as the deeper analysis of how the program will actually work: ranges of variable values, detecting unreachable code, and much more. In dynamic analysis the tool instruments your code to gather runtime information. Unit testing tools will build test harnesses with little user involvement. Couple these together and the tools identify those hard-to-find testing gaps.
Other LDRA tools manage requirements, a subject that induces narcolepsy in some developers, but which is becoming much more important. Changing rules at the FDA and certification requirements for avionics mean fewer of us can duck the thorny issues of, say, requirements traceability. As this industry matures we will have to get more disciplined at all aspects of building and maintaining our code bases, and these sorts of tools greatly ease the process.
But in my travels I see few companies that use these sorts of tools, despite a barrage of PR about them. Do you? Why or why not?
VDC is running a survey about lifecycle management tools that will shed some interesting light on our practices in the embedded space. Check it out here: http://bit.ly/bnsdiR .
How reliable are DRAMs? In the olden days we assumed not-very and always had at the very least a parity bit associated with each word, if not full ECC. And utterly fascinating - and horrifying - study by a trio of researchers who ruined my day suggests that DRAMs errors are "orders of magnitude higher than previously reported." The paper DRAM Errors in the Wild: A Large-Scale Field Study (by Bianca Schroeder, Eduardo Pinheiro, and Wolf-Dietrich Weber) is available at http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf and is a must-read.
Errors be single-shot events like a bit corrupted by a cosmic ray or an all-out hardware failure. The authors studied Google's vast array of servers over a couple of years, and conclude that error rates are 25,000 to 70,000 per Mbit per billion device hours. Over 8% of the DIMMs they studied were effected by correctable errors; a typical DIMM has about 4000 correctable errors per year. The error rate varies considerably by the hardware platform, leading the authors to think that some have better designs than others. They also conclude that soft errors - like those from cosmic rays - are unlikely to be more common than hard errors.
The numbers are scary and lead to many unanswered questions, like, does Google buy cheap chips? But my key takeaway is that we need mitigation strategies. Even if you could build a provably correct chunk of firmware, a watchdog timer is still needed to deal with these sorts of problems. High-rel systems probably need serious ECC. It's wise to seed code with assertions that are active at runtime and that take remedial action.
The study shows that the fundamental rule of computer program is more important than ever: expect the unexpected.
Finally, I have to make a few comments about this year's non-embedded rage product, Apple's iPad. It's simply breathtaking. The display is so crisp and clean it's hard to imagine how the inevitable version two will improve on it.
The iPad is, in my view, primarily an internet appliance, though some people are successfully using it as a laptop replacement. As such I'd be reluctant to get one without the 3G option, despite the $30/month charge from AT&T. Between the office Internet connection, the phones' data plans, and now that of the iPad, the monthly charges really mount up. But we often use ours in the car (the passenger only, always) for navigation and for general Internet access. It's astonishing how often we'll turn to it to look up something on a billboard or roadside sign. At a museum we'll Wikipedia some aspect of a display to get more insight than that provided by the little display card. In a restaurant we'll go to the `net to augment a discussion.
Smartphones do pretty much everything the iPad does. As an iPhone user, I find the iPad to be a giant iPhone without the phone (and without the cameras). But it's so much faster for surfing, with a much better screen, that it's a go-to tool when it's around.
And that's the rub. It satisfies an odd niche - somewhere between a smartphone and a laptop. Its size is one of its best features, but that size is too big for a pocket. I don't care to wander around clutching anything, other than my wife. On a business trip it would be nice as a book reader, but the 3G versions are a bit expensive for that. Marybeth packs it in her purse most of the time, but for us guys, unless we're decked out with a man-purse, that's not an option.
A friend brought his on a vacation to Europe and was able to support his customers without a laptop. There are pretty decent Office-like apps for it as well as SSH clients. The keyboard works extremely well, except accessing non-alpha keys requires an extra keystroke, as on the iPhone. I doubt that it would support any real development environment, though, and for real work I prefer a big screen or three.
But it does fill a useful niche. And did I mention the thing is just breathtaking?
Published October 5, 2010