Everything you want to know about embedded systems
When the Embedded Systems Conference was first proposed about 20 years ago, someone quipped that a more apt name would be the "Everything you ever wanted to know about embedded systems but were afraid to ask" Conference. While the story may be apocryphal, the overwhelming bounty of information and resources the name implies captures the essence of the upcoming Embedded Systems Conference at the McEnery Convention Center in San Jose, Calif., April 14 through 18.
And you need not be afraid to ask. Indeed, there are likely to be events, classes, and demos that you haven't even thought to ask about. The show will be bursting at the seams with exhibits, demonstrations, classes, and tutorials on every aspect of embedded systems design.
At the core of the show, spread over five days, are 180 or so papers and classes and 12 two-day tutorials on all of the key areas of interest to embedded systems developers:
• Architectures and low power.
• Analog design and data conversion.
• Digital signal processing and multimedia.
• Hardware design, including programmable logic.
• Linux and open-source software.
• Operating systems.
• Project management.
• Real-time design.
• Software design.
• Verification and debugging.
• Wired and wireless networking.
A wealth of other events will make the conference even more apt to satisfy your need-to-know appetite, including:
• Embedded Teardowns.
• Build Your Own Embedded System.
• Career Fair, Disruption Zone.
• MSP430 Day.
Wired and wireless sensor networks
One constellation of classes sure to spark interest is the topic of wired and wireless control-network design.
In "Working with USB/Ethernet Software for Distributed Sensor Networks (ESC-223)," Eric Gregori will go into detail in how to combine USB and Ethernet into an effective home networking scheme. Matt Maupin will provide an overview of Zigbee, WirelessHART, the SP100 network stack, and Freescale's Synkro Networking Protocol in "IEEE 802.15.4: Providing the Foundation for Wireless Sensing and Control (ESC-343)." In "Intelligent Sensor Signal Processing (ESC-523)," Priyabrata Sinha suggests that the move toward ubiquitously wired and wirelessly connected sensors will force embedded systems designers to put even more intelligence into the sensor nodes for evaluation and decision making rather than rely on a centralized approach.
Because sensor nodes are minimalist by nature, many of the resources available for such operations as debugging and updating become problematic due to the lack of MCU pins to do such tasks in the background. To overcome such problems, David Johnson, in "Zero Wire Debugging Using Inductive Technology (ESC-320)," describes how to use inductive coupling to create a debug interface that requires no extra debug pins and no extra circuitry on the application hardware side. See Figure 1.
Multicore hardware and software development
Among the several classes and tutorials on multicore hardware and software development, several presentations stand out. In "Architectural Design of Software for Multicore Systems (ESC-351)," David Kalinsky suggests that many of the design assumptions serving as the underpinning of multitasking software design for the past 20 to 30 years are no longer valid when designing software for multicore SOCs. He will explain which of the old assumptions are still valid, which have to be modified, and which need to be replaced.
The interconnect scheme the developer chooses is important in a multicore design. In "Interconnections for Multicore Systems (ESC-531)," Sanjay R. Deshpande will provide a detailed analysis of the various approaches, how to choose the right one for your design, and the tools and building blocks you will need to achieve your goals.
A crucial aspect of designing with multicores is the operating system. In his class on "Understanding Multicore Embedded Operating System Issues (ESC-432)," Michael Anderson will discuss what operating systems need to support multiple CPU cores, in terms of performance, power, interrupts, caching, and cache coherency.