Title: Architektury poc
1Architektury pocÃtacu a paralelných systému
- Atmega 32
- Zpracoval Doc. Ing. Lacezar Licev, CSc.
2Vlastnosti mikrokontroleru ATmega32
- 8-bitový RISC mikrokontroler.
- Výkon - 16 MIPS/16 MHz - 12x rychlejšà než
standardnà x51 na stejné taktovacà frekvenci. - Plne statická funkce. Internà kalibrovaný RC
oscilátor. - Dvou-cyklová násobicka na cipu.
- 131 výkonných instrukcÃ, vetÅ¡inou
jedno-cyklových. - 32 osmibitových registru pro obecné použitÃ.
- 32kB programová FLASH pamet, programovatelná
prÃmo v aplikaci s možnostà uzamknutÃ, 10.000
zápisových/mazacÃch, cyklu s volitelnou velikostÃ
bootloader sekce.
3Vlastnosti mikrokontroleru ATmega32
- 1kB EEPROM pamet, 100.000 zápisových/mazacÃch
cyklu. - 2kB internà SRAM pamet.
- JTAG rozhranà s možnostà programovánà a ladenÃ.
- 8-kanálový 10-bitový A/D prevodnÃk, analogový
komparátor. - Bytove orientované sériové rozhranà (TWI).
- Dve programovatelné USART komunikacnà rozhranÃ.
- Master/slave SPI sériové rozhranÃ.
- Dva 8-bitové a jeden 16-bitové cÃtace, s
vlastnà pred-delickou.
4Vlastnosti mikrokontroleru ATmega32
- Dva 8-bitové PWM kanály.
- 4 PWM kanálu s programovatelným rozliÅ¡enÃm 2-16
bitu. - Programovatelný Watch-dog casovac s oscilátorem
na cipu. - CÃtac reálného casu RTC s oddeleným
oscilátorem. - 6 režimu snÞené spotreby.
- 32 programovatelných I/O vývodu.
- Napájecà napetà 4.5-5.5V.
5ATmega32
6Zapojenà AVR-KITu
7Podpora
- Pro vývoj aplikacà lze použÃt vývojová prostredÃ
ruzných výrobcu a také systém AVR Studio volné
dostupné na stránkách firmy Atmel. - Programovánà lze provádet volne dostupný
softwarem.
8Po rozbalenà archÃvu avr-kit.zip vznikne
adresár s obsahem
- ./avrkit.exe gt Program pro programovánÃ
AVR Kitu - ./avr-kit gt Skupina projektu pro AVR
Studio5 - ./avrkit gt Adresár s knihovnou avrkit
- ./leds gt Adresár s projektem pro LED diody
- ./i2c gt Adresár s projektem pro sbernici i2c
- ./demo gt Adresár s demo projekty
9Obsah adresáre - avrkit
- ./avrkit.c gt Zdrojový kód knihovny avrkit
- ./avrkit.h gt Hlavickový soubor knihovny avrkit
10Obsah adresáre - leds
- ./leds.avrgccproj gt Projekt AVR Studia
- ./leds.c gt Zdrojový kód programu leds
- ./Debug gt Adresár pro výstupnà soubory
- ./Release gt Adresár pro výstupnà soubory
11Obsah adresáre - i2c
- ./i2c.avrgccproj gt Projekt AVR Studia
- ./i2c.c gt Zdrojový kód programu i2c
- ./Debug gt Adresár pro výstupnà soubory
- ./Release gt Adresár pro výstupnà soubory
12Obsah adresáre - demo
- ./demoleds.hex gt Demo program pro LEDky
- ./demo8x8.hex gt Demo program pro led displej
- ./demoi2c.hex gt Demo program pro sbìrnici i2c
13ATmega32 - 4 V/V porty (PA, PB, PC a PD)
- Konfigurace portu (A, B, C a D) pomoci registru
- DDRx - zápisem log. 1 na konkrétnà bit tohoto
registru urcÃme, že daný pin bude výstupnà a prÃ
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. Pri
log. 0 zapsané do reg. PORTx a když je pin
definován jako výstupnà urcuje 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.
14Postup pri programovánà mikropocÃtace AVR-KITu
- Aktivace BOOTLoader - stlacenÃm tlacÃtka PIND4,
pak - stlacenÃm a uvolnenà tlacÃtka RESET - procesor se
uvede do módu programovánà pameti FLASH - Sviti
LED dioda pripojenou na PIND2. - Restart procesoru - stlacenà a uvolnenà tlacÃtka
RESET. - Po ukoncenà programovánà program avrkit.exe
zustává aktivnà a je pripraven vypisovat data,
které bude mikropocÃtac zapisovat na sériový port
pomocà funkce printf. Nechcete-li tuto funkci
programu avrkit.exe využÃvat je ji možné vypnou
parametrem -n.
15Programovánà AVR-KITuprogram 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
16Architektury pocÃtacu a paralelných systému
- Cvicenà na
- Atmel EVMS-mega128
- Zpracoval Doc. Ing. Lacezar Licev, CSc.
17Vlastnosti vývojové desky
- Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64
- Pro vytvárenà programového kódu - Atmel AVR
Studio - NapájenÃ
- Power konektor (napr. z wall adapteru)
- USB (chráneno SMD tavnou vymenitelnou
pojistkou) - Možnosti programovánà mikrokontroleru
- ISP ci JTAG programovacà rozhranà (JTAG ladenÃ
kódu) - USB komunikacnà rozhranà (bootloader-u MCU)
18Vlastnosti vývojové desky
- Uživatelská rozhranÃ
- 4 LED diody
- 8 tlacÃtek
- Multiplexovaný sedmisegmentový LED display (4
digity) - LCD display (2x 16 znaku, podsvetlený,
odnÃmatelný) - Komunikacnà rozhranÃ
- RS-232 (canon 9 konektor)
- USB (konektor typu B)
- SPI (pinová lišta)
- I2C (pinová lišta)
19Vlastnosti vývojové desky
- Ostatnà rozhranÃ
- 7 univerzálnÃch vstupu/výstupu (pinová liÅ¡ta)
- 2 ADC vstupy/výstupu ref. napetà (pinová lišta)
- Rozhranà pro pripojenà externà pameti
- Piny umožnujÃcà napájenà pripojených modulu
napetÃm 5V
20Vlastnosti vývojové desky
- Deska dále obsahuje
- 5V napetový regulátor
- Nastavitelnou napetovou referenci pro internÃ
AD - Krystal 14.74567MHz v patici - hlavnà zdroj
hod. signálu - Krystal 32.768kHz pro RTC
- Piezomenic bez vlastnÃho budice (beeper)
- Trimr pro nastavenà kontrastu LCD displeje
- Resetovacà tlacÃtko
- Rozmery desky(v x Å¡ x d) 25.0mm x 146.4mm x
68.0mm
21Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
- 8-bitový RISC mikrokontroler.
- Výkon - 16 MIPS/16 MHz - 12x rychlejšà než
standardnà x51 na stejné taktovacà frekvenci. - Plne statická funkce. Internà kalibrovaný RC
oscilátor. - Dvou-cyklová násobicka na cipu.
- 133 výkonných instrukcÃ, vetÅ¡inou
jedno-cyklových. - 32 osmibitových registru pro obecné použitÃ.
- 128kB programová FLASH pamet, programovatelná
prÃmo v aplikaci s možnostà uzamknutÃ, 10.000
zápisových/mazacÃch, cyklu s volitelnou velikostÃ
bootloader sekce.
22Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
- 4kB EEPROM pamet, 100.000 zápisových/mazacÃch
cyklu. - 4kB internà SRAM pamet.
- JTAG rozhranà s možnostà programovánà a ladenÃ.
- 8-kanálový 10-bitový A/D prevodnÃk, analogový
komparátor. - Bytove orientované sériové rozhranà (TWI).
- Dve programovatelné USART komunikacnà rozhranÃ.
- Master/slave SPI sériové rozhranÃ.
- Dva 8-bitové a dva 16-bitové cÃtace, s vlastnÃ
pred-delickou.
23Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
- Dva 8-bitové PWM kanály.
- 6 PWM kanálu s programovatelným rozliÅ¡enÃm 2-16
bitu. - Programovatelný Watch-dog casovac s oscilátorem
na cipu. - CÃtac reálného casu RTC s oddeleným
oscilátorem. - 6 režimu snÞené spotreby.
- 53 programovatelných I/O vývodu.
- Napájecà napetà 4.5-5.5V.
24Podpora
- Pro vývoj aplikacà lze použÃt vývojová prostredÃ
ruzných výrobcu a také systém AVR Studio volné
dostupné na stránkách firmy Atmel. - Programovánà lze provádet volne dostupný
softwarem.
25Strucný popis
- Vývojový modul obsahuje RISC mikrokontroler
vývojové rady AVR firmy Atmel s oznacenÃm Atmel
EVMS-mega128. - MaximálnÃm výkon.
26Atmel EVMS-mega128
27Atmel EVMS-mega128
28Atmel EVMS-mega128
29Atmel EVMS-mega128
30Blokové schéma
31NapájenÃ
32Jumper JP PWR
33Sériové rozhranà RS-232JP UART 1
34Význam vývodu konektoru RS 232 (UART)
35Logická vazba mezà tlacÃtky a MCU
36LED - display
37RÃdÃcà signály a pozicà LED display
38LCD display a vývody MCU
39Vývody ISP a JTAG
40Nahrávánà programu do MCU
Vlastnosti vývojové desky
41 42Hlavicka - 1
-
- Program counter 0
- Version v1.0
- Hardware atmega128-16ai TQFP64
- Xtall 14.7456 MHz
- Author
-
43Hlavicka 2.1Evms-mega128 v 1.0 board
congiguration
- Jumpers
- Power depends on power supply used (REG or USB
- VREF Dont care (for example 2.5v)
- LEE Dont care
- UART1 Dont care
-
- Connectors
-
44Hlavicka 2.2Evms-mega128 v 1.0 board
congiguration
- Connectors
- LCD display Dont care
- Ext. memory Dont care
- ADC Dont care
- SPI Dont care
- I2C Dont care
- Misc Dont care
-
45Sekce include
- Includes
- .NOLIST
- .include m128def.inc
- .LIST
46Sekce konstant
- Constants
- .EQU BaudConst 7 Baudova rychlost
- .EQU BuffLen 8 Velikost bufferu
47Sekce pojmenovánà registru
- Register definitions
- .def ZeroReg r1
- .def FFReg r2
- .def PDelReg r16
- .
- .
48Sekce pametà SRAM
- Data Segment
- .DSEG
- .Var .BYTE 1 1 bytova prom. na adr. Var1
- .Buffer .BYTE 8 8 bytova prom. na adr. Buffer
49Sekce EEPROM
- EEPROM segment
- .ESEG
- ConstArr .DB 0x00, 0x00 definuje tabulku
constant 0x00, 0x00 na adrese ConstArr
50Sekce MAKER
- MACROs
- .MACRO INC_Z16
- add ZL, _at_0
- adc ZH, _at_1
- .ENDM
51Programová sekce
- Program segment
- .CSEG
- .org 0x0000 urcenà adresy
- .ldi TmpReg, 0 instrukce
- CharTab .db 0x10, 0x02 definuje tab.konstant
52Assembler
- 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
53Assembler
- 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(n1) ?
Rd(n), Rd(0) ? 0 Z,C,N,V 1 - LSR Rd Logical Shift Right Rd(n) ?
Rd(n1), Rd(7) ? 0 Z,C,N,V 1
54Výuková deska EVMS-mega128 v1.0 Výukové
prÃklady
- 1.0 - LEDs rotating light 0
- 1.1 - LEDs rotating light 1
- 2.0 - Buttons 0
- 3.0 - Beeper 0
- 3.1 - Beeper 1
- 4.0 - LED display 0
- 5.0 - LCD display 0
- 5.1 - LCD display 1
- 6.0 - UARTs 0
55Architektury pocÃtacu
- Cvicenà na
- EVM ATmega8535 v 1.0
- Zpracoval Doc. Ing. Lacezar Licev, CSc.
56Vlastnosti vývojového modulu
- Obsahuje RISC-ový mikrokontroler Atmel
ATmega8535-16JC(JI). - Programovánà je možné provádet volne dostupným
vývojovým softwarem. - Mikrokontroler se programuje prÃmo na základové
desce progr. kabelem. - Modul obsahuje 4 sedmi-segmentové LED displeje, 8
LED diod a 8 tlacÃtek. - Modul dále obsahuje odpojitelné sériové rozhranÃ
RS-232.
57Vlastnosti vývojového modulu
- VetÅ¡ina I/O vývodu MCU je prÃstupná, je možné
pripojit rozÅ¡irujÃcà hardware. - Zdrojem hodinového signálu je krystal 14.7456 MHz
umÃstený v patici. - Pro vnitrnà RTC obvod mikrokontroleru je na desce
umistený odpojitelný krystal 32.768 kHz. - Mikrokontroler je možné resetovat tlacÃtkem
RESET. - Rozmery (v x Å¡ x d) 27mm x 114mm x 74mm
58Vlastnosti mikrokontroleru ATmega8535-16JI
- 8-bitový RISC mikrokontroler.
- Výkon - 16 MIPS / 16 MHz - 12x rychlejšà než
standardnà x51 na stejné taktovacà frekvenci. - Plne statická funkce.
- Dvou-cyklová násobicka na cipu.
- 130 výkonných instrukcÃ, vetÅ¡inou jedno-cyklových.
59Vlastnosti mikrokontroleru ATmega8535-16JI
- 32 osmibitových registru pro obecne použitÃ.
- 8kB programová FLASH pamet, programovatelná prÃmo
v aplikaci s možnostà uzamknutÃ, 10.000
zápisových/mazacÃch cyklu. - 512B EEPROM pamet, 100.000 zápisových/mazacÃch
cyklu. - 512B internà SRAM pamet.
- 8-kanálový 10-bitový A/D prevodnÃk, analogový
komparátor. - 4 PWM výstupy.
60Vlastnosti mikrokontroleru ATmega8535-16JI
- Programovatelný USART.
- Master/slave SPI sériové rozhranÃ.
- Dva 8-bitové cÃtace, jeden 16-bitový.
- Programovatelnà Watch-dog casovac.
- CÃtac reálného casu RTC.
- Tri režimy snÞenà spotreby active, idle a
power-down. - 32 programovatelných I/O vývodu.
- Napájecà napetà 4.5-5.5V
61Použità základové desky
- Výuka mikroprocesorové techniky.
- Vestavené rÃdÃcà systémy (merenÃ, rÃzenà a
regulace). - Komunikace.
- RÃzenà motoru.
62Podpora
- Pro vývoj aplikacà lze použÃt vývojová prostredÃ
ruzných výrobcu a také systém AVR Studio volné
dostupné na stránkách firmy Atmel. - Programovánà lze provádet volne dostupný
softwarem.
63Strucný popis
- Vývojový modul obsahuje RISC mikrokontroler
vývojové rady AVR firmy Atmel s oznacenÃm
ATmega8535. - MaximálnÃm výkon 16MIPS.
64Blokové schéma
65RozmÃstenà konektoru a propojek
66NapájenÃ
67Vývody rozÅ¡irujÃcÃch konektoru
68Význam vývodu konektoru
69RozÅ¡irujÃcà konektory CONx
70Programovacà rozhranà ISP
71PoužÃvánà LED-display
72RS-232
73DalÅ¡Ã použitÃ
- PoužÃvánà 8 LED diod.
- PoužÃvánà tlacÃtek.
- PoužÃvánà 4 sedmi-segmentových LED displeju.
- PoužÃvánà sériového rozhranà RS-232.
74 75Hlavicka
-
- Program Counter 0
- Version v1.0
- Hardware EVM-ATmega8535 v1.0
- (Xtall 14.7456MHz)
- Author
76Short description
-
- Short description
- -----------------
- Program shows on LED diodes actual state of all
buttons (button down lighting LED).
77Výpis použÃvaných souboru - Includes
- Includes
- .NOLIST
- .include "m8535def.inc"
- .LIST
78Constants
79Register definitions
- Register definitions
- .DEF ZeroReg r1
- .DEF TmpReg r16
- .DEF DispPos r2
- .DEF PDelReg r21
80Data segment
81EEPROM segment
82MACRO segment
83PROGRAM segment
84Interrupt vectors
- Interrupt vectors
- .ORG 0x0000
- rjmp RESET Reset Handler
- rjmp EXT_INT0 External Interrupt
- rjmp EXT_INT1 External Interrupt
- .
- .
85Reset
- Reset
- .ORG 0x0015
- Reset clr ZeroReg
- ldi TmpReg, low(RAMEND) Initialize
- out SPL, TmpReg
- .
- .
86Unused interrupt vectors
- Unused interrupt vectors
- EXT_INT0
- EXT_INT1
- TIM2_COM
- TIM2_OVF
- TIM1_CAP
- TIM1_COMA
- .
- .
- SPM_RDY reti
87M A I N
- M A I N
- Main rcall TestButtons Call subroutine
TestButtons - com Buttons Buttons lt not(Buttons)
- out PortC, Buttons PortC lt Buttons
- rjmp Main Jmp to Main
88Podprogram - Delay
- Delay (PDelRegms)
- Delay1m mov PDelReg2, PDelReg
- PDelReg2ltPDelReg
- Repeat
- Delay1m2 dec PDelReg0 Dec(PDelReg0)
- brne Delay1m2 Until PDelReg0 0
- dec PDelReg1 Dec(PDelReg1)
- brne Delay1m0 Until PDelReg2 0
- ret
89Assembler
- 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
90Assembler
- 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(n1) ?
Rd(n), Rd(0) ? 0 Z,C,N,V 1 - LSR Rd Logical Shift Right Rd(n) ?
Rd(n1), Rd(7) ? 0 Z,C,N,V 1