Download Now on Google PlayStore
Kindly Click and View the Online Advertisements while reading the contents around this blog to motivate us to keep continuing the blog updated

Monday, November 4, 2019

Embedded Systems & Overview of Micro Controllers and Embedded Processors

LEARNING OUTCOME
lTo understand how data are represented at the machine level and to appreciate the consequences and limitations of those representations.
lTo master those language-specific that are used more frequently in embedded systems, such as bit manipulation.
lTo obtain a programmer’s view of processor architecture and how programming at the level of  assembly is sometimes necessary or appropriate.


What is an embedded system?

l  An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. An embedded system has specific requirements and performs pre-defined tasks, unlike a general-purpose personal computer.

l  Typically an embedded system consists of a single-board microcomputer with software in ROM, which starts running a dedicated application as soon as power is turned on and does not stop until power is turned off.

l  Its hardware and software can be stand-alone or may form a component of some larger system and is expected to function without human intervention.

l  Embedded systems can respond to events in real-time and range in size from a single processing board to systems with operating systems (Linux, Windows® NT Embedded).




How powerful are embedded processors?


























What programming languages are used in embedded systems?



















Examples of Programming Language Levels

High level Languages C code fragment(70s-80s)
#define const  6
int  num1,num2;
num1 = num2 + const;

Assembler Machine Code (60s-70s)
.define const=6
move.b num1,d0
addq.b #const, d0
move.b d0,num2
.org      1234h
num1:  .byte    [1]
num2:  .byte    [2]

Hex notation(50s-60s)
1038    1234
5C00
1E00    1235

Machine code  (40s-50s)
0001000000111000    0001001000110100
0101110000000000
0001110000000000    0001001000110101


When is assembler appropriate?

  1. Parts of a program where absolute speed is critical.
Ø  More effective use of CPU registers and instruction set, thus producing code that runs faster than that produced by a compiler.

  1. There may be no other way to access a particular feature of the hardware.
Ø  Your C compiler might not provide library functions to access I/O ports or to disable/enable interrupts

Ø  Your compiler might not take advantage of CPU special instructions such as BCD arithmetic, binary-ASCII conversion, table look-ups, high-speed copying of entire blocks of data
         
What is unique about the design goals for embedded software?

l  Reliability
l  Performance
u Multitasking
u Scheduling
l  Cost
l  Flexibility
l  Programmability


What does real-time mean?

Assume the braking system of a car?

Why it is called 'abs'

abs - the automated braking system (automatic brake system)



Minimal response time! If not????????

















Programmable Logic Devices (PLD)

A digital integrated circuit that can be programmed by the user to implement any digital logic function

l  PAL
l  GAL
l  EPLD
l  CPLD
l  FPGA
l  GPP
l  DSP
l  ASIC
l  Microcontroller

What is a  Real-Time Kernel?

l  The kernel is the fundamental part of an operating system. It is a piece of software responsible for providing secure access to the machine's hardware to various computer programs. Since there are many programs, and access to the hardware is limited, the kernel is also responsible for deciding when and how long a program should be able to make use of a piece of hardware.





Use of Real-Time Kernels




















How big are embedded programs?

FAX Machine
u 16-bit processor
u 6 threads
u RAM: 2048 Bytes
         1346 bytes, program (66%)
         250 bytes, Kernel (19%)
u ROM: 32.0KB
         28.8 KB (90%)
         2.5 KB Kernel (8.7%)

CD player
u 8-bit processor
u 9 threads
u RAM 512 Bytes
         384 Bytes, program (75%)
         146 Bytes, Kernel (38%)
u ROM 32.0KB
         17.8 KB (56%)
         2.3 KB  kernel (13%)

Embedded controllers adhere to a philosophy of high integration

Micro-Controller

In a microprocessor-based system, the CPU and the various I/O functions are packed as separate ICs.  























Micro-Processor

In a microprocessor-based system many , if not all, of the I/O functions are integrated into the same package with the CPU 











Advantages of high integration

l  Lower cost
u one part replaces many parts

l  More reliable
u Fewer Packages, fewer interconnects

l  Better performance
u system components are optimised for their environment

l  Faster
u signals stay on chip

l  Lower RF signature
u fast signals don’t radiate from a large PC board










No comments:

Post a Comment