Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Architektury počítačů a paralelných systémů"— Transkript prezentace:

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

2 Vlastnosti mikrokontroleru ATmega32
• 8-bitový RISC mikrokontroler. • Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. • Plně statická funkce. Interní kalibrovaný RC oscilátor. • Dvou-cyklová násobička na čipu. • 131 výkonných instrukcí, většinou jedno-cyklových. • 32 osmibitových registrů pro obecné použití. • 32kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.

3 Vlastnosti mikrokontroleru ATmega32
• 1kB EEPROM paměť, zápisových/mazacích cyklů. • 2kB interní SRAM paměť. • JTAG rozhraní s možností programování a ladění. • 8-kanálový 10-bitový A/D převodník, analogový komparátor. • Bytově orientované sériové rozhraní (TWI). • Dvě programovatelné USART komunikační rozhraní. • Master/slave SPI sériové rozhraní. • Dva 8-bitové a jeden 16-bitové čítače, s vlastní před-děličkou.

4 Vlastnosti mikrokontroleru ATmega32
• Dva 8-bitové PWM kanály. • 4 PWM kanálů s programovatelným rozlišením 2-16 bitů. • Programovatelný Watch-dog časovač s oscilátorem na čipu. • Čítač reálného času RTC s odděleným oscilátorem. • 6 režimů snížené spotřeby. • 32 programovatelných I/O vývodů. • Napájecí napětí V.

5 ATmega32

6 Zapojení AVR-KITu

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

8 Po rozbalení archívu „avr-kit.zip“ vznikne adresář s obsahem
./avrkit.exe > Program pro programování AVR Kitu ./avr-kit > Skupina projektů pro AVR Studio5 ./avrkit > Adresář s knihovnou avrkit ./leds > Adresář s projektem pro LED diody ./i2c > Adresář s projektem pro sběrnici i2c ./demo > Adresář s demo projekty

9 Obsah adresáře - avrkit
./avrkit.c > Zdrojový kód knihovny avrkit ./avrkit.h > Hlavičkový soubor knihovny avrkit

10 Obsah adresáře - leds ./leds.avrgccproj > Projekt AVR Studia
./leds.c > Zdrojový kód programu leds ./Debug > Adresář pro výstupní soubory ./Release > Adresář pro výstupní soubory

11 Obsah adresáře - i2c ./i2c.avrgccproj > Projekt AVR Studia ./i2c.c > Zdrojový kód programu i2c ./Debug > Adresář pro výstupní soubory ./Release > Adresář pro výstupní soubory

12 Obsah adresáře - demo ./demoleds.hex > Demo program pro LEDky
./demo8x8.hex > Demo program pro led displej ./demoi2c.hex > Demo program pro sbìrnici i2c

13 ATmega32 - 4 V/V porty (PA, PB, PC a PD)
Konfigurace portů (A, B, C a D) pomoci registrů: DDRx - zápisem log. 1 na konkrétní bit tohoto registru určíme, že daný pin bude výstupní a pří log. 0 bude vstupní. PORTx - když je pin definovaný jako vstupní a v reg. 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 reg. PORTx a když je pin definován jako výstupní určuje reg. PORTx log. hodnotu na konkrétním pinu. PINx - Zapsáním log. 1 na pin tohoto registru nastaví log. 1 na konkrétním pinu nezávisle na registru DDRx. Pokud je port nastaven jako vstupní lze pomocí registru PINx zjistit aktuální stav na portu.

14 Postup při programování mikropočítače AVR-KITu
Aktivace BOOTLoader - stlačením tlačítka PIND4, pak stlačením a uvolnění tlačítka RESET - procesor se uvede do módu programování paměti FLASH - Sviti LED dioda připojenou na PIND2. Restart procesoru - stlačení a uvolnění tlačítka RESET. Po ukončení programování program avrkit.exe zůstává aktivní a je připraven vypisovat data, které bude mikropočítač zapisovat na sériový port pomocí funkce printf. Nechcete-li tuto funkci programu avrkit.exe využívat je ji možné vypnou parametrem -n.

15 Programování AVR-KITu program avrkit.exe (archív avrkit.zip).
avrkit.exe -h -h show this help -d serial port device (def: 'COM1') -e erase AVR flash only -l list available COM ports -n no terminal mode after programming -s show AVR flash only -t terminal mode only -v verify AVR flash memory only -x show HEX file only avrkit.exe -d COM3 demoleds.hex

16 Architektury počítačů a paralelných systémů
Cvičení na: Atmel EVMS-mega128 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

17 Vlastnosti vývojové desky
• Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64 • Pro vytváření programového kódu - Atmel AVR Studio • Napájení: • Power konektor (např. z wall adapteru) • USB (chráněno SMD tavnou vyměnitelnou pojistkou) • Možnosti programování mikrokontroleru: • ISP či JTAG programovací rozhraní (JTAG ladění kódu) • USB komunikační rozhraní (bootloader-u MCU)

18 Vlastnosti vývojové desky
Uživatelská rozhraní: • 4 LED diody • 8 tlačítek • Multiplexovaný sedmisegmentový LED display (4 digity) • LCD display (2x 16 znaků, podsvětlený, odnímatelný) • Komunikační rozhraní: • RS-232 (canon 9 konektor) • USB (konektor typu B) • SPI (pinová lišta) • I2C (pinová lišta)

19 Vlastnosti vývojové desky
Ostatní rozhraní: • 7 univerzálních vstupů/výstupů (pinová lišta) • 2 ADC vstupy/výstupu ref. napětí (pinová lišta) • Rozhraní pro připojení externí paměti • Piny umožňující napájení připojených modulů napětím +5V

20 Vlastnosti vývojové desky
Deska dále obsahuje: • 5V napěťový regulátor • Nastavitelnou napěťovou referenci pro interní AD • Krystal MHz v patici - hlavní zdroj hod. signálu • Krystal kHz pro RTC • Piezoměnič bez vlastního budiče (beeper) • Trimr pro nastavení kontrastu LCD displeje • Resetovací tlačítko • Rozměry desky(v x š x d): 25.0mm x 146.4mm x 68.0mm

21 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
• 8-bitový RISC mikrokontroler. • Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. • Plně statická funkce. Interní kalibrovaný RC oscilátor. • Dvou-cyklová násobička na čipu. • 133 výkonných instrukcí, většinou jedno-cyklových. • 32 osmibitových registrů pro obecné použití. • 128kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.

22 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
• 4kB EEPROM paměť, zápisových/mazacích cyklů. • 4kB interní SRAM paměť. • JTAG rozhraní s možností programování a ladění. • 8-kanálový 10-bitový A/D převodník, analogový komparátor. • Bytově orientované sériové rozhraní (TWI). • Dvě programovatelné USART komunikační rozhraní. • Master/slave SPI sériové rozhraní. • Dva 8-bitové a dva 16-bitové čítače, s vlastní před-děličkou.

23 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
• Dva 8-bitové PWM kanály. • 6 PWM kanálů s programovatelným rozlišením 2-16 bitů. • Programovatelný Watch-dog časovač s oscilátorem na čipu. • Čítač reálného času RTC s odděleným oscilátorem. • 6 režimů snížené spotřeby. • 53 programovatelných I/O vývodů. • Napájecí napětí V.

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

25 Stručný popis Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením Atmel EVMS-mega128. Maximálním výkon.

26 Atmel EVMS-mega128

27 Atmel EVMS-mega128

28 Atmel EVMS-mega128

29 Atmel EVMS-mega128

30 Blokové schéma

31 Napájení

32 Jumper JP PWR

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

34 Význam vývodů konektoru RS 232 (UART)

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

36 LED - display

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

38 LCD display a vývody MCU

39 Vývody ISP a JTAG

40 Nahrávání programu do MCU
Vlastnosti vývojové desky

41 Programování MCU

42 Hlavička - 1 ;******************************************** ; Program : counter 0 ; Version : v1.0 ; Hardware : atmega128-16ai TQFP64 ; Xtall : MHz ; Author :

43 Hlavička – 2.1 Evms-mega128 v 1.0 board congiguration
;****************************************************************** ;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:

44 Hlavička – 2.2 Evms-mega128 v 1.0 board congiguration
;****************************************************************** ;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 ;

45 Sekce include ;============ Includes ========== .NOLIST
.include “m128def.inc” .LIST

46 Sekce konstant ;=========== Constants ==========
.EQU BaudConst = 7 ; Baudova rychlost .EQU BuffLen = 8 ; Velikost bufferu

47 Sekce pojmenování registrů
;======= Register definitions ========= .def ZeroReg = r1 .def FFReg = r2 .def PDelReg = r16 .

48 Sekce pamětí SRAM ;========= Data Segment ========== .DSEG
.Var .BYTE 1 ;1 bytova prom. na adr. Var1 .Buffer .BYTE 8 ;8 bytova prom. na adr. Buffer

49 Sekce EEPROM ;======== EEPROM segment ======= .ESEG
ConstArr .DB 0x00, 0x00 ;definuje tabulku constant 0x00, 0x00 na adrese ConstArr

50 Sekce MAKER ;=========== MACROs ========== .MACRO INC_Z16 add ZL, @0
adc .ENDM

51 Programová sekce ;========= Program segment ====== .CSEG
.org 0x0000 ;určení adresy .ldi TmpReg, 0 ;instrukce CharTab .db 0x10, 0x02 ;definuje tab.konstant

52 Assembler … ARITHMETIC AND LOGIC INSTRUCTIONS:
ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 BRANCH INSTRUCTIONS : RJMP k Relative Jump PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RET Subroutine Return PC  STACK …

53 Assembler DATA TRANSFER INSTRUCTIONS:
LD Rd, Z Load Register Indirect Rd  (Z) ST Z, Rr Store Register Indirect (Z)  Rr MOV Rd, Rr Move between Registers Rd  Rr BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b)  1 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1

54 Výuková deska EVMS-mega128 v1.0 – Výukové příklady
1.0 - LEDs rotating light LEDs rotating light Buttons Beeper Beeper LED display LCD display LCD display UARTs 0

55 Architektury počítačů
Cvičení na: EVM – ATmega8535 v 1.0 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

56 Vlastnosti vývojového modulu
Obsahuje RISC-ový mikrokontroler Atmel ATmega JC(JI). Programování je možné provádět volně dostupným vývojovým softwarem. Mikrokontroler se programuje přímo na základové desce progr. kabelem. Modul obsahuje 4 sedmi-segmentové LED displeje, 8 LED diod a 8 tlačítek. Modul dále obsahuje odpojitelné sériové rozhraní RS-232.

57 Vlastnosti vývojového modulu
Většina I/O vývodů MCU je přístupná, je možné připojit rozšiřující hardware. Zdrojem hodinového signálu je krystal MHz umístěný v patici. Pro vnitřní RTC obvod mikrokontroleru je na desce umistěný odpojitelný krystal kHz. Mikrokontroler je možné resetovat tlačítkem RESET. Rozměry (v x š x d): 27mm x 114mm x 74mm

58 Vlastnosti mikrokontroleru ATmega8535-16JI
8-bitový RISC mikrokontroler. Výkon - 16 MIPS / 16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Plně statická funkce. Dvou-cyklová násobička na čipu. 130 výkonných instrukcí, většinou jedno-cyklových.

59 Vlastnosti mikrokontroleru ATmega8535-16JI
32 osmibitových registrů pro obecně použití. 8kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích cyklů. 512B EEPROM paměť, zápisových/mazacích cyklů. 512B interní SRAM paměť. 8-kanálový 10-bitový A/D převodník, analogový komparátor. 4 PWM výstupy.

60 Vlastnosti mikrokontroleru ATmega8535-16JI
Programovatelný USART. Master/slave SPI sériové rozhraní. Dva 8-bitové čítače, jeden 16-bitový. Programovatelní Watch-dog časovač. Čítač reálného času RTC. Tři režimy snížení spotřeby: active, idle a power-down. 32 programovatelných I/O vývodů. Napájecí napětí V

61 Použití základové desky
Výuka mikroprocesorové techniky. Vestavěné řídící systémy (měření, řízení a regulace). Komunikace. Řízení motorů.

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

63 Stručný popis Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením ATmega8535. Maximálním výkon 16MIPS.

64 Blokové schéma

65 Rozmístění konektorů a propojek

66 Napájení

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

68 Význam vývodů konektorů

69 Rozšiřující konektory CONx

70 Programovací rozhraní ISP

71 Používání LED-display

72 RS-232

73 Další použití Používání 8 LED diod. Používání tlačítek.
Používání 4 sedmi-segmentových LED displejů. Používání sériového rozhraní RS-232.

74 Programování MCU

75 Hlavička ;******************************************** ; Program : Counter 0 ; Version : v1.0 ; Hardware : EVM-ATmega8535 v1.0 ; (Xtall MHz) ; Author :

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

77 Výpis používaných souborů - Includes
.NOLIST .include "m8535def.inc" .LIST

78 Constants

79 Register definitions ;======== Register definitions =========
.DEF ZeroReg = r1 .DEF TmpReg = r16 .DEF DispPos = r2 .DEF PDelReg = r21

80 Data segment ;=========DATA segment ========= .DSEG

81 EEPROM segment ;========== EEPROM segment ======= .ESEG

82 MACRO segment ;=========== MACROs ===========

83 PROGRAM segment ;========= PROGRAM segment ======= .CSEG

84 Interrupt vectors ;**************** Interrupt vectors *************
.ORG 0x0000 rjmp RESET ; Reset Handler rjmp EXT_INT0 ; External Interrupt … rjmp EXT_INT1 ; External Interrupt … .

85 Reset ;******************** Reset ******************* .ORG 0x0015
Reset: clr ZeroReg ldi TmpReg, low(RAMEND) ;Initialize … out SPL, TmpReg .

86 Unused interrupt vectors
EXT_INT0: EXT_INT1: TIM2_COM: TIM2_OVF: TIM1_CAP: TIM1_COMA: . SPM_RDY: reti

87 M A I N ;********************* M A I N **********************
Main: rcall TestButtons ;Call subroutine TestButtons com Buttons ; Buttons <= not(Buttons) out PortC, Buttons ; PortC <= Buttons rjmp Main ; Jmp to Main

88 Podprogram - Delay ;************ Delay (PDelReg[ms]) ****************
Delay1m: mov PDelReg2, PDelReg ; PDelReg2<=PDelReg ; Repeat Delay1m2: dec PDelReg0 ; Dec(PDelReg0) brne Delay1m2 ; Until PDelReg0 = 0 dec PDelReg1 ; Dec(PDelReg1) brne Delay1m0 ; Until PDelReg2 = 0 ret

89 Assembler … ARITHMETIC AND LOGIC INSTRUCTIONS:
ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 BRANCH INSTRUCTIONS : RJMP k Relative Jump PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RET Subroutine Return PC  STACK …

90 Assembler DATA TRANSFER INSTRUCTIONS:
LD Rd, Z Load Register Indirect Rd  (Z) ST Z, Rr Store Register Indirect (Z)  Rr MOV Rd, Rr Move between Registers Rd  Rr BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b)  1 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1


Stáhnout ppt "Architektury počítačů a paralelných systémů"

Podobné prezentace


Reklamy Google