Current progresss

03.12.10 Cable modifications (T568B connector).
* SIGNAL NAME / +SIDE / -SIDE
* - CLK: orange striped , orange
* - SYN: green striped , blue
* - DA0: green , blue striped
* - DA1: brown , brown striped

Problems with interferences (wrongly paired cables) - this could be fixed by modifying the cable order in the ethernet connector.



Matevz Cerv IJS - 2010

Oktober 2010 05.10. Priprava računalnika

trajanje
2,5 h
13.10. Instalacija NI (labview, labwindows). Instalacija driverja v1718 (bolec proces).
trajanje
4,5 h
14.10. Nadaljevanje instalacije. Uspeh.
trajanje
4h
19.10. Priklop LPT PCI kartice, preizkus branja in pisanja s V1495. Iskanje LPT kabla po Ljubljani.
trajanje
1,5 h
20.10. Štimanje pulse generatorja in postavljanje setupa.
trajanje

November 2010 06.11. Pošiljanje boarda, oživljanje boarda

Trajanje
2 h
11.11. Sprobavanje Mimose (PAZI NA UPDATE PORT PARALLEL ADDRESSA NA EC00)
Trajanje
3h
12.11. Sprobavanje VME boardov. V729 OK branje-pisanje. V1495
Trajanje
5h
19.11. Urihtan Setup z drugim USB bridgom. Sprobavanje setupa.
Trajanje
8h
25.11. Ugotavljanje problema random izpisovanja – sink ne dela! Trajanje: 3h 26.11. Pošiljanje plate v CAEN, Level Translator, naročanje kabla …
Trajanje
9h

December 2010 03.12. Štimanje data kabla, read-out, komponente (z juretom) OGROMNO PRISLUHOV! (KER NISO PRAVE PARICE SKUPAJ) – Zato digitalni vhodi bolj narazen

Trajanje
08.12. Skripta.
Trajanje
5h
09.12. Skripta
Trajanje
1h
13.12. Skripta. Optimizacija algoritma branja raw podatkov, da je pripravljen na variabilno dolžino vektorja Data (pogoji za izhod iz zanke).
Trajanje
3h
20.12. Preverjanje skripte Matlab. Modifikacija testne prednastavitve Mimose, da dejansko zajema podatke (svetlobo) iz okolice (daq_test_1x80Mhz + INVERT (exz_start, pattern_only, Vtest_input) ).
Trajanje
2,5 h
21.12. Preverjanje skripte Matlab. Hrošč v skripti pri branju podatkov – Prikaže več vrstic, kot jih je v resnici. Je problem v 80MHz zajetju? Pri testni prednastavitvi 1x80MHz ni prišlo do tega problema. Pri testni prednastavitvi 2x40MHz tega problema tudi ni opaziti. Skripta 2x80 dela s podatki 031210_5_2-80_EVEN. Ravna črta. NAROBE!!! VPRAŠAJ GILLESA!!! Osamil funkcijo matrix_build( vec_16) , ki iz 16-bitnega vektorja izpiše podatke v glavi ter zgradi matriko zadetkov. Data acquisition pri različni odprtosti zaslonke (papir čez senzor):
  1. _1_80_01 – najbolj pokrito

  1. _1_80_05 – najbolj razkrito (razkrivam postopoma »kot polkna« )

  1. _1_80_06 – razkrijem zgornjo stran (»kot rolete«)
  2. _1_80_07 – razkrijem spodnjo stran (»kot rolete«)
OPOZORILO
V FUNKCIJI matrix_build.m NE UPORABLJAJ length(Data) , KER TI TA FUNKCIJA VRNE MAX. DOLŽINO MATRIKE IN V PRIMERU, ČE JE VEKTOR DATA KRAJŠI OD 16, BO FUNKCIJA VRNILA ŠTEVILO BITOV V VEKTORJU. NAMESTO TEGA UPORABLJAJ
Trajanje
5h
22.12. Modifikacija programa za izris – razporeditev po funkcijah in poenostavljanje matlab kode (z razporejanjem v strukture). Pisal sem Gillesu glede problemov z dekripcijo kode (line overflow).
Trajanje
6h
23.12. Brezciljno ugotavljanje narave napačnega izrisa. Z modifikacijo daq_test_1x80MHz:
  1. _1_80_1 – Pattern only – disable
  2. _1_80_2 – Vtest Input – internal
Trajanje
1h
24.12. Prelepili Mimoso. Preizkus z radioaktivnim virom. Majhna razlika v zadetkih (3 zadetki brez vira, 8 zadetkov z virom). Še vedno line overflow.. V vsakem frame-u se pojavi 09240401x0 .. Ali je to mrtev pixel? Preveri, če bi moral lotit zajem na CLK FALLING EDGE! Trajanje: 3h

Januar 2011

06.01. Ne spomnim se, kaj sem delal.

Trajanje: 3,5 h

Februar 2011

09.02. Modifikacija FPGA za DAQ 2x80 MHz. Trajanje: 1h

Marec 2011 11.03. Učenje uporabe NI PXI. Uspešno izveden prvi tutorial iz manuala, neuspešno pa drugi (ki dejansko uporablja FPGA). Trajanje: 5,5 h

12.03. PXI nadaljevanje Trajanje: 2h

24.03. PXI učenje iz primerov Trajanje: 4,5 h

29.03. PXI nadaljevanje – učenje iz primerov – nič ne dela Trajanje: 4 h

30.03. Level translator – iskanje topologije druge strani plošče. Pregled Farnella in izpis cen. Trajanje: 4 h

01.04. PXI – učenje iz primerov Trajanje: 5 h

04.04. PXI – primer aquisition – internal clock. Na vhodu DDCA šumita dva podatkovna kanala– kanal 11 in 15 (0...15) na vhodu DDCB pa kanala 2 in 15 (0...15).

Prihaja tudi do presluhov med kanali.

Če odklopim kabel, se nič ne spremeni. Še vedno enako šumenje.

Trajanje: 4,5 h

05.04. Matlab – evalvacija izhodnih podatkov za 2x40 MHz iz mimose. Za prvi poskus sem priklopil 2x40 MHz na DDCB, od teh sem en kanal priklopil na vhodni kanal 2, ki je najbolj pošumljen, da bi overdrival šumni signal. Po nekajurni modifikaciji MATLAB kode za izris matrike sem ugotovil, da je na nekaterih mestih zaradi pošumljenosti prišlo do glitchev in zato zadetki niso povsem enaki. Je pa to prvi uspešen poskus zajema podatkov iz Mimose na PC prek PXI.

Matlab skripta: read_2_40_even_PXI1.m

Če pošljem logično ničlo na pošumljen kanal, ostane ničla. TOREJ je prej na moje izsledke vplival kanal 15, ki ima samo občasne glitche.

Drugi poskus obdelave podatkov (acq1_bcp_050411.txt) je pozitivno opravljen – pravilen izris. Na vhode, ki so šumeli, sem potisnil konstanten vhod 0 (ali 1).

Trajanje: 6 h

07.04. Labview. Trajanje: 1h

11.04 Dokončna kosovnica za Level translator, ubadanje z razsekom sprejetih podatkov. Ni še uspelo. Sem pa uspel shraniti matriko 4x16 v datoteko. Čudne številke, a bolje kot nič. Trajanje: 7h

12.04. Labview .... poskušanje z DRAM in FIFO. Data manipulation. KAKO SHRANJEVATI PODATKE? SYNC POSEBEJ? Trajanje: 3,5 h

13.04. Labview – poskušanje razbitja prejetih podatkov iz FIFO – pisanje v datoteko. Pisanje v .txt ZELO počasno (za 4096x16bit cca. 30 sekund, vedno počasnejše zapisovanje). Pisanje v .bin HITREJŠE (za enako število podatkov cca. 13 sekund). ACQ12.lvm – prvi uspešen .txt zajem posameznih bitov (za 4096x16bit --> 65536 vrstic po bitih). Logično, če dam pisanje v file VEN iz for zanke, piše hitreje:D Sem pa zato porabil kar nekaj ur, da sem ugotovil problem pri pisanju (pisalo same nule): IZHOD IZ ZANKE MORA BITI ENABLED INDEXING!! ACQ20.lvm – prvi .txt zajem v obliki 16 bitov x 4096 vrstic (584 kb). ACQ20-bin.tdms (520 kb + 8 kb). KAKO PRITI DO 65 KB? Zamenjamo blok za pisanje fila? Trajanje: 7 h

14.04. Labview. Probam zmanjsati velikost binarnega file-a z binary file blokom. USPELO! Velikost je prava – 65 KB. ACQ21.bin – 65 KB ACQ25.bin in ACQ26.txt – preverjam enakost zapisov v binarni in tekstovni obliki. PAZI! Binarni fajl ima nekakšno 16 bitno glavo in nogo. ACQ27-28: Uspešno prekinil while zanko po 16 iteracijah – Iskanje besede v določeni stezi podatkov s pomočjo Rotate Left with Carry + Feedback Noda. Trenutno iščem FFFF (same enice - 65535). Lahko hitro spremenim v iskanje AAAA (1010101010101010 – 43690). Variabilno število vhodn ih podatkov – modifikacija skripte. Kje implementirati zaklop, ki bo observiral AAAA zaključne podatke? Zaklop bo treba implementirati na FPGA strani zaradi narave delovanja DMA FIFO – če kontinuirano prenašamo prek PCI vodila, pride do overflowa, pa tudi skripta na PC Host strani ni narejena, da bi to omogočala. Za potrebe preizkušanja delovanja še delam na PC strani (da ne kompajlam vsakič firmwara, saj vzame cca. 30 minut) Uspelo implementirati v Host skripti začetni zaklop s Sync in končni zaklop s primerjavo Trailerja in signala. Trajanje: 6,5 h

15.04. (Zajem bursta eventov) Logiranje bin fila Rekonstrukcija fila Root+C – TH2I (event display) – 2d ravnina – Fill(x,y) – najprej s patternom, nato z noisom Razjasnjevanje pojmov, poskušanje v Labview, Poskus izvedbe on-board DRAMA za 3-sekundni FIFO. KAJ NAJPREJ? Ko bom prvič kompajlal FPGA firmware: - Dodat PLL 80 MHz - Dodat DRAM 64bit Write - Dodat DRAM 64bit Read - Flat sequence z dvema razdelkoma, ki se prozi s triggerji (Write to DRAM, Read from DRAM to DMA) Trajanje: 8 h

20.04. Urejanje paketov (caen in farnell). DRAM poskusi. 4x kompilanje in vedno neuspešno...

Trajanje
7 h

21.04. DRAM kompajlanje, lotanje.

Trajanje
2 h

26.04. Lotanje, DRAM. 128-bitni FIFO, pisanje vsakih 8 ciklov, da se zapolnijo vse 16-bitne poti (s tem se poveča dovoljeni čas polnjenja 512 MB DRAM z 0,8 sekunde na 6x0,8s = 4,8 sekund ). Z ozirom na to, da pošiljamo na PC samo 6 x (D0 in D1) signalov, torej 12 bitov. PAZI! DRAM je razdeljen na bank0 in bank1, vsak je velik po 256 MB, torej se čas skrajša na 2,9 s.. Vse to se implementira na FPGA. Tam tudi implementacija stalnega nadzora nad SYNC signali (če so poravnani – vsak clock cycle se preizkusi logični AND vseh signalov). Fotke: - 4 iteracije.png – algoritem za štetje 4 iteracij in enablanje vpisovanja. - 8 iter in array.png – algoritem za štetje 8 iteracij in pisanje trenutnih števil v buffer (array) vsako osmo iteracijo - 8 iter in array comment.png – še komentarji kode Problem z povratno zanko, ki naj bi sproti modificirala velikost bufferja...

Trajanje
7 h

28.04. DRAM – modifikacija arraya, da ne spreminja velikosti vsako iteracijo. Deluje (s shift registrom). ACQ40 in ACQ41 – prva konkretna downloada podatkov prek DRAM. PROBLEM!! V DRAM fifo pišem vsakih 8 iteracij, iz njega naprej v PCI-e fifo pa se piše vsako iteracijo. Zato pride na outputu en bit dolg 7 ALI 9 cyclov. Moram modificirati FPGA kodo.

Trajanje
7h

29.04. Če hočeš implementirati gumb v FPGA, ga moraš postaviti ZNOTRAJ neskončne zanke. Trenutno gre skozi, ampak samo spodnjih 32 bitov pride skozi FIFO na pc. Ugotovil napako – Boolean Array to Number moraš v Properties naštimat, da je U64 izhod.. Preračunal hitrost verige MIMOSA – DRAM – DMA FIFO – PC HOST – HARD DISK. Za hitrost pisanja pri 40 MHz in 128 bitnih chunkih bi potrebovali cca. 80 MB/s na HD. Zato bom zmanjšal hitrost branja iz DRAM za 10x - DRAM se bo obnašal kot buffer. Za zdaj implementiram variabilno zmanjšanje hitrosti branja. Če uspe, bom porabil samo en bank, drugače pa oba (v tem primeru bi 16bitni signal ze takoj na vhodu fpga razdelil na 8 bitna signala in vsakega pisal v svoj DRAM). Jutri zjutraj bomo videli, kako se bo obnesel frekvenčni delilnik branja iz DRAM, ker se kompajla vsaj 1h.

Trajanje
12,5 h

30.04. Preizkus delovanja frekvenčnega delilnika. Pisanje reporta.


Moj preizkus je bil narejen s polovico RAMA, t.j. 256 MB in pri 40 MHz clocku (nisem šel še na 80 MHz, ker je bil example narejen pri 40). Za input uporabljam 16-bitni signal (dovolj za 6 mimoz z dvema izhodoma), ki ga zlagam v 128-bitno besedo in potem vpišem v DRAM (to zato, ker je že implementirana koda, ki spremeni DRAM v 128-bitni FIFO). Torej je realna hitrost zapisa v DRAM 2,5 MHz (128 bit / 16 bit = 8, torej zapisujem v FIFO vsako osmo iteracijo).

Kodo sem modificiral, da lahko spreminjam hitrost BRANJA iz DRAM FIFO (to se še vse dogaja na FPGA boardu) - nekakšen frekvenčni delilnik branja iz FIFOta. V priponki sem ti poslal trenutni izgled FPGA VI in pa rezultate testa.

Prvi graf prikazuje čas praznjenja DRAMa, če pisanje izklopimo, pri različnih deliteljih frekvence - razmerje pisanje/branje. Opazit je, da se čas branja linearno povečuje glede na večanje razmerja, kar je OK.

Drugi graf prikazuje čas, ki ga rabi prazen DRAM, da se popolnoma napolni, če hkrati beremo in pišemo vanj. Za razmerje 1 je čas neskončen, zato sem si izbral tako cifro, da je graf pregleden.

Pokončna rdeča črta prikazuje optimalno izbiro delilnika, da bi zadostili pogoju 2-sekundnega branja in 18-sekundnega pošiljanja na PC. Za lažje računanje si izberemo frekvenčni delilnik 10.

Pri končni uporabi bo clock 80 MHz, kar pomeni 2x več podatkov. Zato bom uporabil še DRAM BANK 1 (256 MB), ki bo podvojil kapaciteto bufferja. Tako bodo rezultati enaki kot pri tem testu.


POZOR! – včasih ima prvih nekaj sekund po zagonu FPGA VI counter za WRITE negativne vrednosti! Popravil tako, da sem mu dal 0 začetno vrednost. Naprej? Problem je, da se v DMA FIFO zapisujejo vrednosti vsak clock cycle, ne pa vsako READ iteracijo. Tako pride do tega, da se signal »raztegne«. To bom poskušal popraviti tako, da gnezdim DMA FIFOta v Case structure in ju prožim na vsak read iteration. Čakajmo eno uro... Ta čas – računanje, kako čimbolje brati iz DMA FIFO na PC. Še ni najbolje implementirano. Output je KRNEKI – bom pregledal doma.

Trajanje: 6 h

MAJ 2011

05.05. Problemi z branjem dma fifo.

Trajanje
4h

06.05. Problemi z branjem dma fifo. Poskusil sem tako, da berem vsakih 20 ms, kar bi moralo biti točno toliko, kot potrebuje fpga pri 40 mhz, da napolni dma fifo z 10000 elementi. Če sem bral vsakih 18 ms, se fifo še ni napolnil. Pri 19 ms je že utripala lučka za fifo overflow. Pri 20 ms je že skoraj konstantno gorela. Torej približno je, točno pa NE. Očitno vsakič, ko preberem iz dma fifo, te vrednosti pobriše.

Trajanje
4h

10.05. Preizkus throughputa na Hard disk, shranjevanje datoteke, preizkus branja z Matlab.

Trajanje
3 h

17.05. Matlab skripta. Sem ugotovil, da ne deluje preveč dobro.. Popravil FPGA kodo, da piše od vseh 128 bitov samo v spodnjih 16 bitov. Moram pregledati še to kodo.

Trajanje
6h

19.05. S pomočjo matlab preveril izpise. Niso pravilni – prihaja do prekrivanj ipd. NI DOBRO. To je vse zaradi nesinhroniziranega branja iz DMA FIFO

Poskus
v vsaki iteraciji zaporedno dvakrat kličem FIFO.read funkcijo. Prvič preberem 0 elementov in samo preberem število elementov. To število nato zapišem kot željeno število prebranih elementov v drugi read funkciji. V teoriji deluje. Dva poskusa: najprej štopam, kako se spreminja velikost fajla za različne zakasnitve while loopa na host strani (v zvezku).
Opažanja
če je prevelika zakasnitev (0,5 s), se – logično – izgubljajo vzorci. Pri 128x delilniku frekvence (40 mhz/128) je VARNA zakasnitev cca. 100ms. Za vsak slučaj jo damo 20 ms – pri taki zakasnitvi se DMA FIFO vedno napolni do cca. 6000 elementov. Drugi poskus: Matlab preverba. Žal je izhod slab ... ne vem, ali so za to krive motnje ali pa morda dejstvo, da senzor in fpga delata vsak pri svojem 40 mhz clocku.. vsakih cca. 200 16-bitnih besed se cela beseda zamakne za 1 bit. Vmes pa so še nekakšni glitchi.
Trajanje
8 h

20.05. Dobil napako za problem zamikanja signala. Na modul Write to File je treba pripeljati negativno boolean konstanto, ki prepreči zapisovanje velikosti arraya v datoteko. USPELO TUDI IZRISATI EN FRAME! Glede glitchev – izkazalo se je, da ni bil problem v glitchih ampak v skripti, ki je zamenjala vrstni red 16-bitnih besed in tako narobe prikazala zadetke. KAJ NAPREJ? - Prehod na 80 MHz clock - Clock distribution? Prašaj Gillesa - Izkoristiti celotni 128-bitni grozd (trenutno uporabljam samo spodnjih 16 bitov in pošiljam samo 64 bitov na PC) - C program za branje (bom najprej poskusil). Trajanje: 6h



My Links

My Personal Preferences

  • Show tool-tip topic info on mouse-over of WikiWord links, on or off:
    • Set LINKTOOLTIPINFO = off

  • More preferences TWiki has system wide preferences settings defined in TWikiPreferences. You can customize preferences settings to your needs: To overload a system setting, (1) do a "raw view" on TWikiPreferences, (2) copy a Set VARIABLE = value bullet, (3) do a "raw edit" of your user profile page, (4) add the bullet to the bullet list above, and (5) customize the value as needed. Make sure the settings render as real bullets (in "raw edit", a bullet requires 3 or 6 spaces before the asterisk).

Related Topics

UserForm
First Name Matevz
Last Name Cerv
Email matevz.cerv@cernNOSPAMPLEASE.ch
Telephone

Location

Country Slovenia
Edit personal data
Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng Izhod_PXI_050411.png r1 manage 2.2 K 2011-04-05 - 15:29 MatevzCerv Uspesno predstavljeni podatki iz mimose prek PXI. 5. april
PNGpng Motnje_DDCA.png r1 manage 205.1 K 2011-04-05 - 15:01 MatevzCerv  
PNGpng Motnje_DDCB-prisluh.png r1 manage 229.6 K 2011-04-05 - 15:02 MatevzCerv  
PNGpng Motnje_DDCB.png r1 manage 164.2 K 2011-04-05 - 15:02 MatevzCerv  
PDFpdf Report_DRAM_variable_freq_div_1.pdf r1 manage 192.2 K 2011-05-20 - 14:34 MatevzCerv DRAM FIFO test
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2011-06-01 - MatevzCerv
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback