Workshop Vývoj embedded aplikací v systému MATLAB a Simulink Jiří Sehnal sehnal@humusoft.cz www.humusoft.cz info@humusoft.cz www.mathworks.com 1
Obsah workshopu Model Based Design model soustavy a regulátoru ověření offline a real-time simulací Příprava modelu pro embedded aplikaci požadavky na embedded aplikaci Real-Time Workshop Embedded Coder a Simulink Fixed Point převod modelu do fixed-point aritmetiky ověření funkčnosti simulací Automatické generování aplikace embedded targety konfigurace targetu pro Microchip PIC32 doplnění I/O periferií generování aplikace a spuštění v cílovém HW Generování HDL kódu 2
Co je MATLAB 3 Integrované prostředí pro vědeckotechnické výpočty Grafické a výpočetní nástroje Intuitivní uživatelské rozhraní MATLAB Desktop Rychlé výpočetní jádro Programovací jazyk 4. Generace více než 1 000 funkcí objektově orientované programování Grafická uživatelská rozhraní (GUI) Rozsáhlá HTML nápověda prohlížeč funkcí Systém MATLAB je: modulární toolboxy otevřený uživatel může zobrazit i upravovat funkce
Co je Simulink Nadstavba MATLABu Modelování, simulace a analýza dynamických systémů Prostředí blokových schémat předdefinované knihovny bloků systém práce drag and drop tvorba vlastních funkčních bloků Prvky pro tvorbu algebraických a diferenciálních rovnic Otevřené rozhraní pro tvorbu aplikací začlenění kódu z programů MATLAB, C, Fortran Platforma pro Model Based Design následně může být automaticky generován kód pro cílovou platformu 4
Obsah workshopu Model Based Design model soustavy a regulátoru ověření offline a real-time simulací Příprava modelu pro embedded aplikaci požadavky na embedded aplikaci Real-Time Workshop Embedded Coder a Simulink Fixed Point převod modelu do fixed-point aritmetiky ověření funkčnosti simulací Automatické generování aplikace embedded targety konfigurace targetu pro Microchip PIC32 doplnění I/O periferií generování aplikace a spuštění v cílovém HW Generování HDL kódu 5
Úkol: Model based design seznámení s aplikací, modelem soustavy a navrženým regulátorem, magnet_mbd.mdl simulace, zobrazení výsledků, 3D animace rapid prototyping, ověření s reálnou soustavou 6
Obsah workshopu Model Based Design model soustavy a regulátoru ověření offline a real-time simulací Příprava modelu pro embedded aplikaci požadavky na embedded aplikaci Real-Time Workshop Embedded Coder a Simulink Fixed Point převod modelu do fixed-point aritmetiky ověření funkčnosti simulací Automatické generování aplikace embedded targety konfigurace targetu pro Microchip PIC32 doplnění I/O periferií generování aplikace a spuštění v cílovém HW Generování HDL kódu 7
Požadavky na embedded aplikaci Produkční řídicí jednotka Navržena s ohledem na minimální náklady v sériové výrobě Malý výkon CPU Málo paměti Většinou nemá floating-point ALU Náročné na optimalizaci Postup návrhu Model odladěný na prototypovém systému se použije i na produkční ECU Použije se generátor produkčního kódu Implementace fixed-point aritmetiky Optimalizace využití paměti Optimalizace na konkrétní CPU Kvalita ručně psaného kódu 8
Převod do fixed-point aritmetiky Princip: scaling po blocích, autoscaling - na základě výsledků simulace - pro nejhorší případ Kompromis rychlosti, nároků na paměť a přesnosti: velká rychlost výpočtu malá scaling mocninou dvou scaling mocninou dvou s offsetem obecný scaling obecný scaling s offsetem f = 2 n i f = 2 n i + offs f = S i f = S i + offs malá přesnost velká Volba datových typů, ošetření přetečení, zaokrouhlování 9
Ruční nastavení Minima a maxima signálu, zjednoduší návrh pokud jsou známá Datové typy podle použitého procesoru Zamknout scaling kde je jasný Zaokrouhlování Saturace 10
Automatické nastavení Doplnit konverze datových typů na rozhraní generované části modelu Fixed-Point Advisor menu Tools -> Fixed-Point zvolit subsystém spustit konverzi Run to Failure provedení úprav dle doporučení ukládat mezivýsledky opakované spouštění až do úplného odladění u větších modelů převod po částech, nefunguje pro model referencing a maskované subsystémy 11
Ověření simulací Fixed-Point Tool model magnet_mbd_fp.mdl menu Tools -> Fixed-Point zvolit subsystém Data Type Override volba datového typu referenční simulace v double precision simulace ve fixed-point porovnání výsledků návrh změny datových typů podle výsledků simulace 12
Obsah workshopu Model Based Design model soustavy a regulátoru ověření offline a real-time simulací Příprava modelu pro embedded aplikaci požadavky na embedded aplikaci Real-Time Workshop Embedded Coder a Simulink Fixed Point převod modelu do fixed-point aritmetiky ověření funkčnosti simulací Automatické generování aplikace embedded targety konfigurace targetu pro Microchip PIC32 doplnění I/O periferií generování aplikace a spuštění v cílovém HW Generování HDL kódu 13
Embedded Targety MathWorks Target Support Package Analog Devices Sharc, Blackfin Freescale MPC 5xx Infineon C166, ST10 TI 2000, TI 5000, TI 6000 Produkty třetích stran Embedded Target for dspic Microchip PIC24 Microchip PIC30 Microchip PIC32 Microchip PIC33 Obsahuje: konfigurace časování aplikace obsluha onchip periferií 14
Embedded Target for dspic Konfigurační bloky Master typ CPU, hodiny, timery a další parametry Configure Model nastaví parametry RTW pro dspic Configuration volba double nebo single precision I/O bloky A/D Digital I/O CAN SPI I2C Serial Capture/compare unit PWM 15
Příprava modelu pro generování aplikace model magnet_mbd_pic32.mdl přidané konfigurační bloky nastavení CPU 32MX360F512L hodiny, timing A/D převodník PWM výstup ovládání, tlačítka 16
Vygenerování a spuštění aplikace Tools >RTW -> Build Model, Blok Generate Code, Ctrl B vyrobí aplikaci (.elf) Pomocí Microchip MPLAB IDE se aplikace naloaduje do CPU a spustí ladicí prostředky vývojového prostředí MPLAB IDE (včetne source code debugging) 17
Simulink HDL Coder Kompiluje modely do Verilog a VHDL kódu Simulink Stateflow Embedded MATLAB Pro implementaci algoritmů na programovatelná hradlová pole (FPGA) a zákaznické integrované obvody (ASIC) Vyžaduje Fixed Point Toolbox Simulink Fixed Point 18
Zdroje informací Internetové stránky www.humusoft.cz domovská stránka firmy Humusoft s.r.o. www.mathworks.com domovská stránka firmy The MathWorks, Inc. MATLAB central prostor pro vzájemnou komunikaci mezi uživateli a příznivci systému MATLAB/Simulink (otevřená platforma pro prezentaci vlastních aplikací, výměnu souborů, názorů i zkušeností) www.mathworks.com/matlabcentral/ 19
Zdroje informací Webové semináře (webinars) on-line semináře zdarma probíhající na internetu v reálném čase v daný den a hodinu videa webových seminářů, které již proběhly, jsou ke stažení v angličtině (The MathWorks), češtině, slovenštině přehled připravovaných a archiv uskutečněných webových seminářů Školení www.humusoft.cz/wwwseminare Firma HUMUSOFT provádí školení na MATLAB, Simulink, Stateflow, Real Time Workshop, fyzikální modelování zhruba 1x za dva měsíce, termíny jsou vyhlašovány 3 týdny předem www.humusoft.cz/skoleni 20
Zdroje informací Knihy a publikace CZ/SK knihy a publikace využívající nebo popisující systém MATLAB/Simulink www.humusoft.cz/produkty/matlab/knihy kompletní seznam knih a publikací využívajících nebo popisujících systém MATLAB/Simulink www.mathworks.com/support/books Konference Technical Computing Prague příspěvky uživatelů o využití systému MATLAB/Simulink v praxi www.humusoft.cz/akce/matlab08 Diskuzní skupiny Česká a slovenská skupina uživatelů MATLABu (CSMUG) www.humusoft.cz/produkty/matlab/csmug 21
Zkušební verze Plnohodnotná verze MATLAB Časově omezena na 30 dní Možnost libovolných toolboxů a blocksetů V případě zájmu nás kontaktujte info@humusoft.cz 22
Děkuji za pozornost 23