Top Banner
Modelarea Comportamentului Dinamic al Sistemelor Embedded Sisteme continue. Sisteme Discrete.
29

Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Oct 16, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modelarea ComportamentuluiDinamic al Sistemelor Embedded

Sisteme continue. Sisteme Discrete.

Page 2: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modele deterministe

• Ușor de definit

• Nu pot acoperii elemente non-deterministe: packete pierdute, întârzieri necontrolabile, defectarea componentelor, zgomot, etc.

• Ce tipuri de modele cunoașteți?

Designul Sistemelor Embedded 2

Page 3: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Software-ul este un model

• Programele cu un singur thread sunt modele deterministe

• Software-ul se bazează un alt model determinist: Arhitectura setului de instrucțiuni

Designul Sistemelor Embedded 3

Page 4: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Logica digitală

• Logica digitală este și ea un model

Designul Sistemelor Embedded 4

Page 5: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Probleme în modelarea sistemelor embedded

•Combinații de modele deterministe sunt non-deterministe

• Sistemele embedded funcționează în medii non-deterministe

• Sunt de folos modelele deterministe?

Designul Sistemelor Embedded 5

Page 6: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modele deterministe în designul sistemelor embeded

•Nu trebuie să ne concentrăm pe realizarea unor modele deterministe care să descrie comportamenul sistemului embedded

• Trebuie să ne concentrăm pe construirea unor sisteme embedded a căror comportament să-l urmărească pe cel al modelului

Designul Sistemelor Embedded 6

Page 7: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Realizarea modelului pentru sisteme dinamice continue

• Identificarea parametrilor caracteristici ai sistemului

• Identificarea legilor care guvernează sistemul

• Variante simplificate ale sistemului

• Bucle de reglare/control

Designul Sistemelor Embedded 7

Page 8: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Menținerea nivelului într-un rezervor

Designul Sistemelor Embedded 8

• Un rezervor de lichide este folosit la alimentarea unui consumator

• Se monitorizează bilanțul masic al sistemului pentru menținerea nivelului lichidului din rezervor prin acționarea unui robinet cu electrovalvă

Valer DOLGA, Proiectarea Sistemelor Mecatronice – curs, http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

Page 9: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Menținerea nivelului într-un rezervor

Designul Sistemelor Embedded 9

Identificarea parametrilor:

• Q1 – debitul de intrare (m3/s)

• Q2 – debitul de ieșire (m3/s)

• h – nivelul lichidului din rezervor (m)

• m – masa de lichid (kg)

• A – aria secțiunii transversale prin rezervor (m2)

• V – volumul lichidului (m3)

Valer DOLGA, Proiectarea Sistemelor Mecatronice – curs, http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

Page 10: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Menținerea nivelului într-un rezervor

Designul Sistemelor Embedded 10

Simplificarea modelului:

• Densitatea ρ a fluidului este constantă

• Lichidul este incompresibil

• Rezervorul este poziționat vertical

• secțiunea transversală prin rezervor este circulară și constantă

Valer DOLGA, Proiectarea Sistemelor Mecatronice – curs, http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

Page 11: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Menținerea nivelului într-un rezervor

• Ecuația de bilanț masic al unui sistem – echilibrul masic𝑑𝑚(𝑡)

𝑑𝑡= 𝑖𝑄𝑚𝑖

• Particularizare pentru echilibrul masic al lichidului din rezervor𝑑𝑚(𝑡)

𝑑𝑡= ρ𝑄1 𝑡 − ρ𝑄2(𝑡)

Designul Sistemelor Embedded 11

Valer DOLGA, Proiectarea Sistemelor Mecatronice – curs, http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

Page 12: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Menținerea nivelului într-un rezervor

• Relația dintre masa de lichid și parametrii volumetrici ai rezervorului

𝑚 𝑡 = 𝜌𝑉 𝑡 = 𝜌𝐴ℎ(𝑡)

• Modelul matematic devine𝑑ℎ 𝑡

𝑑𝑡=

1

𝐴(𝑄1 𝑡 − 𝑄2 𝑡 )

Designul Sistemelor Embedded 12

Valer DOLGA, Proiectarea Sistemelor Mecatronice – curs, http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

Page 13: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modele actor

• Modelul matematic al unui sistem poate să fie reprezentat ca un bloc cu intrări x și ieșiri y funcții de forma 𝑥:ℝ → ℝ, 𝑦:ℝ → ℝ și funcția de transfer: 𝑆: 𝑋 → 𝑌, 𝑋 = 𝑌 = ℝℝ

• Funcția de transfer a sistemului poate să depindă de parametrii. De ex. 𝑆 𝑝, 𝑞 depinde de cei doi parametrii p și q

• Un astfel de bloc poartă denumirea de actor

Designul Sistemelor Embedded 13

Page 14: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modele actor

• Modelul actor este un model matematic pentru calcul concurent caretratează actorii ca primitive universale de calcul concurent.

• Pe baza mesajelor primite, un actor poate să realizeze o serie de acțiuni.

• Un actor poate avea intrări și ieșiri multiple

Designul Sistemelor Embedded 14

Page 15: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Exemplu: Modelul actor al sistemului cu rezervor

Modelul rezervorului:

• Intrări: Q1, Q2

• Ieșire: h

• Parametru: A

Designul Sistemelor Embedded 15

Page 16: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Compunerea actorilor

• Modelele actor pot fii compuse

• Cascadare – o formă particulară de compoziție

Designul Sistemelor Embedded 16

Page 17: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Compunerea actorilor - exemplu

• 𝑦1 𝑡 = 𝑄1 𝑡 + 𝑄2(𝑡)

• ℎ 𝑡 = 𝑎𝑦1 𝑡 , 𝑎 =1

𝐴

Designul Sistemelor Embedded 17

Page 18: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Poprietăți ale sistemelor

• Cauzalitate – ieșirile unui sistem depind doar de intrări curente sau trecute

• Memoria – ieșirile unui sistem depind de intrări precedente

• Liniaritate – un sistem este liniar dacă satisface proprietatea superpoziției: 𝑆 𝑎𝑥 + 𝑏𝑦 = 𝑎𝑆 𝑥 + 𝑏𝑆(𝑦)

• Invariabilitate în timp – un sistem este invariabil în timp dacă pentru 𝑆 𝑥 𝑡 = 𝑦 𝑡 , decalarea temporală a intrării produce o decalare temporală asupra ieșirii 𝑥 𝑡 + 𝜏 → 𝑦(𝑡 + 𝜏)

Designul Sistemelor Embedded 18

Page 19: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Bucla de control

Designul Sistemelor Embedded 19

Page 20: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Modelearea cu actori

• LabVIEW

• Simulink

Designul Sistemelor Embedded 20

Page 21: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Sisteme discrete

• Un sistem discret funcționează urmând o secvență de pași discreți sau are semnale ce iau valori discrete

• Exemple de sisteme discrete: sumator, numărător

Designul Sistemelor Embedded 21

Page 22: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Stări

• Starea• Condiția sistemului la un anumit moment în timp

• Codifică informații despre influențe trecute ce afectează reacția sistemului la intrarea curentă

• Spațiul stărilor – mulțimea tuturor stărilor în care poate să se afle sistemul

• Un număr finit de stări este preferat.În sisteme software, în general, trebuie să lucrăm cu un set infinit de stări

Designul Sistemelor Embedded 22

Page 23: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Tranziții de stare

• Tranziția de stare sau reacția unui sistem – schimbarea stării interne a sistemului și a felului în care reacționează sistemul la intrări

• Tranzițiile sunt simbolizate prin săgeți ce indică direcția tranziției

• De-a lungul săgeții se notează condiția de tranziție (guard) și acțiunea

• Condiția de tranziție este un predicat logic

• Acțiunea specifică ieșirile produse în urma tranziției

Designul Sistemelor Embedded 23

Page 24: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Tranziții implicite

• Tranziții implicite – sunt tranziții care nu schimbă starea apar atunci când nu sunt activate alte tranziții sau când condiția de tranziție nu există sau este adevărată

• Un alt tip de tranziții implicite sunt cele care în lipsa unei intrări, nu schimbă starea și nu produc ieșiri

Designul Sistemelor Embedded 24

Page 25: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Diagrame de stare, Mașini cu Stări Finite

• Diagrama de stare este un model al unui sistem discret care la fiecare tranziție gestionează într-un anumit fel generarea ieșirilor în funcție de intrări

• Ilustrează stările sistemului împreună cu tranzițiile între stări și condițiile ce declanșează tranziția

• Mașina cu stări finite – spațiul stărilor este finit

• Putem desena diagrame de stare pentru sisteme cu stări infinite?

Designul Sistemelor Embedded 25

Diagama stări transceiver CAN TJA1055

Page 26: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Notația matematică a unei diagrame de stare

• Reprezentarea grafică a unei diagrame de stare se poate transpune într-o notație matematică – reprezentare formală

• O astfel de reprezentare formală este un cvintuplu: (Stări, Intrări, Ieșiri, Funcție_update, Stare_inițială)

• O tranziție de stare poate fii descrisă prin:𝑢𝑝𝑑𝑎𝑡𝑒 𝑠 𝑛 , 𝑥(𝑛) = 𝑠 𝑛 + 1 , 𝑦 𝑛

Designul Sistemelor Embedded 26

Stări – set finit de stăriIntrări – set al valorilor de intrareIeșiri – set al valorilor de ieșireFuncția de update – mapează o stare curentă într-o stare următoare și valoarea intrării într-o valoare de ieșire, 𝑢𝑝𝑑𝑎𝑡𝑒: 𝑆𝑡ă𝑟𝑖 ×𝐼𝑛𝑡𝑟ă𝑟𝑖 → 𝑆𝑡ă𝑟𝑖 × 𝐼𝑒ș𝑖𝑟𝑖Starea inițială – Starea în care se află sistemul la momentul inițial

Page 27: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Nondeterminism

• Daca orice stare din diagrama de stări are două tranziții a cărăr condiții sunt la un moment dat adevărate concomitent avem de-a face cu un model nondeterminist

• Un alt exemplu de nondeterminist este dat de mașinile de stări care au mai mult de o stare inițială

Designul Sistemelor Embedded 27

Page 28: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Comportament și trace-uri

• Comportamentul unui model cu stări finite este o succesiune de pași

• Un trace este o înregistrare a intrărilor, ieșirilor și stărilor dintr-un comportament

• Un arbore computațional este o reprezentare grafică a tuturor trace-urilor posibile

Designul Sistemelor Embedded 28

Page 29: Designul Sistemelor Embedded - aut.upt.ropal-stefan.murvay/teaching/dse/Modelarea_sistemelor... · •Modelul actor este un model matematic pentru calcul concurent care tratează

Competiție design Maxim

https://www.allaboutcircuits.com/giveaways/get-creative-makewithmaxim-design-contest/

• Propuneți o idee de proiect realizabil cu placa de dezvoltare MAX32630FTHR

• Bonus +1p la nota de laborator pentru participare

• Primele 50 idei de proiect primesc de la Maxim o placa

• Sunteți între primii 50 = +1p la examen

• Participarea se dovedeste prin:• menționarea numelui de utilizator• Menționarea datei de postare a propunerii• Includerea in textul propunerii a temenului “cyber-physical

system”. De ex.: I intend to use the board to design a cyber-physical system used for health monitoring.

Designul Sistemelor Embedded 29