c6 drivers

26
Technical University of Iasi, Romania Faculty of Electronics and Telecommunications Signals, Circuits and Systems laboratory Structura bibliotecilor IV (drivers) Instrumentatie Virtuala Prof. Victor Grigoras

Upload: canalulsulina

Post on 15-Nov-2015

294 views

Category:

Documents


1 download

DESCRIPTION

Drivere

TRANSCRIPT

  • 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