Top Banner
Architektury Architektury počítačů a počítačů a paralelných paralelných systémů systémů Atmega 32 Atmega 32 Zpracoval: Doc. Ing. Lačezar Zpracoval: Doc. Ing. Lačezar Ličev, CSc. Ličev, CSc.
90

Architektury počítačů a paralelných systémů

Dec 30, 2015

Download

Documents

meredith-horne

Architektury počítačů a paralelných systémů. Atmega 32 Zpracoval: Doc. Ing. Lačezar Ličev, CSc. Vlastnosti mikrokontroleru ATmega32. • 8-bitový RISC mikrokontroler . • Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Architektury počítačů a paralelných systémů

Architektury Architektury počítačů a počítačů a

paralelných paralelných systémůsystémůAtmega 32Atmega 32

Zpracoval: Doc. Ing. Lačezar Ličev, Zpracoval: Doc. Ing. Lačezar Ličev, CSc. CSc.

Page 2: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru

ATmega32ATmega32• • 8-bitový RISC mikrokontroler.8-bitový RISC mikrokontroler.

• • Výkon - 16 MIPS/16 MHz - 12x rychlejší než Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci.standardní x51 na stejné taktovací frekvenci.

• • Plně statická funkce. Interní kalibrovaný RC oscilátor.Plně statická funkce. Interní kalibrovaný RC oscilátor.

• • Dvou-cyklová násobička na čipu.Dvou-cyklová násobička na čipu.

• • 131 výkonných instrukcí, většinou jedno-cyklových.131 výkonných instrukcí, většinou jedno-cyklových.

• • 32 osmibitových registrů pro obecné použití.32 osmibitových registrů pro obecné použití.

• • 32kB programová FLASH paměť, programovatelná 32kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, 10.000 přímo v aplikaci s možností uzamknutí, 10.000 zápisových/mazacích, cyklů s volitelnou velikostí zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.bootloader sekce.

Page 3: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru

ATmega32ATmega32• • 1kB EEPROM paměť, 100.000 zápisových/mazacích 1kB EEPROM paměť, 100.000 zápisových/mazacích

cyklů.cyklů.

• • 2kB interní SRAM paměť.2kB interní SRAM paměť.

• • JTAG rozhraní s možností programování a ladění.JTAG rozhraní s možností programování a ladění.

• • 8-kanálový 10-bitový A/D převodník, analogový 8-kanálový 10-bitový A/D převodník, analogový komparátor.komparátor.

• • Bytově orientované sériové rozhraní (TWI).Bytově orientované sériové rozhraní (TWI).

• • Dvě programovatelné USART komunikační rozhraní.Dvě programovatelné USART komunikační rozhraní.

• • Master/slave SPI sériové rozhraní.Master/slave SPI sériové rozhraní.

• • Dva 8-bitové a jeden 16-bitové čítače, s vlastní před-Dva 8-bitové a jeden 16-bitové čítače, s vlastní před-děličkou.děličkou.

Page 4: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru

ATmega32ATmega32• • Dva 8-bitové PWM kanály.Dva 8-bitové PWM kanály.

• • 4 PWM kanálů s programovatelným rozlišením 2-16 4 PWM kanálů s programovatelným rozlišením 2-16 bitů.bitů.

• • Programovatelný Watch-dog časovač s oscilátorem Programovatelný Watch-dog časovač s oscilátorem na čipu.na čipu.

• • Čítač reálného času RTC s odděleným oscilátorem.Čítač reálného času RTC s odděleným oscilátorem.

• • 6 režimů snížené spotřeby.6 režimů snížené spotřeby.

• • 32 programovatelných I/O vývodů.32 programovatelných I/O vývodů.

• • Napájecí napětí 4.5-5.5V.Napájecí napětí 4.5-5.5V.

Page 5: Architektury počítačů a paralelných systémů

ATmega32ATmega32

Page 6: Architektury počítačů a paralelných systémů

Zapojení AVR-KITuZapojení AVR-KITu

Page 7: Architektury počítačů a paralelných systémů

PodporaPodpora

1.1. Pro vývoj aplikací lze použít vývojová Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také prostředí různých výrobců a také systém AVR Studio – volné dostupné systém AVR Studio – volné dostupné na stránkách firmy Atmel.na stránkách firmy Atmel.

2.2. Programování lze provádět volně Programování lze provádět volně dostupný softwarem.dostupný softwarem.

Page 8: Architektury počítačů a paralelných systémů

Po rozbalení archívu Po rozbalení archívu „avr-kit.zip“ vznikne „avr-kit.zip“ vznikne adresář s obsahemadresář s obsahem./avrkit.exe ./avrkit.exe > Program pro programování > Program pro programování

AVR Kitu AVR Kitu

./avr-kit./avr-kit > Skupina projektů pro AVR > Skupina projektů pro AVR Studio5 Studio5

./avrkit ./avrkit > Adresář s knihovnou avrkit> Adresář s knihovnou avrkit

./leds ./leds > Adresář s projektem pro LED > Adresář s projektem pro LED diodydiody

./i2c ./i2c > Adresář s projektem pro > Adresář s projektem pro sběrnici i2csběrnici i2c

./demo ./demo > Adresář s demo projekty> Adresář s demo projekty

Page 9: Architektury počítačů a paralelných systémů

Obsah adresáře - avrkitObsah adresáře - avrkit

./avrkit.c ./avrkit.c > Zdrojový kód knihovny > Zdrojový kód knihovny avrkitavrkit

./avrkit.h ./avrkit.h > Hlavičkový soubor > Hlavičkový soubor knihovny avrkitknihovny avrkit

Page 10: Architektury počítačů a paralelných systémů

Obsah adresáře - ledsObsah adresáře - leds

./leds.avrgccproj > Projekt AVR Studia./leds.avrgccproj > Projekt AVR Studia

./leds.c ./leds.c > Zdrojový kód > Zdrojový kód programu ledsprogramu leds

./Debug ./Debug > Adresář pro výstupní > Adresář pro výstupní souborysoubory

./Release ./Release > Adresář pro výstupní > Adresář pro výstupní souborysoubory

Page 11: Architektury počítačů a paralelných systémů

Obsah adresáře - i2cObsah adresáře - i2c

./i2c.avrgccproj ./i2c.avrgccproj > Projekt AVR Studia> Projekt AVR Studia

./i2c.c ./i2c.c > Zdrojový kód programu > Zdrojový kód programu i2ci2c

./Debug ./Debug > Adresář pro výstupní > Adresář pro výstupní souborysoubory

./Release ./Release > Adresář pro > Adresář pro výstupní souboryvýstupní soubory

Page 12: Architektury počítačů a paralelných systémů

Obsah adresáře - demoObsah adresáře - demo

./demoleds.hex > Demo program pro ./demoleds.hex > Demo program pro LEDkyLEDky

./demo8x8.hex > Demo program pro ./demo8x8.hex > Demo program pro led displejled displej

./demoi2c.hex ./demoi2c.hex > Demo program pro > Demo program pro sbìrnici i2csbìrnici i2c

Page 13: Architektury počítačů a paralelných systémů

ATmega32 - 4 V/V porty ATmega32 - 4 V/V porty (PA, PB, PC a PD)(PA, PB, PC a PD)

Konfigurace portů (A, B, C a D) pomoci Konfigurace portů (A, B, C a D) pomoci registrů:registrů:DDRxDDRx - zápisem log. 1 na konkrétní bit tohoto - zápisem log. 1 na konkrétní bit tohoto registru určíme, že daný pin bude výstupní a pří log. 0 registru určíme, že daný pin bude výstupní a pří log. 0 bude vstupní.bude vstupní.PORTxPORTx - když je pin definovaný jako vstupní a v reg. - když je pin definovaný jako vstupní a v reg. PORTx je definována log.1 je tento pin udržován v PORTx je definována log.1 je tento pin udržován v klidovém stavu na hodnotu 1. Při log. 0 zapsané do klidovém stavu na hodnotu 1. Při log. 0 zapsané do reg. PORTx a když je pin definován jako výstupní reg. PORTx a když je pin definován jako výstupní určuje reg. PORTx log. hodnotu na konkrétním pinu.určuje reg. PORTx log. hodnotu na konkrétním pinu.PINx PINx - - Zapsáním log. 1 na pin tohoto registru nastaví Zapsáním log. 1 na pin tohoto registru nastaví log. 1 na konkrlog. 1 na konkrétním pinu nezávisle na registru DDRx. étním pinu nezávisle na registru DDRx. Pokud je port nastaven jako vstupní lze pomocí Pokud je port nastaven jako vstupní lze pomocí registru PINx zjistit aktuální stav na portu.registru PINx zjistit aktuální stav na portu.

Page 14: Architektury počítačů a paralelných systémů

Postup při programování Postup při programování mikropočítače AVR-KITumikropočítače AVR-KITu

• Aktivace Aktivace BOOTLoaderBOOTLoader - stlačením tlačítka - stlačením tlačítka PIND4, pakPIND4, pak

stlačením a uvolnění tlačítka RESET - procesor stlačením a uvolnění tlačítka RESET - procesor se uvede do módu programování paměti FLASH - se uvede do módu programování paměti FLASH - Sviti LED dioda připojenou na PIND2Sviti LED dioda připojenou na PIND2..

• RestartRestart procesoru - stlačení a uvolnění tlačítka procesoru - stlačení a uvolnění tlačítka RESET. RESET.

• Po ukončení programování program Po ukončení programování program avrkit.exeavrkit.exe zůstává aktivní a je připraven vypisovat data, zůstává aktivní a je připraven vypisovat data, které bude mikropočítač zapisovat na sériový které bude mikropočítač zapisovat na sériový port pomocí funkce port pomocí funkce printfprintf. Nechcete-li tuto funkci . Nechcete-li tuto funkci programu programu avrkit.exeavrkit.exe využívat je ji možné vypnou využívat je ji možné vypnou parametremparametrem -n. -n.

Page 15: Architektury počítačů a paralelných systémů

Programování AVR-KITuProgramování AVR-KITuprogram avrkit.exe (archív program avrkit.exe (archív

avrkit.zip).avrkit.zip). avrkit.exe -havrkit.exe -h• -h show this help-h show this help• -d serial port device (def: 'COM1')-d serial port device (def: 'COM1')• -e erase AVR flash only-e erase AVR flash only• -l list available COM ports-l list available COM ports• -n no terminal mode after programming-n no terminal mode after programming• -s show AVR flash only-s show AVR flash only• -t terminal mode only-t terminal mode only• -v verify AVR flash memory only-v verify AVR flash memory only• -x show HEX file only-x show HEX file only

avrkit.exe -d COM3 demoleds.hexavrkit.exe -d COM3 demoleds.hex

Page 16: Architektury počítačů a paralelných systémů

Architektury Architektury počítačů a počítačů a

paralelných paralelných systémůsystémůCvičení na:Cvičení na:

Atmel EVMS-mega128Atmel EVMS-mega128

Zpracoval: Doc. Ing. Lačezar Ličev, Zpracoval: Doc. Ing. Lačezar Ličev, CSc. CSc.

Page 17: Architektury počítačů a paralelných systémů

Vlastnosti vývojové desky Vlastnosti vývojové desky

• • Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64

• • Pro vytváření programového kódu - Atmel AVR StudioPro vytváření programového kódu - Atmel AVR Studio

• • Napájení:Napájení:

• • Power konektor (např. z wall adapteru)Power konektor (např. z wall adapteru)

• • USB (chráněno SMD tavnou vyměnitelnou pojistkou)USB (chráněno SMD tavnou vyměnitelnou pojistkou)

• • Možnosti programování mikrokontroleru:Možnosti programování mikrokontroleru:

• • ISP či JTAG programovací rozhraní (JTAG ladění ISP či JTAG programovací rozhraní (JTAG ladění kódu)kódu)

• • USB komunikační USB komunikační rozhraní (bootloader-u MCU)rozhraní (bootloader-u MCU)

Page 18: Architektury počítačů a paralelných systémů

Vlastnosti vývojové desky Vlastnosti vývojové desky

Uživatelská rozhraní:Uživatelská rozhraní:• • 4 LED diody4 LED diody

• • 8 tlačítek8 tlačítek

• • Multiplexovaný sedmisegmentový LED display (4 digity)Multiplexovaný sedmisegmentový LED display (4 digity)

• • LCD display (2x 16 znaků, podsvětlený, odnímatelný)LCD display (2x 16 znaků, podsvětlený, odnímatelný)

• • Komunikační rozhraní:Komunikační rozhraní:

• • RS-232 (canon 9 konektor)RS-232 (canon 9 konektor)

• • USB (konektor typu B)USB (konektor typu B)

• • SPI (pinová lišta)SPI (pinová lišta)

• • I2C (pinová lišta)I2C (pinová lišta)

Page 19: Architektury počítačů a paralelných systémů

Vlastnosti vývojové desky Vlastnosti vývojové desky

Ostatní rozhraní:Ostatní rozhraní:

• • 7 univerzálních vstupů/výstupů (pinová lišta)7 univerzálních vstupů/výstupů (pinová lišta)

• • 2 ADC vstupy/výstupu ref. napětí (pinová lišta)2 ADC vstupy/výstupu ref. napětí (pinová lišta)

• • Rozhraní pro připojení externí pamětiRozhraní pro připojení externí paměti

• • Piny umožňující napájení připojených modulů Piny umožňující napájení připojených modulů napětím +5Vnapětím +5V

Page 20: Architektury počítačů a paralelných systémů

Vlastnosti vývojové desky Vlastnosti vývojové desky

Deska dále obsahuje:Deska dále obsahuje:

• • 5V napěťový regulátor5V napěťový regulátor

• • Nastavitelnou napěťovou referenci pro interní AD Nastavitelnou napěťovou referenci pro interní AD

• • Krystal 14.74567MHz v patici - hlavní zdroj hod. signáluKrystal 14.74567MHz v patici - hlavní zdroj hod. signálu

• • Krystal 32.768kHz pro RTCKrystal 32.768kHz pro RTC

• • Piezoměnič bez vlastního budiče (beeper)Piezoměnič bez vlastního budiče (beeper)

• • Trimr pro nastavení kontrastu LCD displejeTrimr pro nastavení kontrastu LCD displeje

• • Resetovací tlačítkoResetovací tlačítko

• • Rozměry desky(v x š x d): 25.0mm x 146.4mm x Rozměry desky(v x š x d): 25.0mm x 146.4mm x 68.0mm68.0mm

Page 21: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru ATmega128-16AI ATmega128-16AI

TQFP64TQFP64• • 8-bitový RISC mikrokontroler.8-bitový RISC mikrokontroler.

• • Výkon - 16 MIPS/16 MHz - 12x rychlejší než Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci.standardní x51 na stejné taktovací frekvenci.

• • Plně statická funkce. Interní kalibrovaný RC oscilátor.Plně statická funkce. Interní kalibrovaný RC oscilátor.

• • Dvou-cyklová násobička na čipu.Dvou-cyklová násobička na čipu.

• • 133 výkonných instrukcí, většinou jedno-cyklových.133 výkonných instrukcí, většinou jedno-cyklových.

• • 32 osmibitových registrů pro obecné použití.32 osmibitových registrů pro obecné použití.

• • 128kB programová FLASH paměť, programovatelná 128kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, 10.000 přímo v aplikaci s možností uzamknutí, 10.000 zápisových/mazacích, cyklů s volitelnou velikostí zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.bootloader sekce.

Page 22: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru ATmega128-16AI ATmega128-16AI

TQFP64TQFP64• • 4kB EEPROM paměť, 100.000 zápisových/mazacích 4kB EEPROM paměť, 100.000 zápisových/mazacích cyklů.cyklů.

• • 4kB interní SRAM paměť.4kB interní SRAM paměť.

• • JTAG rozhraní s možností programování a ladění.JTAG rozhraní s možností programování a ladění.

• • 8-kanálový 10-bitový A/D převodník, analogový 8-kanálový 10-bitový A/D převodník, analogový komparátor.komparátor.

• • Bytově orientované sériové rozhraní (TWI).Bytově orientované sériové rozhraní (TWI).

• • Dvě programovatelné USART komunikační rozhraní.Dvě programovatelné USART komunikační rozhraní.

• • Master/slave SPI sériové rozhraní.Master/slave SPI sériové rozhraní.

• • Dva 8-bitové a dva 16-bitové čítače, s vlastní před-Dva 8-bitové a dva 16-bitové čítače, s vlastní před-děličkou.děličkou.

Page 23: Architektury počítačů a paralelných systémů

Vlastnosti Vlastnosti mikrokontroleru mikrokontroleru ATmega128-16AI ATmega128-16AI

TQFP64TQFP64• • Dva 8-bitové PWM kanály.Dva 8-bitové PWM kanály.

• • 6 PWM kanálů s programovatelným rozlišením 2-16 6 PWM kanálů s programovatelným rozlišením 2-16 bitů.bitů.

• • Programovatelný Watch-dog časovač s oscilátorem Programovatelný Watch-dog časovač s oscilátorem na čipu.na čipu.

• • Čítač reálného času RTC s odděleným oscilátorem.Čítač reálného času RTC s odděleným oscilátorem.

• • 6 režimů snížené spotřeby.6 režimů snížené spotřeby.

• • 53 programovatelných I/O vývodů.53 programovatelných I/O vývodů.

• • Napájecí napětí 4.5-5.5V.Napájecí napětí 4.5-5.5V.

Page 24: Architektury počítačů a paralelných systémů

Podpora Podpora

1.1. Pro vývoj aplikací lze použít vývojová Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také prostředí různých výrobců a také systém AVR Studio – volné dostupné systém AVR Studio – volné dostupné na stránkách firmy Atmel.na stránkách firmy Atmel.

2.2. Programování lze provádět volně Programování lze provádět volně dostupný softwarem.dostupný softwarem.

Page 25: Architektury počítačů a paralelných systémů

Stručný popis Stručný popis

1.1. Vývojový modul obsahuje RISC Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR mikrokontroler vývojové řady AVR firmy Atmel s označením Atmel firmy Atmel s označením Atmel EVMS-mega128. EVMS-mega128.

2.2. Maximálním výkon. Maximálním výkon.

Page 26: Architektury počítačů a paralelných systémů

Atmel EVMS-mega128Atmel EVMS-mega128

Page 27: Architektury počítačů a paralelných systémů

Atmel EVMS-mega128Atmel EVMS-mega128

Page 28: Architektury počítačů a paralelných systémů

Atmel EVMS-mega128Atmel EVMS-mega128

Page 29: Architektury počítačů a paralelných systémů

Atmel EVMS-mega128Atmel EVMS-mega128

Page 30: Architektury počítačů a paralelných systémů

Blokové schémaBlokové schéma

Page 31: Architektury počítačů a paralelných systémů

NapájeníNapájení

Page 32: Architektury počítačů a paralelných systémů

Jumper JP PWRJumper JP PWR

Page 33: Architektury počítačů a paralelných systémů

Sériové rozhraní RS-232Sériové rozhraní RS-232JP UART – 1JP UART – 1

Page 34: Architektury počítačů a paralelných systémů

Význam vývodů Význam vývodů konektoru konektoru

RS 232 (UART)RS 232 (UART)

Page 35: Architektury počítačů a paralelných systémů

Logická vazba mezí Logická vazba mezí tlačítky a MCUtlačítky a MCU

Page 36: Architektury počítačů a paralelných systémů

LED - displayLED - display

Page 37: Architektury počítačů a paralelných systémů

Řídící signály a pozicí Řídící signály a pozicí LED displayLED display

Page 38: Architektury počítačů a paralelných systémů

LCD display a vývody LCD display a vývody MCUMCU

Page 39: Architektury počítačů a paralelných systémů

Vývody ISP a JTAGVývody ISP a JTAG

Page 40: Architektury počítačů a paralelných systémů

Nahrávání programu do Nahrávání programu do MCUMCU

Vlastnosti vývojové desky

Page 41: Architektury počítačů a paralelných systémů

Programování MCUProgramování MCU

Page 42: Architektury počítačů a paralelných systémů

HlavičkaHlavička - 1- 1

;********************************************

; Program : counter 0

; Version : v1.0

; Hardware : atmega128-16ai TQFP64

; Xtall : 14.7456 MHz

; Author :

;********************************************

Page 43: Architektury počítačů a paralelných systémů

HlavičkaHlavička – 2.1– 2.1Evms-mega128 v 1.0 board Evms-mega128 v 1.0 board

congigurationcongiguration;******************************************************************

;Jumpers:

;Power ;depends on power supply used (REG or USB

;VREF ;Don`t care (for example 2.5v)

;LEE ; Don`t care

;UART1 ; Don`t care

;

;Connectors:

;

;

Page 44: Architektury počítačů a paralelných systémů

HlavičkaHlavička – 2.2– 2.2Evms-mega128 v 1.0 board Evms-mega128 v 1.0 board

congigurationcongiguration;******************************************************************

;Connectors:

;LCD display ;Don`t care

;Ext. memory ;Don`t care

;ADC ;Don`t care

;SPI ;Don`t care

;I2C ;Don`t care

;Misc ;Don`t care

;

;

Page 45: Architektury počítačů a paralelných systémů

Sekce includeSekce include

;============;============ Includes Includes ====================

.NOLIST.NOLIST

.include “m128def.inc”.include “m128def.inc”

.LIST.LIST

Page 46: Architektury počítačů a paralelných systémů

Sekce konstantSekce konstant

;===========;=========== Constants Constants ====================

.EQU BaudConst = 7 .EQU BaudConst = 7 ; Baudova ; Baudova rychlostrychlost

.EQU BuffLen = 8 .EQU BuffLen = 8 ; Velikost ; Velikost bufferubufferu

Page 47: Architektury počítačů a paralelných systémů

Sekce pojmenovSekce pojmenováánníí registrregistrůů

;=======;======= Register definitions Register definitions ==================

..defdef ZeroRegZeroReg = r1= r1

.def.def FFRegFFReg = r2= r2

.def.def PDelRegPDelReg = r16= r16

..

..

Page 48: Architektury počítačů a paralelných systémů

Sekce Sekce pamětí pamětí SSRAMRAM

;=========;========= Data Segment Data Segment ====================

..DSEGDSEG

.Var.Var .BYTE 1.BYTE 1 ;1 bytova prom. na adr. ;1 bytova prom. na adr. Var1Var1

.Buffer.Buffer .BYTE .BYTE 88 ;8 bytova prom. na adr. ;8 bytova prom. na adr. BufferBuffer

Page 49: Architektury počítačů a paralelných systémů

Sekce EEPROMSekce EEPROM

;======== EEPROM segment ;======== EEPROM segment ==============

.ESEG.ESEG

ConstArrConstArr .DB.DB 0x00, 0x00 0x00, 0x00 ;definuje ;definuje tabulku tabulku constant 0x00, 0x00 constant 0x00, 0x00 na adrese ConstArr na adrese ConstArr

Page 50: Architektury počítačů a paralelných systémů

Sekce MASekce MAKKERER

;=========== MACROs ;=========== MACROs ====================

.MACRO INC_Z16.MACRO INC_Z16

add ZL, @0add ZL, @0

adc ZH, @1adc ZH, @1

.ENDM.ENDM

Page 51: Architektury počítačů a paralelných systémů

ProgramovProgramováá sekce sekce

;========= ;========= Program segment Program segment ============

.CSEG.CSEG

.org.org 0x00000x0000 ;ur;určení adresyčení adresy

.ldi.ldi TmpReg, 0TmpReg, 0 ;;instrukceinstrukce

CharTabCharTab .db 0x10, 0x02.db 0x10, 0x02 ;;definuje definuje tab.konstanttab.konstant

Page 52: Architektury počítačů a paralelných systémů

AAssembler ssembler ARITHMETIC AND LOGIC INSTRUCTIONS:ARITHMETIC AND LOGIC INSTRUCTIONS: ADD Rd, Rr Add Two Registers Rd ADD Rd, Rr Add Two Registers Rd Rd + Rr Z,C,N,V,H 1 Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd ADC Rd, Rr Add with Carry Two Registers Rd Rd + Rr + C Rd + Rr + C

Z,C,N,V,H 1Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd SUB Rd, Rr Subtract Two Registers Rd Rd - Rr Z,C,N,V,H 1 Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd SUBI Rd, K Subtract Constant from Register Rd Rd - K Rd - K

Z,C,N,V,H 1Z,C,N,V,H 1

…… BRANCH INSTRUCTIONS :BRANCH INSTRUCTIONS : RJMP k Relative Jump PC RJMP k Relative Jump PC PC + k + 1 PC + k + 1 RCALL k Relative Subroutine Call PC RCALL k Relative Subroutine Call PC PC + k + 1 PC + k + 1 RET Subroutine Return PC RET Subroutine Return PC STACK STACK ……

Page 53: Architektury počítačů a paralelných systémů

AAssembler ssembler DATA TRANSFER INSTRUCTIONS:DATA TRANSFER INSTRUCTIONS: LD Rd, Z Load Register Indirect Rd LD Rd, Z Load Register Indirect Rd (Z) (Z) ST Z, Rr Store Register Indirect (Z) ST Z, Rr Store Register Indirect (Z) Rr Rr MOV Rd, Rr Move between Registers Rd MOV Rd, Rr Move between Registers Rd Rr Rr …… BIT AND BIT-TEST INSTRUCTIONS:BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b) SBI P, b Set Bit in I/O Register I/O(P,b) 1 1 CBI P, b Clear Bit in I/O Register I/O(P,b)CBI P, b Clear Bit in I/O Register I/O(P,b) 0 0 LSL Rd Logical Shift Left Rd(n+1) LSL Rd Logical Shift Left Rd(n+1) Rd(n), Rd(0) Rd(n), Rd(0) 0 0

Z,C,N,V 1Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n) LSR Rd Logical Shift Right Rd(n) Rd(n+1), Rd(7) Rd(n+1), Rd(7) 0 0

Z,C,N,V 1Z,C,N,V 1 ……

Page 54: Architektury počítačů a paralelných systémů

Výuková deska EVMS-mega128 Výuková deska EVMS-mega128 v1.0 – Výukové příkladyv1.0 – Výukové příklady

1.0 - LEDs rotating light 01.0 - LEDs rotating light 0

1.1 - LEDs rotating light 11.1 - LEDs rotating light 1

2.0 - Buttons 02.0 - Buttons 0

3.0 - Beeper 03.0 - Beeper 0

3.1 - Beeper 13.1 - Beeper 1

4.0 - LED display 04.0 - LED display 0

5.0 - LCD display 05.0 - LCD display 0

5.1 - LCD display 15.1 - LCD display 1

6.0 - UARTs 06.0 - UARTs 0

Page 55: Architektury počítačů a paralelných systémů

Architektury Architektury počítačůpočítačů

Cvičení na:Cvičení na:

EVM – ATmega8535 v 1.0EVM – ATmega8535 v 1.0

Zpracoval: Doc. Ing. Lačezar Ličev, CSc. Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

Page 56: Architektury počítačů a paralelných systémů

Vlastnosti vývojového Vlastnosti vývojového modulu modulu

1.1. Obsahuje RISC-ový mikrokontroler Obsahuje RISC-ový mikrokontroler Atmel ATmega8535-16JC(JI).Atmel ATmega8535-16JC(JI).

2.2. Programování je možné provádět Programování je možné provádět volně dostupným vývojovým volně dostupným vývojovým softwarem.softwarem.

3.3. Mikrokontroler se programuje přímo Mikrokontroler se programuje přímo na základové desce progr. kabelem.na základové desce progr. kabelem.

4.4. Modul obsahuje 4 sedmi-segmentové Modul obsahuje 4 sedmi-segmentové LED displeje, 8 LED diod a 8 tlačítek.LED displeje, 8 LED diod a 8 tlačítek.

5.5. Modul dále obsahuje odpojitelné Modul dále obsahuje odpojitelné sériové rozhraní RS-232sériové rozhraní RS-232..

Page 57: Architektury počítačů a paralelných systémů

Vlastnosti vývojového Vlastnosti vývojového modulumodulu

6.6. Většina I/O vývodů MCU je přístupná, je Většina I/O vývodů MCU je přístupná, je možné připojit rozšiřující hardware.možné připojit rozšiřující hardware.

7.7. Zdrojem hodinového signálu je krystal Zdrojem hodinového signálu je krystal 14.7456 MHz umístěný v patici.14.7456 MHz umístěný v patici.

8.8. Pro vnitřní RTC obvod mikrokontroleru je Pro vnitřní RTC obvod mikrokontroleru je na desce umistěný odpojitelný krystal na desce umistěný odpojitelný krystal 32.768 kHz.32.768 kHz.

9.9. Mikrokontroler je možné resetovat Mikrokontroler je možné resetovat tlačítkem RESET.tlačítkem RESET.

10.10. Rozměry (v x š x d): 27mm x 114mm x Rozměry (v x š x d): 27mm x 114mm x 74mm74mm

Page 58: Architektury počítačů a paralelných systémů

Vlastnosti mikrokontroleru Vlastnosti mikrokontroleru ATmega8535-16JI ATmega8535-16JI

1.1. 8-bitový RISC mikrokontroler.8-bitový RISC mikrokontroler.2.2. Výkon - 16 MIPS / 16 MHz - 12x Výkon - 16 MIPS / 16 MHz - 12x

rychlejší než standardní x51 na stejné rychlejší než standardní x51 na stejné taktovací frekvenci.taktovací frekvenci.

3.3. Plně statická funkce.Plně statická funkce.4.4. Dvou-cyklová násobička na čipu.Dvou-cyklová násobička na čipu.5.5. 130 výkonných instrukcí, většinou 130 výkonných instrukcí, většinou

jedno-cyklových.jedno-cyklových.

Page 59: Architektury počítačů a paralelných systémů

Vlastnosti mikrokontroleru Vlastnosti mikrokontroleru ATmega8535-16JIATmega8535-16JI

6.6. 32 osmibitových registrů pro obecně 32 osmibitových registrů pro obecně použití.použití.

7.7. 8kB programová FLASH paměť, 8kB programová FLASH paměť, programovatelná přímo v aplikaci s programovatelná přímo v aplikaci s možností uzamknutí, 10.000 možností uzamknutí, 10.000 zápisových/mazacích cyklů.zápisových/mazacích cyklů.

8.8. 512B EEPROM paměť, 100.000 512B EEPROM paměť, 100.000 zápisových/mazacích cyklů.zápisových/mazacích cyklů.

9.9. 512B interní SRAM paměť.512B interní SRAM paměť.10.10. 8-kanálový 10-bitový A/D převodník, 8-kanálový 10-bitový A/D převodník,

analogový komparátor.analogový komparátor.11.11. 4 PWM výstupy.4 PWM výstupy.

Page 60: Architektury počítačů a paralelných systémů

Vlastnosti mikrokontroleru Vlastnosti mikrokontroleru ATmega8535-16JIATmega8535-16JI

12.12. Programovatelný USART.Programovatelný USART.13.13. Master/slave SPI sériové rozhraní.Master/slave SPI sériové rozhraní.14.14. Dva 8-bitové čítače, jeden 16-bitový.Dva 8-bitové čítače, jeden 16-bitový.15.15. Programovatelní Watch-dog časovač.Programovatelní Watch-dog časovač.16.16. Čítač reálného času RTC.Čítač reálného času RTC.17.17. Tři režimy snížení spotřeby: active, Tři režimy snížení spotřeby: active,

idle a power-down.idle a power-down.18.18. 32 programovatelných I/O vývodů.32 programovatelných I/O vývodů.19.19. Napájecí napětí 4.5-5.5VNapájecí napětí 4.5-5.5V

Page 61: Architektury počítačů a paralelných systémů

Použití základové deskyPoužití základové desky

1.1. Výuka mikroprocesorové techniky.Výuka mikroprocesorové techniky.

2.2. Vestavěné řídící systémy (měření, Vestavěné řídící systémy (měření, řízení a regulace).řízení a regulace).

3.3. Komunikace.Komunikace.

4.4. Řízení motorů.Řízení motorů.

Page 62: Architektury počítačů a paralelných systémů

Podpora Podpora

1.1. Pro vývoj aplikací lze použít vývojová Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také prostředí různých výrobců a také systém AVR Studio – volné dostupné systém AVR Studio – volné dostupné na stránkách firmy Atmel.na stránkách firmy Atmel.

2.2. Programování lze provádět volně Programování lze provádět volně dostupný softwarem.dostupný softwarem.

Page 63: Architektury počítačů a paralelných systémů

Stručný popis Stručný popis

1.1. Vývojový modul obsahuje RISC Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR mikrokontroler vývojové řady AVR firmy Atmel s označením firmy Atmel s označením ATmega8535. ATmega8535.

2.2. Maximálním výkon 16MIPS. Maximálním výkon 16MIPS.

Page 64: Architektury počítačů a paralelných systémů

Blokové schémaBlokové schéma

Page 65: Architektury počítačů a paralelných systémů

Rozmístění konektorů a Rozmístění konektorů a propojekpropojek

Page 66: Architektury počítačů a paralelných systémů

NapájeníNapájení

Page 67: Architektury počítačů a paralelných systémů

Vývody rozšiřujících Vývody rozšiřujících konektorůkonektorů

Page 68: Architektury počítačů a paralelných systémů

Význam vývodů Význam vývodů konektorůkonektorů

Page 69: Architektury počítačů a paralelných systémů

Rozšiřující konektory Rozšiřující konektory CONxCONx

Page 70: Architektury počítačů a paralelných systémů

Programovací rozhraní Programovací rozhraní ISPISP

Page 71: Architektury počítačů a paralelných systémů

Používání LED-displayPoužívání LED-display

Page 72: Architektury počítačů a paralelných systémů

RS-232RS-232

Page 73: Architektury počítačů a paralelných systémů

Další použití Další použití

1.1. Používání Používání 8 8 LED diod.LED diod.

2.2. Používání tlačítek.Používání tlačítek.

3.3. Používání 4 sedmi-segmentových Používání 4 sedmi-segmentových LED displejů.LED displejů.

4.4. Používání sériového rozhraní RS-Používání sériového rozhraní RS-232.232.

Page 74: Architektury počítačů a paralelných systémů

Programování MCUProgramování MCU

Page 75: Architektury počítačů a paralelných systémů

HlavičkaHlavička

;********************************************;********************************************

; Program; Program : Counter 0: Counter 0

; Version : v1.0; Version : v1.0

; Hardware; Hardware : EVM-ATmega8535 v1.0: EVM-ATmega8535 v1.0

;; (Xtall(Xtall 14.7456MHz)14.7456MHz)

; Author; Author : :

;********************************************;********************************************

Page 76: Architektury počítačů a paralelných systémů

Short descriptionShort description

;**************************************;****************************************************

; Short description; Short description

; -----------------; -----------------

; Program shows on LED diodes actual ; Program shows on LED diodes actual state of all buttons (button down = state of all buttons (button down = lighting LED).lighting LED).

Page 77: Architektury počítačů a paralelných systémů

Výpis používaných souborůVýpis používaných souborů - - IncludesIncludes

;========== Includes ;========== Includes ======================

.NOLIST.NOLIST

.include.include "m8535def.inc""m8535def.inc"

.LIST.LIST

Page 78: Architektury počítačů a paralelných systémů

Constants Constants

Page 79: Architektury počítačů a paralelných systémů

Register definitions Register definitions

;======== Register definitions ;======== Register definitions ==================

.DEF.DEF ZeroRegZeroReg = r1= r1

.DEF.DEF TmpRegTmpReg = r16= r16

.DEF.DEF DispPosDispPos = r2= r2

.DEF.DEF PDelRegPDelReg = r21= r21

Page 80: Architektury počítačů a paralelných systémů

Data segmentData segment

;=========;=========DDATA segmentATA segment ==================

.DSEG.DSEG

Page 81: Architektury počítačů a paralelných systémů

EEPROM segmentEEPROM segment

;========== EEPROM segment;========== EEPROM segment ==============

.ESEG.ESEG

Page 82: Architektury počítačů a paralelných systémů

MACROMACRO ssegmentegment

;=========== MACROs;=========== MACROs =========== ===========

Page 83: Architektury počítačů a paralelných systémů

PROGRAM segmentPROGRAM segment

;========= PROGRAM segment;========= PROGRAM segment ==============

.CSEG.CSEG

Page 84: Architektury počítačů a paralelných systémů

Interrupt vectorsInterrupt vectors

;**************** Interrupt vectors;**************** Interrupt vectors **************************

.ORG.ORG 0x00000x0000

rjmprjmp RESETRESET ; Reset Handler; Reset Handler

rjmprjmp EXT_INT0EXT_INT0 ; External Interrupt ; External Interrupt … …

rjmprjmp EXT_INT1EXT_INT1 ; External Interrupt ; External Interrupt ……

..

..

Page 85: Architektury počítačů a paralelných systémů

ResetReset

;******************** Reset ;******************** Reset **************************************

.ORG.ORG 0x00150x0015

Reset: clrReset: clr ZeroRegZeroReg

ldildiTmpReg, TmpReg, low(RAMEND) ;Initialize …low(RAMEND) ;Initialize …

outout SPL, TmpRegSPL, TmpReg

..

..

Page 86: Architektury počítačů a paralelných systémů

Unused interrupt vectorsUnused interrupt vectors

;************* Unused interrupt vectors ;************* Unused interrupt vectors ****************************

EXT_INT0:EXT_INT0:

EXT_INT1:EXT_INT1:

TIM2_COM:TIM2_COM:

TIM2_OVF:TIM2_OVF:

TIM1_CAP:TIM1_CAP:

TIM1_COMA:TIM1_COMA:

..

..

SPM_RDY:SPM_RDY: reti reti

Page 87: Architektury počítačů a paralelných systémů

M A I NM A I N

;*********************;********************* M A I NM A I N ********************************************

Main:Main: rcallrcall TestButtonsTestButtons ; ;Call Call subroutine TestButtonssubroutine TestButtons

comcom ButtonsButtons ; Buttons <= ; Buttons <= not(Buttons)not(Buttons)

outout PortC, ButtonsPortC, Buttons ; PortC <= ; PortC <= ButtonsButtons

rjmprjmp MainMain ; Jmp to Main; Jmp to Main

Page 88: Architektury počítačů a paralelných systémů

Podprogram - Podprogram - DelayDelay ;************ Delay (PDelReg[ms]);************ Delay (PDelReg[ms])

******************************** Delay1m:Delay1m: movmov PDelReg2, PDelRegPDelReg2, PDelReg

; PDelReg2<=PDelReg; PDelReg2<=PDelReg ; Repeat; Repeat

Delay1m2:Delay1m2: decdec PDelReg0PDelReg0 ; Dec(PDelReg0); Dec(PDelReg0) brnebrne Delay1m2Delay1m2 ; Until ; Until

PDelReg0 = 0PDelReg0 = 0 decdec PDelReg1PDelReg1 ; Dec(PDelReg1); Dec(PDelReg1) brnebrne Delay1m0Delay1m0 ; Until ; Until

PDelReg2 = 0PDelReg2 = 0 retret

Page 89: Architektury počítačů a paralelných systémů

AAssembler ssembler ARITHMETIC AND LOGIC INSTRUCTIONS:ARITHMETIC AND LOGIC INSTRUCTIONS: ADD Rd, Rr Add Two Registers Rd ADD Rd, Rr Add Two Registers Rd Rd + Rr Z,C,N,V,H 1 Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd ADC Rd, Rr Add with Carry Two Registers Rd Rd + Rr + C Rd + Rr + C

Z,C,N,V,H 1Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd SUB Rd, Rr Subtract Two Registers Rd Rd - Rr Z,C,N,V,H 1 Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd SUBI Rd, K Subtract Constant from Register Rd Rd - K Rd - K

Z,C,N,V,H 1Z,C,N,V,H 1

…… BRANCH INSTRUCTIONS :BRANCH INSTRUCTIONS : RJMP k Relative Jump PC RJMP k Relative Jump PC PC + k + 1 PC + k + 1 RCALL k Relative Subroutine Call PC RCALL k Relative Subroutine Call PC PC + k + 1 PC + k + 1 RET Subroutine Return PC RET Subroutine Return PC STACK STACK ……

Page 90: Architektury počítačů a paralelných systémů

AAssembler ssembler DATA TRANSFER INSTRUCTIONS:DATA TRANSFER INSTRUCTIONS: LD Rd, Z Load Register Indirect Rd LD Rd, Z Load Register Indirect Rd (Z) (Z) ST Z, Rr Store Register Indirect (Z) ST Z, Rr Store Register Indirect (Z) Rr Rr MOV Rd, Rr Move between Registers Rd MOV Rd, Rr Move between Registers Rd Rr Rr …… BIT AND BIT-TEST INSTRUCTIONS:BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b) SBI P, b Set Bit in I/O Register I/O(P,b) 1 1 CBI P, b Clear Bit in I/O Register I/O(P,b)CBI P, b Clear Bit in I/O Register I/O(P,b) 0 0 LSL Rd Logical Shift Left Rd(n+1) LSL Rd Logical Shift Left Rd(n+1) Rd(n), Rd(0) Rd(n), Rd(0) 0 0

Z,C,N,V 1Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n) LSR Rd Logical Shift Right Rd(n) Rd(n+1), Rd(7) Rd(n+1), Rd(7) 0 0

Z,C,N,V 1Z,C,N,V 1 ……