Internet of Things [2/5]: Embedded Devices


So what are the things in the Internet
of Things? At Micrium, we define a thing as an embedded device that transmits and
receives information over a network. So what’s an embedded device? Embedded
devices are based on microcontrollers and run software on devices with
constrained resources.Some linux and android based systems can also be
described as embedded systems but these operating systems usually require an
application processor and have additional capabilities such as dynamic
application loading this is why macro controller-based embedded systems are
often described as deeply embedded systems for us at Miriam these deeply
embedded systems make up the bulk of the things in the Internet of Things
embedded devices often use 16-bit or even 8-bit microcontrollers the chips
that feature 32 bit architectures have dropped in price over the last several
years and are becoming more common in embedded systems the greater
capabilities of 32-bit chips are presenting new choices for embedded
developers and because it allows for more flexible and extensible software to
run on these systems a real-time operating system is now the preferred
option a complete our toss with a colonel user interface file system USB
support networking and more can fit in a memory space of less than one megabyte
within our toss the software architecture of an embedded system can
be more flexible troubleshooting and adding new features becomes dramatically
simplified it is also simpler to perform firmware upgrades in short it just makes
sense to use in our toss with a 32-bit processor so which processor
architecture should you choose to date the two main contenders our Intel and
arm intel has positioned its atom processor
as an embedded cpu targeted at the industrial Internet the new Intel court
on the other hand is aimed squarely at deeply embedded systems by comparison
arms family of processors include a wide range of 32-bit designs these are
license to a large number of suppliers and arms is lines are among the best low-power
architectures now it’s commonly believed that IOT hardware should always be
low-cost so that we can flood the planet with IOT devices some people forecast at
IP address for every light bulb but in fact low-cost is not always the best
solution for every application especially when IP networking is
concerned first off a tcp/ip networking stack is
not a small piece of code of course you can find open-source tcp/ip stacks that
fit within 32 kilobytes of code space but usually this is achieved by taking
liberties with the standards this can cause problems because you may need a
device that can operate on the vast majority of IP networks second tcp needs
a fair number of network buffers to work efficiently which requires precious ram
and if you need to use Java the IOT device will certainly require a narc
taught us to run the Java Virtual Machine all of these elements work
against the choice of a low-cost architecture for IOT device so which MCU
makes a good starting point for an ARM processor in the IOT device the cortex
m0 is perfect for gateways the arm cortex m3 m4 or cortex a are all good
choices because of their greater processing capabilities if you’re
considering an ARM processor a good option for the IOT devices the
Renaissance RL 78 or rx100 series and for the Gateway the Renesys rs600 or r z
series either way new processors are appearing on the market all the time
with more flash memory more ram and always at a lower price the programming
languages used am deeply embedded systems include c c++ and sometimes java
so your choice is not going to be between C or Java but whether you will
you c and java java is attractive for embedded devices because of the enormous
number of java programmers in the world still the resource requirements for a
Java Virtual Machine are not negligible Oracle’s Java ME embedded is designed
for small devices and oracle record ends up to seven hundred kilobytes of
RAM and up to two megabytes of flash memory in the device for java alone plus
support for a network connection these numbers don’t mean McCrea the definition
of a deeply embedded device and when you factor in the embedded colonel and the
communication stack it pushes the total into megabytes of rama ram clearly javas
role and IOT devices will be limited to more capable and expensive systems when
cost is not an issue you can pick a single powerful processor to run all the
tasks required of your device however a common engineering compromise is to use
two processors in the device 1 low-cost processor is used in the physical world
interface like a sensor this would be an 8 or 16 bit chip and a second 32 bit
processor runs the network interface this second processor is often placed in
a separate module one that can be certified separately for standards
compliance and that module can be used in multiple products when two processors
are used a realtime kernel is not strictly required for the sensor
actuator however on our toss is strongly recommended for the communication module
so in our next video we’ll look at how your device will connect to the internet yeah

3 Comments

Add a Comment

Your email address will not be published. Required fields are marked *