manjunathan1804
4,944 views
77 slides
Jan 12, 2015
Slide 1 of 77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
About This Presentation
Introduction about Embedded system based on pic 16f877a
Size: 14.34 MB
Language: en
Added: Jan 12, 2015
Slides: 77 pages
Slide Content
EMBEDDED SYSTEMS Prepared by G.Manjunathan ME.,
What is general purpose system? A computer system that can do many functionalities depending on Available hardware Installed programs Examples PCs Laptops Servers
What is an Embedded systems ? An embedded system is a special-purpose computer system designed to perform a dedicated function A combination of hardware and software which together form a component of a larger machine.
Block Diagram of an Embedded System
Essential Components Microprocessor / Microcontroller Sensors Converters (A-D and D-A) Actuators Memory (On-chip and Off chip) Communication path with the interacting environment 5
Important Units Of Microprocessor/Controller CPU: Central Processing Unit I/O: Input /Output Bus: Address bus & Data bus Memory: RAM & ROM Timer Interrupt
CPU General-Purpose Micro-processor RAM ROM I/O Port Timer Serial COM Port Data Bus Address Bus General-Purpose Microprocessor System CPU for Computers No RAM, ROM, I/O on CPU chip itself Example--Intel ’ s x86: 8086,8088,80386,80486, Pentium Many chips on mother board General-purpose Microprocessor
RAM ROM I/O Port Timer Serial COM Port Microcontroller CPU A smaller computer. On-chip RAM, ROM, I/O ports... Example:- Motorola ’ s 6811, Intel ’ s 8051 and PIC 16X A single chip Microcontroller
Microprocessor Vs Microcontroller
Microprocessor CPU is stand-alone, RAM, ROM, I/O, timer are separate designer can decide on the amount of ROM, RAM and I/O ports. expensive general-purpose Ex. 8085,8086 mp, Motorola 6800, Intel ’ s 8086, etc. Microcontroller CPU, RAM, ROM, I/O and timer are all on a single chip fix amount of on-chip ROM, RAM, I/O ports for applications in which cost, power and space are critical single-purpose Ex. 8051, PIC mc, Motorola MC’s, Phillips, etc. Microprocessor v/s Microcontroller
Architecture
CISC Vs RISC CISC hardware complexity is high multi clock complex instructions Small codes sizes Transistors used for storing complex instructions pipelining is not possible due to uneven process time RISC hardware complexity is low Single clock Reduced instructions only Low cycles/sec Spends more transistors on memory registers instructions execute in a uniform amount of time (i.e. one clock), pipelining is possible.2444
Application areas Automotive electronics Aircraft electronics Trains Telecommunication 14
Automobiles
Consumer electronics
Industry Automation
Telecommunication
Medical systems
Embedded Medical Equipment
Application areas 22 Authentication Military applications Medical systems
Application areas Consumer electronics 23 Smart buildings Fabrication equipment
Traffic Light DVD player Digital clock Moving message display
Characteristics of Embedded Systems - Dependability Reliability: R(t) = probability of system working correctly provided that it was working at t=0 Maintainability: M(d) = probability of system working correctly d time units after error occurred. Availability: probability of system working at time t Safety: no harm to be caused Security: confidential and authentic communication
Characteristics of Embedded Systems-Efficiency Energy efficient Code-size efficient (especially for systems on a chip) Run-time efficient Weight efficient Cost efficient Dedicated user interface (no mouse, keyboard and screen).
Characteristics of Embedded Systems Many ES must meet real-time constraints: A real-time system must react to stimuli from the controlled object (or the operator) within the time interval. For real-time systems, right answers arriving too early or too late are wrong. An embedded system can be a Hard real-time system Soft real-time system
Hard real-time system In hard real-time systems the tasks should be run in on time , time is major constraints. The response time requirements of hard real-time systems are in the order of milliseconds or less and can result in a catastrophe if not met. Examples for hard real-time systems is Missile Industrial Automation Automobiles video transmission, each picture frame and audio must be transferred at fixed rate
Soft real-time system The response time requirements of soft real-time systems are higher and not very stringent. The soft real-time systems will slow down their response time if the load is very high Examples are DVD Player Mobile phones digital cameras playing robots
Comparison General Purpose Computing Few applications that are known at design-time. Not programmable by end user. Fixed run-time requirements (additional computing power not useful). Criteria: cost power consumption Broad class of applications. Programmable by end user. Faster is better. Criteria: Cost average speed Embedded Systems
Features of Embedded system Embedded Systems are the modern compacted devices with multifunction capabilities. An embedded system performs pre-defined tasks, unlike a general-purpose personal computer. An embedded system is a programmed hardware device. A programmable hardware chip is the platform and it is programmed with particular applications. Embedded systems are not always standalone devices. Many embedded systems consist of small, computerized parts within a larger device that serves a more general purpose.
Features of Embedded system The program instructions written for embedded systems are referred to as firmware, The program stored in read-only memory or Flash memory chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard and/or screen.
Embedded System Architecture
development process of BASIC embedded System 1. Requirements (application) 2. Select microcontroller and H/W 3. Design hardware for your application 4. Write software 5.Write your HEX code to microcontroller 6. Test your proto type product 7. You start your product production
Requirements Gather an informal description from the customers known as requirements. After getting enough information to begin designing the system architecture. Consumers of embedded systems are usually not embedded system designers. Example consider for designing washing machine Less power High efficiency
Select microcontroller Select suitable microcontroller for required system design. Select special purpose processors if needed for the system like DSP processor We can classified like 8 bit microcontroller 16 bit microcontroller 32 bit microcontroller
8 bit microcontroller It can perform 8 bit arithmetic and logical operations. Examples 8051 PIC16XX MB90890 Manufactured by Fujitsu . It performs all 16-bit Data operations 16 bit microcontroller
LPC2148 (ARM)Manufactured by Philips. It performs all 32-bit as well as 16-bit operations 32-bit Microcontroller
Select Hardware Select required hardware components for the systems. Examples Transducers Reactors Communication protocols Input and Output interfaces ADCs
Hardware's required for washing machine
Hardware Design Design printed circuit board using some computer aided design tools Two steps are Design schematic Design corresponding layout Examples Orcad Proteous Express PCB
Schematic diagram
Layout format
Software Design
Developments Tools Assembler C compiler Editors RTOS (Real Time Operating System) Flash programmer Simulator
Assembler It is a software that converts assembly language program to Machine language program understandable by microprocessor MOV A,#CR CALL PUTCHAR MOV A,#LF CALL PUTCHAR RET :10002600750B00750C00750D00750E007513FFD26B :1000360083D284D282C287C286C285C281C200C2EE :1000460001C202C203C204C205C206C20775140079 Assembly program Machine Codes
C cross Compiler It is a software that converts High level language program [ written in C ] to Machine language program understandable by microprocessor C program Machine Codes main() { unsigned int d; int_reg(); int_var(); for(d=0; d < 50000 ;d++) { LCD_PORT=0; } init_lcd(); TR0=1; uputs(0,0,15, "Conveyer System "); 0,15," Version 1.0 "); P0=0; P2=0; :10002600750B00750C00750D00750E007513FFD26B :1000360083D284D282C287C286C285C281C200C2EE :1000460001C202C203C204C205C206C20775140079
Editor
What is Real-Time Operating System (RTOS)? real-time operating system (RTOS) is an operating system that guarantees to perform certain operation (task) within a specified time constraint. Software that manages the time of a microprocessor, microcontroller, or a digital signal processor
Basic functions of RTOS Task scheduling Interrupt handling Memory management Task synchronization Avoid priority inversion Time management
Types of RTOS Hard Real-time RTOS This type operating systems used in hard real-time embedded systems Examples are LynxOS OSE QNX RTLinux VxWorks Windows CE
Types of RTOS Soft real-time operating system This type of operating systems used in soft real-time embedded systems Examples are uCOS-II Android embOS Symbian OS
Flash programmer Flash programmer used to transfer the binary image from personal computer to embedded systems. Separate software are used for this purpose Examples are Flash magic Philips flash utility Win pic Tiny bootloader PC Embedded system Programmer RS232
Test prototype product Multi meter Oscilloscope Logic Analyzer Terminal Emulation software Simulators & Emulators
Features of PIC16F887A RISC architecture Only 35 instructions to learn All single-cycle instructions except branches Operating frequency 0-20 MHz Precision internal oscillator Factory calibrated Power supply voltage 5V Consumption: 220uA (4MHz), 11uA (32 KHz) 50nA (stand-by mode) Power-Saving Sleep Mode
Features Continue.. Brown-out Reset (BOR) with software control option 33 input/output pins 8K ROM memory in FLASH technology Chip can be reprogrammed up to 1,00,000 times In-Circuit Serial Programming Option Chip can be programmed even embedded in the target device 256 bytes EEPROM memory Data can be written more than 1,0,00,000 times 368 bytes RAM memory
Features Continue.. A/D converter: 14-channels 10-bit resolution 3 independent timers/counters Watch-dog timer Analogue comparator module with Two analogue comparators Fixed voltage reference (0.6V) Programmable on-chip voltage reference PWM output steering control Enhanced USART module Supports RS-485, RS-232 and LIN2.0 Auto-Baud Detect Master Synchronous Serial Port (MSSP) supports SPI and I2C mode
PIN Diagram
Pin Description The most pins are multi-functional. The fifth pin specifies the following functions RA3 Port A third digital input/output AN3 Third analog input Vref+ Positive voltage reference C1IN+ Comparator C1positive input trick is often used because it makes the microcontroller package more compact without affecting its functionality. These various pin functions cannot be used simultaneously, but can be changed at any point during operation.
Central Processor Unit (CPU) The CPU is manufactured with RISC technology The CPU can recognizes only 35 simple instructions (In order to program some other microcontrollers it is necessary to know more than 200 instructions by heart). The execution time is the same for all instructions except two. The Jump and Branch instructions execution time is 2 instruction cycles.
CPU Continues.. if the microcontroller’s operating speed is 20MHz, execution time of each instruction will be 200nS, i.e. the program will be executed at the speed of 5 million instructions per second! This microcontroller has three types of memory- ROM, RAM and EEPROM. ROM memory is used to permanently save the program being executed. This is why it is often called “program memory”.
ROM Memory The PIC16F887A has 8Kb of ROM (in total of 8192 locations). This ROM is made with FLASH technology Its contents can be changed by providing a special programming voltage (13V). The program is stored to ICs using simple electronic device called the Programmer.
ROM Memory Concept
EEPROM Memory Similar to program memory, the contents of EEPROM is permanently saved, even the power goes off. However, unlike ROM, the contents of the EEPROM can be changed during operation of the microcontroller. That is why this memory (256 locations) is a perfect one for permanently saving results created and used during the operation.
RAM Memory RAM Memory consists of two parts: general-purpose registers special-function registers (SFR). both groups of registers are cleared when power goes off. Their functions do not have many things in common.
General-Purpose Registers General-Purpose registers are used for storing temporary data and results created during operation. It is necessary to specify the address of some general purpose register and assign it a new function.
SFR Registers Special-Function registers are also RAM memory locations. their purpose is predetermined during manufacturing process and cannot be changed. Since their bits are physically connected to particular circuits on the chip. Any change of their contents directly affects the operation of the microcontroller or some of its circuits. For example, by changing the TRISA register, the function of each port A pin can be changed in a way it acts as input or output.
SFR Registers Continues.. high-level programming language can use the list of all registers with their exact addresses, it is enough to specify the register’s name in order to read or change its contents.
RAM Memory Banks The data memory is partitioned into four banks. Prior to accessing some register during program writing (in order to read or change its contents), it is necessary to select the bank which contains that register. Two bits of the STATUS register are used for bank selecting. the most commonly used SFRs have the same address in all banks which enables them to be easily accessed.
STACK A part of the RAM used for the stack consists of eight 13-bit registers. Before the microcontroller starts to execute a subroutine (CALL instruction) or when an interrupt occurs, the address of first next instruction being currently executed is pushed onto the stack, i.e. onto one of its registers. In that way, upon subroutine or interrupt execution, the microcontroller knows from where to continue regular program execution. This address is cleared upon return to the main program because there is no need to save it any longer
Interrupt System
SFR Registers Continues.. The special function registers can be classified into two categories: Core (CPU) registers. control and monitor operation and processes in the central processor. Peripheral SFRs control the operation of peripheral units (serial communication module, A/D converter etc.).
STATUS Register RP1 RP0 Active Bank Bank0 1 Bank1 1 Bank2 1 1 Bank3 IRP - Bit selects register bank. It is used for indirect addressing. 1 - Banks 0 and 1 are active (memory location 00h-FFh) - Banks 2 and 3 are active (memory location 100h-1FFh) RP1,RP0 - Bits select register bank. They are used for direct addressing. IRP - Bit selects register bank. It is used for indirect addressing. 1 - Banks 0 and 1 are active (memory location 00h-FFh) - Banks 2 and 3 are active (memory location 100h-1FFh) RP1,RP0 - Bits select register bank. They are used for direct addressing.
PRACTICAL SESSION Port programming Seven Segment LCD