Upload
peeyushkp
View
13
Download
5
Embed Size (px)
Citation preview
2
What is an Embedded System?
Consumer Electronics
Automobile
Household Appliances
Communication
Office Equipments
Avionics
System in which software is embedded into the hardware ( firmware).
The core part of the system will be a programmable device.
What is an Embedded system?
4
Automotive Embedded Systems Today’s high-end automobile have > 80
microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine. Millions lines of code
Reduced number of components. Reduced size. Reduced cost. Reduced power consumption. Easier upgradation. Easier troubleshooting & maintenance. Best suited for specific controlling applications.
Why Embedded systems?
Why uC? Microprocessor:
• Requires ‘external’ support hardware• E.g., External RAM, ROM, Peripherals.
• Application:Processing-Arithmetic,logic operations. Microcontroller:
• Very little external support hardware/Stand alone.• Most RAM, ROM and peripherals on chip.• “Computer on a chip”, or “System on chip” (SOC)
• E.g., PIC = Peripheral Interface Controller• Application: Controlling purposes.
VARIOUS MICROCONTROLLERS 8 bit microcontrollers
Microchip - PIC 12 & 16 Series. Atmel - 89c51 Intel - 8051 Motorola - 68HCxx series
16 bit microcontrollers Microchip - PIC 18 series
32 bit microcontrollers ARM Processors
DSP based microcontrollers Shark
RISC vs. CISC
Reduced Instruction Set Computer (RISC) Used in: SPARC, ALPHA,
Atmel AVR, etc. Few instructions
(usually < 50) Only a few addressing
modes Executes 1 instruction in 1
internal clock cycle (Tcyc)
Complex Instruction Set Computer (CISC) Used in: 80X86, 8051,
68HC11, etc. Many instructions
(usually > 100) Several addressing modes Usually takes more than 1
internal clock cycle (Tcyc) to execute
WHY PIC ?
PICs use the Harvard Architecture PICs and most Harvard chips are “RISC” 35 Instructions Executes 1 instruction in 1 internal clock cycle In-Circuit Serial Programmable (ICSP) – via two pins. Available in different packages
Features
Power On Reset Timer Oscillator Startup Timer WatchDog Timer Sink/Source Current – 25ma Flash Programming
The PIC Family: Cores
PICs come with 1 of 3 CPU ‘cores’:The Base-line : 12bit cores with 33 instructions. Eg:12C50x, 12C67xThe Mid-Range : 14bit cores with 35 instructions. Eg:16C5x,16CxxxThe High-End : 16bit cores with 58 instructions. Eg:17C4x,17C7xx‘Enhanced’ 16bit cores with 77 instructions: 18Cxxx
Areas of Application. Base-line
Inexpensive controllers, glue logic, simple tasks. E.g., quadrature decoding, digital interfacing.
Mid-range Multitasking programs, serial communication. E.g., Cheap data acquisition system and digital I/O
system for PC off COM ports, data logging. High-end
RTOS, low end DSP, communications, big moosey applications.
E.g., FEC converter, Rocket Flight Computer, cheap FFT chip.
Program Memory (ROM)-size
PIC program space is different for each chip.
Some examples are:
12C508 512 12bit instructions16C71C 1024 (1k) 14bit instructions16F877 8192 (8k) 14bit instructions17C766 16384 (16k) 16bit instructions
Program Memory (ROM)-types
PICs have two different types of program storage:
EPROM (Erasable Programmable Read Only Memory)Needs high voltage from a programmer to program (~13V)Needs windowed chips and UV light to eraseNote: One Time Programmable (OTP) chips are EPROM chips, but with no glass window. ( ‘CR’ )PIC Examples: Any ‘C’ part: 12C50x, 17C7xx, etc.
Program Memory (ROM)-types.
FLASHRe-writable (even by chip itself)Much faster to develop on! Finite number of writes (~100k Writes)PIC Examples: Any ‘F’ part: 16F84, 16F87x, 18Fxxx (future)
Data Memory (RAM-volatile)
PICs use general purpose “file registers” for RAM (each register is 8bits for all PICs)
Some examples are:12C508 25 Bytes RAM16C71C 36 Bytes RAM16F877 368 Bytes17C766 902 Bytes RAM
Data Memory (EEPROM non-volatile)
For permanent storage of data. Available in few PICs only. Eg:16F8X,12CE5XX,16F87X
SpeedPICs require a clock to work.
Can use crystals, clock oscillators, or even an RC circuit.Some PICs have a built in 4MHz RC clock- Not very accurate, but requires no external components!Instruction speed = 1/4 clock speed (Tcyc = 4 * Tclk) All PICs can be run from DC to their maximum spec’d speed:
12C50x 4MHz12C67x 10MHz16Cxxx 20MHz17C4x /17C7xxx 33MHz18Cxxx 40MHz
PeripheralsDifferent PICs have different on-board peripherals
Some common peripherals are: Tri-state (“floatable”) digital I/O pins. Analog to Digital Converters (ADC) (8, 10 and
12bit, 50ksps). Serial communications: UART (RS-232C), SPI, I2C,
CAN. Pulse Width Modulation (PWM) (10bit). Timers and counters (8 and 16bit). Watchdog timers, Brown out detect, LCD drivers.
Packages
PICs come in a huge variety of packages:
8 pin DIPs, SOICs: 12C50x (12bit) , 12C67x (14bit)18pin DIPs, SOICs: 16C5X (12bit), 16Cxxx (14bit)28pin DIPs, SOICs: 16C5X (12bit), 16Cxxx (14bit)40pin DIPs, SOICs: 16Cxxx (14bit), 17C4x (16bit)44 - 68pin PLCCs*: 16Cxxx (14bit), 17Cxx (16bit)
Commonly used mid range series PICs
The 16F8x series- 16F84. The 16F7x series- 16F73,74,76,77. The 16F87x series- 16F873, 874,876,877.
Comparison of Commonly Used Mid range series of PIC
11NoSSP/SPI/I2CYesYesNoInterrupt on Pin Change
11NoUSART/SCI
8bit X 2 + 16bit X 18bit X 2 + 16bit X 18bit X 1Timers22NoCCP modules
10bit8bitNoADC
882Stack levelsYesNoYesData EEPROM
200ns200ns400ns20MHz20MHz10MHz
Operating SpeedClock input
Instruction cycle
87X7X16f8X
Comparison of Commonly Used Mid range series of PIC
YesYesYesYesNoNoBOR
8585NANAADC channels
YesNoYesNoNoNoPSP
2562561281286464EEPROM
36 B
512 B
13
A,B
18
83
368 B368 B192 B192 B 68 BData m/y
8 KB8 KB4 KB4 KB1 KBProg. m/y
3322332213I/O Pins
A,B,C,D,EA,B,CA,B,C,D,EA,B,CA,BI/O Ports
4028402818Total pins
77/87776/87674/87473/87384
PIC16F877A Block Diagram
Instruction Bus
Most important register in
the PIC
Must be involved in all
arithmetic operations
Data Bus
Data Memory
Instruction Memory
PIC16F877A Memory The PIC16F877A has an 8192 (8k) 14bit instruction
program memory
368 Bytes Registers as Data Memory :Special Function Registers: used to control peripherals
and PIC behaviorsGeneral Purpose Registers: used to a normal
temporary storage space (RAM)
256 Bytes of nonvolatile EEPROM
INSTRUCTION SET1) Move Literal Value To Work Register
Syntax : MOVLW <LITERAL>Eg: MOVLW 0X02
2) Move Content of Work Reg. To File Reg. Syntax : MOVWF <FILE REG>Eg : MOVWF PORTA
3) Move Content of File Reg. To Desti.Syntax : MOVF <FILE REG>,<DESTI.>Eg : MOVF PORTA,0Eg : MOVF PORTA,1
INSTRUCTION SET1) Bit Set File Register
Syntax : BSF <File Reg>,<Bit>Eg: BSF PORTA,1
2) Bit Clear File RegisterSyntax : BCF <File Reg>,<Bit>Eg : BCF PORTA,1
INSTRUCTION SET1) Bit Test File Register Skip if Set
Syntax : BTFSS <File Reg>,<Bit>Eg: BTFSS PORTA,1
2) Bit Test File Register Skip if ClearSyntax : BTFSC <File Reg>,<Bit>Eg : BTFSC PORTA,1
INSTRUCTION SET1) Decrement File Register Skip if Zero
Syntax : DECFSZ <File Reg>,<Desti.>Eg: DECFSZ COUNT,1
2) Increment File Register Skip if ZeroSyntax : INCFSZ <File Reg>,<Desti.>Eg : INCFSZ COUNT,1