29
PIC mikrovezérlők PIC mikrovezérlők Mersich András [email protected] Ajánlott irodalom: •www.microchip.com •http://www.mit.bme.hu/oktatas/targyak/vimm4133/jegyzet/ gkp12.pdf •Kónya László: PIC mikrovezérlők alkalmazástechnikája

PIC mikrovezérlők

  • Upload
    abby

  • View
    71

  • Download
    5

Embed Size (px)

DESCRIPTION

PIC mikrovezérlők. Mersich András [email protected]. Ajánlott irodalom: www.microchip.com http://www.mit.bme.hu/oktatas/targyak/vimm4133/jegyzet/gkp12.pdf Kónya László: PIC mikrovezérlők alkalmazástechnikája. A PIC mikrovezérlő család. Architektúra alapok. - PowerPoint PPT Presentation

Citation preview

Page 1: PIC mikrovezérlők

PIC mikrovezérlőkPIC mikrovezérlők

Mersich Andrá[email protected]

Ajánlott irodalom:

•www.microchip.com

•http://www.mit.bme.hu/oktatas/targyak/vimm4133/jegyzet/gkp12.pdf

•Kónya László: PIC mikrovezérlők alkalmazástechnikája

Page 2: PIC mikrovezérlők

A PIC mikrovezérlő család

Page 3: PIC mikrovezérlők

Harvard architektúra: program és adatmemória külön12+ bites instruction és 8 bites data12+ bit instr. single-word instr.

RISC

Ortogonális utasításkészlet: minden regiszterre ugyanaz végezhető

1 program utasítás = 2 utasítás ciklus (fetch+execute) = 4 órajel

Pipeline: minden utasítás (kivéve ugrás) egy utasításciklus alatt

Architektúra alapok

Page 4: PIC mikrovezérlők

Memória szervezésProgram memória

Adat memória

•Csak egyetlen interrupt vektor (PIC18 alatt), az ISR-nek kell eldöntenie, mi okozta.

•Az IT flag akkor is beáll, ha az IT nincs engedélyezve!!!

Page 5: PIC mikrovezérlők

Portok A WR-RD nem ugyanarra vonatkozik. Íráskor a PORT latchbe írunk, míg olvasáskor a láb állapotát olvassuk vissza. A kettő megegyezik, ha a port kimenet, egyébként nem biztos.

A bitműveletek mind READ-MODIFY-WRITE jellegűek (BCF,BSF). Előbb olvassa mind a 8 bitet, aztán elvégzi az adott bit módosítását, majd a teljes 8 bitet visszaírja.Mellékhatás lehetséges, pl.:PORTB=11100000TRISB =10100000 (be,ki,be,ki,ki,…)a bemeneti lábak állapota

=1x0xxxxx

BCF PORTB,7 utasítás hatása:read port=1100000clr bit6 =1000000write port=1000000 (bit5 nullázódott)

Page 6: PIC mikrovezérlők

Baseline flash PICÁltalános tulajdonságok:

•flash program memória

•baseline core:33 db 12 bites utasítás, 2 rétegű HW stack

•low power (100nA) sleep current

•25mA source/sink current I/O

•8 bites timer (TMR0)

•watchdog timer (WDT)

•In Circuit Serial Programming (ICSP)

•Short Device Reset Timer, 1.125ms (DRT): csak PIC10F220/222, PIC12F510 és PIC16F506

Page 7: PIC mikrovezérlők

Baseline flash PICs

Page 8: PIC mikrovezérlők

Baseline Architecture

Page 9: PIC mikrovezérlők

•Logic controlDelays, smart gates, signal conditioning, simple state machines, encoders/decoders and peripheral logic functions

•MechatronicsReplace traditional mechanical functions: smart switches, mode selectors, remote I/Os, timers, LED flashers

•Waveform generation

•Intelligent disposable electronicsBlood sugar / drug tester, package monitoring, property identification

Unique baseline PIC applications•„Electronic glue”Bug fixes and last-minute changes (signal inversion, timing delays, …) to avoid costly and time-consuming silicon redesign.

Page 10: PIC mikrovezérlők

Mid-range flash PICÁltalános tulajdonságok:

•flash program memória

•mid-range core:35 db 14 bites utasítás, 8 rétegű HW stack

•low power (100nA) sleep current

•25mA source/sink current I/O

•1 db 16 bites timer (TMR1)

•2 db 8 bites timer (TMR0/2)

•watchdog timer (WDT)

•hardware interrupt

•In Circuit Serial Programming (ICSP)

Page 11: PIC mikrovezérlők

Mid-rangeflash PICs

ECCP: Enhanced

Capture/Compare/PWM

Page 12: PIC mikrovezérlők

PIC16F873 block diagram

Page 13: PIC mikrovezérlők

PIC16F877register file8 bites data memory RAM

Lényeges:

Indirect addr. (INDF), FSRSTATUSPCL, PCLATHPORTA, TRISA

Page 14: PIC mikrovezérlők

Status register

Address: 03h, 83h, 103h, 183h

Nincs negative és overflow flag

Page 15: PIC mikrovezérlők

Register bank select

RAM törlése 20h-2Fh indirekt címzéssel:

Page 16: PIC mikrovezérlők

PIC16F877 program memória

Program memória 2k-s page-ekben (11 bit)

Egyetlen interrupt vektor

8 szintű HW stack

Page 17: PIC mikrovezérlők

Program memory pagingTable read, computed goto:ha túllépünk 256-on, PCLATH-et növelni!

CALL, GOTO: PCLATH!RETURN, RETFIE: teljes 13 bit stackről

Page1-ben lévő subrutin hívása page0-ból:

Page 18: PIC mikrovezérlők

Stack•8 szintű, 13 bites HW stack

•stack pointer nem írható és nem olvasható

•CALL és interrupt hatására PC PUSH

•RETURN, RETLW, RETFIE hatására PC POP

•cirkuláris buffer, NINCS stack overflow flag

•nincs általános PUSH, POP utasítás

Page 19: PIC mikrovezérlők

Instruction format7 bit file reg. addr.: regiszter bank mérete 128 bytepl.: INCF FSR,f

11 bit goto: 2k program memory page

Regiszternek direkt nem adható érték, csak W-n keresztül.pl.: MOVLW 0x13

pl.: BCF PORTB,7

Page 20: PIC mikrovezérlők

PIC18Általános tulajdonságok:

•10-16 MIPS, 128kbyte program memória, 18-100 pin

•16 bites program utasítások

•self programming flash

•2 szintű IT: high/low priority

•széles integrált periféria választékIntegrated full-speed USB 2.0

pl. PIC18F4550 és PIC18F4450

3V general purpose portfolio

PIC18FxxJ1x

Integrated ethernet microcontroller

pl. PIC18F97J60

Page 21: PIC mikrovezérlők

ProgramozásMPLAB ICD 2In-circuit debugger/programmer

MPLAB REAL ICETM

In-circuit emulation system

MPLAB PM3Device programmer

In-circuit Serial Programming (ICSP):

MCLR=13V !!!

Low voltage ICSP: RB3/PGM pin dedikált

Free ICSP: ICProg

Page 22: PIC mikrovezérlők

Microchip vagy Atmel?több regiszter bank nem kell bankolni

csak 1 interrupt vektor minden interrupt-forrásnak saját vektor

HW stack SW stack

programozáskor MCLR = 13V simple ICSP

alkalmazásra optimalizált széles paletta

univerzális felépítás

GCC nem támogatjaMicrochip C

free, open source C compilerGCC, WinAVR

olcsóbbOTP memória

drágább

iparban elterjedtebb iparban kevésbé alkalmazott

Page 23: PIC mikrovezérlők

16-bites mikrokontrollerek (MCU)PIC24F: highly cost-effective

PIC24H: highest performanceÁltalános tulajdonságok:

•16-bites módosított Harvard RISC architektúra

•tápfeszültség: 3-3.6V

•műveleti sebesség: 16 MIPS (PIC24F), 40 MIPS (PIC24H)

•flexibilis interrupt szerkezet, processzor exception és software trap

•kommunikációs modulok: SPI, I2C, UART, CAN

•timerek

•real time clock & calendar (RTCC)

•ADC

•JTAG, ICSP, in-circuit emulation

•CodeGuardTM

•RTOS: CMX-RTX: preemptive, multitasking OS CMX-Tiny+ CMX-Scheduler: free

Page 24: PIC mikrovezérlők

PIC24Hblokk diagram

•16 bites adat

•71 db 24 bites utasítás

•software stack

•16x16 szorzás

•16/16 és 32/16 osztás

•DMA

•flexibilis és determinisztikus IT (latency 5 ciklus)

•A+B=C egyetlen ciklusban

Page 25: PIC mikrovezérlők

16-bit Digital Signal Controllers (DSC)

dsPIC30: versatile, 5V, 30MIPS

dsPIC33F: high performance, cost-effective, 3.3V, 40MIPS

dsPICworksTM Data Analysis and DSP Software

Digital Filter Design Tool

Noise Suppression Library

Acoustic Echo Cancellation Library

TCP/IP Protocol Stack

Soft Modem Libraries

Encryption Libraries

FAT16 File System

Motor Control Application Software

Page 26: PIC mikrovezérlők

dsPIC33Fblokk diagram

•16 bites adat

•83 db 24 bites utasítás

•software stack

•2 db 40 bites akkumulátor

•16x16 szorzás

•16/16 és 32/16 osztás

•single-cycle multiply and accumulate (MAC)

•flexibilis és determinisztikus IT (latency 5 ciklus)

•DMA

Page 27: PIC mikrovezérlők

PIC33FDSP engine

•17-bit x 17-bit multiplier

•barrel shifter

•40-bit adder/subtracter

•2 accumulators

Page 28: PIC mikrovezérlők

Tipikus DSP feladatok

FIR szűrő, konvolúció(súlyozott mozgó átlag):

FFT:

Page 29: PIC mikrovezérlők

CodeGuardTM

IP: Intellectual Property

ODM/OEM: Original Device/Equipment Manufacturer

VAR: Value-Added Reseller

Egy processzor erőforrásainak (memória, IT, perifériák) biztonságos megosztása különböző felhasználók között.