Vestavné mikropočítačové systémy

Slides:



Advertisements
Podobné prezentace
CIT Paměti Díl X.
Advertisements

ProBot © Ondřej Staněk.
Na velikosti (ne)záleží aneb Úvod do programování jednočipů
Mikroprocesory Procesory. Procesor je synchronní zařízení provádí operace s daty je programovatelný pomocí mikroinstrukcí je více rodin procesorů (jednočipy.
Zásobník (LiFo) Fronta (FiFo)
SYSTÉM PŘERUŠENÍ U 68HC11.
Instrukce procesoru pro přesun (MOV) mov X, Y Instrukce kopíruje osmibitová data ze zdroje Y do cíle X mov A, R n mov A, DPH mov A, DPL mov A, SPH mov.
Otázky k absolutoriu HW 1 - 5
Principy překladačů Architektury procesorů Jakub Yaghob.
Základy mikroprocesorové techniky
Program Programátorský model procesoru Instrukční soubor
TEP Instrukční soubor č.9.
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III. ročník Mikrořadiče Vypracoval : Vlastimil Vlček Projekt.
Informatika I 7.a 8. hodina 4. týden.
DSK Freescale řada 56800E. Základní vlastnosti řady 56800E :  “ Hybridní mikrokontrolér “ Pevná řadová čárka výhodné vlastnosti MCU a DSP (16-bitový.
TEP Paměť ATmega č.3. Paměť ATmega Téma Paměť ATmega TEP Předmět TEP Juránek Leoš Ing. Autor Juránek Leoš Ing. TEP.
1 Počítačové systémy 1 Úvod, jazyk C 35POS 2010 Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša
AVR Assembler Symboly Návěští
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Architektura a vývoj PC 2.
PicoBlaze, MicroBlaze, PowerPC
Základy mikroprocesorové techniky
Paměťové obvody a vývoj mikroprocesoru
Cvičení z NMS Rozvrh cvičení Přehled použitého hardware
Tato prezentace byla vytvořena
TEP Charakteristika ATmega č.2. Charakteristika ATmega Téma Charakteristika ATmega TEP Předmět TEP Juránek Leoš Ing. Autor Juránek Leoš Ing. TEP.
Vestavné mikropočítačové systémy
= monolitický integrovaný obvod obsahující kompletní mikropočítač
Procesory.
Informatika / …o počítači (základní pojmy, jednoduché představy) 2006.
Popis mikroprocesoru David Rozlílek ME4B.
Popis obvodu 8051 David Rozlílek ME4B.
Jaroslav Krahula.  OSC - ? ROM - ? RAM - ? Č/Č - ? CPU - ? ŘS - ? SP - ? LPT -?
Začátky mikroprocesorů
Popis obvodu 8051.
Přehled registrů Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Miloš Zatloukal.
Marek Malík a František Černý, ME4A, 2012
Srovnání mikrokontrolerů
Procesor Renesas H8S/2633F.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Univerzita třetího věku kurz Znalci Hardware 1.
Mikroprocesor.
Procesory.
Instrukce procesoru.
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Blokové schéma počítače.
John von Neumannova koncepce. John von Neumann  Narozen 28. prosince 1903 Budapešť Rakousko-Uhersko  Zemřel 8. února 1957 Spojené státy americké.
Jednočipové počítače v robotických systémech Vypracoval: Ing. Jaroslav Chlubný Kód prezentace: OPVK-TBdV-AUTOROB-ME-3-JCP-JCH-001 Technologie budoucnosti.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Interkomunikační adresní systém.
Orbis pictus 21. století Instrukční soubor 2
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
PC základní jednotka.
ALU Aritmeticko-logická jednotka
Aritmetickologická jednotka
Vývojový kit Freescale M68EVB908GB60
Výukový materiál zpracován v rámci projektu
Jednočipové počítače – instrukční sada
Mikropočítač Vnitřní struktura 2
Mikropočítač Soubor instrukcí
Mikropočítač Vnitřní struktura 1
jednočipových počítačů II
Výukový materiál zpracován v rámci projektu
Informatika / … o číslech
Výukový materiál zpracován v rámci projektu
jednočipových počítačů I
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Informatika / …o počítači
Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/
Transkript prezentace:

Vestavné mikropočítačové systémy 2. Týden – jednočipové 8-mi bitové mikropočítače Atmel AVR

Rodiny procesorů Atmel AVR ATtiny malá pouzdra, chudá výbava, nízká spotřeba, cena od 20Kč ATmega univerzální jednočipové mikropočítače s pestrou škálou periferií, nabízí se v řadě variant lišících se navzájem velikostí pamětí a počtem pinů, cena cca 70150 Kč XMEGA nadstandardně vybavené jednočipové mikropočítač (DMA, event-systém, AWEX, RTC, IrCOM, crypto-engine, ADC/DAC, …), nemají je v každé samoobsluze, cena na www.digikey.com 70150 USD AVR32UC3 32-dvou bitové jednočipové mikropočítače, cena cca 170280 Kč AVR32AP 32-bitové procesory bez integrované paměti, cena cca 300500 Kč

8-mi bitové procesory Atmel pro speciální aplikace USB AVR víceméně ATmega s integrovaným řadičem sběrnice USB, cena >300 Kč CAN AVR víceméně ATmega s integrovaným řadičem sběrnice CAN, cena >180 Kč LCD AVR víceméně ATmega s integrovaným řadičem LCD displejů Lighting AVR (AT90PWM) jednočipové mikropočítače s vícekanálovým programovatelným generátorem PWM, řízení světelných zdrojů, motorů apod, cena cca 90 Kč Battery Management AVR jednočipové mikropočítače do aplikací napájených z akumulátorů s možností dobíjení, speciální periferie pro řízení nabíjení Automotive AVR výběr z předchozích rodin pro použití v automobilovém průmyslu AVR Z-Link marketingový trik, Boundle ATmega + AT86RF230 (ZigBee)

32 general purpose registers AVR – blokové schéma 32 general purpose registers Stack pointer SRAM Program counter Program FLASH Instruction register ALU Instruction decoder Status register I/O Interrupt unit Timers / counters Analog comparator ADC Watchdog timer USART SPI TWI E2PROM

CPU 32 univerzálních 8-mi bitových registrů r0 – r31 pro nepřímé adresování se hodnoty vybraných registrů interpretují jako 16-ti bitová adresa. Tyto páry se označují X, Y a Z (r26:r27 = X, r28:r29 = Y, r30:r31 = Z) PC (program counter) – adresa vykonávané instrukce SP (stack pointer) – ukazatel vrcholu zásobníku zásobník roste směrem k nižším adresám (rozdíl proti 8051) 16-ti bitový, implementován jako dvojice registrů (SPL a SPH) v I/O prostoru (rozdíl proti 8051, kde je 8-mi bitový) po resetu se musí inicializovat – obvykle na konec SRAM SREG (status register) – registr stavových příznaků výsledek aritmeticko logických operací – přenos, znaménko, nula, … zakázání / povolení přerušení

SREG – registr stavových příznaků 1 2 5 6 7 3 4 V S C – přenos (carry); Z – indikuje, že výsledek operace je 0 (zero); N – indikuje záporný (negative) výsledek; V – přenos v aritmetice dvojkového doplňku; S – znaménkový příznak, S = N  V; H – příznak přetečení mezi nibbly (BCD aritmetika); T – bit, který je adresovatelný bitovými operacemi BLD a BST; I – globální příznak povolení přerušení.

Rozdělení paměti Architektura harvardského typu – oddělený paměťový prostor pro kód a pro data Obě typy pamětí jsou integrovány na čipu Programová paměť FLASH, zaručeno nejméně 10000 cyklů mazání/zápis organizována po slovech (16 bitů) je přístupná z programu pro čtení i zápis pomocí speciálních instrukcí volitelně lze rozdělit na aplikační sekci a bootovací sekci po resetu se PC nastaví na adresu 0 resp. na začátek bootovací sekce Datová paměť je typu SRAM register file I/O space prostor pro aplikační data E2PROM neumožňuje přímý přístup, pracuje se s ní jako s periferií COM – jedničkový doplněk (FF-x) NEG – dvojkový doplněk (0-x)

Rozdělení paměti (ATmega8) FLASH SRAM Register file $000 $0000 $0001 $001E $001F R0 R1 R30 R31 Application section $0020 I/O registers $0021 $00 $01 $3E $3F $005E $005F $0060 $0061 Application data Boot section $045E $FFF $045F

Adresování – přesuny dat Přesun dat mezi registry MOV Rd, Rr Rd  Rr MOVW Rd+1:Rd, Rr+1:Rr Rd+1:Rd  Rr+1:Rr, pro d,r sudé Nastavení registru konstantou LDI Rd, K Rd  K, 16d31 CLR Rd Rd  0 SER Rd Rd  $FF Přímé adresování LDS Rd, k Rd  (k) STS k, Rd (k)  Rd IN Rd, A Rd  I/O(A) OUT A, Rd I/O(A)  Rd Nepřímé adresování LD Rd, Rw Rd  (Rw), Rw{X,Y,Z} ST Rw, Rd (Rw)  Rd, Rw{X,Y,Z} LDD Rd, Rw+q Rd  (Rw+q), Rw{Y,Z}, 0q63 STD Rw+q, Rd (Rw+q)  Rd, Rw{Y,Z}, 0q63 instrukce LD a ST mohou vykonávat postinkrement nebo predekrement dvojregistru s adresou (Rw) Přístup do programové paměti LPM R0  (Z) LPM Rd, Z Rd  (Z) LPM Rd, Z+ Rd  (Z), Z  Z + 1 SPM

ALU – aritmetické operace Sčítání, odčítání ADD Rd, Rr Rd  Rd + Rr ADC Rd, Rr Rd  Rd + Rr + C ADIW Rd+1:Rd, K Rd+1:Rd  Rd+1:Rd + K, d{24,26,28,30}, 0 k63 SUB Rd, Rr Rd  Rd – Rr SUBI Rd, K Rd  Rd – K, 16d31 SBC Rd, Rr Rd  Rd – Rr – C SBCI Rd, K Rd  Rd – K – C, 16d31 SBIW Rd+1:Rd, K Rd+1:Rd  Rd+1:Rd – K, d{24,26,28,30}, 0 k63 INC Rd Rd  Rd + 1 DEC Rd Rd  Rd – 1 Násobení MUL Rd, Rr R1:R0  Rd  Rr (unsigned  unsigned  unsigned), 16d,r31 MULS Rd, Rr R1:R0  Rd  Rr (signed  signed  signed), 16d,r31 MULSU Rd, Rr R1:R0  Rd  Rr (signed  signed  unsigned), 16d,r23 FMUL Rd, Rr R1:R0  Rd  Rr (unsigned  unsigned  unsigned), 16d,r23 FMULS Rd, Rr R1:R0  Rd  Rr (signed  signed  signed), 16d,r23 FMULSU Rd, Rr R1:R0  Rd  Rr (signed  signed  unsigned), 16d,r23 Porovnávání CP Rd, Rr Rd – Rr CPC Rd, Rr Rd – Rr - C CPI Rd, K Ed – K, 16d31 CPSE Rd, Rr if Rd = Rr then PC  PC + 2 (or 3) ekse PC  PC + 1 Některé typu nemají násobičku Není obdoba djnz

ALU – logické operace Bitové operace Rotace, posuny Jiné operace AND Rd, Rr Rd  Rd  Rr ANDI Rd, K Rd  Rd  K, 16d31 OR Rd, Rr Rd  Rd  Rr ORI Rd, K Rd  Rd  K, 16d31 EOR Rd, Rr Rd  Rd  Rr TST Rd Rd  Rd  Rd Rotace, posuny ROL Rd C  Rd7 … Rd0  C ROR Rd C  Rd7 … Rd0  C LSL Rd C  Rd7 … Rd0  0 LSR Rd 0  Rd7 … Rd0  C ASR Rd Rd7  Rd7 … Rd0  C Jiné operace COM Rd Rd  $FF – Rd NEG Rd Rd  $00 – Rd SWAP Rd Rd7:4  Rd3:0, Rd3:0  Rd7:4 CBR Rd, K Rd  Rd  ($FF – K) , 16d31 SBR Rd, K Rd  Rd  K, 16d31 CBI A, b I/O(A)b  0 SBI A, b I/O(A)b  1 SBRC / SBRS Rr, b if Rrb = 0/1 then PC  PC + 2 (or 3) else PC  PC + 1 SBIC / SBIS A, b if I/O(A),b = 0/1 then PC  PC + 2 (or 3) else PC  PC + 1

ALU – status register Bity Nastavení shození příznaku Podmíněné skoky I (7) – globální zákaz / povolení přerušení T (6) – místo pro kopírování bitu instrukcemi BLD a BST H (5) – half-carry – signalizuje, že došlo k přetečení mezi 3. a 4. bitem (BCD aritmetika) S (4) – znaménko výsledku (S = N  V) V (3) – přetečení v aritmetice dvojkového doplňku N (2) – indikuje záporný výsledek (kopíruje nejvýznamnější bit výsledku) Z (1) – indikuje nulový výsledek C (0) – signalizuje, že došlo k přetečení ze 7. bitu Nastavení shození příznaku BCLR / BSET s SREG(s)  0/1 CLI / SEI I  0/1 CLT / SET T  0/1 CLH / SEH H  0/1 CLS / SES S  0/1 CLV / SEV V  0/1 CLN / SEN N  0/1 CLZ / SEZ Z  0/1 CLC / SEC C  0/1 Podmíněné skoky BRBC / BRBS s, k if SREG(s) = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRID / BRIE k if I = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRTC / BRTS k if T = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRHC / BRHS k if H = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRGE / BRLT k if S = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRVC / BRVS k if V = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRPL / BRMI k if N = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRNE / BREQ k if Z = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRCC / BRCS k if C = 0/1 then PC  PC + k + 1 else PC  PC + 1 BRSH / BRLO k if C = 0/1 then PC  PC + k + 1 else PC  PC + 1 COM – jedničkový doplněk (FF-x) NEG – dvojkový doplněk (0-x)

Adresování – skoky, zásobník Skok na přímou adresu JMP k PC  k RJMP k PC  PC + k + 1, -2kd<2k IJMP PC  Z Volán podprogramu CALL k (SP)  PC + 2, SP  SP – 2, PC  k RCALL k (SP)  PC + 1, SP  SP – 2, PC  PC + k + 1, -2kd<2k ICALL (SP)  PC + 1, SP  SP – 2, PC  Z RET SP  SP + 2, PC  (SP) RETI SP  SP + 2, PC  (SP), I  1 Práce se zásobníkem PUSH Rr (SP)  Rr, SP  SP – 1 POP Rr Rr  (SP), SP  SP + 1