Upload
canalulsulina
View
295
Download
1
Embed Size (px)
DESCRIPTION
Drivere
Citation preview
Structura bibliotecilor IV (drivers)
Instrumentatie Virtuala
Prof. Victor GrigorasTechnical University of Iasi, RomaniaFaculty of Electronics and TelecommunicationsSignals, Circuits and Systems laboratory
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
CuprinsPreliminariile structurarii aplicatiilorStructurarea softStructurarea functionalaStructurarea interfetelor intre modulele softStructurarea modulele softDezvoltarea modulelor (drivere)Etape de dezvoltareIerarhia functiilorTipuri de dateProtocoale de interfatarePCIPCI-ExGPIB
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Preliminariile structurarii aplicatiilorAplicatiile de instrumentatie virtuala:Sunt o combinatie stransa de elemente hardware si softwareSunt aplicatii de timp real, in care vitezele modulelor (hard si soft) trebuie coordonate pentru respectarea corectitudinii functionarii si vitezei globale de eecutieRespecta structura echipamentului hard pe care il emuleazaTrebuie sa aduca suplimentar: Flexibilitate in facilitatile de utilizare, Extensibilitate (soft si hard), Fiabilitate prin reducerea complexitatii hard, ErgonomieStructura aplicatiilor de instrumentatie virtuala trebuie sa reflecte aceste cerinte minimale
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Structurare functionalaO posibila structurare a aplicatiei este pe functionalitati:
module soft externe program principal module soft externe module hard
PXI = PCI eXtension for InstrumentationVXI = VME eXtension for Instrumentation VME = Versa Module EurocardNucleul aplicatieiInterfata utilizatorBiblioteci functiiDriver de achizitieDriver echip. extern (GPIB, PXI,VXI, USB, RS232)Driver reteaCartela de achizitieEchip. externCartela de reteaBaza de date
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Structurarea interfetelor intre moduleLa fiecare nivel de interfatare, aplicatia trebuie structurata client-server:
Clientul emite cereriServerul raspunde cu serviciiPentru instrumentatie virtuala standard VISA (Virtual Instrumentation Software Architecture)
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Structurarea modulelorModulele soft externe se structureaza ca biblioteci:Dinamice .dllStatice .libConexiunea cu programul principal se realizeaza prin declararea headerelor bibliotecilor utilizate in programul apelantIn LabWindows CVI, bibliotecile poarta denumirea de:Driver de intrument (chiar dc. sunt module soft externe cu functionalitati de calcul sau interfata utilizator, fara conexiune la un modul hard extern)Pentru operarea driverelor in aceesi structura ca si functiile de firma, este necesara constructia:Bibliotecii dinamice cu corpul functiilor .dllSi/sau a unei biblioteci statice .libA arborelui de functii pentru interfatarea cu utilizatorul .fp
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Structurarea modulelorScop:Modularizarea programuluiInter-schimbareaRe-utilizareaAplicatii:Controlul instrumentelorInterne (DAQ, sunet, retea, control PCI sau PCI-Ex)Externe (serial sau paralel RS232, USB sau VXI, GIPB)Functii utilitare (conversii date, grafica, interfatare intre module,)Functii de calcul si analiza (prelucrare semnal, analiza sistem, )Controlul modulelor hard utilizator (ne-standard)
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Etape de dezvoltareEtape de dezvoltare a driverelor (modulelor soft externe):Abordare top - downDefinirea functionalitatilor indeplinite de moduleDefinirea functiilorIerarhia functiilorParametrii functiilorTipuri de date
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Ierarhia functiilorIerarhia functiilor poate fi de complexitati diferite:Simplu:Un instrumentMai multe functii (f1, , fN)Mediu:Un instrumentStructurat in clase (Cl1, , ClM)Fiecare clasa cu functii (f1, , fN)Complex:Mai multe instrumenteclase (Cl1, , ClM)functii (f1, , fN)
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Tipuri de dateTipuri de date:Intrinseci CDefinite de utilizatorDefinite in header .hInclus in arborelede functii definit in fisierul .fpClase de date:PredefiniteIntrinseci CMeta-date Lw CviMeta-date VISA vpptype.hDefinite de utilizator
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Crearea fisierelorPentru instrumente standard (ex: GPIB, VXI, USB, RS232) respetand standardul VISA (IVI) se foloseste Instrument Driver Development WizardPentru biblioteci utilizator se dezvolta, in ordine fisierele:Arbore functii .fp FileNewFunction Tree (*.fp) sauCreate>>InstrumentSe numeste instrumentul si se specifica prefixul functiilor din instrumentSe declara numele claselor si functiilorSe genereaza codul C pentru instrumentSe completeaza fisierele .h si .c cu instructiunile executabileSe compileaza instrumentul ca biblioteca dinamica .dll si/sau statica .libSe incarca driverul in forma: instrument sau biblioteca
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Apelarea driveruluiLa crearea aplicatiei:Se creaza interfata utilizator .uirSe genereaza automat scheletul aplicatieiSe dezvolta functiile CALLBACK de legatura intre interfata utilizator si modulele de executieSe verifica existenta driverului (ca instrument sau biblioteca)Se include in fisierul sursa (.c) headerul bibliotecii (.h)Se poate si include headerul bibliotecii in proiectSe copie fisierul executabil al bibliotecii (.dll sau .lib) in directorul proiectuluiSe scriu apelurile de functii din biblioteca prin interfata utilizator a driveruluiSe depaneaza si ruleaza aplicatia
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
ProtocoaleComunicatie interna (custom):Paralel - PCI, Serial PCIxComunicatie externa (standard VISA):Paralel GPIB, VXISerial USB, RS232Aspecte de avut in vedere:Suport hard (conectori, semnale)Protocol de comunicatie (handshaking)Functii soft oferite de driver
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
PCIConectori
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Semnale
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Semnale
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
PCI-ExConectori
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Semnale
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
IEEE-488 GPIB
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
USBConectori
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
SemnaleStandard
Mini USB
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
RS - 232Semnale
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
Functii de bazaOrice driver pentru un dispozitiv fizic necesita functiile:Prefix_init Prefix_close Prefix_error_message
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
VXI plug&playDriverele VXI mai necesita:Prefix_reset Prefix_self_test Prefix_revision_query Prefix_error_query
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
IVI driversBibliotecile IVI au in plus functiile:Prefix_InitWithOptions Prefix_GetErrorInfo Prefix_ClearErrorInfo Prefix_LockSession Prefix_UnlockSession Prefix_ReadInstrData Prefix_WriteInstrData
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV
BibliografieSuport de curs: http://scs.etc.tuiasi.ro/vgrigoras/didactic.html Suport de laborator: http://scs.etc.tuiasi.ro/vgrigoras/didactic.htmlNational Instruments - Instrument Driver Developers Guide;
Instrumentatie Virtuala Curs 2 Structura bibliotecilor IV