O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Embedded systems

Introduction about Embedded system based on pic 16f877a

  • Entre para ver os comentários

Embedded systems

  1. 1. EMBEDDED SYSTEMS Prepared by G.Manjunathan ME.,
  2. 2. What is general purpose system? • A computer system that can do many functionalities depending on • Available hardware • Installed programs Examples • PCs • Laptops • Servers
  3. 3. 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.
  4. 4. Block Diagram of an Embedded System
  5. 5. 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
  6. 6. Important Units Of Microprocessor/Controller • CPU: Central Processing Unit • I/O: Input /Output • Bus: Address bus & Data bus • Memory: RAM & ROM • Timer • Interrupt
  7. 7. 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
  8. 8. RAM ROM I/O PortTimer 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
  9. 9. Microprocessor Vs Microcontroller
  10. 10. 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
  11. 11. ARCHITECTURE Instruction Set Based CISC & RISC Memory Access Based HARVARD & VON-NUEMANN Architecture
  12. 12. 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
  13. 13. Application areas  Automotive electronics  Aircraft electronics  Trains  Telecommunication 14
  14. 14. Automobiles
  15. 15. Consumer electronics
  16. 16. Industry Automation
  17. 17. Telecommunication
  18. 18. Medical systems
  19. 19. Embedded Medical Equipment
  20. 20. Application areas 22 • Authentication • Military applications • Medical systems
  21. 21. Application areas  Consumer electronics 23 • Smart buildings • Fabrication equipment
  22. 22. Traffic LightDVD player Digital clock Moving message display
  23. 23. 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
  24. 24. 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).
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. 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.
  30. 30. 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.
  31. 31. Embedded System Architecture
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. •LPC2148 (ARM)Manufactured by Philips. •It performs all 32-bit as well as 16- bit operations 32-bit Microcontroller
  37. 37. Select Hardware • Select required hardware components for the systems. • Examples – Transducers – Reactors – Communication protocols – Input and Output interfaces – ADCs
  38. 38. Hardware's required for washing machine
  39. 39. 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
  40. 40. Schematic diagram
  41. 41. Layout format
  42. 42. Software Design
  43. 43. Developments Tools • Assembler • C compiler • Editors • RTOS (Real Time Operating System) • Flash programmer • Simulator
  44. 44. 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
  45. 45. 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; :10002600750B00750C00750D00750E007513FFD26 :1000360083D284D282C287C286C285C281C200C2 :1000460001C202C203C204C205C206C2077514007
  46. 46. Editor
  47. 47. 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
  48. 48. Basic functions of RTOS • Task scheduling • Interrupt handling • Memory management • Task synchronization • Avoid priority inversion • Time management
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. Test prototype product • Multi meter • Oscilloscope • Logic Analyzer • Terminal Emulation software • Simulators & Emulators
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. PIN Diagram
  57. 57. 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.
  58. 58. 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.
  59. 59. 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”.
  60. 60. 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.
  61. 61. ROM Memory Concept
  62. 62. 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.
  63. 63. 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.
  64. 64. 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.
  65. 65. 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.
  66. 66. 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.
  67. 67. 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.
  68. 68. 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
  69. 69. Interrupt System
  70. 70. 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.).
  71. 71. STATUS Register RP1 RP0 Active Bank 0 0 Bank0 0 1 Bank1 1 0 Bank2 1 1 Bank3 0 - 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) 0 - Banks 2 and 3 are active (memory location 100h-1FFh) RP1,RP0 - Bits select register bank. They are used for direct addressing.
  72. 72. PRACTICAL SESSION • Port programming • Seven Segment • LCD