EMB and IOT FINAL
EMB and IOT FINAL
EMBEDDED CONTROL SYSTEMS AND INTERNET L T P C System microprocessors and 8 or 16 bit microcontrollers, following the first generation
ROHINI COLLEGE OF ENGINEERING AND TECHNOLOGY OF THINGS (IoT) EMBEDDED SYSTEM VS GENERAL COMPUTER SYSTEMS embedded systems. The instruction set for the second generation
3 0 0 3 A system which is a combination of a A system which is a combination Of special
• The computing revolution began with the general purpose computing generic hardware and a General Purpose purpose hardware and embedded OS for processors/controllers were much more complex and powerful than the first
requirements. Later it was realized that the general computing requirements are Operating System for executing a variety of executing a specific set of applications generation processors/controllers. Some of the second generation embedded
COURSE OBJECTIVES:
not sufficient for the embedded computing requirements. The embedded applications systems contained embedded operating systems for their operation. Data
Department of Electronics and Communication Engineering • To expose the students about the fundamentals of Embedded System. Acquisition Systems, SCADA systems, etc. are examples of second generation
computing requirements demand 'something special’ if the terms of response to
• To educate about Firmware design and development. Contains a General Purpose Operating may or may not contain the operating embedded systems.
stimuli, meeting the computational deadlines, power efficiency, limited memory
• To discuss on aspects required in embedded system design techniques. System (GPOS) system for functioning
availability, etc. Let's take the case of your personal computer, which may be either • Third Generation: With advances in processor technology, embedded system
• To understand the fundamentals of Internet of Things.
a desktop PC or a laptop PC or a palmtop PC. developers started making use of powerful 32bit processors and 16bit
• To build a small low cost embedded system using Arduino / Raspberry Pi or
equivalent boards and to apply the concept of Internet of Things in the real • It is built around a general purpose processor like an Intel@ Centrino or a microcontrollers for their design. A new concept of application and domain specific
world scenario. Duo/Quad core or an AMD TurionTM processor and is designed to support a set of CLASSIFICATION OF EMBEDDED SYSTEM processor controllers like Digital Signal Processors (DSP) and Application Specific
multiple peripherals like multiple USB 2.0 ports, Wi-Fi, Ethernet, video port, IEEEI Integrated Circuits (ASICs) came into the picture. The instruction set of processors
• It is possible to have a multitude of classifications for embedded systems, became more complex and powerful and the concept of instruction pipelining also
Embedded System Vs General Computing System - Classification of Embedded 394, SD/CF/MMC external interfaces, Bluetooth, etc and with additional interfaces based Go different criteria. Some of the criteria used in the classification of evolved. The processor market was flooded with different types of processors from
System, Purpose of Embedded system, Quality Attributes of Embedded System - like a CD read/writer, on-board Hard Disk Drive (HDD), gigabytes of RAM, etc. embedded systems are: different vendors. Processors like Intel Pentium, Motorola 68K, etc. gained
Typical Embedded System- Core of Embedded System, Memory, Sensors and
Actuators, Communication Interface- Onboard communication interface, External • You can load any supported operating system (like Windows@ XP (Vista/7, or Red 1. Based on generation attention in high performance embedded requirements. Dedicated embedded real
VALUE ADDED COURSE ON EMBEDDED SYSTEMS AND INTERNET communication interface. Hat Linux/ Ubuntu Linux, UNIX etc) into the hard disk of your PC. You can write or time and general purpose operating systems entered into the embedded market.
purchase a multitude of applications for your PC and can use your PC for running 2. Complexity and performance requirements
Embedded systems spread its ground to areas like robotics, media, industrial
OF THINGS (IoT) Embedded Firmware Design Approaches- Embedded Firmware Development a large number of applications (like printing your dear's photo using a printer device 3. Based on deterministic behavior process control, networking, etc.
Languages - Embedded System Development Environment - IDE, Compiler, Linker connected to the PC and printer software, creating a document using Microsoft @
4. Based on triggering. • Fourth Generation: The advent of System on Chips (SOC), reconfigurable
- Types of File Generated on Cross Compilation-Simulator, Emulator and Office Word tool, etc.) Now let us think about the DVD player you use for playing
Debugging- Fundamental issues in Hardware Software Co-design- Integration and DVD movies. • The classification based on deterministic system behavior is applicable for 'Real processors and multi core processors are bringing high performance, tight
Testing of Embedded Hardware and Firmware. Time' systems. The application/task execution behavior for an embedded system integration and miniaturization into the embedded device market. The SOC
• Is it possible for you to change the operating system of your DVD? Is it possible technique implements a total system on a chip by integrating different
can be deterministic or non- deterministic. Based on the execution behavior, Real
Introduction-Characteristics - Physical design - protocols – Logical design – for you to write an application and download it to your DVD player for executing? functionalities with a processor core on an integrated circuit. We will discuss about
Time embedded systems are classified into Hard and Soft. We will discuss about
Enabling technologies – IoT Levels – Domain Specific IoTs – IoT vs. M2M. IoT Is it possible for you to add printer software to your DVD player and connect a SOCs in a later chapter. The fourth generation embedded systems are making use
hard and soft real time systems in a later chapter. Embedded Systems which are
systems management – IoT Design Methodology – Specifications Integration and printer to your DVD player to take a printout? Is it possible for you to change the of high performance real time embedded operating systems for their functioning.
'Reactive' in nature (Like process control systems in industrial control applications)
Application Development. functioning of your DVD player to a television by changing the embedded software? Smart phone devices, mobile internet devices (MIDs), etc. are examples of fourth
can be classified based on the trigger. Reactive systems can be either event
The answers to all these questions are 'NO'. Can you see any general purpose generation embedded systems.
triggered or time triggered.
Physical device – Raspberry Pi Interfaces – Programming – APIs / Packages – Web interface like Bluetooth or Wi-Fi on your DVD player? Of course 'NO'. The only
services. Intel Galileo Gen2 with Arduino- Interfaces - Arduino IDE – Programming interface you can find out on the DVD player is the interface for connecting the Classification Based on Generation • Classification Based on Complexity and Performance: This classification is
- APIs and Hacks. Various Real time applications of IoT- Connecting IoT to cloud – DVD player with the display screen and one for controlling the DVD player through based on the complexity and system performance requirements. According to this
• This classification is based on the Girder in which the embedded processing classification, embedded systems can be grouped into:
Cloud Storage for IoT – Data Analytics for IoT – Software & Management Tools for a remote (May be an IR or any other specific wireless interface). systems evolved from the First version to where they are today. MAs per this
IoT.
• Indeed your DVD player is an embedded system designed specifically for decoding criterion, embedded systems can be classified into: • Small-Scale Embedded Systems: Embedded Systems which are simple in
digital video and generating a video signal as output to your TV or any other display application needs and where the performance requirements are not time critical
IoE – Overview – Architecture-Smart objects and LLNs-Secure mobility. Home • First Generation: early embedded systems were built around 8bit
fall under this category. An electronic toy is a typical example of a small-scale
automation – Cities: Smart parking – Environment: Weather monitoring – screen which supports the display inter- face supported by the DVD Player. Let us microprocessors like 8085 and Z80, and 4bit microcontrollers. Simple in hardware
summaries our findings from the comparison of embedded system and general embedded system. Small-scale embedded systems are usually built around low
Agriculture: Smart irrigation – Data analytics for IoT – Software & management circuits with firmware developed in Assembly code. Digital telephone keypads,
performance and low post or 16 bit microprocessors/microcontrollers. A small-
tools for IoT cloud storage models & Communication APIs – Cloud for IoT – purpose computing system with the help of a table: stepper motor control units etc. are examples of this.
scale embedded system may or may not contain an operating system for its
Amazon Web Services for IoT. functioning.
Page 2 Page 3 Page 4 Page 5
corresponding digital signal using analog to digital (A/D) conveners and then he data collecting embedded terminal itself can incorporate data
t • Air conditioner system used in our home to control the room temperature to a
collects the binary equivalent of the analog data. If the data is digital, it can be communication units like wireless storage/display modules (Bluetooth, ZigBee, Wi-Fi, EDGE, specified limit is a typical example for embedded system for control purpose. An
directly captured without any additional interface by digital embedded systems. GPRS, etc.) or wire-line modules (RS-232C, USB, TCP/IP, PS2, etc.). Certain embedded air conditioner contains a room temperature- sensing element (sensor) which may
• Medium-Scale Embedded Systems: Embedded systems which are slightly 5. Telecom: Cellular telephones, telephone Switches, handset systems act as a dedicated transmission unit between the sending and receiving terminals,
be a thermostat and a handheld unit for setting up (feeding) the desired
complex in hardware and firmware (software) requirements fall under this category. multimedia applications, etc. • The collected data may be stored directly in the system or may be transmitted to offering sophisticated functionalities like data packetizing, encrypting and decrypting. Network
hubs, routers, switches, etc. are typical examples of dedicated data transmission embedded temperature. The handheld unit may be connected to the central embedded unit
Medium-scale embedded systems are usually built around medium performance, 6. Computer peripherals: Printers, scanners, fax machines, etc. some other systems or it may be processed by the system or it may be deleted
systems. They act as mediators in data communication and provide various features like data residing inside the air conditioner through a wireless link or through a wired link.
low cost 16 or 32 bit microprocessors/microcontrollers or digital signal processors, instantly after giving a meaningful representation. These actions are purely
7. Computer networking systems: Network routers, switches, hubs, firewall security, monitoring etc. The air compressor unit acts as the actuator. The compressor is controlled
they usually contain an embedded operating system (either general purpose or dependent on the purpose for which the embedded system is designed. Embedded
etc. 3. Data (Signal) Processing according to the current room temperature and the desired temperature set by the
real time operating system) for functioning. systems designed for pure measurement applications without storage, used in
end user. Here the input variable is the current room temperature and the
8. Healthcare: Different kinds of scanners, EEG, ECG •machines etc. control and instrumentation domain collects data and gives a meaningful • As mentioned earlier, the data (voice, image, video, electrical signals and other
• Large-Scale embedded Systems/Complex Systems: Embedded systems which controlled variable is also the room temperature. The controlling variable is cool air
representation of the collected data by means of graphical representation or measurable quantities) collected by embedded systems may be used for various
involve highly complex hardware and firmware requirements fall under this 9. Measurement & Instrumentation: Digital multi meters, digital Os, logic flow e compressor unit. If the controlled variable and input variable are not at the
quantity value and deletes the collected data when new data arrives at the data kinds of data processing. Embedded systems with signal processing functionalities
category. They are employed in mission critical applications demanding high analyzers PLC systems, etc. same value, controlling variable tries to equalize them through t taking actions on
collection terminal. Analog and digital CROs without storage memory are typical are employed in applications demanding signal processing like speech coding,
performance. Such systems are commonly built around high performance 32 or 64 10. Banking & Retail: Automatic teller machines (ATM) and currency the cool air flow.
examples of this. Any measuring equipment used in the medical domain for synthesis, audio video codec, transmission applications, etc. A digital hearing aid
bit RISC processors/controllers or Reconfigurable System on Chip (RSOC) or counters, point of sales (POS) monitoring without storage functionality also comes under this category. Some is a typical example of an embedded system employing data processing. Digital 6. Application Specific User Interface
multi-core processors and programmable logic devices. They may contain multiple
11. Card Readers: Barcode, smart card readers, hand held devices etc. embedded systems store the collected data for processing and analysis. Such
processors/controllers and co-units/hardware accelerators for offloading the hearing aid improves the hearing capacity of hearing impaired persons. A digital • These are embedded systems with application-specific user interfaces like
systems incorporate a built-plug-in storage memory for storing the captured data. hearing aid employ
processing requirements from the main processor of the system. buttons, switches, keypad, lights, bells, display units, etc. Mobile phone is an
Some of them give the user a meaningful representation of the collected data by
Decoding/encoding of media, cryptographic function implementation, etc. are 4. Monitoring example for this. In mobile phone the user interface is provided through the
PURPOSE OF EMBEDDED SYSTEMS visual (graphical/quantitative) or audible means using display units [Liquid Crystal
examples for processing requirements which can be implemented using a co- keypad, graphic LCD module, system speaker vibration alert, etc.
• As mentioned in the previous section, embedded systems are used in various Display (LCD), Light Emitting Diode (LED), etc.] buzzers, alarms, etc. Examples • Embedded systems falling under the category are specifically designed for
processor/hard- ware accelerator. Complex embedded systems usually contain
domains like consumer Electronics, home automation, telecommunications, are: measuring instruments with storage memory and monitoring instruments with monitoring purpose. Almost all embedded products coming under the medical
high performance Real Time Operating System (RTOS) for task scheduling,
automotive industry, healthcare, control & instrumentation, retail and banking the storage memory used in medical applications. Certain embedded systems store domain are with monitoring functions only. They are used for determining the state TYPICAL EMBEDDED SYSTEM
prioritization and management:
domain itself, according to the application usage context, they may have different the data and will not give a representation of the same to the user, whereas the of some variables using input sensors. They cannot impose control over variables.
• A typical embedded system (Fig. 2.1) contains a single chip controller, which acts
Major Application Areas of Embedded Systems functionalities. Each embedded system is designed to serve the purpose of any data is used for internal processing. A digital camera is a typical example of A very good example is the electro cardiogram (ECG) machine for monitoring the
as the master brain of the system. The controller can be a Microprocessor' (e.g.
embedded system with data collection / storage representation of data. Images are heartbeat of a patient. The machine is intended to do the monitoring of the
• We are living in a world where embedded systems play a vital role in our day-to- one or a combination following tasks: Intel 8085) or a microcontroller (e.g. Atmel AT89C51) or a Field Programmable
captured and digital camera for image capturing/ the captured image may be heartbeat. It cannot impose control over the heartbeat. The sensors used in ECG
day life, starting from home to the computer industry, where most of, the people 1. Data collection/Storage/Representation Gate Array (FPGA) device (e.g. Xilinx Spartan) or a Digital Signal Processor (DSP)
stored within the memory of the camera. The captured image can also be are the different electrodes connected to the patient's body. Some other examples
find their job for a livelihood. Embedded technology has acquired a new dimension (e.g. Black fin @ Processors from Analog Devices) or an Application Specific
2. Data communication presented to the user through a graphic LCD unit. of embedded systems with monitoring function are measuring instruments like
from its first generation model, the Apollo guidance computer, to the latest radio Integrated
navigation system combined with in-car entertainment technology and the 3. Data (signal) processing. 2. Data Communication digital CRO, digital millimeters, logic analyzers, etc. used in Control &
Instrumentation applications. They are used for knowing (monitoring) the status of • Circuit (ASIC)/ Application specific Standard Product (ASSP) (e.g. ADE7760
microprocessor based "Smart" running shoes launched by Adidas in April 2005.
4. Monitoring • Embedded data communication systems are deployed in applications ranging from some variables like current, voltage, etc. They cannot control the variables in turn. Single Phase Energy Metering IC from) Analog Devices for energy metering
The application areas and the products in the embedded domain are countless. A
complex satellite communication systems to simple home networking systems. As applications). Embedded hardware/software systems are basically designed to
few of the important domains and products are listed below: 5. Control 5. Control
mentioned earlier in this chapter, the data collected by an embedded terminal may regulate a physical variable or to manipulate the state of some devices by sending
1. Consumer electronics: Camcorders, cameras, etc. 6. Applications specific user interface require transferring of the same to some other system located remotely. The • Embedded systems with control functionalities impose control over some variables some control signals to the Actuators or devices connected to the O/p ports of the
2. Household appliances: Television, DVD players, washing 1. Data Collection/Storage/Representation transmission is achieved either by a wire-line medium or by a wire- less medium. according to the changes in input variables. A system with control functionality system, in response to the input signals provided by the end users or Sensors
machine, fridge, microwave oven, etc. • Embedded systems designed for the purpose of data collection perform acquisition of data Wire- line medium was the most common choice in all olden days embedded contains both sensors and actuators. Sensors are connected to the input port for which are connected to the input ports. Hence an embedded system can be viewed
from the external world. Data collection is usually done for storage, analysis, manipulation systems. As technology is changing, wireless medium is becoming the de-facto capturing the changes in environmental variable or measuring variable. The as a reactive system.
3. Home automation and security systems: Air conditioners, sprinklers, standard for data communication in embedded systems. A wireless medium offers
and transmission. The term "data" refers all kinds of information, viz. text, voice, image, video, actuators connected to the output port are controlled according to the changes in
intruder detection alarms, closed circuit television cameras, fire alarms, cheaper connectivity solutions and make the communication link free from the • The control is achieved by processing the information coming from the sensors
electrical signals and any other measurable quantities. Data can be either analog input variable to put an impact on the controlling variable to bring the controlled
etc. hassle of wire bundles. Data can either if be transmitted by analog means or by and user interfaces, and controlling some actuators that regulate the physical
(continuous) or digital (discrete). Embedded systems with analog data capturing techniques variable to the specifiedrange.
digital means. Modern industry trends are settling towards digital communication. variable. Key boards, push button switches, etc. are examples for common user
4. Automotive industry: Anti-lock breaking systems (ABS), engine collect data directly in the form of analog signals whereas embedded systems with digital
interface input devices where- as LEDs, liquid crystal displays, piezoelectric
control, ignition systems, automatic navigation systems, etc. data collection mechanism converts the analog signal to
Page 6 Page 7 Page 8 Page 9 Page 10
buzzers, etc. are examples surroundings and from the mistakes committed. For embedded systems it is the unit Intel 4004, a 4bit processor which was released in November 1971. It featured 1k data memory, into the processor market offering high speed, high performance and low cost b). Microcontroller
for common user interface output devices for a typical embedded system. It should responsibility of the designer to impart intelligence to the system. In a controller-based a 12bit program counter and 4K program memory, sixteen 4bit general purpose registers and 46 processors for customer design needs. • Microcontroller is a highly integrated chip that contains a CPU, scratch pad RAM,
be noted that it is not necessary that all embedded systems should incorporate these embedded system, the controller may contain internal memory for storing the control instructions. It ran at a clock speed of 740 kHz. It was designed for olden day's calculators. In 1972, special and general purpose register arrays, on chip ROWFLASH memory for
algorithm and it maybe an EEPROM or FLASH memory varying from a few kilobytes to 14 more instructions were added to the 4004 instruction set and the program space is upgraded to • Intel, AMD, Freescale, IBM, TI, Cyrix, Hitachi, NEC, LSI Logic, 'etc. are the key
I/O user interfaces. It solely depends on the type of the application for which the program storage, timer and interrupt control units and dedicated I/O ports.
mega- bytes. Such controllers are called controllers with on-chip ROM, e.g. Atmel 8K. Also interrupt capabilities were added to it and it is renamed as Intel 4040. It was quickly replaced players in the processor market. Intel still leads the market with cutting edge
embedded system is designed. For example, if the embedded system is designed for Microcontrollers can be considered as a super set of microprocessors. Since a
AT89C51. Some controllers may not contain on-chip memory and they require an external in April 1972 by Intel 8008 which was similar to Intel 4040, the only difference was that its program technologies in the processor industry. microcontroller contains all the necessary functional blocks for independent working, they
any handheld application, such as a mobile handset application, then the system
(off-chip) memory for holding the control Algorithm, e.g. INTEL 803 IAH. counter was 14 bits wide and the 8008 served as a terminal controller. In April 1974 Intel launched
should contain user inter- faces like a keyboard for performing input operations and • Different instruction set and system architecture are available for the design of a found greater place in the embedded domain in place of microprocessors. Apart from this,
the first 8 bit processor, the Intel 8080, with 16bit address bus and program counter and seven 8bit they are cheap, cost effective and are readily available in the market. Texas Instrument's
display unit for providing users the status of various activities in progress. Some microprocessor. Harvard and Von-Neumann are the two common system
registers (A-E,H,L: BC, DE, and HL pairs formed the 16bit register for this processor). Intel 8080 was TMS 1000 is considered as the world's first microcontroller. We cannot say it as a fully
embedded systems do not require any manual intervention for their operation. CORE OF THE EMBEDDED SYSTEM the most commonly used processors for industrial control and other embedded applications in the architectures for processor design. Processors based on Harvard architecture
functional microcontroller when we compare it with modern microcontrollers. TI followed
1975s. Since the processor required other hardware components as mentioned earlier for its proper contains separate buses for program memory and data memory, whereas
• They automatically sense the variations in the input parameters in accordance with • Embedded systems are domain and application specific and are built around a Intel's 4004/4040, 4 bit processor design and added some amount of RAM, program
functioning, the systems made out of it were bulky and were lacking compactness. processors based on Von-Neumann architecture shares a single system bus for
the changes in the real world, to which they are interacting through the sensors central core. The core of the embedded system falls into any one of the following storage memory (ROM) and I/O support on a single chip, there by eliminated the
program and data memo- ry. We will discuss more about these architectures later,
which are connected to the input port of the system. The sensor information is categories: • Immediately after the release of Intel 8080, Motorola also entered the market with requirement of multiple hardware chips for self-functioning. Provision to add custom
under a separate topic. Reduced Instruction Set Computing (RISC) and Complex instructions to the CPU was another innovative feature of TMS 1000. TMS 1000 was
passed to the processor after signal conditioning and digitization. Upon receiving 1. General Purpose and Domain Specific Processors their processor, Motorola 6800 with a different architecture and instruction set
Instruction Set Computing (CISC) are the two common Instruction Set released in 1974. In 1977 Intel entered the microcontroller market with a family of
the sensor data the processor or brain of the embedded system performs some compared to 8080.
a. Microprocessors Architectures (ISA) available for processor design. We will discuss the same under controllers coming under one umbrella named MCS-48TM family. The processors came
pre-defined operations with the help of the firmware embedded in the system and
• In 1976 Intel came up with the upgraded version of 8080 — Intel 8085, with two a separate topic in this section... under this family were, 8038HL, 8039HL, 8040AHL, 8048H, 8049H and 8050AH. Intel
sends some actuating signals to the actuator connected to the output port of the b. Microcontrollers
newly added instructions, three interrupt pins and serial I/O. Clock generator and 8048 is recognized as Intel's first microcontroller and it was the most prominent member
embedded system, which in turn acts on the controlling variable to bring the General Purpose Processor (GPP) vs. Application-Specific Instruction Set Processor
c. Digital Signal Processors bus controller circuits were built-in and the power supply part was modified to a in the MCS-48TMt family. It was used in the original IBM PC key- board. The inspiration
controlled variable to the desired level to make the embedded system work in the (ASIP)
single +5 V supply. behind 8048 was Fairchild's F8 microprocessor and Intel's goal o' developing a low cost
2. Application Specific Integrated Circuits (ASICs)
desired manner. The Memory of the system is responsible for holding the Control • A General Purpose Processor or GPP is a processor designed for general and small size processor. The design of 8048 adopted a true Harvard architecture where
algorithm and other important con-figuration details. 3. Programmable Logic Devices (PLDs) • In July 1976 Zilog entered the microprocessor market with its Z80 processor as computational tasks. The processor running inside your laptop or desktop pro- gram and data memory shared the same address bus and is differentiated by the
competitor to Intel. Actually it was designed by an ex-Intel designer, Frederico (Pentium 4/AMD 4thlon, etc.) is a typical ex- ample for general purpose processor. related control signals.
• For most of embedded systems, the memory for storing the algorithm or 4. Commercial off-the-shelf Components (COTS)
Faggin and it was an improved version of Intel' 8080 processor, maintaining the They are produced in large Volumes and targeting the general market. Due to the
configuration data is of fixed type, which is a kind of Read Only Memory (ROM) • Eventually Intel came out with its most fruitful design in the 8bit microcontroller
• If you examine any embedded system you will find that it is built around any of the original 8080 architecture and instruction set with an 8bit data bus and a 16bit high volume production, per unit cost for is low compared to ASIC or other specific
and it is not available for the end user for modifications, which means the memory domain—the 8051family and its derivatives. It is the most popular and powerful
core units mentioned above. address bus and yes capable of executing all instructions of 8080..It included 80 ICs. A typical general purpose processor contains am Arithmetic and Logic Unit
is protected from unwanted user interaction by imply menting some kind of memory 8bit microcontroller ever built. It was developed in the 1980s and was put under
more new instructions and it brought out the concept of register banking by (ALU) and Control Unit (CU). On the other hand, Application, Specific Instruction
protection mechanism. The most common types of memories used in embedded 1. General Purpose and Domain Specific Processors the family MCS-51. Almost 75% of the microcontrollers used in the embedded
doubling the register set. Z80 also included two sets of index registers for flexible Set Processors (ASIPs) are processors with architecture and instruction set
systems for control algorithm storage are OTP, PROM, UVEPROM, EEPR () M • Almost 80% of the embedded systems are processor/controller based. The domain were 8051 family based controllers during the 1980—90s. 8051 processor
design. optimized to specific-domain/application requirements like network processing,
and FLASH. Depending on the control application, the memory size may vary or a processor may be a micro-processor or a microcontroller or a digital signal cores are used in more than 100 devices by more than 20 independent
few bytes to megabytes. We will discuss them in detail in the coming sections. • Technical advances in the field of semiconductor industry brought a new automotive, telecom media applications, digital signal processing, control manufacturers like Maxim, Philips, Atmel, etc. under the license from Intel. Due to
processor, depending on the domain and application. Most of the embedded
Sometimes the "stem requires temporary memory for performing arithmetic dimension to the micro- processor market and twentieth century witnessed a fast applications, etc. ASIPs fill the architectural spectrum between general purpose the low cost, wide availability, memory efficient instruction set, mature
systems in the industrial control and monitoring applications make use of the
operations or control algorithm execution and this type of memory is known as growth in, processor technology. 16, 32 and 64 bit processors came into the place processors and Application Specific Integrated Circuits (ASICs) the need for an development tools and Boolean processing (bit manipulation operation) capability,
commonly available microprocessors or microcontrollers whereas domains which
"working memory". Random Access Memory (RAM) is used in most of the systems of conventional 8bit processors. The initial 2 MHz clock is now an old story. Today ASIP arises when the traditional general purpose processor are unable to meet 8051 family derivative microcontrollers are much used in high-volume consumer
require signal processing such as speech coding, speech recognition, etc. make
as the working .memory. Various types of RAM like SRAM, DRAM and NVRAM processors with clock speeds up to 2.4 GHz are available in the market. More the increasing application needs. Most of the embedded systems are built around electronic devices, entertainment industry and other gadgets where cost-cutting is
use of special kind of digital signal processors supplied by manufacturers like,
are used for this purpose. and more competitors entered application specific instruction set processors. Some microcontrollers (like essential.
Analog Devices, Texas Instruments, etc.
automotive AVR, USB AVR from Atmel), System on chips, digital signal
• The size of the RAM also varies from a few bytes to kilobytes or megabytes • Another important family of microcontrollers used in industrial control and
a). Microprocessors: processors, etc. are examples for application specific instruction processors
depending on the application. The details given under the section Memory will give embedded applications is the PIC family micro controllers from Microchip
• A Microprocessor is a silicon chip representing a central processing unit (CPU), which is (ASIPs). ASIPs incorporate a processor and on-chip peripherals, demanded by the
you a more detailed description of the working memory. An embedded system Technologies (It will be discussed in detail in a later section of this book). It is a
capable of performing arithmetic as well as logical operations according to a pre-de- fined application requirement, program and data memory.
without a control algorithm implemented memory is just like a new born baby. It is high performance RISC microcontroller complementing the CISC (complex
set of instructions, which is specific to the manufacturer. In general the CPU contains the
having all the peripherals but is not capable of making any decision depending on instruction set computing) features of 8051. The terms RISC and CISCS will are
Arithmetic and Logic Unit (ALU), control unit and working registers. A microprocessor is a dependent
the situational as well as real world changes. He only difference is that the memory unit and it requires the combination of other hardware like memory, timer unit, and interrupts explained in detail in a separate heading.
of a new born baby is self-adaptive, meaning that the baby will two to learn from the controller, etc. for proper functioning. Intel claims the credit for developing the first microprocessor
Page 11 Page 12 Page 13 Page 14 Page 15
which speeds up the execution • A variety of tools are available for the designers of PLDs which are inexpensive • Memory is an important part of a processor/controller based embedded systems.
MICROPROCESSOR MICROCONTROLLER
• Some embedded system applications require only 8bit controller whereas some whereas general purpose processors implement the algorithm in firm- ware and and help to develop, simulate and test the designs. Some of the processors/controllers contain built in memory and this memory is
embedded applications requiring superior performance and computational need the speed of execution depends primarily on the clock for the processors. In referred as on- chip memory. Others do not contain any memory inside the chip
A micro controller is a highly integrated • PLDs having following two major types.
demand 16/32bit microcontrollers. Infineon, Free scale, Philips, Atmel, Maxim, A silicon chip representing a central general, DSP can be viewed as a microchip designed for performing high speed and require external memory to be connected with the controller/processor to store
chip that contains a CPU, scratch pad o CPLD (Complex Programmable Logic Device): CPLDs offer much the control algorithm. It is called off-chip memory. Also some working memory is
Microchip etc. key suppliers of 16bit microcontrollers. Philips tried to extend the processing unit (CPU), which is capable computational operations for 'addition', 'subtraction', 'multiplication' and 'division'.
ram, special and general purpose smaller amount of logic up to 1000 gates. required for holding data temporarily during certain operations. This section deals
8051 family microcontrollers to use for 16bit applications by developing the Philips of performing arithmetic as well as logical A typical digital signal processor incorporates the following key units:
register arrays on chip ROM/flash with the different types of memory used in embedded system applications.
XA (extended Architecture) microcontroller series. operation according to a pre defined set o FPGAs (Field Programmable Gate Arrays): It offers highest
memory for program storage, timer and • Program Memory: for storing the program required by DSP to process the data
of instructions amount of performance as well as highest logic density, the
• 8bit microcontrollers are commonly used in embedded systems where the interrupted and control units and Program Storage Memory (ROM)
• Data Memory: Working memory for storing temporary variables and data/signal to most features.
processing power is not a big constraint. As mentioned earlier, more than 20 dedicated I/O ports. • The program memory or code storage memory of an embedded system stores the
be processed.
companies are producing different flavors of the 8051 family microcontroller. They Advantages of PLDs:-
program instructions and it can be classified into different types as per the block
try to add more and more functionalities like built in SPI, 12C serial buses, USB It is a dependent unit. It requires the • Computational Engine: performs the signal processing in accordance with the
combination of other chips like timers,
It is a self contain unit And it does not • PLDs offer customer much more flexibility during the design cycle. diagram representation given in Fig. 2.8.
controller, ADC, Networking capability, etc. So the competitive market is driving require external interrupt controller, stored program memory. Computational Engine incorporates many specialized
towards a one-stop solution chip in microcontroller domain. High processing speed program and data memory chips, arithmetic units and each of them operates simultaneously to increase the • PLDs do not require long lead times for prototypes or production parts because • Classification of Program Memory (ROM): The code memory retains its contents
timer, UART, etc. for its functioning.
microcontroller families like ARM11 series are also available m the market, which interrupt controls, etc. for functioning execution speed. It also incorporates multiple hardware shifters for shifting PLDs are even after the power to it is turned off. It is generally known as non-volatile storage
provides solution to applications requiring hardware acceleration and high operands and thereby saves execution time. already on a distributor’s shelf and ready for shipment. memory. Depending on fabricate, erasing and programming techniques they are
processing capability. Free scale, NEC, Zilog, Hitachi, Mitsubishi, Infineon, ST Most of the time general purpose in Mostly application oriented or • classified into the following types.
• I/O Unit: Acts as an interface between the outside world and DSP. It is responsible PLDs can be reprogrammed even after a piece of equipment is shipped to a
Micro Electronics, National, Texas Instruments, Toshiba, Philips, Microchip, design and operation domain specific for capturing signals to be processed and delivering the processed signals. customer Masked ROM (MROM):
Analog Devices, Daewoo, Intel, Maxim, Sharp, Silicon Laboratories, TDK, Triscend
2. Application Specific Integrated Circuits. (ASIC) 4. Commercial off-the-shelf components (COTs) • Masked ROM is a one-time programmable device. Masked ROM makes use of the
Win bond, Atmel, etc. are the key players in the microcontroller market. Of these Does not contain a built in I/o port Most of the processor contains multiple
• A Commercial off the Shelf product is one which is used 'as-is'. hardwired technology for storing data. The device is factory programmed by
at me] has got special significance. They are the manufacturers of a variety of functionally needs to be implemented build in I/o ports which can be operated • ASICs are a microchip design to perform specific and unique applications.
masking and metallization process at the time of production itself, according to the
Flash memory based microcontrollers. They also provide In-System with the help external programmable as a single 8 or 16 or 32 bit port or as • The COTS components itself may be develop around a general purpose or domain
• Because of using single chip for integrates several functions there by reduces the data provided by the end user. The primary •advantage of this is low, cost for high
Programmability (which will be discussed in detail in a later section of this book) peripheral inter phase chips like 8255. individual port pins. specific processor or a ASICs or a PLDs.
system development cost. volume production. They are the least expensive type of solid state memory.
for the controller. The Flash memory technique helps in fast reprogramming of the
chip and thereby reduces the product development time. Atmel also provides • Most of the ASICs are proprietary (which having some trade name) • The major advantage of using COTS is that they are readily available in the market, Different mechanisms are used for the masking process of the ROM, like
Targeted for embedded market where are chip and a developer can cut down his/her development time to a great extent
another special family of microcontroller called AVR (it will be discussed in detail Targeted for high end market products, it is referred as Application Specific Standard Products (ASSP). 1. Creation of an enhance mentor depletion mode transistor through
performance is not so critical ( at
in a later chapter), an 8bit RISC Flash microcontroller, and fast enough to execute where performance is important.
• As a single chip ASIC consumes a very small area in the total system. • The major drawback of using COTS components in embedded design is that the channel implant.
present this demarcation is invalid)
powerful instructions in a single clock cycle and provide the latitude you need to manufacturer of the COTS component may withdraw the product or discontinue 2. By creating the memory all either uses a standard transistor or a high
Thereby helps in the design of smaller system with high capabilities or
optimize power consumption. The instruction set architecture of a microcontroller the production of the COTS at any time if rapid change in technology occurs. threshold transistor. In the high threshold mode, the supply voltage
functionalities.
can be either RISC or CISC. Microcontrollers are designed for either general Limited power saving options
Includes lot of power savings features Advantages of COTS: required to turn ON the transistor is above the normal ROM IC operating
purpose application requirement (general purpose controller) or domain- specific compare to micro controllers • The developers of such chips may not be interested in revealing the internal detail
of it. Voltage. This ensures that the transistor is always off and the memory
application requirement (application specific instruction set processor). The Intel • Ready to use
cell stores always logic O.
8051 micro- controller is a typical example for a general purpose microcontroller, 3. Programmable logic devices (PLD’s) • Easy to integrate
whereas the automotive AVR microcontroller family from Atmel Corporation is a • Masked ROM is a good candidate for storing the embedded firmware for low cost
c). Digital Signal Processors • A PLD is an electronic component. It used to build digital circuits
typical example for ASIP specifically designed for the automotive domain. • Reduces development time embedded devices. Once the design is proven and the firmware requirements are
• Digital Signal Processors (DSPs) are powerful special purpose 8/16/32 bit which are reconfigurable. tested and frozen, the binary data (The firmware cross compiled/assembled to
Microprocessor vs. Microcontroller The following table summarizes the differences Disadvantages of COTS:
microprocessors designed specifically to meet the computational demands and • A logic gate has a fixed function but a PLD does not have a defined function at target processor specific machine code) corresponding to it can be given to the
between a microcontroller and microprocessor. power constraints of today's embedded audio, video, and communications the time of manufacture. • No operational or manufacturing standard (all proprietary) MROM fabricator. The limitation with MROM based firmware storage is the
applications. Digital signal processors are 2 to 3 times faster than the general inability to modify
• PLDs offer customers a wide range of logic capacity, features, speed, • Vendor or manufacturer may discontinue production of a particular COTS product
purpose microprocessors in signal processing applications. This is because of the
architectural difference between the two. DSPs implement algorithms in hardware voltage characteristics.
• PLDs can be reconfigured to perform any number of functions at any time MEMORY
Page 16 Page 17 Page 18 Page 19 Page 20
the device firmware against firmware upgrades. Since the MROM is permanent in combines the re-programmability of EEPROM and the high capacity of standard SRAM cell implementation: processor/controller will be connected to DO-D7 of the memory] or the interface the applications for which it is designed. There is no hard and fast rule for calculating the
bit storage, it is not possible to alter the bit information. ROMs. FLASH memory is organized as sectors (blocks) or pages. FLASH memory may be a serial interface like 12C (Pronounced as I Square C. It is a 2 line serial memory requirements. Lot of factors need to be considered when selecting the type and
• This implementation in its simpler form can be visualized as two-cross coupled size of memory for embedded system. For example, if the embedded system is designed
stores information in an array of floating gate MOS- FET transistors. The erasing interface) or it may be an SPI (Serial peripheral interface, 2+n line interface where
Programmable Read Only Memory (PROM) / (OTP) inverters with read/ write control through transistors. The four transistors in the using SOC or a microcontroller with on-chip RAM and ROM (FLASH/EEPROM),
of memory can be done at sector level or page level without affecting the other n stands for the total number of SPI bus devices in the system). It can also be of a
middle form the cross-coupled inverters. This can be visualized as shown in Fig. depending on the application need the on-chip memory may be sufficient for designing the
• Unlike Masked ROM Memory, One Time Programmable Memory (OTP) or PROM sectors or pages. Each sector/page should be erased before re-programming. The single wire interconnection (like Dallas I-Wire interface). Serial interface is
2.11 From the SRAM implementation diagram, it is clear that access to the memory total system. As a rule of thumb, identify your system requirement and based on the type
is not pre-programmed by the manufacturer. The end user is responsible for typical erasable capacity of FLASH is 1000 cycle 7C512 from WINBOND is an commonly used for data storage memory like EEPROM. The memory density of a
cell is controlled by the line Word Line, which controls the access transistors of processor (SOC or microcontroller with on- chip memory) used for the design, take a
programming these devices. This memory has nichrome or polysilicon wires example of 64KB FLASH memory. serial memory is usually expressed in terms of kilobits, whereas that of a parallel
(MOSFETs) Q5 and Q6. The access transistors control the connection to bit lines decision on whether the on-chip memory is sufficient or external memory is required. Let's
arranged in a matrix. These wires can be functionally viewed as fuses. It is interface memory' is expressed in terms of kilobytes. Atmel Corporations consider a simple electronic toy design as an example. As the complexity of requirements
NVRAM B & B\. In order to write a value to the memory cell, apply the desired value to the
programmed by a PROM programmer which selectively burns the fuses according AT24C512 is an example for serial memory with capacity 512 kilobits and 2-wire are less and data memory requirement are minimal, we can think of a microcontroller with
bit control lines (For writing I, make B — I and B\ =O; for writing O, make B = O
to the bit pattern to be stored. Fuses which are not blown/burned represents a logic • Non-voltaic KAM is a random access memory with battery backup. It contains interface. Please refer to the section 'Communication Interface' for more details on a few bytes Of internal RAM, a few bytes or kilobytes (depending on the number of tasks
and B\ —I) and assert the Word Line (Make Word line high). This operation latches
"I" whereas fuses which are blown/burned represents a logic 0 . The default state static RAM based memory and a minute battery for providing supply to the memory 12C, SPI and I-Wire Bus. and the complexity of tasks) of FLASH memory and a few bytes of EEPROM (if required)
the bit written in the flip-flop. For reading the content of the memory cell, assert
is logic "I". OTP is widely used for commercial production of embedded systems in the absence of external power supply The memory and battery are packed for designing the system. Hence there is no need for external memory at all. A PIC
both B and bit lines to me and set the Word line to me. The major limitations of Memory Shadowing
whose proto-typed versions are proven and the code is finalized. It is a low cost together in a single package. The life span of NVRAM is expected to be around 10 microcontroller device which satisfies the I/O and memory requirements can be used in
SRAM are low capacity and high cost. Since a minimum of six transistors are • Generally the execution of a program or a configuration from Read Only Memory this case. If the embedded design is based on an RTOS, the RTOS requires certain
solution for commercial production. OTPs cannot be reprogrammed. years. DS1644 from Maxim/Dallas is an example of 32KB NVRAM.
required to build a single memory cell, imagine how many memory cells we can (ROM) is very slow (120 to 200 ns) compared to the execution from a random amount of RAM for its execution and ROM for storing the RTOS image (Image is the
Erasable Programmable Read Only Memory (EPROM) Read-Write Memory/Random Access Memory (RAM) fabricate on a silicon wafer. common name give) for the binary data generated by the compilation of all RTOS source
access memory (40 to70 ns). From the timing parameters it is obvious that RAM
• OTPs are not useful and worth for development purpose. During the development • RAM is the data memory or working memory of the controller/processor. Dynamic RAM (DRAM) access is about three times as fast as ROM access. Shadowing of me only is a files). Normally the binary code for RTOS kernel containing all the services is stored in a
phase the code is subject to continuous changes and using an OTP each time to Controller/processor can read fpm it and write to it. RAM is volatile, meaning when non-volatile memory (Like FLASH) as either compressed or non-compressed data. During
technique adopted to solve the execution speed problem in processor-based
• Dynamic RAM stores data in the form of charge. They are made up of MOS boot-up of the device, the RTOS files are copied from the program storage memory,
load the code is not economical. Erasable Programmable Read Only Memory the power is turned off, all the contents are destroyed. RAM is a direct access systems. In computer systems and video systems there will be a configuration
transistor gates. The advantages of DRAM are its high density and low cost decompressed if required and then loaded to the RAM for execution. The supplier of the
(EPROM) gives the flexibility to re-program the same chip. EPROM stores the bit memory, meaning we can access the desired memory location directly without the holding ROM called Basic Input Output Configuration ROM or simply BIOS. In
compared to SRAM. The disadvantage is that since the information is stored as RTOS usually gives a rough estimate on the run time RAM requirements and program
information by charging the floating gate of an FET. Bit information is stored by need for traversing through the entire memory locations to reach the desired personal computer systems BIOS stores the hardware configuration information memory requirements for the RTOS. On top of this add the RAM requirements for
using an EPROM programmer, which applies high voltage to charge the floating memory position (i.e. random access of memory location). This is in contrast to the charge it gets leaked off with time and to prevent this they need to be refreshed
like the address assigned for various serial ports and other non-plug 'n' play executing user tasks and ROM for storing user applications. On a safer side, always add
gate. EPROM contains a quartz crystal window for erasing the stored information. Sequential Access Memory (SAM), where the desired memory location is periodically. Special circuits called DRAM controllers are used for the refreshing
devices, etc. Usually it is read and the system is configured according to it during a buffer value to the total estimated RAM and ROM size requirements. A smart phone
If the window is exposed to ultraviolet rays for a fixed duration, the entire memory accessed by either traversing through the entire memory or through a 'seek' operation. The refresh operation is done periodically in millisecond’s interval. Figure
system boot up and it is time consuming. Now the manufactures included a RAM device with Windows mobile operating system is a typical example for embedded device
will be erased. Even though the EPROM chip is flexible in terms of re- method. Magnetic tapes, CD ROMs, etc. are examples of sequential access 2.12 illustrates the typical implementation of a DRAM cell.
behind the logical layer of BIOS at its same address as a shadow to the BIOS and with ()S. Say 64MB RAM and 128MB ROM are the minimum requirements for running the
programmability, it needs to be taken out of the circuit board and put in a UV eraser memories. RAM generally falls into three categories: Static RAM (SRAM), dynamic • The MOSFET acts as the gate for the incoming and outgoing data whereas the the first step that happens during the boot up is copying the BIOS to the shadowed Windows mobile device, indeed you need extra RAM and ROM for running user
device for 20 to 30 minutes. So it is a tedious and time-consuming process. RAM (DRAM) and non-volatile RAM (NVRAM) (Fig. 2.9). capacitor acts as the bit storage unite Table given below summarizes the relative RAM and write protecting the RAM then disabling the BIOS reading. You may be applications. So while building the system, count the memory for that also and arrive at a
merits and demerits of SRAM and DRAM technology. thinking that what a stupid idea it is and why both RAM and ROM are needed for value which is always at the safer side, so that you won't end up in a situation where you
Electrically Erasable Programmable Read Only Memory (EEPROM) Static RAM (SRAM) don't have sufficient memory to install and run user applications. There are two parameters
holding the same data. The answer is: RAM is volatile and it cannot hold the
• As the name indicates, the information contained in the EEPROM memory can be • Static RAM stores data in the form of voltage. They are made up of flip-flops. Static NVRAM for representing a memory. The first one is the size of the memory ship (Memory density
configuration data which is copied from the BIOS when the power supply is
expressed in terms of number of memory bytes per chip). There is no option to get a
altered by using electrical signals at the register/Byte level. They can be erased RAM is the fastest form of RAM available. In typical implementation, an SRAM cell • On-volatile RAM is a random access memory with battery backup. It contains static switched off. Only a ROM can hold it permanently. But for high system memory chip with the exact required number of bytes. Memory chips come in standard
and reprogrammed in-circuit: These chips include a chip erase mode and in this (bit) is realized using six transistors (or 6 MOSFETs). Four of the transistors are RAM based memory and a minute battery for providing supply to the memory in performance it should be accessed from RAM instead of accessing from a ROM. sizes like 512bytes, 1024bYtes (1 kilobyte), 2048bytes (2 kilobytes), 4Kb,t 8Kb, 16Kb,
mode they can be erased in a few milliseconds at provide greater flexibility for used for building the the absence of external power supply. The memory and battery are packed
Memory Selection for Embedded Systems 32Kb, 256Kb, 512Kb, 1024Kb (I megabytes), etc. Suppose your embedded application
system design. The only limitation is their capacity is limit when compared with the together in a single package. NVRAM is used for the non-volatile storage of results
• Classification of Working Memory (RIM): • Embedded systems require a program memory for holding the control algorithm requires only 750 bytes
standard ROM (A few kilobytes). of operations or for setting up of flags, etc. The life span Of NV RAM is expected
• Latch (flip-flop) part of the memory cell and two for controlling the, access. SRAM to be around 10 years. DS1744 from Maxim/DaIIas is an example for 32KB
(For a super-loop based design) or embedded OS and the applications designed
FLASH to run on top of it (for OS based designs), data memory for holding variables and
is fast in operation due to its resistive networking and switching capabilities. To its NVRAM.
• FLASH is the Latest ROM technology and is the most popular ROM simplest representation an SRAM cell can be visualized as shown in Fig. 2.10: temporary data during task execution, and memory for holding non- volatile data
technology used in today's embedded designs. FLASH memory is @variation Memory According to the Type of Interface (like configuration data, look up table etc) which are modifiable by the application
of EEPROM technology. It • The interface (connection) of memory with the processor/controller can be of (Unlike program memory which is non-volatile as well unalterable by the end user).
various types. It may be a parallel interface [The parallel data lines (DO-D7) for The memory requirement for an embedded system in terms of RAM and ROM
an 8 bit (EEPROM/FLASH/NVRAM) is solely dependent on the type of the embedded system and
Page 21 Page 22 Page 23 Page 24 Page 25
of RAM, you don't have the option of getting a memory chip with size 750 bytes physical action.
Certain embedded devices may be targeted for operating at extreme
the only option left with is to choose the memory chip with a size closer to the size • Actuator acts as an output device. COMMUNICATION INTERFACES EXTERNAL COMMUNICATION INTERFACE
environmental conditions like high temperature, high humid area, etc. Select an
needed. Here 1024 bytes is the least possible option. We cannot go for 512 bytes, • These are the E.S which may be a part of large distributed system and they require
industrial grade memory chip in place of the commercial grade chip for such • If the embedded system is designed for any controlling purpose the system will These are the devices through with the E.S can interact with various subsystems and the
because the minimum requirement 750 bytes. While you select a memory size, interaction and data transfer between various devices and sub modules.
devices. produce some changes in the controlling variable to bring the controlled variable external world. For embedded product communication interface can be viewed in two
always keep in mind the address range supported by your processor. For example,
to the desired value. This is achieved through an actuator connected to the output different perspectives: • The product level communication interface is responsible for data transfer between
for a processor/ controller with 16 bit address bus, the maximum number of
port of the embedded system. 1. Device/board level communication interface (Onboard communication Interface) the
memory locations that can be addressed is 216 = 65536 bytes = 64Kb. Hence it is SENSORS AND ACTUATORS
E.S and other devices or modules.
meaningless to select a 128Kb memory chip for a processor with 16bit wide • If the E.S is designed for monitoring purpose only then there is no need for 2. Product level communication interface (External communication interface)
• At the very beginning of this chapter it is already mentioned that an embedded
address bus. Also, the entire memory range supported by the processor/controller including an actuator in the system. • The external communication interface can be either a wired media or a wireless
system is in constant interaction with the Real world and the controlling/monitoring ONBOARD COMMUNICATION INTERFACE
may not be available to the memory chip alone. It may be shared between I/O, media and it can be a serial or a parallel interface.
functions executed by the embedded system is achieved in accordance with the • Types of Actuators
other ICs and memory. Suppose the address bus is 16bit wide and only the lower • The communication channel which interconnects the various components
changes happening to the Real world. The changes in sys- tem environment or o Multi-Turn Actuator • Examples – Infrared (IR), Bluetooth (BT), Wireless LAN (Wi-Fi), Radio Frequency
32Kb address range is assigned to the memory chip, the memory size maximum with in an embedded product is referred as device/broad level communication
variables are detected by the sensors connected to the input port of the embedded waves etc.
required is 32Kb 6nIy. It is not worth to use a memory chip with size 64Kb in such o Part-Turn Actuator Linear Actuator interface.
a situation. The second parameter that needs to be considered in selecting a system. If the embedded system is designed for any controlling purpose the Infrared –
system will produce some changes in the controlling variable to bring the controlled o Multi-turn Actuator- • Examples – Serial interfaces like I2C, I-Wire, and parallel bus interface.
memory is the word size of the memory. The word Size refers to the number of • Infrared is a serial, half duplex, line of sight based wireless technology for data
memory bits that can be read/write together at a time. 4, 8, 12, 16, 24, 32, etc. are
variable to the desired value. It is achieved through an actuator connected to the • It is an actuator which transmits to the valve torque for at least one full Inter Integrated Circuit Bus (I2C Bus) –
output port of the embedded system. If the embedded system is designed for communication between devices. The remote control of TV, AC works on the
the word sizes supported by memory chips. Ensure that the word size supported revolution. It is capable of withstanding thrust. • It is a synchronous bi-directional half duplex two–wire serial bus which
monitoring purpose only, then there is no need for including an actuator in the infrared data communication principle.IR uses infrared waves of the
by the memory chip matches with the data bus width of the processor/controller. • It is required for the automation of multi-turn valves. provides communication link between integrated circuits. electromagnetic spectrum for transmitting the data. It supports point-point and
FLASH memory is the popular choice for ROM (program storage memory) in system. For example, take the case of an ECG machine. It is design to monitor the
• point-to-multipoint communication. The typical communication range for IR lies in
embedded applications. It is a powerful and cost-effective solid-state storage
heart beat status of a patient and it cannot impose a control over the patient's • One of the main types of this is the gate valve It was designed by Philips Semiconductors in1980s.
heart beat and its order. The sensors used here are the different electrode sets the range of 10 cm to1m.The range can be increased by increasing the transmitting
technology for mobile electronics devices and other consumer applications. Part-turn actuators – • It was developed to provide an easy way of connection between a microprocessor power of the IR device.IR supports data rates ranging from 9600bits/sec to
FLASH memory comes in two major variants, namely, NAND and NOR FLASH. connected to the body of the patient. The variations are captured and presented to
/microcontroller system and peripheral chips in television sets. 16Mbps.
the user (may be a doctor) through a visual display or some printed chart. • It is an actuator which transmits a torque to the valve for less than one full
NAND FLASH is a high-density low cost non-volatile storage memory: On the other
revolution. It is not capable of withstanding thrust. • It comprises of two bus lines i.e. Serial Clock-SCL and Serial Data-SDA.
hand, NOR FLASH is less dense and slightly expensive. But it supports the SENSORS
Execute in Place (XIP) technique for program execution. The XIP technology • The major representatives of this type are butterfly valves and ball valves. • SCL line is responsible for generating synchronization clock pulses.
• Sensors are also called as detectors.
allows the execution of code memory from ROM itself without the need for copying
Linear Actuator – • SDA is responsible for transmitting the serial data across devices.
it to the RAM as in the case of conventional execution method. It is a good practice • The changes in the system environment or variables are detected by the sensors
to use a combination of NOR and NAND memory for storage memory connected to the input port of the embedded system. • The major representative of this type is the control valves. • I2C bus is a shared bus system to which many number ofI2C devices can be
requirements, where NAND can be used for storing the program code and or data connected.
• It is a transducer that converts energy from one type to another type for any • Just like the plug in the bathtub is pressed into the drain the plug is pressed into
like the data captured in a camera device. NAND FLASH doesn't support XIP and particular purpose. the plug seat by a stroke. • Devices connected to the I2C runs can act as either “Master” device or “Slave” device.
if NAND FLASH is used for storing program code, a DRAM can be used for copying
• Example- ECG machine it is designed to monitor the heartbeat status of a patient The I/O Subsystem • The Master device is responsible for controlling the communication by initiating or
and executing the program code. NOR FLASH supports XIP and it can be used as
and it cannot impose a control over the patient’s heart beat and its order. The terminating data transfer, sending data and generating necessary synchronization
the memory for boot loader or for even storing the complete program code. The • The I/O subsystem of the embedded system facilitates the interaction of the
sensors are used here are the different electrode sets connected to the body of clock pulses.
EEPROM data storage memory is available as either serial interface or parallel embedded system with the external world. As mentioned earlier the interaction
interface chip. If the processor/controller of the device supports serial interface and the patient. • The Slave devices wait for the commands from the Master and respond upon
happens through the sensors and actuators connected to the input and output
the amount of data to write and read to and from the device is less, it is better to • The variations are captured and presented to the user through a visual display or ports respectively of the embedded system. The sensors may not be directly receiving the commands.
have a serial EEPROM chip. The serial EEPROM saves the address space of the some printed chart. interfaced to the input ports; instead they may be interfaced through signal • Master and Slave devices can act as either transmitter or receiver.
total system. The memory capacity of the serial EEPROM is usually expressed in conditioning and translating systems like ADC, up to couplers, etc. This section
bits or kilobits. 512 bits, 1Kbits, 2Kbits, 4Kbits, etc. are examples for serial illustrates some of the sensors and actuators used in embedded systems and the • Regardless whether a master is acting as transmitter or receiver the
EEPROM memory representation. For embedded systems with low power ACTUATORS I/O systems to facilitate the interaction of embedded systems with external world. synchronization clock signal is generated by Master device only.
requirements like portable devices, choose low power memory devices. • Actuator is a form of transducer device which converts signals to corresponding • I2C supports multi masters on the same bus.
Page 26 Page 27 Page 28 Page 29 Page 30
• Designing Embedded firmware requires understanding of the particular embedded • Jump back to the first task and follow the same flow. B). Embedded firmware Design Approaches – Embedded OS based Approach: •
UNIT-2 product hardware, like various component interfacing, memory map details, I/O
Machine language is a binary representation and it consists of 1s and 0s
• The ‘C’ program code for the super loop is given below The embedded device contains an Embedded Operating System which can be oneof: • Assembly language and machine languages are processor/controller dependent
EMBEDDED port details, configuration and register details of various hardware chips used and
some programming language (either low level Assembly Language or High level void main () • A Real Time Operating System (RTOS) • An Assembly language program written for one processor/controller family will not
FIRMWARE
language like C/C++ or a combination of the two) { • A Customized General Purpose Operating System (GPOS) work with others
INTRODUCTION:
• The embedded firmware development process starts with the conversion of the Configurations • The Embedded OS is responsible for scheduling the execution of user tasks and • Assembly language programming is the process of writing processor specific
• The control algorithm (Program instructions) and or the configuration settings that firmware requirements into a program model using various modeling tools. the allocation of system resources among multiple tasks machine code in mnemonic form, converting the mnemonics into actual processor
an embedded system developer dumps into the code (Program) memory of the ();
• The firmware design approaches for embedded product is purely dependent on instructions (machine language) and associated data using an assembler
embedded system. Initializations • It Involves lot of OS related overheads apart from managing and executing user
the complexity of the functions to be performed and speed of operation required. defined tasks • The general format of an assembly language instruction is an Opcode followed by
• It is an un-avoidable part of an embedded system. (); while (1)
• There exist two basic approaches for the design and implementation of embedded Operands
• Microsoft® Windows XP Embedded is an example of GPOS for embedded devices
• The embedded firmware can be developed in various methods like {
firmware, namely; • The Opcode tells the processor/controller what to do and the Operands provide
• Point of Sale (PoS) terminals, Gaming Stations, Tablet PCs etc are examples of
o Write the program in high level languages like Embedded C/C++ using an o The Super loop based approach Task 1 (); the data and information required to perform the action specified by the opcode
embedded devices running on embedded GPOSs
Integrated Development Environment (The IDE will contain an editor,
o The Embedded Operating System based approach Task 2 (); • It is not necessary that all opcode should have Operands following them. Some of
compiler, linker, debugger, simulator etc. IDEs are different for different • ‘Windows CE’, ‘Windows Mobile’, ‘QNX’, ‘VxWorks’, ‘ThreadX’, ‘MicroC/OS-II’,
the Opcode implicitly contains the operand and in such situation no operand is
family of processors/controllers. • The decision on which approach needs to be adopted for firmware development is : ‘Embedded Linux’, ‘Symbian’ etc are examples of RTOSs employed in Embedded Product
required. The operand may be a single operand, dual operand or more
o Write the program in Assembly Language using the Instructions Supported by purely dependent on the complexity and system requirements : development
The 8051 Assembly Instruction
your application’s target processor/controller A). Embedded firmware Design Approaches – The Super loop: Task n (); • Mobile Phones, PDAs, Flight Control Systems etc are examples of embedded
devices that runs on RTOSs MOV A, #30
EMBEDDED FIRMWARE DESIGN & DEVELOPMENT: • The Super loop based firmware development approach is Suitable for applications }
that are not time critical and where the response time is not so important EMBEDDED FIRMWARE DEVELOPMENT LANGUAGES/OPTIONS Moves decimal value 30 to the 8051 Accumulator register. Here MOV A is the Opcode
• The embedded firmware is responsible for controlling the various peripherals of }
(Embedded systems where missing deadlines are acceptable). and 30 is the operand (single operand). The same instruction when written in machine
the embedded hardware and generating response in accordance with the • Assembly Language language will look like
Pros:
functional requirements of the product. • It is very similar to a conventional procedural programming where the code is
• High Level Language
• The embedded firmware is the master brain of the embedded system. executed task by task • Doesn’t require an Operating System for task scheduling and monitoring and free from 01110100 00011110
OS related overheads o Subset of C (Embedded C) The first 8 bit binary value 01110100 represents the opcode MOV A and the second 8 bit
• The embedded firmware imparts intelligence to an embedded system. • The tasks are executed in a never ending loop.
• Simple and straight forward design o Subset of C++ (Embedded C++) binary value 00011110 represents the operand 30.
• It is a onetime process and it can happen at any stage. • The task listed on top on the program code is executed first and the tasks just
below the top are executed after completing the first task • Reduced memory footprint o Any other high level language with supported Cross-compiler • Assembly language instructions are written one per line
• The product starts functioning properly once the intelligence imparted to the •
• A typical super loop implementation will look like: Cons: Mix of Assembly & High level Language • A machine code program consists of a sequence of assembly language
product by embedding the firmware in the hardware.
o Mixing High Level Language (Like C) with Assembly Code instructions, where each statement contains a mnemonic (Opcode +
• The product will continue serving the assigned task till hardware breakdown occurs • Configure the common parameters and perform initialization for various • Non Real time in execution behavior (As the number of tasks increases the Operand)
or a corruption in embedded firmware. hardware components memory, registers etc. frequency at which a task gets CPU time for execution also increases) o Mixing Assembly code with High Level Language (Like C)
• Each line of an assembly language program is split into four fields as:
• In case of hardware breakdown, the damaged component may need to be replaced • Start the first task and execute it • Any issues in any task execution may affect the functioning of the product (This o Inline Assembly
can be effectively tackled by using Watch Dog Timers for task execution LABEL OPCODE OPERAND COMMENTS
and for firmware corruptions the firmware should be re-loaded, to bring back the • Execute the second task (A). Assembly Language
embedded product to the normal functioning.
monitoring) • LABEL is an optional field. A ‘LABEL’ is an identifier used extensively in programs to
• Execute the next task • ‘Assembly Language’ is the human readable notation of ‘machine language’
Enhancements: reduce the reliance on programmers for remembering where data or code is
• The embedded firmware is usually stored in a permanent memory (ROM) and it is • ‘Machine language’ is a processor understandable language located.
• Execute the last defined task
non alterable by end users. • Combine Super loop based technique with interrupts LABEL is commonly used for representing
• Execute the tasks (like keyboard handling) which require Real time o A memory location, address of a program, sub-routine, code portion etc.
attention as Interrupt Service routines.
Page 31 Page 32 Page 33 Page 34 Page 35
o The maximum length of a label differs between assemblers. Assemblers • Through effective assembly coding, optimum performance can be achieved • The cross-compilation of each module generates a corresponding object file. The • Target images created by such compilers may be messy and no optimized in
insist strict formats for labeling. Labels are always suffixed by a colon and for target processor. object file does not contain the absolute address of where the generated code
terms of performance as well as code size.
begin with a valid character. Labels can contain number from 0 to 9 and needs to be placed (a re-locatable code) on the program memory
special character _ (underscore).
3. Low level Hardware Access: • The investment required for high level language based development tools
• The software program called linker/locater is responsible for assigning absolute (IDE) is high compared to Assembly Language based firmware development
• Most of the code for low level programming like accessing external device address to object files during the linking process
############################################################### tools.
specific registers from OS kernel ,device drivers, and low level interrupt
; SUBROUTINE FOR GENERATING DELAY routines, etc are making use of direct assembly coding. • The Absolute object file created from the object files corresponding to different EMBEDDED SYSTEM DEVELOPMENT ENVIRONMENT
source code modules contain information about the address where each
; DELAY PARAMETR PASSED THROUGH REGISTER R1 4. Code Reverse Engineering: • The most important characteristic of E.S is the cross-platform development
instruction needs to be placed in code memory
technique.
; RETURN VALUE NONE, REGISTERS USED: R0, R1 • It is the process of understanding the technology behind a product by
• A software utility called ‘Object to Hex file converter’ translates the absolute object file
############################################################### extracting the information from the finished product. • The primary components in the development environment are the host
to corresponding hex file (binary file)
system, the target system and many connectivity solutions between the host
##### Figure 5: Assembly Language to machine language conversion process • It can easily be converted into assembly code using a dis-assembler program
and the target E.S.
for the target machine.
DELAY: MOV R0, #255 ; Load Register R0 with • Each source file can be assembled separately to examine the syntax errors and
Drawbacks: • The development tools offered by the host system are the cross complier,
255 DJNZ R1, DELAY ; Decrement R1 and loop incorrect assembly instructions
linker and source-level debugger.
• Assembling of each source file generates a corresponding object file. The object 1. High Development time:
till R1= 0 RET ; • The target embedded system offers a dynamic loader, link loader, a
Return to calling program
file does not contain the absolute address of where the generated code needs to • The developer takes lot of time to study about architecture, memory monitor and a debug agent.
be placed (a re-locatable code) on the program memory organization, addressing modes and instruction set of target
• The symbol; represents the start of a comment. Assembler ignores the text processor/controller. • Set of connections are required between the source computer and the target
• The software program called linker/locater is responsible for assigning absolute system.
in a line after the ; symbol while assembling the program
address to object files during the linking process • More lines of assembly code are required for performing a simple action.
• DELAY is a label for representing the start address of the memory location • These connections can be used for transmitting debugger information between
• The Absolute object file created from the object files corresponding to different 2. Developer dependency: the host debugger and the target debug agent.
where the piece of code is located in code memory
source code modules contain information about the address where each Figure 6: High level language to machine language conversion process
• The above piece of code can be executed by giving the label DELAY as • There is no common written rule for developing assembly language based IDE:
instruction needs to be placed in code memory
part of the instruction. E.g. LCALL DELAY; LMP DELAY applications.
• A software utility called ‘Object to Hex file converter’ translates the absolute object file • In E.S IDE stands for an integrated environment for developing and debugging
Assembly Language – Source File to Hex File Translation: 3. Non portable: Advantages: the target processor specific embedded firmware.
to corresponding hex file (binary file)
• The Assembly language program written in assembly code is saved as .asm • Target applications written in assembly instructions are valid only for that • Reduced Development time: Developer requires less or little knowledge on • An IDE is also known as integrated design environment or integrated
Advantages:
(Assembly file) file or a .src (source) file or a format supported by the assembler particular family of processors and cannot be re-used for other target internal hardware details and architecture of the target processor/Controller. debugging environment.
1. Efficient Code Memory & Data Memory Usage (Memory Optimization): processors/controllers.
• Similar to ‘C’ and other high level language programming, it is possible to have multiple • Developer independency: The syntax used by most of the high level languages • IDE is a software package which bundles a “Text Editor”, “Cross-compiler”, “Linker” and
• The developer is well aware of the target processor architecture and • If the target processor/controller changes, a complete re-writing of the are universal and a program written high level can easily understand by a second a “Debugger”.
source files called modules in assembly language programming. Each module is
memory organization, so optimized code can be written for performing application using assembly language for new target processor/controller is
represented by a ‘.asm’ or ‘.src’ file or the assembler supported file format similar to the person knowing the syntax of the language
• IDE is a software application that provides facilities to computer
operations. required.
‘.c’ files in C programming • Portability: An Application written in high level language for particular target programmers for software development.
• This leads to less utilization of code memory and efficient utilization (B). High Level Language processor
• The software utility called ‘Assembler’ performs the translation of assembly code to • IDEs can either command line based or GUI
of data memory. /controller can be easily be converted to another target processor/controller
machine code • The embedded firmware is written in any high level language like C, C++
2. High Performance: specific application with little or less effort based. IDE consists of:
• The assemblers for different family of target machines are different. A51 Macro • A software utility called ‘cross-compiler’ converts the high level language to target
• Optimized code not only improves the code memory usage but also Drawbacks: 1. Text Editor or Source code editor
Assembler from Keil software is a popular assembler for the 8051 family micro processor specific machine code
controller improves the total system performance. • The cross compilers may not be efficient in generating the optimized target 2. A compiler and an interpreter
processor specific instructions. 3. Build automation tools
4. Debugger compiler if the source code is • The object file is specially formatted file with data records for symbolic • Decompilation was first used in 1960s to facilitate the migration of a program form • The environment in which the computer operates and that it measures using
5. Simulators compiled to run on a platform other than the one on which the cross compiler is information, object code, debugging information etc. one platform to another. sensors and affects using actuators.
6. Emulators and logic analyzer run. For embedded systems the compiler always runs on another platform, so a Advantages of Simulator Based Debugging
Disassembler • Decompile means to convert executable program code into some form of higher-
cross compiler is needed.
• The example of IDE is Turbo C/C++ which provides platform on • Disassembler is a utility program which converts machine codes into target
level programming language so that it can be read by a human. • The simulator based debugging techniques are simple and straightforward.
windows for development of application programs with command line LINKER:
processor specific Assembly instructions. • Decompilation is a type of reverse engineering that does the opposite of what a • Other advantages are: No need for original Target Board
interface. • A linker or link editor is a program that takes one or more objects generated by compiler does.
• The process of converting machine codes into Assembly code is known as o It is purely software oriented.
• compilers and assembles them into a single executable program or a library that
The other category of IDE is known as Visual IDE which provides the platform “Disassembling”. • The are many reasons for decompilation such as understanding a program,
for visual development environment, ex- Microsoft Visual C++. can later be linked to in it. All of the object files resulting from compiling must be o IDEs software support simulates the CPU of the target board.
recovering the source code for purposes of achieving or updating, finding viruses,
combined in a special way before the program locator will produce an output file • Disassembling is complementary to assembling or cross assembling. o User’s only needs to know about the memory map of various devices within the
• IDEs used in embedded firmware are slightly different from the generic IDE that contains a binary image that can be loaded into the target ROM. A commonly
debugging programs and translating obsolete code.
used for high level language based development for desktop applications. • The output of the disassembler is often formatted for human-read ability target board and the firmware should be written on the bases of it.
used linker/ locater for embedded systems ISLD (GNU). SIMULATOR
rather than suitability for input to an assembler. o Since real hardware is not required the firmware development can start
• In Embedded applications the IDE is either supplied by the target TYPES OF FILES GENERATED ON CROSS COMPILATION • Simulator and emulators are two important tools used in embedded
• Assemble language source code generally permits the use of constant and well in advance immediately after the device interface and memory maps
processor/controller manufacturer or by third party vendors or as Open source. system development.
• The various files generated during cross compilation process are: programmer comments. are finalized.
• An Integrated Development Environment (IDE) is software that assists • Simulator is a software tool used for simulating the various conditions for o This saves development time.
programmers in developing software
1. List File • These are usually removed from the assembled machine code by the assembler.
checking the functionality of the application firmware.
Simulate I/O peripherals
•
2. Hex File (.hex) • A disassembler operating on the machine code would produce disammembly
IDEs normally consist of a source code editor, a compiler, a linker/locater and • It is a host-based program that simulates the functionality and instruction set
usually a debugger. 3. Pre-processor Output file lacking these constants and comments; the disassembled output becomes more • It provides the option to simulate various I/O peripherals.
of the target processor.
difficult for a human to interpret than the original annotated sources code.
• 4. Map File (File extension linker dependent) • Using simulator’s I/O support we can edit the values for I/O registers ad can be used as
Sometimes, an IDE is devoted to one specific programming language or one • The features of Simulator based debugging are:
(family of) specific processor or hardware • The interactive disassembler allows the human user to make up mnemonic the input/output value in the firmware execution.
5. Object File (.obj) o Purely software based
symbols for values of code in an interactive session.
• But more often the IDEs support multiple languages, processors, etc. Some • Hence it eliminates the need for connection I/O devices for debugging the firmware.
List Files o Doesn’t require a real target system
commonly used IDEs for embedded systems are the GNU compiler collection • A disassembler may be stand-alone or interactive.
Simulates Abnormal Conditions
• At the time of cross compilation the .lst file is generated by the system which o Very primitive
(GCC), Eclipse, Delphi, • A stand-alone disassembler when executed generates an assembly language file
contains the information code generated from the source file. • With simulator’s simulation support we can input any desired value for any parameter
EDITOR: which can be examined. o Lack of Real –time behavior.
during debugging the firmware and can observe the control flow of firmware.
Hex file
• A source code editor is a text editor program designed specifically for editing • Interactive shows the effect of any change the user makes immediately. • Simulation is used whenever trying things in the physical world would be
• It helps the developer in simulating abnormal operational environment for firmware
source code to control embedded systems. It may be a standalone application or • The Hex file is an ASCII text file with lines of text that follow the Intel Hex file format. inconvenient, expensive.
Decompiler and helps the firmware developer to study the behavior of the firmware under
it may be built into an integrated development environment (e.g. IDE).Source code • Intel Hex files are often used to transfer the program and data that would be • Simulation allows experimenter to try things with more control over abnormal input conditions.
• Decompiler is the utility program for translating machine codes into
editors may have features specifically designed to simplify and speed up input of stored in a Rom or EPROM. parameters and better insight into the results.
corresponding high level language instructions. Limitations OF Simulator Based
source code, such as syntax highlighting and auto complete functionality. These
Map Files • Simulating an embedded computer system can be broken down into five main parts:
features ease the development of code • A decompiler is the name given to a computer program that performs the Debugging Deviation from Real
• These files are used to keep the information of linking and locating process. reverse operation to that of a compiler. • The computer board itself, the piece of hardware containing one or more Behavior
COMPILER:
• processor, executing the embedded software.
Map files use extensions .H,.HH,.HM • The tool that accomplishes this task is called a decompiler. •
• A compiler is a computer program that translates the source code into computer Simulation-based firmware debugging is always carried out in a development
• • The software running on the computer board. This includes the user
language (object code).Commonly the output has a form suitable for processing Object files • The decompiler does not reconstruct the original source code and its output is environment where the developer may not be able to debug the firmware under all
by other programs (e.g., a linker), but it may be a human readable text file. A applications, also the boot ROM or BIOS, hardware drivers, OS and various possible combinations of input.
• It is the lowest level file format for any platform. far less intelligible to a human than original source code
compiler translates source code from a high level language to a lower level libraries.
language (e.g., assembly language or machine language). The most common o Cross compiling each source module converts the various embedded • The communication network or networks that the board is connected to • Under certain operating conditions we may get some particular result and it need
reason for wanting to translate source code is to create a program that can be instructions and other directives present in the module to an object (.OBJ) hand over which the software communicates with software on other notbe the same when the firmware runs in a production environment.
executed on a computer or on an embedded system. The compiler is called a cross file. computers.
Page 41 Page 42 Page 43 Page 44 Page 45
Lack of Real timeliness • Firmware debugging deals with examining the firmware execution, execution flow, o Increasing capacity of field programmable devices - some devices even Categories of Codesign Problems
• The major limitation is that it is not real-time in behavior. changes to various CPU registers and status registers on execution of the firmware able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.)
• Codesign of embedded systems
to ensure that the firmware is running as per the design. o Efficient C compilers for embedded processors
• The debugging is developer driven and it is no way capable of creating a o Usually consist of sensors, controller, and actuators
real time behavior. • It is a special program used to find errors or bugs in other programs. o Hardware synthesis capabilities
o Are reactive systems
• Moreover in a real application the I/O condition may be varying or unpredictable. • A debugger allows a programmer to stop a program at any point and • The importance of codesign in designing hardware/software systems:
o Usually have real-time constraints
examine and change the values of the variables.
EMULATOR o Improves design quality, design cycle time, and cost
o Usually have dependability constraints
• A debugger or debugging tool is a computer program that is used to test and
• It is a piece of hardware that exactly behaves like the real microcontroller chip • Reduces integration and test time
debug other programs. • Codesign of ISAs
with all its integrated functionality. o Supports growing complexity of embedded systems
• Some of the debuggers offer two modes of operation like full or partial simulation. o Application-specific instruction set processors (ASIPs)
• It is the most powerful debugging of all. o Takes advantage of advances in tools and technologies
• A crash happens when the program cannot normally continue o Compiler and hardware optimization and trade-offs
• A microcontroller’s functions are emulated in real-time and non-intrusively. • Processor cores
because of a programming bug. • Codesign of Reconfigurable Systems
• All emulators contain 3 essential function: • High-level hardware synthesis capabilities Figure: A Model of the Current Hardware/Software Design Process
• Ex- The program might have tried to use an instruction not available on the o Systems that can be personalized after manufacture for a specific application
o The emulator control logic, including emulation memory current version of the CPU to access unavailable or protected memory. • ASIC development Current Hardware/Software Design Process
o Reconfiguration can be accomplished before execution or
o The actual emulation device • When program crashes or reaches a preset condition the debugger shows the Categorizing Hardware/Software Systems concurrent with execution (called evolvable systems) • Basic features of current process:
o A pin adapter that gives the emulator’s target connector the same “package” position in the original code if it is a source-level debugger or symbolic Components of the Codesign Problem
• Application Domain o System immediately partitioned into hardware and software components
and pin out as the microcontroller to be emulated. debugger.
o Embedded systems • Specification of the system o Hardware and software developed separately
• An emulator is a piece of hardware that looks like a processor, has
• Manufacturing control • Hardware/Software Partitioning o “Hardware first” approach often adopted
memory like a processor, and executes instructions like a processor but it CODESIGN DEFINITION AND KEY
is not a processor. • Consumer electronics o Architectural assumptions - type of processor, interface style between • Implications of these features:
CONCEPTS CODESIGN
hardware and software, etc.
• The advantage is that we can probe points of the circuit that are not accessible • Vehicles o HW/SW trade-offs restricted
• The meeting of system-level objectives by exploiting the trade-offs between
inside a chip. o Partitioning objectives - maximize speedup, latency requirements; • Impact of HW and SW on each other cannot be assessed easily
hardware and software in a system through their concurrent design • Telecommunications minimize size, cost, etc.
• It is a combination of hardware and software. o Late system integration
Key concepts • Defense Systems o Partitioning strategies - high level partitioning by hand, automated
DEBUGGERS
• Concurrent: hardware and software developed at the same time on parallel paths partitioning using various techniques, etc. • Consequences these features:
o Instruction Set Architectures
• Debugging in embedded application is the process of diagnosing the firmware o Poor quality designs
• Integrated: interaction between hardware and software developments to o Reconfigurable Systems • Scheduling
execution, monitoring the target processor’s registers and memory while the firmware
produce designs that meet performance criteria and functional o Costly modifications
is running. • Degree of programmability o Operation scheduling in hardware
specifications
o Instruction scheduling in compilers o Schedule slippages
• Debugging is classified into two namely Hardware debugging and firmware Motivations for Code sign
o Access to programming
debugging. o Process scheduling in operating systems Incorrect Assumptions in Current Hardware/Software Design Process
o Levels of programming
• Factors driving codesign (hardware/software systems):
• Hardware debugging deals with the monitoring of various bus signals and checking • Modeling the hardware/software system during the design process • Hardware and software can be acquired separately and independently, with
• Implementation Features
the status lines of the target hardware. o Instruction Set Processors (ISPs) available as cores in many design successful and easy integration of the two later
kits (386s, DSPs, microcontrollers, etc.) o Discrete vs. integrated components
• Hardware problems can be fixed with simple software modifications
o Systems on Silicon - many transistors available in typical processes (> o Fabrication technologies
• Once operational, software rarely needs modification or maintenance
10 million transistors available in IBM ASIC process, etc.)
• Valid and complete software requirements are easy to state and implement in code o Hardware synthesis Figure: Typical Codesign Process new standards for hardware become advance. There are many components o Bonnie++
o Programmable logic involve in hardware testing like BIOS, CPU/Processor. Test the hardware to ensure o IOZone
its logical correctness and to ensure that follow appropriate standards. Using
o Description languages functional tests to determine whether met the test criteria. There are the few o Net pipe
• Explicit attempts have been made to “transfer technology” between the domains techniques commonly used for hardware testing. o Linpack
• EDA tool technology has been transferred to SW CAD systems o Software-based self-testing o NFS Connectathon package
o Designer support (not automation) o ATPG (Automatic test pattern generation) Firmware Testing
o Graphics-driven design o BIST (Built-in self-test) • Firmware is a computer program that is embedded in a hardware device that
• The Software-Based Self-Testing: Modern microprocessors impose significant provides control, monitoring and data manipulation of engineered products and
o Central database for design information
challenges to the testing hardware, because of their high complexity and systems. The firmware contained devices provides the low-level control program
o Tools to check design behavior early in process for the device. Examples of devices containing firmware are embedded systems,
heterogeneity. The software-based self-testing alternate way to hardware based
• Software technology has been transferred to EDA tools self-testing, which cover the testing of a microprocessor using its instruction set. computers, computer peripherals, mobile phones, etc.
Figure: Directions of the HW/SW Design Process o Single-language design The benefit of software- based self test is that it can be applied in the normal • Importance of Firmware testing is the certification of firmware system meets its
operation mode of the microprocessor, thus applying the required tests at-speed. requirements with respect to functional correctness as well as performance,
Requirements for the Ideal Codesign Environment • Use of 1 common language for architecture spec. and implementation of a chip Figure: Conventional Codesign Methodology
• The ATPG (Automatic test pattern generation): Starting with a chip net list, operational, and implementation properties. Then to reduce the risk and improve
• Unified, unbiased hardware/software representation o Compiler-like transformations and techniques Codesign Features
inserting scan-chains (Scan chain is a technique used in design for testing), and the performance.
o Supports uniform design and analysis techniques for hardware and software • Dead code elimination Basic features of a codesign process generating vectors is the most direct and effortless approach and doesn’t require • The firmware functionality changed from conventional instruction set emulators to
• complete knowledge of the DUT (Device under test). The recent EDA (Electronic more extensive and powerful instruction sets, diagnostic programs, interpreters for
o Permits system evaluation in an integrated design environment • Loop unrolling Enables mutual influence of both HW and SW early in the design cycle
Design Automation) tools are capable of deducing how to partition a design into high level languages, and operating system functions. These are the three
o Allows easy migration of system tasks to either hardware or software o Design change management o Provides continual verification throughout the design cycle blocks, and to isolate them by scan- chains. techniques of firmware testing.
• Iterative partitioning techniques • Information hiding o Separate HW/SW development paths can lead to costly
• Built In Self Test (BIST): BIST is best for testing complex system, due to less o Tests the micro program level that considers complete micro programs by
modifications and schedule slippages
o Allow several different designs (HW/SW partitions) to be evaluated • Design families accessibility to internal nets as design complexity increased, has spawned various analyzing their code or investigating the machine states after execution.
• Enables evaluation of larger design space through tool interoperability and design techniques that increases testability. BIST implementations are based on
o Aid in determining best implementation for a system o Tests the microinstruction level that considers single microinstructions by
automation of codesign at abstract design levels full scan architecture. This means that all the storage elements in the DUT analyzing the assignment of micro-operations to them or investigating the
o Partitioning applied to modules to best meet design criteria concatenated to form several scan chains. These way test patterns can be serially
(functionality and performance goals) • Advances in key enabling technologies (e.g., logic synthesis and formal machine states after execution.
methods) make it easier to explore design tradeoffs shifted in and out of the storage elements. BIST requires no interaction with a large,
o Tests the micro-operation level that consider individual micro-operations by
• Integrated modeling substrate expensive external test system. The testing is all built-in and only testers are
monitoring the execution
needed to start the test.
o Supports evaluation at several stages of the design process
INTEGRATION AND TESTING OF EMBEDDED HARDWARE AND FIRMWARE. • The firmware testing is huge and complex task to complete, to overcome this
• There are many tools available for hardware test and hardware diagnose like.
o Supports step-wise development and integration of hardware and software challenge there are some automated tools available.
Hardware Testing o Automatic Test Equipment (ATE)
• Validation Methodology o Firmware Test Suite (fwts): FWTS is a Linux tool that automates firmware
• Hardware testing is to check/ensure the functionality, stability of hardware o Sandra Lite – SiSoftware
o Insures that system implemented meets initial system requirements checking. Tests that are designed to exercise and test different aspects of
component and ensure that it should not have process fault. It also includes the
• To execute load tests, simulate and observe variety of conditions and using or a machine’s firmware – including ACPI, UEFI, hardware configuration,
Cross-fertilization between Hardware and Software Design heavy workload task for memory and CPU to check the performance and durability.
exceeding the amounts of data that could be expected in an actual situation. power- saving and so on.
• Fast growth in both VLSI design and software engineering has raised • Now a day’s hardware design become much complex which demands the methods for Following tools allows to measure different aspects of a system.
awareness of similarities between the two testing to adhere and adapt to the challenges that arise, hence test development
with
IoT Enablers: 7. Connectivity: Connectivity enables network accessibility and compatibility. IOT PROTOCOLS • Management: This block provides various functions to govern the IoT system.
UNIT-3 Accessibility is getting on a network while compatibility provides the common ability
1. RFIDs: uses radio waves in order to electronically track the tags attached • Security: this block secures the IoT system and by providing functions such as
INTRODUCTION to consume and produce data.
to each physical object. authentication, authorization, message and content integrity, and data security.
• Internet of Things (IoT) is the networking of physical objects that contain 2. Sensors: devices that are able to detect changes in an environment (ex: • Application: This is an interface that the users can use to control and monitor
electronics embedded within their architecture in order to communicate and sense motion detectors). PHYSICAL DESIGN OF IOT various aspects of the IoT system. Application also allows users to view the system
interactions amongst each other or with respect to the external environment. In the
3. Nanotechnology: as the name suggests, these are extremely small 1. Things in IoT status and view or analyze the processed data.
upcoming years, IoT-based technology will offer advanced levels of services and
practically change the way people lead their daily lives. Advancements in devices with dimensions usually less than a hundred nanometers. 2. IoT Protocols
medicine, power, gene therapies, agriculture, smart cities, and smart homes are 4. Smart networks: (ex: mesh topology). Things in IoT:
just a very few of the categorical examples where IoT is strongly established.
• Refers to IoT devices which have unique identities that can perform sensing,
• Over 9 billion ‘Things’ (physical objects) are currently connected to the Internet, as of CHARACTERISTICS OF IOT actuating and monitoring capabilities.
now. In the near future, this number is expected to rise to a whopping 20 billion.
1. Interconnectivity: With regard to the IoT, anything can be interconnected with the • IoT devices can exchange data with other connected devices or collect data from other
There are four main components used in IoT: global information and communication infrastructure. devices and process the data either locally or send the data to centralized servers or
cloud – based application back-ends for processing the data.
1. Low-power embedded systems: Less battery consumption, high performance is 2. Things-related services: The IoT is capable of providing thing-related services IoT Protocols-Link Layer-Ethernet
the inverse factors play a significant role during the design of electronic systems. within the constraints of things, such as privacy protection and semantic
2. Cloud computing: Data collected through IoT devices is massive and this data consistency between physical things and their associated virtual things. In order to
has to be stored on a reliable storage server. This is where cloud computing comes provide thing-related services within the constraints of things, both the LOGICAL DESIGN OF IOT
into play. The data is processed and learned, giving more room for us to discover technologies in physical world and information world will change. • In this article we discuss Logical design of Internet of things. Logical design of IoT
where things like electrical faults/errors are within the system. 3. Heterogeneity: The devices in the IoT are heterogeneous as based on different system refers to an abstract representation of the entities & processes without
2. IoT Communication Models:
3. Availability of big data: We know that IoT relies heavily on sensors, especially hardware platforms and networks. They can interact with other devices or service going into the low-level specifies of the implementation. For understanding Logical
real-time. As these electronic devices spread throughout every field, their usage is platforms through different networks. Design of IoT, we describes given below terms. Request-Response Model
going to trigger a massive flux of big data. 4. Dynamic changes: The state of devices change dynamically, e.g., sleeping and 1. IoT Functional Blocks • Request-response model is communication model in which the client sends
4. Networking connection: In order to communicate, internet connectivity is a must waking up, connected and/or disconnected as well as the context of devices requests to the server and the server responds to the requests. When the server
2. IoT Communication Models
where each physical object is represented by an IP address. However, there are including location and speed. Moreover, the number of devices can change receives a request, it decides how to respond, fetches the data, retrieves resource
only a limited number of addresses available according to the IP naming. Due to dynamically. 3. IoT Communication APIs representation, prepares the response, and then sends the response to the client.
the growing number of devices, this naming system will not be feasible anymore. 1. IoT Functional Blocks Request-response is a stateless communication model and each request-
5. Enormous scale: The number of devices that need to be managed and that
Therefore, researchers are looking for another alternative naming system to response pair is independent of others.
communicate with each other will be at least an order of magnitude larger than the • An IoT system comprises of a number of functional blocks that provide the
represent each physical object. devices connected to the current Internet. Even more critical will be the system the capabilities for identification, sensing, actuation, communication • HTTP works as a request-response protocol between a client and server. A web
Generic Block Diagram of an IoT Device browser may be the client, and an application on a computer that hosts a web site
There are two ways of building IoT: management of the data generated and their interpretation for application and management.
purposes. This relates to semantics of data, as well as efficient data handling. • An IoT device may consist of several interfaces for connections to other may be the server.
• Form a separate internetwork including only physical objects. Functional blocks are:
devices, both wired and wireless. • Example: A client (browser) submits an HTTP request to the server; then the server
6. Safety: As we gain benefits from the IoT, we must not forget about safety. As both
• Make the Internet ever more expansive, but this requires hard-core technologies • Device: An IoT system comprises of devices that provide sensing,
the creators and recipients of the IoT, we must design for safety. This includes the • I/O interfaces for sensors returns a response to the client. The response contains status information about
such as rigorous cloud computing and rapid big data storage (expensive). actuation, and monitoring and control functions. the request and may also contain the requested content.
safety of our personal data and the safety of our physical well-being. Securing the
• Interfaces for internet connectivity
endpoints, the networks, and the data moving across all of it means creating a • Communication: Handles the communication for the IoT system.
security paradigm that will scale. • Memory and storage interfaces
• Services: services for device monitoring, device control service, data publishing
• Audio/video interfaces services and services for device discovery.
• Weather monitoring system use WSNs in which the nodes collect temperature Big Data Analytics Communication protocols plan to control the latencies. RTOS defines the way the system works. It sets the • Level-1 IoT systems are suitable for modeling low- cost and low-complexity
humidity and other data which is aggregated and analyzed. rules during the execution of application program. A small scale embedded system solutions where the data involved is not big and the analysis requirements are not
• Big Data analytics is the process of collecting, organizing and analyzing large sets • Communication protocols form the backbone of IoT systems and enable network
may not have RTOS. computationally intensive.
• Indoor air quality monitoring systems use WSNs to collect data on the indoor air of data (called Big Data) to discover patterns and other useful information. Big Data connectivity and coupling to applications. Communication protocols allow devices
quality and concentration of various gases analytics can help organizations to better understand the information contained to exchange data over the network. Multiple protocols often describe different
within the data and will also help identify the data that is most important to the aspects of a single communication. A group of protocols designed to work together
• Soil moisture monitoring system use WSNs to monitor soil moisture at various IOT LEVELS
locations. business and future business decisions. Analysts working with Big Data typically are known as a protocol suite; when implemented in software they are a protocol
want the knowledge that comes from analyzing the data. stack. An IoT system comprises the following components: Device, Resource,
• Surveillance system use WSNs for collecting Surveillance data (such as motion Controller Service, Database, and Web service, Analysis, Component and
detection data)
Some examples of big data generated by IoT systems are described as follows: • Internet communication protocols are published by the Internet Engineering Task Application.
• Sensor data generated by IoT system such as weather monitoring stations. Force (IETF). The IEEE handles wired and wireless networking, and the
• Smart grid use WSNs for monitoring the grid at various points. International Organization for Standardization (ISO) handles other types. The ITU- • Device: An IoT device allows identification, remote sensing, and remote
• Machine sensor data collected from sensors embedded in industrial and energy T handles telecommunication protocols and formats for the public switched monitoring capabilities.
• Structural health monitoring system use WSNs to monitor the health of structures
systems for monitoring their health and detecting Failures. telephone network (PSTN). As the PSTN and Internet converge, the standards are • Resource:
(buildings, bridges) by collecting vibration data from sensor nodes de deployed at
various points in the structure. • Health and fitness data generated by IoT devices such as wearable fitness bands also being driven towards convergence.
o Software components on the IoT device for
You may like also: • Data generated by IoT systems for location and tracking of vehicles • In IoT we used MQTT, COAP, AMQP etc. protocols. You can read in detail by ▪ accessing, processing and storing sensor information,
given below links.
• LiteOS: an IoT operating system and middleware • Data generated by retail inventory monitoring systems ▪ Controlling actuators connected to the device.
• You may like also:
• Contiki OS: The Open Source OS for IoT • Characteristics ▪ Enabling network access for the device.
o IoT Data Protocols
Cloud Computing • Big data can be described by the following characteristics: • Controller Service: Controller service is a native service that runs on the device
o Wireless IoT Network Protocols
• and interacts with the web services. It sends data from the device to the web
Cloud computing is a trans-formative computing paradigm that involves delivering • Volume: The quantity of generated and stored data. The size of the data
applications and services over the Internet Cloud computing involves provisioning o IoT Open Source Development Tools service and receives commands from the application (via web services) for
determines the value and potential insight and whether it can be considered big
of computing, networking and storage resources on demand and providing these data or not. Embedded Systems: controlling the device. • IoT – Level 1 Example : Home Automation System
resources as metered services to the users, in a “pay as you go” model. C loud • Database: Database can be either local or in the cloud and stores the data
• Variety: The type and nature of the data. This helps people who analyze it to As its name suggests, Embedded means something that is attached to another thing. An
computing resources can be provisioned on demand by the users, without embedded system can be thought of as a computer hardware system having software generated by the IoT device.
effectively use the resulting insight. Big data draws from text, images, audio, video;
requiring interactions with the cloud service Provider. The process of provisioning embedded in it. An embedded system can be an independent system or it can be a part
plus it completes missing pieces through data fusion. • Web Service: Web services serve as a link between the IoT device, application,
resources is automated. Cloud computing resources can be accessed over the of a large system. An embedded system is a controller programmed and controlled by a and database and analysis components. It can be implemented using HTTP and
network using standard access mechanisms that provide platform independent • Velocity: In this context, the speed at which the data is generated and processed real-time operating system (RTOS) with a dedicated function within a larger mechanical REST principles (REST service) or using the Web Socket protocol (Web Socket
access through the use of heterogeneous client platforms such as the to meet the demands and challenges that lie in the path of growth and or electrical system, often with real-time computing constraints. It is embedded as part of service).
workstations, laptops, tablets and smart phones. development. Big data is often available in real-time. Compared to small data, big a complete device often including hardware and mechanical parts. Embedded systems
data are produced more continually. Two kinds of velocity related to Big Data are control many devices in common use today. Ninety-eight percent of all microprocessors • Analysis Component: Analysis Component is responsible for analyzing the IoT
Cloud computing services are offered to users in different forms:
the frequency of generation and the frequency of handling, recording, and data and generating results in a form that is easy for the user to understand.
are manufactured to serve as embedded system component.
• Infrastructure as a Service (IaaS): hardware is provided by an external publishing.
An embedded system has three components: • Application: IoT applications provide an interface that the users can use to control
provider and managed for you
• Veracity: It is the extended definition for big data, which refers to the data quality and monitor various aspects of the IoT system. Applications also allow users to
• Platform as a Service (PaaS): in addition to hardware, your operating and the data value. The data quality of captured data can vary greatly, affecting • It has hardware. view the system status and the processed data.
system layer is managed for you the accurate analysis. • It has application software. IoT Level-1
• Software as a Service (SaaS): further to the above, an application layer is • It has Real Time Operating system (RTOS) that supervises the application • A level-1 IoT system has a single node/device that performs sensing and/or
provided and managed for you – you won’t see or have to worry about the first software and provide mechanism to let the processor run a process as per actuation, stores data, performs analysis and hosts the application.
two layers. scheduling by following a
IoT Level-2 IoT Level-3 Vibrations • IoT – Level 4 Example: Noise Monitoring
• A level-2 IoT system has a single node that performs sensing and/or actuation and • A level-3 IoT system has a single node. Data is stored and analyzed in the
local analysis. Data is stored in the cloud and the application is usually cloud- cloud and the application is cloud based.
based.
• Level-3 IoT systems are suitable for solutions where the data involved is big
• Level-2 IoT systems are suitable for solutions where the data involved is big; and the analysis requirements are computationally intensive.
however, the primary analysis requirement is not computationally intensive and
can be done locally
• Web socket service is used because sensor data can be sent in real time. Sound Sensors are used
IoT Level-4
• A level-4 IoT system has multiple nodes that perform local analysis. Data is
stored in the cloud and the application is cloud-based.
• Level-4 contains local and cloud based observer nodes which can subscribe • IoT – Level 5 Example: Forest Fire Detection
and receive information collected in the cloud from IoT devices. • Detect forest fire in early stages to take action while the fire is still controllable.
• Level-4 IoT systems are suitable for solutions where multiple nodes are Sensors measure the temperature, smoke, weather, slope of the earth, wind
required, the data involved is big and the analysis requirements are speed, speed of fire spread, flame length
computationally intensive.
IoT Level-5
• IoT – Level 3 Example: Tracking Package Handling • A level-5 IoT system has multiple end nodes and one coordinator node.
• IoT – Level 2 Example: Smart Irrigation
• The end nodes perform sensing and/or actuation.
• The coordinator node collects data from the end nodes and sends it to the cloud.
• Data is stored and analyzed in the cloud and the application is cloud- based.
• Level-5 IoT systems are suitable for solutions based on wireless sensor networks,
IoT Level-6
in which the data involved is brigand the analysis requirements are computationally
intensive. • A level-6 IoT system has multiple independent end nodes that perform sensing
and/or actuation and send data to the cloud.
• Data is stored in the cloud and the application is cloud-based.
Gyroscope • The analytics component analyzes the data and stores the results in the cloud
Sensors used
database.
Accelerometer sense Gives orientation
• The results are visualized with the cloud-based application.
movement or info
3. Environment • Open Remote is an open source automation platform for smart home and building • The form of the alert can be in form :
that can control various appliances using mobile and web applications. o Signals that send to a fire alarm system
4. Energy Systems
• It comprises of three components: • Gas detector can detect the presence of harmful gases such as carbon monoxide
5. Retail
o A Controller: manages scheduling and runtime integration between devices. (CO), liquid petroleum gas (LPG), etc.
6. Logistics
o A Designer: allows creating both configurations for the controller • Paper: Development of Multipurpose Gas Leakage and Fire Detector with Alarm
7. Industry and user interface designs. System [TIIEC, 2013] designed a system that can detect gas leakage and smoke
8. Agriculture o Control Panel: allows interacting with devices and controlling them. and gives visual level indication.
9. Health & Lifestyle • Paper: An IoT-based Appliance Control System for Smart Home [ICICIP, 2013] 2. Cities
1. Home Automation implemented an IoT based appliance control system for smart homes that uses a • IoT applications for smart
smart- central controller to set up a wireless sensor and actuator network and cities: a). Smart Parking
IoT applications for smart
control modules for appliances.
homes: a). Smart Lighting b). Smart Lighting for
c). Intrusion Detection
• IoT – Level 6 Example: Weather Monitoring System b). Smart Road c). Smart Road
• Home intrusion detection systems use security cameras and sensors to detect
• Sensors used : Wind speed and direction, Solar radiation, Temperature (air, Appliances c). intrusions and raise alerts. d). Structural Health
water, soil), Relative humidity, Precipitation, Snow depth, Barometric pressure, Intrusion Detection Monitoring e). Surveillance
• The form of the alerts can be in form:
Soil moisture
d). Smoke / Gas Detectors f). Emergency Response
o SMS
a). Smart Lighting a). Smart Parking
o Email
• Smart lighting achieves energy savings by sensing the human movements o Image grab or a short video clip as an email attachment • Finding the parking space in the crowded city can be time consuming and frustrating
and their environments and controlling the lights accordingly. • Smart parking makes the search for parking space easier and convenient for driver.
• Papers :
• Key enabling technologies for smart lighting include :
o Could controlled intrusion detection and burglary prevention stratagems in • It can detect the number of empty parking slots and send the information over the
o Solid state lighting (such as LED lights) home automation systems [BCFIC, 2012] present a controlled Internet to the smart parking applications which can be accessed by the drivers
o IP-enabled lights intrusion detection system that uses location-aware services, where the geo- using their smart phones, tablets, and in car navigation systems.
• Paper : • Using cloud-based architectures, multi-modal information such as sensor b). Air Pollution Monitoring o A novel accurate forest fire detection system using wireless sensor networks
d). Structural Health Monitoring data, audio, video feeds can be analyzed I near real-time to detect adverse [International Conference on Mobile Adhoc and Sensor Networks, 2011]
o Design and implementation of a prototype Smart Parking (SPARK) system • IoT based air pollution monitoring system can monitor emission of harmful gases
events. Presented
using WSN [International Conference on Advanced Information Networking and • It uses a network of sensors to monitor the vibration levels in the structures by factories and automobiles using gaseous and meteorological sensors.
a forest fire detection system based on wireless sensor network. The system
Applications Workshop, 2009] designed and implemented a prototype smart such as bridges and buildings. • The alert can be in the form : • The collected data can be analyzed to make informed decisions on pollutions uses multi-criteria detection which is implemented by the artificial neural
parking system based on wireless sensor network technology with features like control approaches.
• The data collected from these sensors is analyzed to assess the health of the o Alerts sent to the public network. The ANN fuses sensing data corresponding to, multiple attributes of
remote parking monitoring, automate guidance, and parking reservation
structures. o Re-rerouting of traffic • Paper: a forest fire such as temperature, humidity, infrared and visible light to detect
mechanism.
• By analyzing the data it is possible to detect cracks and mechanical forest fires.
b). Smart Lighting for Roads o Evacuations of the affected areas o Wireless sensor network for real-time air pollution monitoring [ICCSPA, 2013]
breakdowns, locate the damages to a structure and also calculate the Presented a real time air quality monitoring system that comprises of several e). River Flood Detection
• It can help in saving energy remaining life of the structure. 3. Environment
distributed monitoring stations that communicate via wireless with a backend • IoT based river flood monitoring system uses a number of sensor nodes that
• Smart lighting for roads allows lighting to be dynamically controlled and also • Using such systems, advance warnings can be given in the case of imminent IoT applications for smart server using machine-to machine communication. monitor the water level using ultrasonic sensors and flow rate using velocity
adaptive to ambient conditions. failure of the structure. environments: a). Weather c). Noise Pollution Monitoring sensors.
• Smart light connected to the Internet can be controlled remotely to configure • Paper: Monitoring •
• Noise pollution monitoring can help in generating noise maps for cities. Data from these sensors is aggregated in a server or in the cloud, monitoring
lighting schedules and lighting intensity. applications raise alerts when rapid increase in water level and flow rate is
o Environmental Effect Removal Based Structural Health Monitoring in the b). Air Pollution Monitoring
• It can help the policy maker in making policies to control noise levels near
• Custom lighting configurations can be set for different situations such as a Internet of Things [International Conference on Innovative Mobile and Internet detected.
c). Noise Pollution residential areas, school and parks.
foggy day, a festival, etc. Services in Ubiquitous Computing, 2013] proposed an environmental effect • Papers:
removal based structural health monitoring scheme in an IoT environment. Monitoring d). Forest Fire • It uses a number of noise monitoring stations that are deployed at different
• Paper : o RFMS : Real time flood monitoring system with wireless sensor networks
Detection places in a city.
o Smart Lighting solutions for Smart Cities [International Conference on Advance o Energy harvesting technologies for structural health monitoring applications [MASS, 2008] Described a river flood monitoring system that measures river
[IEEE Conference on Technologies for Sustainability, 2013] Explored energy e). River Flood Detection • The data on noise levels from the stations is collected on servers or in the and weather conditions through wireless sensor nodes equipped with different
Information Networking and Applications Workshop, 2013] described the need
harvesting technologies of harvesting ambient energy, such as mechanical cloud and then the collected data is aggregate to generate noise maps. sensors
for smart lighting system in smart cities, smart lighting features and how to a). Weather Monitoring
develop interoperable smart lighting solutions. vibrations, sunlight, and wind. • Papers :
• It collects data from a number of sensors attached such as temperature, o Urban Flash Flood Monitoring, Mapping and Forecasting via a Tailored Sensor
e). Surveillance o Noise mapping in urban environments: Applications at Suez city center [ICCIE, Network System [ICNSC, 2006] Described a motes-based sensor network for
c). Smart Roads humidity, pressure, etc and sends the data to cloud-based applications and
• Surveillance of infrastructure, public transport and events in cities is required to store back-ends. 2009] presented a noise mapping study for a city which revealed that the city river flood monitoring that includes a water level monitoring module, network
• Smart Roads provides information on driving conditions, travel time estimates and video recorder module, and data processing module that provides floods
ensure safety and security. suffered from serious noise pollution.
alerts in case of poor driving conditions, traffic congestions and accidents. • The data collected in the cloud can then be analyzed and visualized by information n the form of raw data, predict data, and video feed.
• City wide surveillance infrastructure comprising of large number of cloud-based applications. o Sound Of City – Continuous noise monitoring for a health city [PerComW,2013]
• Such information can help in making the roads safer and help in reducing traffic jams 4. Energy
distributed and Internet connected video surveillance cameras can be Designed a Smartphone application that allows the users to continuously
• Information sensed from the roads can be communicated via internet to cloud- • Weather alert can be sent to the subscribed users from such applications.
created. measure noise levels and send to a central server here all generated IoT applications for smart energy
based applications and social media and disseminated to the drivers who • AirPi is a weather and air quality monitoring kit capable of recording and uploading information is aggregated and mapped to a meaningful noise visualization
• The video feeds from surveillance cameras can be aggregated in cloud-based systems: a). Smart Grid
subscribe to such applications. information about temperature, humidity, air pressure, light levels, UV levels, map.
scalable storage solutions.
• Paper: carbon monoxide, nitrogen dioxide and smoke level to the Internet. b). Renewable Energy
d). Forest Fire Detection
• Cloud-based video analytics applications can be developed to search for
o Sensor networks for smart roads [PerCom Workshop, 2006] proposed a patterns of specific events from the video feeds. • Paper: • IoT based forest fire detection system use a number of monitoring nodes
Systems c). Prognostics
distributed and autonomous system of sensor network nodes for improving o PeWeMoS – Pervasive Weather Monitoring System [ICPCA, 2008] deployed at different location in a forest. a). Smart Grids
f). Emergency Response
driving safety on public roads, the system can provide the driver and Presented a pervasive weather monitoring system that is integrated with buses • Each monitoring node collects measurements on ambient condition • Smart grid technology provides predictive information and recommendation s to
passengers with a consistent view of the road situation a few hundred meters • IoT systems can be used for monitoring the critical infrastructure cities such as to measure weather variables like humidity, temperature, and air quality during including temperature, humidity, light levels, etc. utilize, their suppliers, and their customers on how best to manage power.
ahead of them or a few dozen miles away, so that they can react to potential buildings, gas, and water pipelines, public transport and power substations. the bus path
dangers early enough. • Early detection of forest fires can help in minimizing the damage. • Smart grid collect the data regarding :
• IoT systems for critical infrastructure monitoring enable aggregation and
sharing of information collected from lager number of sensors. • Papers: o Electricity generation
o Electricity consumption 5. Retail user preferences to be remembered and learned with time. E.g.: when a user
o Storage moves from one vending machine to the other and pair the smart-phone, the user
IoT applications in smart retail
preference and favorite product will be saved and then that data is used for
o Distribution and equipment health data systems: a). Inventory predictive maintenance.
Management
• By analyzing the data on power generation, transmission and consumption of smart
grids can improve efficiency throughout the electric system. Storage collection b). Smart Payments
and analysis of smarts grids data in the cloud can help in dynamic optimization of c). Smart Vending Machines
system operations, maintenance, and planning.
a). Inventory Management
• Cloud-based monitoring of smart grids data can improve energy usage levels
viaenergy feedback to users coupled with real-time pricing information. • IoT system using Radio Frequency Identification (RFID) tags can help inventory
management and maintaining the right inventory levels.
• Condition monitoring data collected from power generation and transmission
systems can help in detecting faults and predicting outages. • RFID tags attached to the products allow them to be tracked in the real-time so
that the inventory levels can be determined accurately and products which are low
b). Renewable Energy System on stock can be replenished.
• Due to the variability in the output from renewable energy sources (such as • Tracking can be done using RFID readers attached to the retail store shelves or in
solar and wind), integrating them into the grid can cause grid stability and the warehouse.
reliability problems.
• Paper:
• IoT based systems integrated with the transformer at the point of
interconnection measure the electrical variables and how much power is o RFID data-based inventory management of time-sensitive materials [IECON,
fed into the grid 2005] described an RFID data-based inventory management system for time-
sensitive materials
• To ensure the grid stability, one solution is to simply cut off the overproductions.
b). Smart Payments
• Paper:
• Smart payments solutions such as contact-less payments powered technologies
o Communication systems for grid integration of renewable energy resources
such as near field communication (NFC) and Bluetooth.
[IEEE Network, 2011] -provided the closed-loop controls for wind energy
system that can be used to regulate the voltage at point of interconnection • NFC is a set of standards for smart-phones and other devices to communicate with
which coordinate wind turbine outputs and provides reactive power support. each other by bringing them into proximity or by touching them
c). Prognostics • Customer can store the credit card information in their NFC-enabled smart-phones
and make payments by bringing the smart-phone near the point of sale terminals.
• IoT based prognostic real-time health management systems can predict
performance of machines of energy systems by analyzing the extent of deviation • NFC maybe used in combination with Bluetooth, where NFC initiates initial pairing
of a system from its normal operating profiles. of devices to establish a Bluetooth connection while the actual data transfer takes
place over Bluetooth.
• In the system such as power grids, real time information is collected using
specialized electrical sensors called Phasor Measurement Units (PMU) c). Smart Vending Machines
• Analyzing massive amounts of maintenance data collected from sensors in • Smart vending machines connected to the Internet allow remote monitoring of
energy systems and equipment can provide predictions for impending failures. inventory levels, elastic pricing of products, promotions, and contact-less
payments using NFC.
• OpenPDC is a set of applications for processing of streaming time-series data
collected from Phasor Measurements Units (PMUs) in real-time. • Smart-phone applications that communicate with smart vending machines allow
Page 86 Page 87 Page 88