I+K technológiák Beágyazott rendszerek Dr. Aradi Szilárd
Bevezetés Az ipar és a közlekedés különböző területein nagy számban fordulnak elő mikrokontrolleres vezérlőegységek (beágyazott rendszerek) Közúti jelzőlámpák és mérőrendszerek Vasúti biztosítóberendezések és vasúti járművek Légi járművek fedélzeti vezérlőegységei Ipari folyamatirányítás (pl.: gyártás) Járműveken belüli rendszerek A vezérlőegységek hálózatot alkotva látják el funkcióikat 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 2
Integrált áramköri technológia Szilícium lapkán kialakított rendkívül kis méretű, nagy bonyolultságú félvezető áramkör. Jack Kilby a Texas Instruments kutatója 1958-ban megalkotta az első működő integrált áramkört. IC alapelemei Ellenállás Kondenzátor Dióda tranzisztor 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 3
IC gyártás Planár technológia: az áramkörök síkbeli elrendezésben és több rétegben kerülnek kialakításra. Kiindulás: szilícium egykristály rud -> szeletek (wafer) Technológiai lépések (többször váltakozva): rétegfelvitel, litográfia, adalékolás. 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 4
IC gyártás példa CMOS inverter Maszkokkal kialakított n- és p-típusú részek, melyek a tranzisztorok source és drain rétegei, alumínium rétegekkel kivezetve Polikristályos szilíciumból (vezető!) kialakított gate, alatta egy vékonyréteg SiO 2 szigetelő, felette pedig szintén egy vastagabb szigetelő réteg 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 5
IC generációk Integráltsági fok a tranzisztorok száma szerint SSI (Small-Scale Integration): 10x MSI (Medium-Scale Integration): 100x LSI (Large-Scale Integration): 10000x VLSI (Very Large-Scale Integration): 100000x ULSI (Ultra Large-Scale Integration): 1000000x SoC (System on Chip): Teljes számítógép egyetlen IC-be integrálva. (Pl.: okostelefonok alapja) Intel 4004 (1971): 2300 Intel Core i7 9. generáció (2018): kb. 3 milliárd Chip méret: a tokon belül található chip mérete Intel 4004 (1971): 12 mm 2 Intel Core i7 9. generáció (2018): 174 mm 2 Csíkszélesség: a chipen belüli vezeték szélessége Intel 4004 (1971): 10 µm Intel Core i7 (2008): 14 nm 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 6
IC tokozások 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 7
Memóriák Szekvenciális hozzáférés FIFO: First In First Out, soros puffer LIFO: Last In First Out, veremtár (stack) Tetszőleges hozzáférés Felejtő (Volatile) RAM (Random Access Memory) Dinamikus RAM (DRAM) Statikus RAM (SRAM) Nem felejtő (Non-volatile) ROM (Read-Only Memory) PROM (Programmable ROM) EPROM (Erasable Programmable ROM) EEPROM (Electrically Erasable Programmable ROM) Flash 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 8
RAM Tetszőleges hozzáférésű memória (véletlen hozzáférésű memória) Statikus Egy cella több tranzisztorból áll (flip-flop) Tápfeszültség alatt bármeddig megtartja az adatot Nagyon gyors, kis fogyasztás, drága Például cache memória Dinamikus Egy cella egy tranzisztorból és egy kondenzátorból áll Addig tartja meg az adatot, amíg a kondenzátor (szivárgás miatt) ki nem sül, ezért időközönként frissíteni kell Lassabb, kisebb méretű, olcsó Például PC-k RAM memóriája 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 9
ROM ROM A gyártó programozza, a felhasználó csak olvashatja PROM A felhasználó egyszer programozhatja, után csak olvashatja EPROM UV fénnyel törölhető, speciális készülékkel írható EEPROM Speciális készülékkel törölhető és írható Flash Olyan EEPROM, amelyet a számítógép is tud törölni és írni. 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 10
CPU vs. MCU Central Processing Unit Nagy általános utasításkészlet, valamint további speciális utasításkészletek Összetett memóriakezelés Komplex kiegészítő áramkört igényel, önmagában működésképtelen. Bonyolult számítások, nagysebességű elvégzésére alkalmas Képes az összetett operációs rendszerek futtatására MicroController Unit Önmagában is működőképes, komplett számítógép Mindent tartalmaz, ami a működéshez szükséges CPU RAM, ROM Digitális I/O Időzítő/számláló Órajelgenerátor Alacsonyabb számítási kapacitás Kiválóan alkalmas ipari irányítástechnikai feladatok elvégzésre Az MCU alapú célhardvert beágyazott rendszernek hívjuk 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 11
Az MCU felépítése 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 12
MCU-k jellemző tulajdonságai Adatszélesség: 8, 16, 32 bit Hozzávetőleges eloszlás 2010-ben 8 bit: 27 % 16 bit: 33 % 32 bit: 40 % A járműiparban a 16 és a 32 bit a legelterjedtebb Órajel: 5-350 MHz Műveleti sebesség: MIPS RAM és ROM (Flash) mérete RAM (128 byte 64 kbyte) ROM (2 kbyte 256 kbyte) Perifériák Programozói és debug interfész Tápellátás Feszültségszint (5 V, 3.3 V) Fogyasztás (10x ma) 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 13
MCU-k programozása Magas szintű programnyelv C, C++ a legelterjedtebb Alacsony szintű programnyelv Assembly Fejlesztői környezet Editor Compiler (Assembler) Linker HEX generator Downloader Debugger IDE (Integrated Development Environment): Minden fent felsorolt szoftver eszköz egy szoftverrendszerbe integrálva 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 14
Programletöltés és hibakeresés Device programmer A program letöltéséhez egy külső eszközbe szükséges elhelyezni az MCU-t, amely a PC-hez kapcsolódik (LPT, USB, LAN). Beépítés (forrasztás) után már nem lehetséges a letöltés, valamint a hibakeresés (debug) sem támogatott. In-system (In-circuit) Programming (ISP) A programot a már beépített MCU-ba is le lehet tölteni egy megfelelő eszközzel. Önmagában nem támogatja a debug funkciót. Jellemzően SPI-t használnak a programletöltéshez. In-circuit (Debugger) Emulator (ICE) Egy megfelelő interfészen keresztül az MCU összeköthető egy PC szoftverrel, amellyel lépésenként követhető a szoftver futása, az egyes memóriaterületek, regiszterek, perifériák állapota. Ezt a folyamatot debuggolásnak nevezzük. Jellemző technológia a JTAG. 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 15
MCU architektúrák és típusok I. MCS-51 (8051) 1980-ban fejlesztette ki az Intel 8-bit, 128 byte RAM, 4 kbyte ROM, 4x8 I/O, UART Az egyik legszélesebb körben elterjedt platform Az Intel már nem gyártja, azonban több gyártó is készít 8051 architektúrájú, továbbfejlesztett MCUkat Egyes változatait az autóiparban is megtaláljuk (lásd Infineon XC800 sorozat) 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 16
MCU architektúrák és típusok II. ARM (Advanced RISC Machine) 1983-ban indult fejlesztési projektként az Acorn Ltd.-nél A legelterjedtebb 32-bites architektúra, elsősorban a szórakoztató elektronikában 2005-ben az eladott mobiltelefonok 98 %-a tartalmazott legalább egy ARM processzort 2015-ben 15 milliárd ARM-alapú processzort értékesítettek Napjainkban a 32-bites RISC MCU-k kb. 75 %-a ARM alapú Legjelentősebb ágai: Samsung Exynos, Texas Instruments OMAP, Apple Ax, Intel Atom, nvidia Tegra, Qualcomm Snapdragon, Huawei HiSilicon, Allwinner Axy, MediaTek MTxxxx, FreeScale i.mx Járműiparban elsősorban a kamerás vezetéstámogató rendszerekben fordulnak elő 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 17
Kommunikációs technológiák Universal Asynchronous Receiver/Transmitter (UART) Általános célú, kétvezetékes, full- vagy half-duplex, aszinkron soros adatátviteli technológia, melynek sebessége és adatformátuma konfigurálható. Alapkiépítésben pont-pont kapcsolatra alkalmas, jellemzően max. 115.2 kbit/s, de egyes esetekben akár 300 kbit/s feletti sebességgel. A megfelelő meghajtó áramkörökkel kiegészítve alkalmas RS-232, RS-422, RS-485, vagy LIN kommunikációra is. Újabb változata az USART, amely egy órajel vezetékkel kiegészítve a szinkron átvitelt is támogatja. Serial Peripheral Interface Bus (SPI) A Motorola által kifejlesztett, négyvezetékes, full-duplex, szinkron soros, adatátviteli technológia. Támogatja a buszrendszerű adatátvitelt, master-slave struktúrában, maximális sebességét a leglassabb eszköz frekvenciája limitálja (jellemzően 1-70 MHz között használják) Inter-Integrated Circuit (I 2 C) A Philips által kifejlesztett, kétvezetékes, szinkron soros, adatátviteli technológia. 10 vagy 100 kbit/s sebességre képes, támogatja a multi-master busz adatátvitelt. 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 18
UART 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 19
I 2 C busz Az Inter-Integrated Circiut (I 2 C) buszt a Philips fejlesztette 1982-ben. Kisebb sebességű periféria IC-k és a mikrovezérlők közötti kommunikációra használható, rövid távolságon (nyomtatott áramkörön határain) belül Multi-master, master-slave, soros, szinkron buszrendszer 10 khz (low-speed mode) és 100 khz (standard mode) órajelfrekvencia A legújabb verziójú eszközök ennél gyorsabbak is lehetnek: 400 khz Fast mode 1 MHz Fast mode plus vagy Fm+ 3.4 MHz High Speed mode Forrás: Wikipedia, en:user:cburnett, CC BY-SA 3.0 Forrás: SparkFun Electronics, SFUPTOWNMAKER, CC BY-NC-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 20
I 2 C hardver Két darab kétirányú open-drain vezeték, ellenállásokkal tápfeszültségre felhúzva. Huzalozott ÉS kapcsolat, azaz az alacsony jelszint az erősebb. Serial Data Line (SDA) adatvezeték és Serial Clock Line (SCL) órajlevezeték Többféle feszültségszint is használható is a vezetékeken (pl.: 5V, 3.3V, 2.5V stb.) 5V és 3,3V használható vegyesen, ilyenkor 3,3V-ra kell felhúzni a vezetékeket. Egyéb esetben szintillesztő IC szükséges Forrás: SparkFun Electronics, SFUPTOWNMAKER, CC BY-NC-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 21
I 2 C protokoll (master-slave) I. A kommunikáció üzenet (message) alapú, melyet start (start condition) és stop (stop condition) jelzések határolnak Egy üzenet több keretből (frame) áll Egy címkeret (address frame) Egy vagy több adatkeret (data frame) Forrás: SparkFun Electronics, SFUPTOWNMAKER, CC BY-NC-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 22
I 2 C protokoll (master-slave) II. Start Condition A kommunikáció kezdetekor a master lehúzza az SDA-t, miközben az SCL magas szinten marad. (A busz alaphelyeztében mindkét vezeték magas jelszinten van.) Erre kezdenek figyelni a slave-ek. Address Frame Mindig ezzel kezdődik az üzenet. 7-bites eszközcím 1-bites jelzés: írás vagy olvasási (R/W 1/0) művelet Data Frame Tetszőleges számú, 1 bájtos adat, master vagy slave tölti fel az R/W bittől függően ACK bit Minden frame után a master elengedi az SDA-t (így az magas szintre kerül) és a megcímzett slave-nek kell alacsonyra húznia. Így jelzi, hogy fogadta az adatot. Stop Condition Az üzenet végén a master lehúzza az SCL-t és az SDA-t az ACK után. Felengedi az SCL-t, majd felengedi az SDA-t is. Normál adatküldésnél az SDA nem változhat az SCL magas szintje mellett! 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 23
I 2 C protokoll (multi-master) A slave-ek működése ugyanolyan, mint master-slave esetben. A mastereknek viszont tudniuk kell a multi-master módot. Folyamatosan vissza kell olvasniuk a buszt, hogy a kiküldött adatuk jelent-e meg. Nem megfelelő masterek alkalmazása hibához vezet! A masterek figyelik a buszt, aki előbb húzza le az SDA-t azé a buszhasználat joga. Ha mégis egyszerre küldenek, akkor a huzalozott ÉS kapcsolat miatt egyszerre 1 és 0 bit estén az 1-es bit veszít. A vesztes master elengedi a buszt, majd később újra próbálkozik. Ezt a folyamatot hívják arbitrációnak. Ismételt Start Condition Előfordulhat, hogy egy master több üzentet szeretne küldeni Ekkor Stop Condition helyett Repeated Start Conditiont küld Alacsony SCL mellett felengedik az SDA-t, majd az SCL-t és jön a Start Condition Forrás: SparkFun Electronics, SFUPTOWNMAKER, CC BY-NC-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 24
I 2 C példa 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 25
SPI busz Az Serial Peripheral Interface (SPI) buszt a Motorola fejlesztett ki. Nagysebességű perifériák és a mikrovezérlők közötti kommunikációra használható, rövid távolságon (nyomtatott áramkörön határain) belül (tipikus példa az SD memóriakártya) Single-master, multi-slave, soros, szinkron buszrendszer 10-100 MHz órajel, eszköztől függően. Két shift regiszter van egy gyűrűben összekötve. Minden egyes kiküldött bithez tartozik egy fogadott bit. Forrás: Wikipedia, en:user:cburnett, CC BY-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 26
SPI hardver és topológia Minimálisan 4-vezetékes kialakítás Push-pull kimenet, így nem kell felhúzó ellenállás SCLK: Serial Clock közös órajelvezeték, a master generálja MOSI: Master Output, Slave Input közös master kimenet MISO: Master Input, Slave Output közös master bemenet SS: Slave Select (ative low) slave engedélyező, master kimenet, Függtelen slave-ek esetén minden slave-hez egy vezeték tartozik Lánc (dasiy chain) topológia esetén elég egy SS vezeték Forrás: Wikipedia, en:user:cburnett, CC BY-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 27
SPI adatátvitel (független slave-ek) I. Az órajel ütemezésre a MOSI lábon kiküldésre kerül a master shift regiszterének (jellemzően 8 vagy 16 bites) tartalma, és beolvasásra kerül az SS lábbal engedélyezett slave shift regisztere. A master által beállított órajel többféle lehet. Az órajel polaritása (CPOL) kétféle A fázis (CPHA) dönti el, hogy az első vagy a hátsó élre mintavételez-e A beállításra figyelni kell! 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 28
SPI adatátvitel (daisy chain) II. Lánc topológia esetén a master kimenete (MOSI) az első slave bemenetéhez (MOSI) kapcsolódik. A slave-ek sorba vannak kötve, azaz az első slave kimenete a második slave bemenetéhez kapcsolódik, és így tovább. Végül az utolsó slave kimenete (MISO) a master bemenetéhez (MISO) kapcsolódik. Ilyenkor a slave-ek úgy működnek, hogy a fogadott adatot továbbadják (shiftelik) a következő slave-nek és végül a masternek. Az egész rendszer egy kommunikációs shift regiszterkén működik. Forrás: SparkFun Electronics, MIKEGRUSIN, CC BY-NC-SA 3.0 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 29
Vége Köszönöm a figyelmet! 2018. 11. 28. Dr. Aradi Szilárd: I+K technológiák, Beágyazott rendszerek 30