La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

MCU MCU Micro Controller Unit 23/11/2005 – 14/12/2005 Andrea Aizza.

Presentazioni simili


Presentazione sul tema: "MCU MCU Micro Controller Unit 23/11/2005 – 14/12/2005 Andrea Aizza."— Transcript della presentazione:

1 MCU MCU Micro Controller Unit 23/11/2005 – 14/12/2005 Andrea Aizza

2 MCU A. Aizza - 23/11/ Lezione 1 Introduzione ai microcontrollori MCU Microchip PIC16F877 Caratteristiche (prima parte) Set di istruzioni (prima parte) Pratica: come iniziare Hardware: configurazione minima Software: Hello World Tools: programmatore Contenuti

3 MCU A. Aizza - 23/11/ Lezione 2 PIC16F877 Caratteristiche (seconda parte) Set di istruzioni (seconda parte) Semplici tecniche di codifica Tools: Tools: ICD – In Circuit Debugger Compilatore ANSI C per PIC18 Contenuti

4 MCU A. Aizza - 23/11/ Lezione 3 Pratica: esperienza di laboratorio LED + pulsante LED + pulsante + anti-rimbalzo (hardware/software) Misuratore di tensione con indicatore a LED Trasmissione su porta seriale Contenuti

5 MCU A. Aizza - 23/11/ Introduzione ai microcontrollori Microcontrollers: - Use internal RAM and ROM, so the external busses are available for general purpose I/O. Each bit can be assigned as an input or output. - Are generally used in very simple or lowcost designs. - Often have special ports: A/D converters, PWM outputs, USART,...and so on. Microprocessors: - Use external RAM and ROM and require address and data busses to access them. - Are used for designs that require more I/O and memory.

6 MCU A. Aizza - 23/11/ MCU Microchip Harvard Architecture Harvard Architecture Instruction Pipelining Instruction Pipelining Long Word Instructions Long Word Instructions Single Cycle Instructions Single Cycle Instructions Single Word Instructions Single Word Instructions Large Register File Large Register File Reduced Instruction Set Reduced Instruction Set Orthogonal Instruction Set Orthogonal Instruction Set

7 MCU A. Aizza - 23/11/ MCU Microchip - Architecture Traditional Von Neumann Architecture: –Fetches instructions and data from a single memory space –Limits operating bandwidth Harvard Architecture: –Uses two separate memory spaces for program instructions and data –Improved operating bandwidth –Allows for different bus widths X12 = PIC16C5x, PIC12C5xx x14 = PIC16Cxxx, PIC14Cxxx, PIC12C6xx x16 = PIC17Cxxx x16 Enhanced = PIC18Cxxx

8 MCU A. Aizza - 23/11/ MCU Microchip - Pipelining In most micro controllers, instructions are fetched and executed sequentially The pipelined architecture overlaps fetch and execution, making single cycle execution possible Pipelining

9 MCU A. Aizza - 23/11/ MCU Microchip – Long Word Instruction Long Word Instruction Separate instruction/data bus allows different bus widths PIC16 word length optimized to 14- bits Harvard architecture allows single word/single cycle instructions 2k x 16 program memory on PICmicro roughly equivalent to 4k x 8 on other 8-bit microcontrollers Single cycle access increases execution bandwidth

10 MCU A. Aizza - 23/11/ MCU Microchip - Register File Concept Register File Concept Register File Concept: Unlike other RISC processors, all of data memory is part of the register file, so any location in data memory may be operated on directly All peripherals are mapped into data memory as a series of registers Orthogonal Instruction Set: ALL instructions can operate on ANY data memory location The Long Word Instruction format allows a directly addressable register file Function Examples: addwf MyReg,w; WREG = WREG + MyReg addwf MyReg,f; MyReg = WREG + MyReg

11 MCU A. Aizza - 23/11/ PIC16F877 - Caratteristiche Velocita` massima: 20Mhz Fino a 8K words (da 14bit) Pinout compatibile con altri PIC16 Internal timers (8bit e 16bit) PWM (capture, compare) SSP (SPI o IIC) USART PSP (slave) Brown-out detection Caratteristiche principali 10bit A/D converter Brown-out reset Comparatore analogico 256byte internal data EEPROM Oscillatore configurabile ICSP (debug/ICD) Protezione del codice Watch-dog timer Modalita` SLEEP

12 MCU A. Aizza - 23/11/ PIC16F877 - Caratteristiche Caratteristiche principali Descrizione generale Descrizione generale Piedinatura Schema a blocchi Schema a blocchi Oscillatore Reset Configuration Bits Configuration Bits Memoria dati Memoria dati Memoria programma Memoria programma Paging memoria programma Paging memoria programma Registri speciali Registri speciali Convertitore A/D Convertitore A/D Interrupts Manuale completo Manuale completo

13 MCU A. Aizza - 23/11/ PIC16F877 – Set di istruzioni Indirizzamento – Accesso alla Data Memory Diretto: movwf Indiretto: movwfINDF Immediato (literal) movlw

14 MCU A. Aizza - 23/11/ PIC16F877 – Set di istruzioni Indirizzamento – controllo di flusso Assoluto: goto Subroutine: call Istruzioni Skip: btfss,

15 MCU A. Aizza - 23/11/ PIC16F877 – Set di istruzioni Classi di istruzioni: Control, Bit e Byte.

16 MCU A. Aizza - 23/11/ PIC16F877 – Set di istruzioni

17 MCU A. Aizza - 23/11/ Pratica – Configurazione hw minima Alimentazione: +5Vdc (pin 11, 32), 0Vdc (pin 12, 31) Clock: RC (pin 13) Reset: +5Vdc run, 0Vdc reset (pin 1) Schema configurazione hardware minima Configurazione hardware minima

18 MCU A. Aizza - 23/11/ Pratica – Software Software: Hello World Per far funzionare un PIC serve: -Il codice da eseguire caricato nella program memory, -I configuration bits programmati in modo da rispecchiare le caratteristiche hardware. ll file.hex, creato per esempio dallassemblatore a partire dallassembler o da un compilatore+assemblatore a partire dal linguaggio-C, contiene sempre il codice da eseguire assemblato. Puo` anche contenere i configuration bits. In caso contrario i configuration bits possono essere direttamente impostati tramite il programmatore. Il codice da eseguire (e i configuration bits) vengono caricati nellMCU tramite il programmatore.

19 MCU A. Aizza - 23/11/ Pratica – Software Multiple Source File Projects Object File(s) Library File (Collection of Pre-Compiled Object Files) Linker Script File C Source File(s) Assembly Source File(s) Common Object File Format (COFF) Object Module File Map File Used to generate HEX, COD and LST files: mp2cod.exe COD and LST mp2hex.exe HEX Relocatable Code

20 MCU A. Aizza - 23/11/ Pratica – Software Hello World – ASM Software: Hello World Header: LIST P=16F877, F=INHX8M include __CONFIG _CP_ALL & _DEBUG_OFF &... errorlevel -302, -306, -202 radix dec Inizio Codice:ASM – hello.asmASM – hello.asm org 0x00 goto Start org 0x04 gotoISR Codice: Start...

21 MCU A. Aizza - 23/11/ Pratica – Software – documenti utili Suggerimento... Quando si scrive codice ASM e` bene avere a disposizione: 1)Manuale ASM: Quick ASM reference / ASM reference manualQuick ASM reference ASM reference manual 2)Il datasheet del PIC che si sta usandodatasheet del PIC che si sta usando 3)Il circuito per il quale si sta scrivendo il codicecircuito

22 MCU A. Aizza - 23/11/ Pratica – Tools: programmatore Come programmare un PIC? IC-Prog + JDM! Codice in program memory Configuration bits Data EEPROM Read, Write e Verify


Scaricare ppt "MCU MCU Micro Controller Unit 23/11/2005 – 14/12/2005 Andrea Aizza."

Presentazioni simili


Annunci Google