BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Beágyazott rendszerek Fehér Béla Raikovich Tamás
Beágyazott rendszereknek azokat a számítógépes rendszereket nevezzük, melyekre igazak az alábbiak: Dedikált funkció Tipikusan egy jól meghatározott funkció végrehajtása Szigorú követelmények Alacsony költség Kevés alkatrész Gyors működés Kis energiafogyasztás Valós idejű működés és reagálás Folyamatosan kell figyelni a környezetet és reagálni kell a bekövetkező változásokra Hardver és szoftver együttese 1
Példák beágyazott rendszerekre: Mobiltelefon rendszerek Fogyasztói készülékek, bázisállomások Autóipari alkalmazások Fékrendszer, futómű vezérlés, légzsák vezérlés Motorvezérlés, sebességváltó vezérlés Repülőgépipari alkalmazások Repülésirányító rendszerek, hajtómű vezérlés Robotpilóta Védelmi rendszerek Radar rendszerek, rádió rendszerek Rakétavezérlő rendszerek 2
Jelenlegi technológiák a beágyazott rendszerek megvalósításához: Mikrovezérlő alapú rendszerek Jelfeldolgozó processzor (DSP) alapú rendszerek ASIC technológián alapuló rendszerek FPGA technológián alapuló rendszerek 3
Elmosódó határvonalak a technológiák között ASIC FPGA Utasítás kiterjesztés (Re)konfigurálható co-processzor FPGA kemény makró Szintetizálható és kemény processzor magok uc DSP Gyors DSP utasítások Processzor 4 Perifériában gazdag DSP
Integrációs szintek a rendszertervezésben Embedded Software Tools A funkciók integráltsága CPU Embedded Software Tools FPGA I/O Memory CPU Embedded Software Tools FPGA + Memory + IP + High Speed IO (4K & Virtex ) Logic Design Tools Logic + Memory + IP + Processors + RocketIO (Virtex-II Pro) Logic Design Tools Logic Design Tools Idő 5
6
7
8
Az FPGA áramkörökön alapuló beágyazott rendszerek tervezése az alábbi lépésekből áll: FPGA hardver tervezés Processzor: ARM Cortex család, MicroBlaze Perifériák Eszközmeghajtók és szoftver könyvtárak generálása Alkalmazás fejlesztés Szoftver rutinok Megszakításkezelő rutinok Operációs rendszer, valós idejű operációs rendszer 9
MicroBlaze alapú beágyazott rendszerek Blokk-RAM utasítás cache LMB adat cache AXI-4 MicroBlaze mag I-cache D-cache adat reg. MMU FPU regiszter elérés Saját funkciók AXI-4 Lite AXI-4 Stream Flexibilis szoft IP Saját funkciók Gyors periféria Memória vezérlő Gigabit Ethernet UART GPIO Lassú periféria Külső perifériák DDR3 SDRAM Ethernet PHY LED Kapcsoló 10
System-on-a-Chip (SoC) eszközök: Hard processzoros rendszer (CPU és perifériák) Programozható logikai rész (FPGA) Xilinx Zynq-7000S és Zynq-7000 SoC család: Egy- vagy kétmagos ARM Cortex-A9 processzor FPU, NEON SIMD, DMA vezérlő Dinamikus és statikus memória vezérlők Gigabit Ethernet MAC, USB 2.0 On-the-Go, SDIO UART, I2C, SPI, CAN, GPIO Multi-Gigabit transceiver-ek, PCI Express blokk 11
Zynq-7000S és Zynq-7000 SoC 12
Xilinx Zynq UltraScale+ CG/EG/EV MPSoC család: Négymagos ARM Cortex-A53 alkalmazás processzor Kétmagos ARM Cortex-R5 real-time processzor DDR3/DDR4 memória vezérlő ARM Mali-400 MP GPU (EG és EV), H.264/H.265 kodek (EV) Nagysebességű perifériák DisplayPort, USB 3.0, SATA 3.0, PCI Express Általános perifériák Gbit Ethernet, CAN, I2C, SPI, UART, USB 2.0, SD/eMMC Felhasználási területek: Ipari vezérlés, repülési és védelmi alkalmazások Multimédia, embedded vision, ADAS 13
Zynq UltraScale+ EV MPSoC 14
Xilinx Zynq UltraScale+ RFSoC család: Négymagos ARM Cortex-A53 alkalmazás processzor Kétmagos ARM Cortex-R5 real-time processzor DDR3/DDR4 memória vezérlő Multi-GSPS A/D és D/A konverterek, SD-FEC modul Nagysebességű perifériák DisplayPort, USB 3.0, SATA 3.0, PCI Express Általános perifériák Gbit Ethernet, CAN, I2C, SPI, UART, USB 2.0, SD/eMMC Felhasználási területek: Nagysebességű tesztelés és mérés, 5G rádió, radar 15
Zynq UltraScale+ RFSoC 16