Академический Документы
Профессиональный Документы
Культура Документы
Lecture # 1
Embedded System: Definition
• An embedded system is some combination of computer hardware
and software, either fixed in capability or programmable, that is
designed for a specific function or for specific functions within a
larger system.
• E.g. Industrial machines, agricultural and process industry devices,
automobiles, medical equipment, cameras, household appliances,
airplanes, vending machines and toys as well as mobile devices are all
possible locations for an embedded system.
Embedded System Block diagram
Embedded system
Embedded Systems: Design Challanges
• Optimizing the microprocessors, ASIPs and single purpose processors
in the system.
• Optimizing according to the performance, power dissipation, cost and
other design metrics the system.
• Optimizing hardware (memory RAM, ROM or internal and external
flash or secondary memory in the system, peripherals and devices
internal and external to the system, ports and buses in the system
and power source or battery in the system).
Embedded System: Characteristics
• Power consumption : This is a very important factor for all embedded system which are powered by batteries. So the amount of
power will be consumed by the system, which decides the capacity or lifetime of battery.
• Flexibility : The flexibility is the ability to change the functionality of the system without investing additional cost and hence
software is typically considered very flexible as it can be updated at any time with new version.
• Processor power : The embedded systems are controlled by microcontrollers or digital signal processor (DSP). It can handle one or
many specific task which require very powerful processor.
• Operating system : The embedded operating system is needed in embedded system to limit the function depending on the
embedded device and may only run a single application which is crucial to the devices operation. Due to this the operating system
must be reliable and able to run with tight constraints on memory, size, time and processing power.
• Performance : The performance of the system measures by the execution time or throughput the system.
• Memory : The program developed for the embedded systems are treated as firmware and stored in ROM or flash memory chips.
• Size : The embedded system should be small in size as possible. The software is measured in bytes and transistor or IC or gates are
used for hardware.
• Reliability : The embedded system should be much reliable to achieve a better performance for long duration of time during its
complete life cycle.
• Safety : During the system failure, the system should not cause harm to other.
• Correctness : By checking the functionality of system, it indicates the functionality of implemented system is correct or not.
• Maintainability : It is a most important factor of system in which system can be repaired or replaced within a certain time interval.
Embedded System: Classification
• Small scale embedded system
• Medium scale embedded systems
• Sophisticated embedded system
• Real time embedded system
• Stand alone embedded system
• Mobile embedded systems
• Networked Embedded Systems
• Small-scale Embedded Systems
• Normally small scale embedded system is designed by using an 8 bit
microcontroller that may even be activated by a battery.
• For developing embedded software for such system, an editor, assembler or cross
assembler are used for specific microcontroller or processor used in the system.
• Medium-scale Embedded Systems
• The medium scale embedded systems are designed using single or multiple 16 bit
or 32 bit microcontroller or digital signal processors (DSP’s) or reduced instruction
set computer (RISC’s).
• These types of embedded systems have both hardware and software complexities.
• The development tools like real time operating system (RTOS), source code
engineering tools, simulator, debugger and integrated development tools are
required for such complex software design system.
• These software tools also provide the solution for the hardware complexities, so
assembler is used very rarely.
• Sophisticated Embedded Systems
• Sophisticated embedded systems consist of large quantity of hardware and
software complexities hence they may required scalable processors or
configurable processors and programmable logic arrays (PLA’s).
• They are used for cutting-edge applications that need hardware and software Co-
design and components which have to assemble in the final system.
• Real Time Embedded Systems
• Real time embedded system are designed to perform some
specific work in specific time.
• Real time embedded systems are classified into two types such
as soft and hard real time systems.
• Soft real time system: Do not have constraints with time with no
tolerance for error in result
• Hard real time system: Do not have constraints of error in result with no
tolerance in time to generate result.
• Stand-alone Embedded Systems
• These type embedded systems are works in standalone mode in
which input i.e. electrical signals from sensors or keyword or
push button are taken, then processed and produced the
desired output to drive another system such as LED or LCD
display for displaying some meaningful information to user.
• Such stand alone embedded systems are used in mp3 players,
digital cameras, video game consoles, microwave ovens and
temperature measurement systems.
• Mobile Embedded Systems
• Mobile embedded systems are used in portable embedded devices like
mobile phones, tablets, digital cameras, iphones, smart phones and
personal digital assistants etc.
• These systems has some limitation such as memory constrains, small in
size and lack of good user interface such as keyboard and display.
Telecommun-
ications
Secured
Physical Domestic
access
Smart
Cards
Govt.
Banking & Retail
Applications
Case Study: Smart Cards
• Smart Card system technical requirements
• Purpose:
• Enabling authentication and verification of card and card holder by a host.
• Enabling GUI at host machine to interact with the card holder/user for the required
transactions, for example, financial transactions with a bank or credit card transactions.
• Inputs
• Received header and messages at IO port Port_IO from host through the antenna
• Internal Signals, Events and Internal Signals, Events and Notifications
• On power up, radiation-powered charge-pump supply of the card activated and a signal
to start the system boot program at reset-Task.
• Card start request message to input Port (read) from reset-Task.
• Host authentication request message to Port (read) from reset-Task to enable requests
for Port_IO.
• Verification message form
• Card application close request
• Outputs: Transmitted headers and messages at Port_IO through antenna
• Design Metrics
• Power Source and Dissipation: Radiation powered contact less
• Code size: optimum. card system memory needs should not exceed 64 kB memory.
• Limited use of data types; multidimensional arrays, long 64-bit integer and floating points and
very limited use of the error handlers, exceptions, signals, serialization, debugging and profiling.
• File system(s): Three-layered file system for data.
• File management: There is either a fixed length file management or a variable file length
management with each file with a predefined offset.
• Microcontroller hardware: Generates distinct coded physical addresses for the program and data
logical addresses. Protected once writable memory space
• Validity: System is embedded with expiry date, after which the card authorization through the
hosts disables.
• Extendibility: The system expiry date is extendable by transactions and authorization of master
control unit (for example, bank servee).
• Performance: Less than 1s for transferring control from the card to host machine. Process
Deadlines: None.
• User Interfaces: At host machine, graphic at LCD or touch screen display on LCD and commands
for card holder (card user) transactions.
Smart Card: Hardware components
• Microcontroller or ASIP
• RAM for temporary variables and Stack
• OTP ROM for application codes and RTOS codes for scheduling the tasks
• Flash for storing user data, user address, user identification codes, card
number and expiry date
• Timer and interrupt controller
• A carrier frequency generating circuit and ASK modulator
• Interfacing circuit for the IOs.
• Charge pumps for delivering power to the antenna for transmission and for
the system circuits.
Smart Card: Software Components
• Boot-up, initialization and OS program
• Smart card secure file system
• Connection establishment and termination
• Communication with the host
• Cryptography algorithm
• Host authentication
• Card authentication
• Saving addition parameters or recent new data sent by the host(ex-
balance receipt)
Hardware Architecture 85.60 mm x 53.98 x 0.80 mm
Microcontroller
MC68HC11D0 or PIC16C84
or a smart card processor 32 kB EPROM
Philips Smart XA or an ASIP and 2/3 wire
Processor protected
memory
8 kB+