Take a quick look around, networking is everywhere " from the simplest
FPGA to the billion-gate SoC " almost every chip touts support for
Ethernet, WiFi, Bluetooth or some other form of network connection. As
you start building your next project, consider the potential of
leveraging the possibilities for the networking port. There is a whole
world of new networking protocols tailored specifically for embedded
devices. These protocols are part of a set of standards called
Universal Plug and Play (UPnP) that allow devices to be easily used by
consumers with virtually no setup or configuration.
As most people are familiar with the convenience of the web, the most
obvious decision might be to embed a webserver directly into the device
are great " they are widespread, well established and have solid
community support " but they are not designed to be embedded in devices
for the home. For example, without a personal DNS server setup in the
home, users would have to set up static IP addresses and type them by
hand into their browser in order to access the webserver. Traditional
webservers also don't facilitate device-to-device communication.
UPnP solves these problems and makes networking in embedded devices
particularly interesting and useful. The standard relies on a protocol
called Simple Service Discovery Protocol (SSDP) that allows new devices
to announce themselves on a network, or allows one device to search for
another. SSDP enables one device to always find the other on the
network regardless of their individual IP addresses. Once connected,
the devices can expose a number of predefined and standardized services
and "communicate" what functions they can perform over the network.
UPnP can also be embedded into a device using about the same amount of
resources as a TCP/IP stack, not requiring addition of another 8MB of
flash, memory to the design, or drain of processing cycles from the
CPU. This will save resources for those working on a limited budget.
Embedded UPnP Services
Aside from the ability to automatically discover devices, there is much
more that the UPnP standard can enable in a product. There are a number
of standardized services, called Device Control Protocols (DCPs) that
allow devices to do practically anything. Think of being able to store
data without having any local storage. Think of having a User Interface
(UI) without a local screen. Think of being able to share or playback
virtually any kind of audio visual (AV) content from any device.
Some specific examples of UPnP services that use DCPs include:
Media Server and Media Renderer: This client-server set of services
allows one device to store and serve AV content, and another to
automatically recognize and play back that content.
Internet Gateway Device: This permits any device on the network to
find the network gateway and automatically control firewall
functionality, such as port forwarding, which is very useful for
Printer: With WiFi and UPnP printer-enabled cameras and mobile
phones, you can print directly from your camera or mobile phone to the
Scheduled Recording: With this, any device can schedule a recording
on a DVR via the network.
Lighting and HVAC: This provides all the functionality of X10, but
over more modern networking connections and its easier to set up as
Remote UI: A UI can be sent from one device across the network to a
second device. The second device can then control the first device from
its own screen.
Currently the most popular type of UPnP service is the Internet Gateway
Device service, which is built into almost every modern Internet Router
and Wireless Access Point from companies such as Linksys, Netgear and
Some of the more glamorous and perhaps the fastest growing UPnP
services, are the Media Server and Media Renderer services, which serve
as the foundation for a new generation of devices, such as home Network
Attached Storage (NAS) and Digital Media Adapters (DMAs). Media servers
are the combination of a storage device and network connection,
allowing content to be saved, shared and played with VCR functionality.
A media renderer enables the receipt of content that has been pushed by
a controller device, which allow devices like the television to play
music from an mp3 player or movies from a laptop in a standard way,,
allowing the full glory of enjoying a complete media library whenever
and wherever a consumer chooses. Devices like the Xbox 360 and
Playstation are Digital Media Players (DMPs) that have UPnP built in,
which allow them to control other devices and directly request content
that to play back from a server.
All services are exposed by devices through XML service descriptions,
which reveal Simple Object Access Protocol (SOAP) application
programming interfaces (APIs) that other devices can call. This
provides an extremely simple interface for embedded devices to control
other devices " they can simply invoke a single SOAP action without any
complicated enumeration or identification procedures. This allows for
the most compact code and the easiest path to implementation and
integration into larger applications. More sophisticated devices can
even use UPnP's General Event Notification Architecture (GENA) to send
and receive asynchronous updates.
Offering a unique product that distinguishes itself from the
competition is especially critical in the consumer electronics business
and this is where UPnP really shines. UPnP is a standard that can be
easily extended, allowing for vendor-specific extensions at almost all
levels of specifications. To top it off, UPnP is an open and free
standard, allowing everyone to participate in the standardization
process. Your proprietary service today could be a standard for the
industry tomorrow, making it a very exciting time to be in the consumer
A Place Where Everybody
Knows Your Name: The UPnP Community
One of the most beneficial things about embedding UPnP into your device
is that you will be in great company, which is the point of using a
protocol like UPnP " having other devices that your system can talk to
and share information with.
Some of the software and devices that currently have UPnP built into
Windows Media Player 11
Xbox 360 and PlayStation 3
PCs and Laptops, such as Sony Vaio, NEC, Acer and others
TVs, such as the Samsung Series 7, Toshiba REGZA, Sony BRAVIA, Sharp
AQUOS, HP MediaSmart, and others from JVC, Philips, Hitachi and Pioneer
Routers, Home Gateways and Wireless Access Points, such as those from
Linksys, Netgear, D-Link and others
Sony CyberShot and Samsung TL34 cameras
Nokia N95, Samsung Omnia, and Sony Ericsson C905 cell phones
Many Blu-Ray players, such as those from Sony and Pioneer
To give you an idea of the pervasiveness of UPnP, ABI Research predicts
that by 2012 there will be an installed base of 1.8 billion UPnP
devices . Most of these devices implement the Media Server and/or Media
Renderer services, especially since they are part of the Digital Living
Network Alliance (DLNA) guidelines. The DLNA is a superset of UPnP that
specifies how UPnP interoperates with other technologies, such as media
formats and DRM protocols.
The DLNA, and in turn UPnP, has been adopted by standards such as
CableLabs OCAP (now called tru2way), DVB-HN and ARIB ISDB-T. In short,
you can expect to see UPnP in cable television set-top boxes (STBs)
around the world in the very near future. This allows for a great
touch-point for devices, since STBs are a familiar interface for
entertainment and can serve as an interface for virtually any type of
content. They also can make one of the most compelling types of
entertainment " such as television " available to any other device.
The DLNA is also in the process of expanding the reach of UPnP into
other standards and devices. The most recent release of the DLNA
Guidelines, Version 1.5, standardized how mobile devices and printers
can connect to networks and share content. In the future, expect to see
standards from the DLNA around sharing content with cars, as well as
providing enhanced television services such as sharing EPG metadata and
streaming TV tuners over the network.
Connected Devices by
All these device capabilities sound intuitive and exciting, but it is
important to understand that these standards are truly aiming to solve
real world problems for consumers. In an age where the average consumer
seems to buy a new digital device every week, it is becoming
increasingly difficult to manage all of these devices and the content
residing on them. Consumers are frustrated with having to keep track of
their digital media. Are the pictures from their vacation on the PC,
still on their camera, or did they already back them up to their
networked hard drive? Is that movie they downloaded still on the DVR or
did they copy it to their portable video player? In a digital world
users understandably feel like they shouldn't have to deal with these
frustrations " they should be able to access their digital content
anywhere, anytime and from any device.
As digital devices start to speak the same language, we can expect to
see devices increasingly live up to customer demands and push
frustrations to the side. The common language of UPnP and the
standardization of content protection schemes and media formats in DLNA
are facilitating the daunting process of a simple connection for all of
the devices in your home.
The Choice is Yours
With this perspective under your belt, reconsider that network
connection on your new SoC and bear in mind the possibilities of
emerging home networking standards. Whether you are building a digital
TV, an alarm system or an intelligent light switch, it is to your
advantage to be part of the home networking community. Not only will
you be able to go above and beyond your competition, but you will be
making your end user's life a little bit easier.
Adam Powers is Director of Standards and Emerging Technology for
Macrovision, and the Chair of the DLNA Ecosystem Committee. He can be
reached for question or comment at firstname.lastname@example.org.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.