Érzékelők és beavatkozók I.

Hasonló dokumentumok
Nagy Gergely április 4.

Számítógépek felépítése, alapfogalmak

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Az interrupt Benesóczky Zoltán 2004

Labor gyakorlat Mikrovezérlők

Autóipari beágyazott rendszerek CAN hardver

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 1. BEVEZETÉS

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Számítógépek felépítése, alapfogalmak

Labor gyakorlat Mikrovezérlők

Járműfedélzeti rendszerek I. 2. előadás Dr. Bécsi Tamás

Az AVR ATmega128 mikrokontroller

Érzékelők és beavatkozók

Járműfedélzeti rendszerek I. 5. előadás Dr. Bécsi Tamás

ARM Cortex magú mikrovezérlők

Számítógépek felépítése

Nagyteljesítményű mikrovezérlők

Labor gyakorlat Mikrovezérlők

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

A mikroprocesszor felépítése és működése

5.1. fejezet - Általános 32 bites mikrovezérlő/processzor alkalmazástechnikája A Freescale

Labor 2 Mikrovezérlők

Arduino bevezető Szenzorhálózatok és alkalmazásaik

A Texas Instruments MSP430 mikrovezérlőcsalád

Digitális rendszerek. Digitális logika szintje

Scherer Balázs: Mikrovezérlık fejlıdési trendjei

ARM Cortex magú mikrovezérlők

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

Dr. Schuster György szeptember 27.

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

Scherer Balázs: Mikrovezérlők fejlődési trendjei

Érzékelők és beavatkozók I.

A Számítógépek hardver elemei

The modular mitmót system. Az AVR mikrovezérlő kártya

Mikrorendszerek tervezése

Bevezetés az informatikába

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

Mintavételes szabályozás mikrovezérlő segítségével

Architektúra, megszakítási rendszerek

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Mikrorendszerek tervezése

Leírás. Készítette: EMKE Kft február 11.

Mechatronika és mikroszámítógépek

Új kompakt X20 vezérlő integrált I/O pontokkal

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Jelfeldolgozás a közlekedésben

Számítógép felépítése

Programozási segédlet DS89C450 Fejlesztőpanelhez

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Serial 2: 1200/2400 bps sebességû rádiós modem vagy

Bevezető előadás Mikrórendszerek összahasonlítása.dsp bevezető

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Dr. Oniga István DIGITÁLIS TECHNIKA 8

16F628A megszakítás kezelése

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

7.hét: A sorrendi hálózatok elemei II.

ARM Cortex magú mikrovezérlők

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

A mikroszámítógép felépítése.

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

ARM Cortex magú mikrovezérlők

Mintavételezés tanulmányozása. AD - konverzió. Soros kommunikáció

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

Bevezető a mikrokontrollerek, az IoT és

A/D és D/A konverterek vezérlése számítógéppel

FPGA áramkörök alkalmazásainak vizsgálata

Számítógép architektúrák

2. Elméleti összefoglaló

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

TARTALOMJEGYZÉK. 1. Ismétlés A mikroprocesszor mőködése Mikroszámítógépek, mikrokontrollerek... 20

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

A Számítógépek felépítése, mőködési módjai

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

PIC tanfolyam 2013 tavasz 2. előadás

ÖNÁLLÓ LABOR Mérésadatgyűjtő rendszer tervezése és implementációja

loop() Referencia:

Yottacontrol I/O modulok beállítási segédlet

Irányítástechnika Elıadás. Programozható logikai vezérlık

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

1.1. Általános áttekintés

A Számítógépek hardver elemei

Előadó: Nagy István (A65)

1. Az utasítás beolvasása a processzorba

ARM (Advanced RISC Machine)

MSP430 programozás Energia környezetben. Az I/O portok kezelése

A Netburner fejlesztőeszköz alkalmazástechnikája

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

Processzor (CPU - Central Processing Unit)

Digitális áramkörök és rendszerek alkalmazása az űrben 3.

SzA19. Az elágazások vizsgálata

ARM Cortex magú mikrovezérlők

Átírás:

Érzékelők és beavatkozók I. Mikrovezérlők, mikroszámítógépek (hardver) c. egyetemi tanár - 1 -

Mikrovezérlők (Microcontrollers) Teljes számítógép architektúra megvalósítása egy áramköri lapkán Egyszerű 8-16-bites CPU (RISC) Belső RAM és programmemória PROGRAM- MEMÓRIA CPU ADAT- MEMÓRIA P Harvard architektúra Belső perifériakészlet: időzítők, PWM parallel digitális I/O: port-ok soros interfészek: SPI, I2C, UART hálózat: CAN, USB, Ethernet Analóg I: AD, komparátor - 2 -

Mikroszámítógépek Microcomputers Teljes számítógép architektúra megvalósítása egy áramköri lapkán CPU PROGRAMés ADAT- MEMÓRIA Egyszerű 32-bites CPU (RISC) Kiegészítő külső RAM és flash memória Direkt memória hozzáférés (DMA) Lebegőpontos műveleti támogatás IDE, PCI, memóriakártya interfészek Kóderek/dekóderek: MP3, AES titkosítás Digitális jelfeldolgozási műveletek (DSP) P Neumann architektúra Példák: ARM PowerPC P DSP (TI, AD) - 3 -

Rendszermegvalósítás Hagyományos rendszerkialakítás SoM System on Module SoC System on Chip - 4 -

Típusok: Mikrovezérlők Alkalmazási jellemzők: Beágyazott rendszerek Vezérlési, irányítási feladatok Egyszerű számítási algoritmusok Rögzített program 8-bites klasszikus mikrovezérlők 16-32-bites újabb fejlesztések - 5 -

Példák: 8-bites mikrovezérlők Intel 8051 az első ipari mikrovezérlő 51-es architektúra Atmel AVR 8-bit Microchip PIC Freescale (Motorola) S08 Texas Instruments MPS430 NXP (Philips), STMicroelectronics, Fujitsu, NEC, - 6 -

Példa: Atmel ATmega128 Fő jellemzők: Nagy hatásfokú, kis fogyasztású 8-bites mikrovezérlő RISC (Reduced Instruction Set Computer) architektúra (AVR) 16 MHz órajel frekvencia mellett 16 MIPS teljesítmény Harvard architektúra, 128 kb flash programmemória, 4 kb gyors RAM memória, 4 kb nem törlődő EEPROM memória 53 programozható I/O vonal Gazdag belső periféria készlet ISP (In-System Programming) programozás JTAG (IEEE 1149 szabvány szerint) teszt-interfész Alacsony tápfeszültség (L típus) AT90CAN128 változat: CAN hálózati támogatás 64-kivezetésű TQFP vagy MLF tokozás - 7 -

Példa: Atmel ATmega128 TQFP-64 MLF-64-8 -

Példa: Atmel ATmega128 51 PA0/AD0 50 PA1/AD1 49 PA2/AD2 48 PA3/AD3 47 PA4/AD4 46 PA5/AD5 45 PA6/AD6 44 PA7/AD7 35 PC0/A8 36 PC1/A9 37 PC2/A10 38 PC3/A11 39 PC4/A12 40 PC5/A13 41 PC6/A14 42 PC7/A15 61 60 59 58 57 56 55 54 33 34 43 PF0/ADC0 PF1/ADC1 PF2/ADC2 PF3/ADC3 PF4/ADC4/TCK PF5/ADC5/TMS PF6/ADC6/TDO PF7/ADC7/TDI PG0/WR PG1/RD PG2/ALE 64 AVCC PG3/TOSC2 18 ATMEL ATmega128(L) PG4/TOSC1 19 21 VCC GND 22 53 63 52 XTAL2 23 AREF PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0 PB5/OC1A PB6/OC1B PB7/OC1C PD0/SCL/INT0 PD1/SDA/INT1 PD2/RXD1/INT2 PD3/TXD1/INT3 PD4/ICP1 PD5/XCK1 PD6/T1 PD7/T2 PE0/RXD0/PDI PE1/TXD0/PDO PE2/XCK0/AIN0 PE3/OC3A/AIN1 PE4/OC3B/INT4 PE5/OC3C/INT5 PE6/T3/INT6 PE7/ICP3/INT7 XTAL1 62 24 PEN 10 11 12 13 14 15 16 17 25 26 27 28 29 30 31 32 2 3 4 5 6 7 8 9 1 20 RESET - 9 -

Utasításkészlet RISC (Reduced Instruction Set Computer): Relatíve kevés számú utasítás 133 Egyszerű (statikus) utasítások Az utasítások döntő része 1 órajel ciklus időtartamú Bővítés: Beépített szorzó 2 órajel ciklus végrehajtási idővel 1 MIPS / MHz számítási teljesítmény 1 MIPS = 1 millió művelet / sec - 10 -

Órajel A mikrovezérlő szinkron szekvenciális hálózat: órajel ütemezi szimmetrikus négyszögjel Tipikus órajel frekvenciák: 8-12-16 MHz Órajel források:belső óragenerátor, külső kvarc,rezonátor, óragenerátor - 11 -

AVR architektúra Harvard architektúra ALU, 32 belső általános célú regiszter, programmemória (flash) Adat-sín (busz) RAM adat-memória EEPROM nem törlődő adatmemória Speciális regiszterek Perifériák, I/O-k - 12 -

Regiszterek 32 8-bites általános célú regiszter Közülük 6 16-bites regiszterként használható egyes utasításokban (X, Y, Z) Státus regiszter Programszámláló PC Stack pointer SP R0 $00 R1 $01 R2 $02 R13 $0D R14 $0E R15 $0F R16 $10 R17 $11 R26 $1A X-register Low Byte R27 $1B X-register High Byte R28 $1C Y-register Low Byte R29 $1D Y-register High Byte R30 $1E Z-register Low Byte R31 $1F Z-register High Byte - 13 -

Speciális regiszterek Special Function Register (SFR) Beépített, a belső memóriába ágyazott speciális regiszterek, meghatározott funkciójú tartalommal: A rendszer és a perifériák állapotát tükröző státus adatok. A rendszer illetve a perifériák üzemmódját beállító vezérlő-adatok. A perifériák működését indító parancs-adatok. - 14 -

Utasítások - 15 -

Utasítások - 16 -

Utasítások - 17 -

Utasítások - 18 -

Memóriák Program memória: EEPROM: Flash memória Nem felejtő Törölhető 100.000-szer írható (tartósság endurance) Programból is írható Elektromosan törölhető, programozható Nem felejtő Tartósság: 100.000 Adat memória: Statikus RAM - 19 -

Órajel A belső és külső folyamatok ütemezésére Lehetőségek Belső RC generátor pontatlan, hangolható, de hőmérsékletfüggő Külső RC generátor pontatlan, hőmérsékletfüggő Külső keramikus rezonátor közepes pontosságú és stabilitású, olcsó Külső kvarckristály pontos és stabil Külső kristály-oszcillátor pontos és stabil ATmega128 Maximális órajelfrekvencia: 16 MHz ATmega128L (alacsony tápfeszültségű) Maximális órajelfrekvencia: 8 MHz - 20 -

Megszakítások Belső perifériákban bekövetkező és külső eseményekre való reagálás eszköze. Működése: Események bekövetkezésekor az éppen aktuális utasítás befejeződik, és ha engedélyezve van, megszakad a program normál futása, a visszatérési pont megjegyzésével. Végrehajtódik egy az eseménnyel összefüggésben megírt eljárás, az ISR (Interrupt Service Routine), azaz kiszolgálásra kerül megszakítás kérés. Visszatér a programvégrehajtás a normál menetre. Jellemzők: A lehető legegyszerűbb rendszer. Egyszintű, prioritás nélküli megszakítás rendszer. Több megszakítás együttes kezelése a programozó feladata. - 21 -

Programvégrehajtás Program: a programmemóriában tárolt utasítássorozat valamilyen specifikus funkció (algoritmusok) megvalósítására. A programvégrehajtás normál menete: Az aktuális utasítás programmemória-beli címe a programszámlálóban (PC Program Counter) található. A CPU előveszi az aktuális utasítást, dekódolja, előveszi az operandusokat, végrehajtja az utasítást, elhelyezi az eredményt az utasításban leírt helyre, beállítja a státus-regisztert, ha az utasítás nem ugrást ír elő, növeli a PC értékét 1-el, Programszervező utasítás esetén képezi a következő utasítás címét és betölti a PC-be. Ez a folyamat ismétlődik. - 22 -

Programvégrehajtás Eltérések a programvégrehajtás normál menetétől: Eljárások végrehajtása. Megszakításkezelés. Verem (stack) memória: A RAM memória speciálisan használt területe. Az aktuális memóriacímre az SP (Stack Pointer) regiszter mutat. PUSH művelet: egy adat tárolásra kerül a stack-be, majd SP értéke csökken 1-el. POP művelet: SP értéke nő 1-el, majd az adat, amelyre mutat kiolvasásra kerül. Az utolsónak bekerülő elem kerül ki elsőnek Last-In-First-Out (LIFO) memória. - 23 -

Eljárások végrehajtása Eljárás (subroutine): egy programrészlet, amelyet a program akár több pontjáról is meghívunk, majd végrehajtása után folytatjuk a normál programvégrehajtást. Eljáráshívás: CALL <eljárás kezdőcíme> Végrehajtás: A CPU eltárolja a stack-be az eljáráshívást követő utasítás címét a PC tartalmának 1-el növelésével (ez a visszatérési cím), beírja a PC-be az eljárás kezdőcímét, végrehajtja az eljárásnak megfelelő utasítás-sorozatot, ha visszatérési (RET) utasítást talál, a stack-ből előveszi a visszatérési címet, és azt beírja a PC-be. Eljárások láncolása: egy eljárás hívhat más eljárást, vagy akár saját magát (rekurzív eljárás) a láncolás mértékének a stack mérete szab határt. - 24 -

Megszakítások Belső perifériákban bekövetkező és külső eseményekre való reagálás eszköze. Működés: Események bekövetkezésekor az éppen aktuális utasítás befejeződik, és ha megszakítás engedélyezve van, megszakad a program normál futása, a visszatérési pont stack-ben való eltárolása mellett. Végrehajtódik egy az eseménnyel összefüggésben megírt eljárás, az ISR (Interrupt Service Routine), azaz kiszolgálásra kerül a megszakítás kérés. Visszatérési utasítás hatására visszatér a programvégrehajtás normál menete. Az ATmega128 megszakítás-rendszere: A lehető legegyszerűbb rendszer. Egyszintű, prioritás nélküli megszakítás rendszer. Több megszakítás együttes kezelése a programozó feladata. - 25 -

A megszakítások forrásai: Megszakítások Belső perifériák állapotváltozásai, hibajelzései, pl. készenlét, művelet befejezése, túlcsordulás, stb. (Interrupt) Külső megszakítás vonalakon megjelenő meghatározott logikai szint vagy változás. (External Interrupt) Megszakítás engedélyezés/tiltás: Globális. A forrásokra és eseménytípusokra szelektív. A megszakítások azonosítása: Megszakítás-vektorok: Interrupt Vector Table - 26 -

Interrupt Vector Table: Megszakítások Minden egyes megszakítás forráshoz tartozik egy táblázat-bejegyzés: a megszakítás-kiszolgáló eljárás (Interrupt Service Routine ISR) ugrási címe. A táblázat helye: a programmemória kezdő pozíciója. 0 cím: RESET, a tápfeszültség megjelenése vagy a RESET bemenet logikai L szintre helyezése után az itt található címtől indul a végrehajtás. - 27 -

Beágyazott rendszerek perifériái Periféria áramkörök Interfész áramkörök: Analóg jelinterfészek: AD és DA konverterek Logikai jelinterfészek: digitális I/O Fizikai jelinterfészek: érzékelők, mérőeszközök, relék, motorok, különböző fizikai elveken alapuló beavatkozó szervek Kommunikációs interfészek: vezetékes és vezeték nélküli soros vagy hálózati interfészek Adattároló eszközök: Mágneses tároló eszközök: keménylemezes diszkek Optikai tároló eszközök: CD, DVD Félvezető tároló eszközök: multimédia, SD memória kártyák Kommunikációs eszközök: Vezetékes hálózatok: Ethernet, CAN, FlexRay Vezeték nélküli hálózatok: WLAN, ZigBee - 28 -

ATmega128 belső digitális perifériák Időzítő (timer) egységek 2 8-bites, 2 16-bites timer egység 8 ill. 16-bites számlálók Rugalmasan választható számlálási frekvencia Időzítés, időmérés, jelgenerálás, PWM Megszakítás kérések: számláló túlcsordulás, számláló komparálás egyezése, külső esemény bekövetkezése (capture) Aszinkron/szinkron soros kommunikációs egységek (USART): Két független USART Állítható kommunikációs sebesség (Baud-rate) 8-9 bites átvitel, paritás, hibafigyelés Soros kommunikációs egységek (SPI I 2 C): SPI Serial Periheral Interface 3 vezetékes soros I 2 C itt TWI néven szerepel (Two-Wire Interface) 2- vezetékes Rövid távú gyors kommunikáció lebonyolítására. - 29 -

ATmega128 belső analóg perifériák Analóg komparátor (AC): Két analóg jel szintjének összehasonlítása Egy analóg jel egy referenciához való hasonlítása Belső 8-csatornás multiplexerrel jelválasztás Egyezés esetén: I/O regiszterben leolvasható jelzés vagy megszakítás Analóg digitális interfész (ADC): 10-bites SAR (szukcesszív approximációs) AD 8-csatornás bemeneti multiplexer Külső vagy belső referencia feszültség Állítható órajel frekvencia Konverzió kész jelzésre megszakítás kérés. - 30 -

I/O regiszterek (egy részlet): Periféria kezelés SPI Minden perifériához tartoznak specifikus regiszterek: parancs-, státusz-, és adatregiszterek

Periféria kezelés Egy I/O regiszter leírása (adatlap részlet): SPI Serial Peripheral Interface - 32 -

Periféria kezelés SPI Serial Peripheral Interface MISO Master Input Slave Output MOSI Master Output Slave Input SCK Serial Clock SS Slave Select - 33 -

Külső periféria-illesztés - 34 -

AS5045 forgó mágneses szögjeladó SPI programozási séma AS5045 ATmega128

SPI Aktuális beállítások: SPE = 1 SPI periféria engedélyezve MSTR = 1 SPI Master mód CPOL = 1 órajel alapérték log. H CPHA = 1 mintavétel lefutó élre Órajel frekvencia 1 MHz, f CLK / 16 SPIE = 0/1 megszakítás tiltva/eng.

AS5045 forgó mágneses szögjeladó Adatfeldolgozás 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 X D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 OCF COF LIN Mag Inc Mag Dec P X X X X X 3 0 0 0 0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 OCF COF LIN Mag Inc Mag Dec P X X 2 Status: 0 0 OCF COF LIN Mag Inc Mag Dec P Data: 0 0 0 0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

Külső periféria-illesztés - 38 -

Külső periféria-illesztés Motor hátsó tengely Mágnes foglalat Neodímium mágnes Áramköri panel Csatlakozó Érzékelő IC

Hardver rendszerfejlesztés 51 PA0/AD0 50 PA1/AD1 49 PA2/AD2 48 PA3/AD3 47 PA4/AD4 46 PA5/AD5 45 PA6/AD6 44 PA7/AD7 35 PC0/A8 36 PC1/A9 37 PC2/A10 38 PC3/A11 39 PC4/A12 40 PC5/A13 41 PC6/A14 42 PC7/A15 61 60 59 58 57 56 55 54 33 34 43 PF0/ADC0 PF1/ADC1 PF2/ADC2 PF3/ADC3 PF4/ADC4/TCK PF5/ADC5/TMS PF6/ADC6/TDO PF7/ADC7/TDI PG0/WR PG1/RD PG2/ALE 64 AVCC PG3/TOSC2 18 ATMEL ATmega128(L) PG4/TOSC1 19 21 VCC GND 22 53 63 52 XTAL2 23 AREF PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0 PB5/OC1A PB6/OC1B PB7/OC1C PD0/SCL/INT0 PD1/SDA/INT1 PD2/RXD1/INT2 PD3/TXD1/INT3 PD4/ICP1 PD5/XCK1 PD6/T1 PD7/T2 PE0/RXD0/PDI PE1/TXD0/PDO PE2/XCK0/AIN0 PE3/OC3A/AIN1 PE4/OC3B/INT4 PE5/OC3C/INT5 PE6/T3/INT6 PE7/ICP3/INT7 XTAL1 62 24 PEN 10 11 12 13 14 15 16 17 25 26 27 28 29 30 31 32 2 3 4 5 6 7 8 9 1 20 RESET - 40 -

Hardver rendszerfejlesztés - 41 -

Hardver rendszerfejlesztés - 42 -

Hardver rendszerfejlesztés - 43 -