3. ATALA 

 

           

            SARRERA ANALOGIKOA

 

            Ikasgai honetan sarrerako seinale analogiko baten laginketa egiteko hartu behar diren erabakiak adierazten dira.

 

            Atxikitako gaiak:

 

1.      Sarrera analogikoen gogoeta

2.      Anti-aliasing kontrako iragazkia

3.      Nola erabili DAQmx Read VI

4.      Puntu bakarreko eskursaketa

5.      Buffer bidezko eskuraketa

6.      Trigger bidezko eskuraketa

 

           

            A. SARRERA ANALOGIKOA

 

Seinale digitalen prozesaketaren abantailak direla eta, seinale analogikoak  prozesatuak izan aurretik, bere izaera digitalera itzultzen dira. Seinale digitalak, aurretik definitutako aldagai kopuru independente eta menpekoak onartzeko sistemarik egokiena da. Aldagai independente ohikoena denbora izanik eta aldiz menpekoa anplitudea bezalako elementua.

 

Formatu digital honen abantailak ugariak dira analogikoekin konparatuz gero. Seinale digitalek zehaztasun eta doitasun nabariagoa dute, zarataren efektua murriztuagoa izan ohi da eta seinaleen prozesaketa ere errazagoa egiten da. Hortaz, datuen transmisioa erraza eta zabala izateagatik, mota honetako seinaleak, analogikoak baino garatuagoak daude eta erabiliagoak dira.

 

           

SEINALEEN LAGINKETA

 

Seinale analogiko bat eskuratzeko, lehenengoz, seinale analogikoa, bere errepresentazio digitalean irudikatu beharko da. Praktikan, eragiketa hau, analogiko/digital bihurgailu baten bitartez egingo da. Seinale digitalekin lan eginez, eragiketa eta laginketa prozesuak errazagoak baitira.

 

Kontsideratuz, seinale analogikoa x(t), lagindua izaten dena Δt segunduro. Denbora tarte hori, laginketa periodoa bezala ezagutzen da. Eta era berean 1/Δt, laginketa frekuentzia adieraziko da, edo lagin unitate/segundo. x(t)-ren balio diskretu bakoitza t-ren=0,Δt, 2Δt, 3Δt... lagin bezala ezagutzen da. x(t) seinalea irudikatua izan daiteke seinale diskretu bakoitzaren laginketa balio ezberdinen bitartez, irudian aurkezten den moduan.

 

{ x(0), x(Δt), x(2Δt),x(3Δt), ..., x(k Δt), ... }

 

            Hurrengo irudian, seinale analogiko baten laginketa bertsioa irudikatzen da. Laginketa periodoa Δt izanik, laginak denboran zehar definitutako diskretuak bezala irudikatzen dira.

           

 

 

 Beraz, N lagin dituen seinaleak, x(t) seinalea honela errepresentatzea ahalbidetuko du:

 

X = {x[0], x[1], x[2], x[3], ..., x[N – 1] }

 

Ekuazio hau beraz, x(t)-ren irudikapen digitala dela esango da. Onartu baita, X sekuentzia indexatua dagoela i aldagai integragarrian, eta ez duela laginketa abiadurari buruzko inolako informaziorik ematen. Laginen balio hutsez ezin baita inolako informaziorik lortu laginketa abiadura jakiteko.

 

           

LAGINKETA ABIADURA

 

            Sarrera analogiko eta irteera analogikoen neurketan elementurik garrantzitsuenen artean: neurriak hartzeko sistemak, sarrera seinalearen laginketa egiteko eta irteerako seinale sorkuntzen abiadura eta mota definitzen duen sistema izango da. Sistemak izango duen laginketa abiadura, edo neurketa abiadura DAQ sisteman, adieraziko du zein izango den ADC (analogiko-digital bihurgailu) edo DAC (digital-analogiko bihurgailu) baten funtzionamendu frekuentzia. Elementu hau guztiz beharrezkoa da, seinale analogikoak irakurriak izan baino lehen itxura digitalera pasa egin behar baita. Abiadura handiko laginketak, neurketa gehiago egingo ditu denbora finko batentzat eta jatorrizko itxura zehatzagoa bat irudikatu ahal izango du, laginketa txikiagoak baino. Adibidez, 1 Hz-ko seinalea sortuz 1.000 puntu zikloko erabiliz, hau da 1.000 S/s, irudikapen zehatzago bat sortuko du 10 puntu ziklokoak baino.   

 

           

            ALIASING

 

            Laginketa astiroegi egiteak aliasing efektu baten amaitu dezake, zein akatsez beteriko irudikapen bat lortzea eragingo duen. Azpilaginketa bat egiteak, jatorrizko seinalea duen frekuentzia baino frekuentzi txikiago bat itxuratzea eragingo du. Aliasing efektu hau saihesteko, jatorrizko seinalearen frekuentzi balioa baino laginketa abiadura handiagoak erabiltzea beharrezkoa izango da.

 

 

Hurrengo irudian ikus daiteke aliasingaren efektua seinale baten.

 

 

 

            Frekuentzien neurketarako, Nyquist-en teoremaren arabera, laginketa abiadura, jatorrizko seinale abiadura edo frekuentzia, baino bi aldiz handiagoa izan beharko da. Era honetan ziurtatu daiteke seinalearen irudikapen fidagarri eta zehatz bat lortuko dela. Nyquist-en frekuentzia laginketa frekuentziaren balioaren erdia izango da beraz.

 

            Adibide moduan, ikus daitezke hurrengo bi irudiak. Demagun sarrera seinale bat 25 Hz,70 Hz, 160 Hz eta 510 Hz balioz osatua. Aldi berean lagin frekuentziaren balioa, fs, 100 Hz dela. Hau ematen baldin bada, fs/2 balioko frekuentziek egoki laginduak izango dira, aldiz, 70 Hz-tan, arazoak izango ditu, eta 160 eta 510 Hz-tako frekuentziak aldiz, ezin izango dira lagindu.

 

 

 

 

 

            LAGINKETA ABIADURA ZEHAZTEN

 

            Posible litzateke datuen eskuraketa ahalik eta frekuentzia balio edo eskuratze abiadura azkarrenean nahi izatea. Hala ere, oso azkar eskuratzen baldin bada denbora luzean, izan liteke, memoria nahiko ez izatea datu kantitate guztia hartu eta gordetzeko.

 

 

            A adibidean, sinu itxurako seinalea lagintzen da, non laginketa frekuentzia, fs, jatorrizko frekuentziaren balio berbera da. Honen ondorioa, aliasinga izango da, fs txikiegia izateagatik. Hala ere, frekuentzi balioa igotzen den heinean, 2fs adibidez, lagindutako seinalea guztiz fidagarria izango da, nahiz eta sinu itxura era triangeluarrean emango den. Era honetan, lortutako seinalea behintzat jatorrizkoaren ziklo kopuru berdina izango du. Beste adibide batzuetan, 4fs/3 esaterako, frekuentzia ere Nyquist-ena baino txikiagoa izaten jarraituko du, ondorioz, aliasing efektuak frekuentzi eta seinalearen itxuran akatsak eragingo ditu.

 

            Nahiz eta Nyquist-en balioa nahiko adierazgarria eta segurtasun neurri onartua bezala hartzen den, ez da beti saio praktikoetan frekuentzia onargarria izango. Seinale errealak, ez dira beti ondo laginduak izango, nahiz eta Nyquist-en teorema bete, laginketa neurketa distortsionatu baitezakete. Era honetan, industri arloan, balizko frekuentzia laginketa balioek, 5 edo 10 aldiz seinale frekuentziarenak izatea normaltzat hartzen da.

           

 

           

B. ANTI-ALIASING IRAGAZKIAK

 

            Laginketa frekuentzi minimoa bi aldiz jatorrizko frekuentziarena izan beharko da. Hala ere nola mugatu edo erabaki frekuentziaren amaierako balioa? Nahiz eta ziur egon neurtzen den seinalearen frekuentziaren balio limitea, posible da, beste gehiegizko frekuentzi batzuez osatua egotea (indar seinaleek, irrati seinaleek... sortuak) eta ondorioz, akatsen bat sortzea laginen neurketetan.

 

            Guztiz ziur egoteko erabili behar den seinalea egoki babestua egongo dela, behe-pausuko iragazki bat jarri daiteke (behe mailako seinaleak pasatzen utziko dituena eta ez goi mailako frekuentzi seinaleak) ADC aurretik gehituko dena.    Iragazki hau, anti-aliasing bezala ezagutzen da, eta laginketa seinalea Nyquist-en 2f, baino balio handiagoak dituen seinaleetaz babestuko ditu. Hurrengo irudian ikusi daiteke anti-alias ideal baten funtzionamendua.

 

 

 

            Anti-aliasing iragazki  hauek, goi mailako frekuentzia balioak ebaki eta ez ditu pasatzen utziko, benetan balizkoak izango diren balioak pasatzen utziz. Praktikan, iragazki hauek f1-etik beherako frekuentziak pasatzen utziko ditu; eta f2-tik gorakoak moztu. Ondorioz f1 eta f2 tarteari, trantsizio banda esango zaio. Hortaz, nahiz eta f1 baino txikiagoak diren frekuentziak soilik pasatzea nahi, beti tarte horretako seinale balioren bat ere pasako da. Horregatik, gehiegizko seinale horiek saihesteko bi aldiz jatorrizko frekuentzia baino handiagoko laginketa frekuentziak erabiltzea gomendagarria da.

 

3.1 Ariketa: LAGINKETA ABIADURA ETA ALIASING

 

           

           

D. DAQmx Read VI ERABILTZEN

 

            DAQmx Read VI , DAQmx –Data Acquisition taulan aurkitu daiteke eta laginak irakurri ditzake, adierazitako kanal edo eginkizunaren arabera. VI honek ematen dituen aukeren artean, laginketen formatua aukeratzea, laginketa bakarra zein laginketa anitzen irakurketa eskuratzea, edota kanal bat edo zenbaitetatik irakurtzea izango da. VI honek beraz aukera ezberdin ugari emango ditu, nahi edo beharko diren ekintzen arabera.

 

 

            Lehenengo aukera taulan, hurrengo sarrera motak aukeratu ahal izango dira:

 

·        Analogiko

·        Digital

·        Kontagailua

·        Gehiago

 

 Bigarren aukera taulan, irakurriko diren kanal kopuruak, eta baita lortu behar deneko informazioa eskalatua dagoen edo ez definitzea aukeraketa izango da. Erabili 3. aukera taula, eskuratzea laginketa datu bakar edo anitzekoa izan dadin. Laginketa datu bakarra erabiliz, 4.taula erabili beharko da, aukeratzeko eskuratutako informazioa seinale itxura bezala ikustaraziko den edo, prezisio bikoitzaz definituko den array baten bitartez.

 

Izena ematen ari denean sarrera zein irteera analogikoentzat, posible izan daiteke aldi berean kanal bat baino gehiago definitu nahi izatea. Kasu honetan, kanalak, timing eta trimmer berdina badute, hobe izango da kanal guzti hauek eginkizun talde baten biltzea.

 

 

 

 

 

 

 

 

 

WAVEFORM (UHIN ITXURAKO) DATU MOTA

 

Waveform datu mota hau, hurrengo elementuetaz osatutako cluster bat da:

 

·        Y- 1D, bat dimentsioko zenbakizko informazio puntuez osatutako arraya izango da, zein puntu bakarrekoa izan daitekeena edota ekintzaren araberako seinale itxura izango duen. 1Dko irudikapena DBL formatukoa izango da.

·        t0 - Denbora ordezkatuko duen balio eskalarra zein erloju sistemari lotua egongo dena, Y arrayaren lehenengo puntua eskuratzen denean. Elementu hau, hasieratze denbora bezala ezagutzen da.

·        ΔtY arrayko informazio puntuen artean dagoen denboraren  balio eskalarraren ordezkapena.

·        Ezaugarriak – Aukera honek, string bat sortuko du zeinetan bundle baten bitartez uhin itxura, gailu edo kanal zenbakiaren beste informazio bat aurkeztea erraztuko duen.

 

Uhin itxura datuek, ohizko array eskalatuak baino abantaila gehiago aurkezten dituzte.

 

·        t0-ren agerpena – Uhin itxurako datu motak izan aurretik ezinezkoa zen datuaren neurketa edo jasotzea noiz hasiko litzatekeen ezartzea. Horregatik, uhin itxurak automatikoki itzultzen du t0 horren egun eta ordu zehatza. Era honetan denbora errealean funtzionatzea eta erregistro zehatz bat mantentzea ahalbidetzen du.

·        Irudikapen errazagoa – Uhin itxura datu mota, eskuratutako datuen grafikatzea asko errazten du. Nahikoa izango baita, lortutako datuak zuzenki grafikora konektatzea.

·        Grafiko anitzen irudikatze errazagoa – Aurreko elementua bezala, datuak grafikatzea errazagoa izango da uhin itxura datu motaren bitartez eta, are gehiago, grafiko anitz eta ezberdinak irudikatzeko.

3.2 Ariketa: VOLTIMETROA VI

 

 

 

E. DAQ APARATUAREN ARKITEKTURA

 

 

            Sistema baten arkitekturak, seinalearen laginketa baldintzatuko du. DAQ gailuek bi sistema edo arkitektura nagusitan banatzen dira, hurrengo irudian ikus daiteken moduan.

 

 

 

            Interval and Round-Robin deitutako laginketa arkitektura, sistemarik merkeena da eta multiplexore, anplifikadore eta ADC (analogiko-digital bihurgailua) batez osatzen da. Layout honen bitartez sarrera seinaleek bihurgailu bakar baten banatu beharko dira. Honek sistema merkeagoa egiten badu ere, sistema motelagoa izango da. Bestalde, aldi bereko laginketa arkitekturak, kanal bakoitzeko anplifikadore eta bihurgailu propioa izango du. Kasu honetan, sistema garestiagoa izango da, baina aldi bereko seinale anitzen laginketa ahalbidetzen ditu.

 

           

LAGINKETA TEKNOLOGIA

 

Laginketak kanaleko eta segundoko – Segundoro neurtu edo eskuratuko den laginketa kopurua.

 

Lagin Clocka – Laginketaren hasieratzea egiteko erabiltzen den pultsu trena. Denbora bakoitzean laginketa erlojuak pultsu bat sortzen du, lagin bat kanaleko eskuratu daiteke.

 

AI bihurgailu erlojua – A/D bihurketa sortzeko pultsu trena.

 

Laginketa iraupena – Laginketa multzo oso bat eskuratzeko daraman denbora iraupena. Hurrengo formularen bitartez:

 

            Laginketa iraupena= (kanal kopurua -1) x AI bihurgailu erlojua

 

LAGINKETA BITARTEA

 

            Seinaleen laginketan sistemarik ohizkoena da laginketa bitartea, gailuko kanal guztietatik ADC bihurgailu bakarra banatzen duelako. E Serieko gailu gehienetan aurkituko da.

            Bitarte laginketa honek, laginketa erlojua eta AI Bihurgailu Clocka erabiltzen ditu multiplexorea kontrolatzeko. Erloju hauen funtzionamendua ulertzeko, sinestu egin beharko da bi kanalen bitartezko laginketa ematen dela.

            Laginketa erlojuak hasieratze seinalea ematen duenean, multiplexoreak, lehenengo kanala konektatu egiten du ADC bihurgailura, eta AI bihurgailu erloju bateko pultsua sortzen du. AI bihurgailu erlojuak pultsua ematen duenean, ADC bihurgailuak lehenengo kanaleko puntu baten eskuraketa egiten du. AI bihurgailu erlojuak beste pultsu bat eman baino lehen, multiplexoreak bigarren kanala konektatzen du ADCra. Ondorioz, AI bihurgailu erlojuak berriro pultsua ematen duenean bihurgailuak bigarren kanaleko puntu bat eskuratzen du.

 

            Laginketa iraupena amaitzerakoan, laginketa erlojuak berriro ere, pultsu bat emango du eta ziklo osoa errepikatuko da. Laginketa erloju sistemak laginen frekuentzia ezarriko du kanaleko. AI bihurgailu erlojua laginketak hartzeaz arduratzen da.      

 

 

 

 

            ROUND–ROBIN LAGINKETA

 

            Round–Robin laginketa sistemak ere bihurgailu bakarra erabiltzen du laginketa aurrera eramateko. Hala ere, aurreko laginketa sistemarekiko ezberdintasuna, scan erlojua da. Kanal erlojuak scan hasieratzen du eta honek laginketen arteko iraupen edo denbora ezartzen du. Hurrengo irudian aurkezten den moduan.

 

 

 

            Round–Robin laginketa sistema honek laginketa bitarte sistemaren kontzeptu berdinaz lan egiten du. Hala ere, erloju bakar bat baino ez dauka, ondorioz puntu guztiek banatu edo tartekatuak egon beharko dira. Tartekatzeko modu bakarra, laginketa bat segundoko eta bi laginketa kanaleko izango da. Segundoko mota, bi laginketa segundoko izango duen AI bihurgailu erlojua erabiltzean datza. Kasu honetan laginketaren iraupena 0.5 segundukoa izango da 5μ segundu beharrean.           

 

 

            ALDI BEREKO LAGINKETA

 

            Aldi bereko laginketa ADC bihurgailu bat erabiltzen du kanaleko, era honetan kanal guztiak aldi berean lagindu daitezke. Kanal guztiak banatuko direnez laginketa erloju bakarra erabili beharko da.

 

 

            Ikusi kasu guztien errendimendua 50KHz-tik 200kHz-ko mailara 4 seinale lagintzen direnean. Round–Robin sistemarekin, laginketa guztiak tartekatuak izan behar dira, 15μs-ko atzerapena eragingo duena, 0 eta 3. kanalen laginketa denbora artean. Hau 270 gradutako faseen arteko desfasea dela eta ematen da. Scannig tartean 5μs-ko atzerapena izango dela kanalen artean onartzen da. Horregatik berriro ere, 0 eta 3. kanalaren arteko 15μs-ko atzerapena gertatzen da. Aldi bereko laginketan aldiz, soilik 3 nanosegundoko atzerapena egongo da 0 eta 3. kanalen artean. Beraz azken sistema honek, kanalen arteko denborak asko murrizten ditu, baina sistema garestitu ere egiten du.

 

 

3.3 Ariketa: BITARTEDUN LAGINKETA vs. ROUND-ROBIN LAGINKETA

 

           

            F. PUNTU ANITZEKO (Buffered) SARRERA ANALOGIKOA

 

Puntu anitz aldi berean eskuratzeko, aukeratu DAQmx Read VIko adibide bat, zein laginketa anitz irakurtzen dituen. DAQmx Read VIa erabili DAQmx Timing VIarekin batera, eta DAQmx Start Task VI, DAQmx Stop Task VI buffer bitartezko eskuraketa VI, sortzeko hardware-timed baten bitartez.

 

·        Hardware-Timed eskuraketaHardware seinaleak lagin erlojua edota AI bihurgailu erlojua bezalakoak, eskuraketa mota eta denborak kontrolatzen dituzte. Hardware motako erloju seinaleak, softwareekoak baino bizkorrago lan egiten dute, era honetan, laginketa frekuentzi balio altuagoak eskuratu daitezke, aliasing efektua gertatu gabe. Honetaz gain, mota hauetako erloju seinaleak prezisio handiagoa aurkezten dute softwareloopak baino.

 

·        Buffer bitartezko eskuraketa – Puntu askoren eskuraketa lortzen du gailuko deialdi bakar batekin. Puntu hauek gailutik bitarteko memoria, buffer batetara pasako da, LabVIEWk irakurri baino lehen.

 

 

DAQmx Timing VI

 

VI honek, laginketa maila itxuratu, eskuratu eta sortu beharreko laginketa kopurua eta buffera ere sortu dezake. VI honen izaera edo funtsa, adibide edo ariketan, diseinuan erabiliko den timed motaren programazioa izango da. Aukeran izango diren timing hauek, Laginketa Clocka, Handshaking, Implicit, eta Uhin Itxura erabiliz.

 

Sarrera analogikoentzat, Laginketa Clock mota aukeratu, DAQmx Timing VI pull-down menuaren bitartez. Mota honek beste aukera hauen aukeraketara eramango duelarik:

 

·        Laginketa modua – Zeregina era jarraian edo puntu finitu batera arte exekutatuko den definituko du.

·        Laginketak kanaleko – Laginketa modua era finituan dagoenean, sarrera/irteera laginketa kopurua zehaztuko du. Balio honek bitarteko buffer memoriaren tamaina zehaztuko du, gordeko diren datu kopurua mugatuko da, DAQ gailutik LabVIEWra bidaliak izan baino lehen.

·        Maila – Laginketa maila zehaztuko du, baina laginketa kanaleko eta segundoko definituz. Kanpo iturri bat erabiltzen bada laginketa clockerako, zehaztu sarrera hau maila horrek eman ahal izango duen maila maximorako.

·        Iturria – Laginketa clockaren iturri terminala zehazten du. Sarrera hau konektatu gabe utziz, gailuko clocka erabiliz.

·        Ertz aktiboa – Aukera honek adieraziko du zein izango den laginketa eta neurketa hasieraziko duen pultsua.

·        Sarrera Zeregin/kanala – Zereginari izena eman edo kanalen zerrenda birtual bat sortzen du eragiketak izendatzeko. Kanal zerrenda bat sortuz, NI-DAQmx-ri zeregin bat atxikitzen dio automatikoki.

 

 

DAQmx Timing VI baten Handshaking instance erabiliz, hartu beharreko lagin edo seinaleen sorketa lagin kopurua definitzeko erabiliko da digital Handshakinga erabiliz, gailu eta gailuko periferikoaren artean.

 

Implicit kasuan DAQmx Timing VIa, eskuratu beharreko lagin kopurua edota seinalea sortzeko erabiliko den lagin kopurua definituko du, baina ez horretarako erabiliko den denbora balioa. Beraz eginkizun honek, erabilgarritasun handiagoak izango ditu erabiltzen diren eragiketa edo funtzioak, ez dutenean lagin denborarik behar. Hala, buffer frekuentzi neurketak, buffer periodo neurketak edo pultsu trenen sorkuntza zereginetarako.

 

Uhin Itxuran, DAQmx Timing VI bidez dt osagaiak zehaztuko du lagin erlojuaren maila. dt-k laginen arteko denbora zehaztuko du. Laginketa modu finitua bada, grafikan sortuko diren lagin kopurua emango du, baina irteerarik ez badu konektatuta DAQmx Write VIra laginak sortzeko. Honi buruz informazio gehiago 6. gaian, Irteera Analogikoen atalean.

 

 

 

BUFFER BITARTEZKO ESKURAKETA DIAGRAMA

 

Hurrengo fluxu diagraman, buffer bitartezko eskuraketa bat erakusten da. Mota honetako eskuraketan, zehaztutako puntu kantitate batzuk hartzen ditu. DAQ Timing VIaren bitartez, eskuraketaren timinga eta buffera itxuratu egiten ditu. DAQmx Start Task VI, aldiz eskuraketa hasteko erabiliko da. Beste VI batzuen artean DAQ Read VIa aurkitzen da, kanal guztien laginak prest egon arte itxarongo duena datuak bufferera mugitu baino lehen. DAQmx Stop Task VIak aldiz, zeregina geldituko du eta laginketa hori egiteko erabilitako elementu guztiak askatuko ditu. Bestalde Error Handler VIak, prozesuan gerta daitekeen edozein akats edo arazoz ohartaraziko du.

 

 

 

BUFFER ESKURAKETA ADIBIDEA

 

Hurrengo fluxu diagraman ariketa estandar baten adibidea erakusten da, Buffered Acquisition VI alegia. Lehen azaldutako VI ezberdinen bitartez, adibide ariketa sortzen da.

 

·        DAQmx Start Task VI – honen bitartez, eskuraketa hasiko da.

·        DAQmx Read VI – prozesua etengo du buffer-a beteta egon arte. Beteta dagoenean, VI-ak datu guztiak itzuli egingo ditu bufferetik.

·        DAQmx Stop Task VI – eskuraketa geldituko du eta Simple Error Handlera gertatutako edozein akatsetaz ohartuko da.

 

 

 

Erabiltzen diren kanal/datu erlazio kopurua dela eta DAQmx Read VI kableatu gabe agertzen da, inolako zalantza ager ez dadin. NI-DAQmx  automatikoki timing-aren bitartez  lagin kopuru finitu bat eskuratuko ditu. Ez hori bakarrik, kanal bakoitzak hartuko dituen laginketa kopurua ere automatikoki NI-DAQmx-ek administratuko ditu. DAQmx Read VI bi dimentsiotako array bat itzuliko du zuzenean konektatua izan daitekena grafiko batera. Array horrek ez du timing informaziorik izango, bai ostera uhin itxurako datuak.

 

Errore edo akats Clustera VI batetik bestera konektatu behar da beti. Era honetan VIaren baten akats bat gertatzen bada, prozesua gelditu eta ohar bat agertuko da.

 

           

BAINA ZER GERTATZEN ARI DA BENETAN?

 

Jakina da, seinale analogiko bat eskuratzen denean, seinale honek, instrumentazioko anplifikadoretik pasa behar du ADC bihurgailura pasatu baino lehen. Baina seinalea hortik pasa ondoren, FIFO (First In First Out) buffer batetik joango da eta datuak gorde egingo ditu gailuak ordenagailura transferitzeko aukera izan arte. Jarraian datuak bidali egiten dira gailutik PCra DMA (Direct Memory Access edo sarbide zuzeneko memoria) edo IRQ (Interrupt Request edo eten eskaera) bidez.

 

PCko buffera, memoria zati bat izango da eskuratze gailutik datorren datuak gordetzen dituena. Sarrerako laginketa kopurua kanaleko DAQmx Timing VIak emango du, PCko buffera itxuratuko du datuak gordetzen joango den DAQmx Read VIak datuak berreskuratzeko prest egon arte.

 

           

BUFFER TRANSFERENTZIA

 

Datuen transferentzia PC buffer eta LabVIEW buffera artean garrantzitsua izango da sarrera analogikoko eragiketetan. Lagin kopurua kanaleko sarreran DAQmx Timing VIak esango du PCko bufferean kokatzeko. Buffer horren bitartezko eskuraketa egiterakoan DAQmx Start task VI hasiko da. Eskuraketa hasten denetik aurrera PCko buffera informazioz betetzen hasten da, hau guztiz beterik gelditzen den arte. Buffera betetzen den abiadura, DAQmx Timing VIaren bitartez ezarriko delarik. Buffera beteta dagoenean DAQmx Read VI datuak transferituko ditu PCko bufferetik LabVIEWko bufferera. Era honetan, DAQmx Read VI, bufferaren informazio guztia batera irauliko du buffer bitartezko eskuraketan.

 

 

3.4 Ariketa: BUFFER FINITUKO ESKURAKETA

           

3.5 Ariketa: BUFFER BITARTEZKO ESKURAKETA, UHIN ITXURAKO ANALISIAS

 

 

 

 

G. ESKURAKETA JARRAIKO DIAGRAMA

 

Eskuraketa finitu baten eta era jarraian definitutako eskuraketan hartzen diren lagin kopuruetan datza. Era finituan datu kopurua finkoa da, aldiz, modu jarraiko eskuraketan, datuak modu zehazgabe baten hartzen dira.

 

 

 

Eskuraketa jarraiaren fluxu diagraman parte hartzen duten lehenengo hiru VIak modu finituarenak dira, prozesu berdina jarraituz, DAQmx Timing, Star Task eta Read VI, alegia. Behin hiru VI hauek programatuak izan direnean, era jarraian irakurtzeko, DAQmx Read VIa loop edo begizta moduan konektatu beharko da. Begizta honen bitartez, eskuratzea gertatuko da, akats edo gelditzeko seinalea ematen zaion arte. Beraz, Read VI honek lan egiten duen bitartean, datuak itzuli egingo ditu, eta behin amaituta, ekintza guztiak amaitu egiten dira.

 

           

BUFFER BITARTEZKO ESKURAKETA JARRAIA

 

Eskuraketa jarraia eta finituaren arteko antzekotasun handia dela-eta pausurik gehienak errepikatuak izango dira:

 

·        DAQmx Read VI – begizta baten barnean egongo da.

·        Kanaleko laginketa kopurua, erabiltzaileak definitu egingo ditu. Era finituan, NI-DAQmx-k automatikoki irakurriko ditu, baina aldiz, konektatu gabe uzten diren kanalak, ahal dituen lagin kopuru maximoa irakurriko ditu.

           

 

 

Esan bezala, prozesua hasteko, DAQmx Timing VIaren bitartez laginketa kopurua kanaleko eta eskuratze abiadura definituko da. Hortaz gainera, DAQmx Start VI erabiliko da ere prozesua hasteko eta DAQmx Read VI zein begizta baten barnean konektatuko den datuak irakurri ditzan.

 

Bufferaren gainkarga saihesteko, hartuko den datu kopurua kanaleko ezin izango da buffer tamainarena baino handiagoa izan. Gomendagarria izanik, lagin kopurua bufferaren ½ edo ¼-eko kapazitatera murriztea eskuraketa jarraietarako. Zeren LabVIEWk era jarrai baten bidaltzen ditu datuak bufferera, eta garrantzitsua izango da orduan bufferean sartzen diren datuak, kanporatzeko ahalmena ez duela murriztuko, eta beraz, datuz husteko denbora izango duela.

 

Kanal batek onartu ditzakeen lagin kopuruak igotzeko joera azaltzen baldin badu, sistemak overflow arazo bat azaltzeko posibilitate ugari izango ditu, errore mezu baten bitartez ohartaraziko dena. DAQmx Read VIko begizta edozein momentutan gelditu edo moztu ahal izango da, horretarako botoi bat konektatuz, era honetan sistema geldituz. Behin sistema gelditzen denean, elementu guztiak “garbitu” egiten dira automatikoki.

 

           

BUFFER ZIRKULARRA

 

Modu jarraiko eskuraketak zailak egiten dira, buffer bakar bat erabiliko delako eta gainera eskuratzen den datu kantitatea bufferaren ahalmenaz kanpo gelditzen delako. Horregatik posible den baino datu gehiago era seguruago baten eskuratzeko, buffer zirkular bat  erabiliko da.

 

 

Buffer zirkularrean sistema gelditu ordez berriro ere datuak hartzen hasi edo jarraitzen du. Sistemaren izaera berdina izango da, DAQ Timing VIaren bitartez, datu kopurua kanaleko definituko da eta DAQmx Start VIak, eskuraketa hasiko du begiztaren barnean izanik.

 

Demagun datu eskuraketen abiadura,bufferaren ahalmenaren ½ edo ¼  ingurukoa dela. Gauza da, kanaleko lagin kopurua PCko bufferean irakurtzeko laginketa kopurua kanalekoaren berdinak direnean, DAQmx Read VIa PCko bufferean gordetako datu horiek, LabVIEWko bufferera mugituko ditu. DAQmx Read VIa beraz, flag edo bandera bat agertaraziko du irakurketa gelditu den puntua adieraziko duena, eta era honetan datuen irakurketak utzitako tokian jarraituko du.

 

Bitartean, PC zein LabVIEWko bufferak datuen eskuraketa eta transferentzi egiten jarraitzen dute. Datuen eskuratze prozesuaren amaitzearen marka edo pultsua ematen denean, PCko buffera gelditu egingo da, baina markaz geroztiko informazio zati bat gordeta geldituko zaio.

Era honetan gordetako datu kopuru hori, laginketa kopuru maximoa kanaleko eta prozesuaren gelditze markarena izango da alegia. Hala ere gertakari hau akats bihurtu daiteke, zeren bufferak informazio gehiegi hartzen badu eta ondorioz gelditze marka nahiko azkarra ez bada, datu baliagarriak ezabatu ditzazke.

 

 

           

OVERWRITE ERROREA

 

Buffer zirkular batekin lanean aritzean, beraz, izango den akatsik normalena, overwrite errorea izango da. Overwrite edo datu estaltze errorea, prozesuaren gelditze marka azkarregi batek, kanaleko lagin kopuruak eskuratutako datuak estaltzen dituenean ematen da. Hau da, gelditzeko denbora izan ez duen seinale batek bere aurrekoa hartu eta bere gainean idatzi balu bezala. Arazoa beraz, LabVIEWko bufferak PCko bufferaren datuak nahiko azkar irakurtzen ez dituenean ematen da. Badaude, hala ere arazoa konpontzeko zenbait era, baina bakoitza egoera ezberdinetarako izango dira.

 

·        DAQmx Timing VIaren bitartez, kanaleko lagin kopuruaren balioa handitu daiteke bufferaren tamaina handitzeko. Bufferaren tamaina handitzeak, hala ere, ez du arazoa konponduko datuak nahiko azkar bidali edo kanporatzen ez badira. Beraz, gogoratu kanaleko laginketa kopurua ½ eta ¼  bufferaren tamainara mugatu, arazorik gerta ez daiten.

 

·        Kanaleko lagin kopuruaren erritmoaren balio murriztuz, DAQmx Timing VIaren bitartez. Honela, buffer-ak irakurri beharreko datu kopurua txikiagoa izango da eta prozesua aurrera eraman ahal izango da, datuak egoki kanporatuz eta irakurriz.

 

·        Begiztan egon daitezkeen gehiegizko analisi prozesua ezabatu prozesua arintzeko.

 

           

OVERFLOW ERROREA

 

Agertu daitekeen beste arazo bat overflowa izan daiteke zein FIFO motatako bufferetan ematen den. Overflow errorea, ez da aurreko overwrite errorea bezain arrunta, eta ondorioz konpontzeko zailagoa izango da. Arazoa gertatzen da FIFO bufferak datuak nahiko bizkor kanporatzen ez dituenean. Ondorioz, FIFOak DMA edo IRQaren esku uzten du datuen transferentzia, FIFOtik PCko bufferera datuak pasatzeko. Beraz, FIFOak ez badu bizkor lan egiten konponbide gutxi batzuk baino ez daude:

 

·        Ziurtatu DMA erabiltzen gaudela datuen transferentzia egiteko, DMA eskuragarri edo erabiltzeko prest badago behintzat. DMAa IRQa baino bizkorragoa da eta eragiketak hobeto maneiatuko ditu.

·        DAQmx Timing VIaren bitartez, kanaleko lagin kopuruaren balioa murriztuz.

·        FIFOa aldatu eta kapazitate handiagoko bat jarri, nahiz eta arazoa luzatu baino ez duen egingo.

·        Erabili bus kable handiago bat, datuen transferentzia bizkorragoa izateko.

 

 

3.6 Ariketa: BUFFER BITARTEZKO ESKURAKETA JARRAIA VI

 

3.7 Ariketa: ARTXIBO ANITZETAN DATUAK GORDETZEN

 

3.8 Ariketa: ERTZ DIGITALEAN, SARRERAKO DESARRA ANALOGIKOA

 

3.9 Ariketa: NI–DAQmx KODE SORKUNTZA