From bd1b8c8a0c5daed220e58235a322d52b997559dd Mon Sep 17 00:00:00 2001 From: Michael Wiebusch Date: Wed, 2 Apr 2014 16:43:14 +0200 Subject: [PATCH] update --- mvdsensorcontrol/001_lowLevelChain.pdf | Bin 12708 -> 12636 bytes mvdsensorcontrol/configxml.pdf | Bin 0 -> 10148 bytes mvdsensorcontrol/daqscripts.tex | 70 ++++++ mvdsensorcontrol/documentation.tex | 282 +++++++++++++------------ mvdsensorcontrol/jtag.tex | 273 ++++++++++++++++++++++++ mvdsensorcontrol/jtageditor.png | Bin 0 -> 95439 bytes mvdsensorcontrol/remarks.tex | 38 ++++ 7 files changed, 531 insertions(+), 132 deletions(-) create mode 100644 mvdsensorcontrol/configxml.pdf create mode 100644 mvdsensorcontrol/daqscripts.tex create mode 100644 mvdsensorcontrol/jtag.tex create mode 100644 mvdsensorcontrol/jtageditor.png create mode 100644 mvdsensorcontrol/remarks.tex diff --git a/mvdsensorcontrol/001_lowLevelChain.pdf b/mvdsensorcontrol/001_lowLevelChain.pdf index 9be084c874f5805bfbb74deab499d7cd084e6217..3087cc4ad84fbf5d4597d0fb8a02b6045cf1a312 100644 GIT binary patch delta 8029 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 x0r}s4(*GF;2L~s|zpLip;O74?Lk$lU zq0P%s4lmmK?ECn+k=+T$-SEdHnIF37S5E$jzd00rxq3Rkz2>0%U-TnA-%WfEUDZS}&$MxvoRh^S zuE%cDl%f$qcYJ8su{t>w0yyh3&@$QuxG!v66{X=YV+$t)`Vf zuT2}fX~2FH<^6(?z6t4d78wFf2WuhJsJ5AkGY_My>>{Cj%F?5Go8G}N_e6m~_1dAm zGRguE^)I)u0#KeYCudNmX|fmE5KBf#e|$#n&*m$2bqwHap5gh$lrvDjA@$;F?b@EX zIC`=#nRnCU9CLikF>T9HG%`z`nfC`T!DL$XJD}Up^i_QyT}sgl&i}Nal?%hk^_RDs zm7TBf>15On2t`RNZdR>NJuU75K1+rfb6B|8sANv~vD}L3Y!HD%Z3uGmfi2zt+Qws5 zQLzw3%t9#VYBZV*kF7A?^suWO;&Ah|ul(JWPPCSKb+lJw4C0nGL4`)^;& zHxO7<;rDOw<_>1AZZ77=_WwnWCN}WwB+MlLeMv}2I9RwF%)raQ02Ve@ctJt<{}Xy< z9eDZpVn{Rt>eA zca(QjC}!UQRaZQvqSU0~0W`+~G*e$tO(0M5#rA=ci*! zt3wHXVAd}aRr)k7*<`dPak@IJHQ94eEShCRg*cPDrqo8{?1|e?Y9E1}3|zm47m89d zlnn{+h{Ftqb(d@5gTr7LuB`$G=etG2L9TB=SOwQ)PS;Hu+m&CNS{5q9uI&xcM2Ydd z*lS@qb%uC&7U%#S|NRfnDAgamg>TjcCH>+P<#iFs+EqU*bukc@K-JV(B@hieYrLe* zdNFMAft}Xsb{Y!mW{hBk8VGeAjIq@Vl+o1-RPy-xXPipLhoij4tNY#ri^oEtvDHn$ z4uX5b%EHR}jm9U<5qZ5zQ?L#zD_Q-VR9vo|^Gyu{V{yfG$I|2)O~m~1Hhos;oj8LW z{;1^b&d+=W)43;c1|^?Ffl-8};>r+)15js{z2({yR#hO!HS)60HEG1yaJTQJkjKu}lEx&725bnbi~2%(3-S z%{KO%=bWkwr!SCOf!89d+8*0S^U5gxT`#U(p89KW)#MCbmq&Mii@Q0o$_)Wn`^s00 z{lw{&Y2IN{q`u) z;ua(vlYdBzsAX-Wx`DmK1UPpo`no*VY#F59u9X{AYx`IJC~t1l=VlZk@R9yX!y)*D}dNc*a~p(+Z9xnUiwh@Tn1Ai%;0cQ3r0yoB^6S^!-Za zRSl5^sCjbTTO<#2&uArwv=aL`MMUAL6;zSlp zgl8|9aa0Asmj$Jbsux8%nDZHBHpV!n7#=c>HvQ54qh2hAi`E}#6J&Hv^TO=+l!BsT z-hJ|dR5pGZ?L3$~WEWi)yHkQH27Ojk6%P`NKA3_H!#DL$dVD#Vt2uhN7>DpFZHbDr zW};PECpRZNpV_-BDVg%QU(QVy4^xKuJ_i;UuQxpH4n?hrb7CtVDBCM?;1XtFX**4= zHiFYpt`+8k5`+s-wv`~-bZ;ydbR;Op?)wPcvtmdgANwUL1YT3l@j>2TGGfj%7#euh zb_+iKm2k|p;J84p)9>)euC!)KyG5R0d>Yb&F-c_S_0?bVdsFj zvB|IY&B>h*-}mrO3fq-_+iglKWp{KG&}I3E?x>i_k%W{d4B|C9tb8x|aR1(VLPG{i zrSb#OJ;4$%kGH~zNLDe&o+>0=)0urW_a;SgKNFq!a8HJba-ST_q4Sn<*xwd;n zf+E?lc4zY~H}U)+yLcPDxCd=yRw>HvfZvX?I(+M6h=>+D zQW6%+x@_LWCPfWJjAN6SI=-KrARXf%t6X?{nteKbQrZLY3Opr=hnr(b%YU?yp7g)G zfYkt)xm1LNM^T2R?}pwV&uQbgF0Z88Ylh5X?BT@MR_P)=ydHZ)JoFSH7yi`yExy<$ z9X+TA+mYx7q`daZe>f@%OtuSJ*OAcIg7I#c$oYPAXY)$P6Z$X6DY(6M`EQ^L#(S&$ zq8EryDVr;`uG13m-ibg@dq_^Z)8EZTyjTD*P2JBw!Vett#CV5u!p`0W<`v-EjK9{e zr4R55k`hTZS?!^t?YeT<`hv5n<5tD^tW7-+Pz;O3L zsh}XTpwJDL(O8%9l*JXL7NwRr$X6+LrQk)}bA2*0fu=oA|BeLaVi7}YS~qe{oX%mR z!q^UX@;4Qj9HwRsbpfw)^J;O}IXOU`&Bi&zP@sLTzp|(JAD;QDwGg-=>7K&ZhsbOx zh`=OmZMC7;Nd(>`TFnby9Hq-^tZ32qQ;Lo25ge)$4Qh}1GDIu|jd0d=`_qYi_<7B} z!Ml!S|?;eY$Jv%-K{e=hf? zc%mO-f;3%{csQkz;y>tM^C#<^>hLwvY<_v!bn6t|PBLQ+vxu#<^U{0{+pOFbuNbln zfpsbS$3V&iC!nPm#V8Z*r@*#t=D+?yiyd5qK|w<0L<38pgrN%9#Z8SqJARYUll6wJ zjG1UzLqRNMA)0RZYsW_9$tnOa3J402Zlql*DUHjp>_&T%_g&-qld~`}G6^z~PNf}9 z$&Jg=$Z8X65*g+wU(!9+D6XfgX1maVJ|;^&1l#XK{C)jJyP38OF$|NH_vvoahSDgL zUu54C<^U`a7Lftbd}+V*1x zu0cuhJx-Utq1N-Te@sgC%F(c`$7yKIN3rvOQG2c9@gq5z^P7)U3UyKDGw2?(O)@t18bgmxYkuu6p+ zYq;X_`w&)KNqSQ~vjA=`F5cCz(w9%IByyiXv6doJ`|;W!Z5kB_lZZadrNP5yi*EwF z1#WneMv5q*=^?Rs1HBSgOF$&5L2~Ek*9c8;+BxY4aa(k6M&>Ti~0U`Z>PYUwL3)vB&>HWQW?!J2`myi5qgzM&W) z?ouK|?w--V76Kd>ag}Yq2`^Nfel@``pwfw*c^VHN`7-oK>`FK9kn{i05S1_9^;Z$v zuX3|fT^wXXt9VRcB`>V3_6z}ZU3E>V5PtG|-jrDHs4mm~Ji(K*Cys>0+NT*4V`2maoI+5u}rpV6lXH$J~0L7A2~oR6Bg z{V3$$#Dh}1!A8=PIyVe-sT;o)UvL$@@K;W2bzxi0(MovqG{>{P-jrtKpB?L19&i38 z8*<4nwvhz;W?>M=M;1R`|I+$ew_C41Rb5?OzFx2H4v_v>ZzY8`_>9c?xTm$Z>${mG zgN6u)O96`T9NJXj^RGSNOR*peiZYP?nwX9lXRKTrmttOETZqy_HZ(9db%h@^Ep^8+ zqmw_hWL7iJA9U4)KoM8>5l}_`3U*>q=RX|#w*U|lxFatv*ps>uRI>fNe!i_gdi47k z&8=zbu{(srVM_N3N~-3#Y@(K5h)|oW!Xs4-yQEO;aA-ik+pRV2x0_?ppKQ`q$F93| z;ohm`Y$b5dEHO!~4e5Yd55cLZFt4L4)!FG%h)mpAd+4Rg0Eti(7HMQxqbkW^$EbB+B=y zB+_jpU(FCroE~_gAXZXuFB4%H{b?pw=i%Yz@pA8<9${AJMw9)x^rG{+`m)wQxH9SX zPGq7SjB6wWkouGpyHEbn}H z651F)F+=3ae>lDrl>&+dO~T)1wXe3XY8clzedBJaNLiF!LmEc1jA1f3aAUv#u0kA3y<5g121KASuputB*^QD3OY_0w=~2^Y~6 z!i4Bd6{(h&z}|AIMl)h>XjqD7LsM7 zb+aglnm;!7!x^uCh_(TpkAcaW`^*51BU-v!DeJ@-e=0LW21wU8)oh~lZ=IQST-`zC za{V_t^9uTk#u$3N0u9(g7L+^zQmCr6Fr*-vKN#PeSvB=5>D4u7|0>HEeu>LKeo25$ zxUv4SG^{=TTVon+^-N#IMKPKER?Z&&ZF)7Bsu4A!(cj(jl2iz$=n;Qk-Qoq{Jh}4K zwW=Avx7N=z$A5Aly0s2$xZ2ZkM0`e1Qez@7{pn*4MlN6NmL$7I=~_eoCj(B!K+{ZG zM(84C=67|~7yeSWS&QSZG@9akp>&$#n0`>`xge7mZiY?F12>u;!}*A_T?7>=sc9=b zF{$}*Ym>BPhLRaPUi7%Ge4Z4*G^+u|T!wVYZLp8Nn-0ao1HxFglgYbTT;o&~w1T$o z#)YI99pQ3cFYblb(N@h~FfJ4qoT>6~<=C!x_9=kmz5y4KU1qgi2v=rZ)*~N!0ublO zethEQP-ei*gohpxue`p@y{78FYTj5nn_hAi4>BP5FDZ8yKCQm8?{)ygA2CavYc-B1 zyV?!t1>Sms-p_OQjY41XyALy{(x}8Ayw7@14$WLQ)km5Noi^*tuq8caSWs}IE;G|F z`Ii0`bPpO_tWYG_xP9Oi>ez)K>~qg88tgYXxsp$zlX1YJt_-HOY@Uw4jI+PFk4@?E zR>gb|Es=|fj+mto9IXfBb%wBqlclsN$RuQDRKLdgMbf8YOE5)y(Yj;OMCo95(ORgV zkL@4e5E|o&hb1he-Q$Y_M75+fV^|r}@DJ{5?+7O^oH^GX^RT`Ds` z%MnC;-553p`uYD5De7J|CGw#TUMprY4GSWfnsIW`byw1zwc%UbyvVF zVc}GwoEg5f9ps7x(@y7P!qsR4b6|?mWzHzP3h?n*TSNKg52GE9dJHN@?ejLmmyI)> z_?o?!huwq0>###hM~N;SqetaK4@NLJzbxn-**uad!_oEyxzG10q&gLRc5D{5K3@$Y zUWwCai*MXT)KS3J9smyY{R7WC|b zG7y;fQ)y2+$vipv$CfE_DkitB=%EN!MwG|kJ_?V#w+QA+fI#RW-Q(WYUK(HVl+z^s zvG;?3bx=M<3Wh9~%F^MjnB&cl;yXjZqS7h#u^@5;o0z&JKg*IQpTBP%61Nc6GbvM3L|0(;Z&Lc5B*te@4v@rO)hS(5JdPXada8 zbfYkqL=WW<&1%0%AG&h!3<;PCHec0eA#4x_e<^5(SvA7o!FqXsrm;Z&{!J#=qw%)* zH^?$EG+x-Im~g++4GiHS^e^5sG|w0jndQOjsOWiVmQ*|~J$}0xZe%e=sG?|R>@mG6 z{cKj?fs(X^7dO6{6oLUJdw~n&2@^mV;Xy8PIuLZxe4wS{)Qya~n{J0jno33=Bb~I| zgWonQ5EfqxP7i~M@D6ulLcDWw`1xII^=1HaHh5fwh{FTEIde6+lb)bPm5`2uc_Byx z`OOl=e=QM_k??wnwiPqPF{dL8Am6sY^wo!AsJd3CdjmQGm|%Jh zU3Pv1FtKiX-+B6X!T-D&JiNJnZesuNqSKQLo`UqH-L`>#BSwB}gRh2t`i=P649-X# zCIt6{WBBO_rPuCB+|vloxCw(T7`cND>5BmYU|hq15yL+T3#(yf31Lr7A#h_OUs?8Q zgOzHYy}8kM;v>a?E5dn7^#W_)n`qZ10ZHJBuvREedc7=!r(;2#2ErTo|5^71aK$Pf zITD0%$rcy(Am0|w#UOFpNcSN3qk`3F_8EiK!2QC!E)Nicy5@r+;Q!CQ1Yx_^pGycO z%+*YT12$&t+{4#I#wz{a<@9o`*b`7eNvzXjUn;#__f z#n{sR!gTI*gI!=0hR|$VtI)eh%eO_F_XjEENyQw~ZsmMix4q8-hJOn_lauHu6Vh&- zIopvR316-lu?OiEan3lH^qm*>460IhEwcu_wwa4RY|i(R=$Dr10Va`_X{d`GHB$iV z{5NeBjk9Ye@ErZ(J4*nna@M#wKotxG9vy3`QMo+@t5pY{iYM+TO#^*K%N{L{2v>;6zS+@8FVqNi*P*F>W_1#>}jflTz(QA%vIc%$@K*)ccgd z9_tO>HZ?{BkRGF<#e`!6NP{i*aje3?!0Vyzua0)!b@L4k zv9FE-yR|hom!JS`jbn7=4EK?z&=gD9r%=q20y%}3I0vf&$fS)%z zIba(NwAk+$Vdk|7W9Dt!Mt+Hc*$0om&JTgT25$}$zS`NX#8$>e0c(uKsx(mYdF#0* z|7?MJG6bAIp`fhUFp?e!iNU#8ldy?o00qZj=C55xn)}Oyv?LVfDP%=u9Zt((Lk|#E zCcH(c%6Tv!@8_+jMTEUflXrJ=S?BZoT*g}F4@6W;{j{&7Pq1TdF-ZHkjAAIEiT+M! z_9-6@=N1XZ&K(SN(F(^@##Q5jPOjQ}lpad{yaU1UsuqqjVg&sXm)(jCrK@NBz-KS4 zaZ1}S+mn2$wloL-3(0tG+D$H^$FT2frYppIu9+g`jf~5Qnf&ywMMBfwTBwWXhDpGLSN5%M*w4%9T0rbW?!hqeGttL54{U={ zq_BYNI{3`#YKSScb=s)DYre7B%+1rf`}TOsL?w?5E8wY zgdn~dl012yJn#3e|6l80>z}dAefDYl?6c3k_H~`jaz{p%8_WYGU@2cOIwIf$f`E1= zRs>>VKwc%dtp(B&$d3}K5deWeURi`S67GolwT2<#GH_EnGdO{S1c4LM5e~B zAGkjWB5j*F(VogUdGu0+b@>{=lPy9DcIm@0^*2%jK}GoqD89AtcNK?~?04j`CbD=> z%ntXC>QzgO2?FH(Dg2w;90{~3Fo!f@z|(r)5l=Fo`(I^GqgxMDaEYd9Na~vi`^`t$ zjJZ7brUA|UTu5S-DxMrXLSU2}dButFBPT$>gWE9NPxuU&WD}V*R|a%060kK<_wO;g zV>=!m7Jbt{wQwM=)HjQ_H>7bGimGA@$5r%i3L#B5qSU^`%m?W-lB9(19&3z5e*id} z&a3A8OU#T2Ze~Yyv1>8&oN_H_)_=|FRiRUWna&zXgFOgU4`dieE?(a=^CQZDz4E{7 z6$mG6H>(PKQma$W2^OIU$nr+aJMIjZy^N^!F(QdvqlNkthT^xr#=j_s*F!cp@~YyQ zX5H@OjcPF?^%Yh@-3c@CAuL>K){F120XZ#$m~=nbeUGcYcUQ*0DC07DGnsQ&r`mfJ ziHw1fSwB+W+GYK)tGW0_WB;>tFJJ{#DTzsBKcR$*a(QkL%3J|B5p%?l- zv%PGJ?O>Jm5T#ZD z86i1>r7D6YBCHR+KKZuBL}faVh=pryb4++ncuCgO&$-U1p4OjAw@y*}UW`{rOCx~W zn*Hzx)Dzm1(C&l&ML7@@EQqd0mmt6V?98)nxgl?>BT-%j6ca-WP#<0x2vq>`N=pI3 zKweWA>OacYP!;F@d1dWvk-xPz=LT_ufY6`5iXH$h0s{qpictMfe?R6I{53z2SHs;N z4&=Q9vw)xJatG!JM-2`B*^gHlZiax}v~vUMqeLJe7%IfW4}pR}d_V{vln07>LOmLu z^_4~`h3f1CM4zMcLv!2F&e{GqMbBqDlm1+(I!Xsen5~mNdS+AipJI6+($V=$C-iEh zQLSX)E(lY&+U=X@CO_<;26wV^b~J@M0ns*9`)!RvsPaF~vhXjp{_QNIr#V0LU?5aj zNa$~edql_6P2<)RN$0*oAJ-ha9MMa$8%V|!8vKX&7s(sTFJtF?>ou;a7P|WMy!#P(1ETo+RB*Ix+w9 z{KTc9D!#gMdS5iB_b_GU0_FwGVN8F|4gZ~$-DkYE7eQYx$dxYg_;e6AxGZ4kT)zmq ztLr`EpZGC+6Sr86!R5o(+1O6k&4Z$-P8gy%_oZ_2Owe8I`$t~bL7D>s{OnVyeQ?OZ90rFdc3ck_k%5M%oEIb0VeA; z$yr5ihqBR{Q*X>q7WA^m0Oat<{Aj()Bjl~Rv`$2(+YWRg;#{KlTjWB5IMQ^O1UQLa zDY?IPo7tW}3Nuc29IGht*}kY~kw~lmDY+tDT5@^gyV+9zXdsr0XesD&S2!yf3)RzO z&_~EkAxaNv=*7!eNo3l+B_$J4`+GcXJaAtw#MP;qc%5cw+(d6?Q*JV*} z?@g``NvluWQfuu$etJkqBSG`DMKkBVvEE9|*yc0Qkk4Q|?)R&j^ zfvhal_+$`7_>C`SQQa;r&n3O}@aS$!T;q-LzGvp@!D@diW2A$iQ*XZ+ejTiF?IA4{ z9pcU&PPR`3PNB+6ZKTM$P=J#fEUDU zPDO%%khB2NJ?RMcgbwj<8X1$x?T!xDt`sq(_d(4QS?95g(s=njda^)|;}x>p1fS=z zkMs`r3_qm{@6lYit($U)U7=DFZZlGmGy^r}zm&k&nWn_sx=MQjUwvl4#CWf8v4zQD ziGGrmI@Oe&>(-Zj<2A{)W0P17wxEY}qsXq&a+Q)Qp@eni;qg5(rZfjDhHTlK%O`gk zVzju~m_$;tbq0bcZ{J=DRtnW7Zg}-7T1g^T5^@So5!aQ%-3m6pPRXjlTA*y1zUT3_ zHP8=BT=!l-CcWg>u+s%bc5FK?-+jw_ADfjYF$u4@dw2pL&D4K-ZTQA&dCra}uXpE2 zIlojcsj_zKTbEQ$m0hnI-nUh-2lv4EyXiTSw>S@%@4b!wvH;budP?JT<<-JiRd9Te zIp=o!u}|blAIFI__x4?pcXk&pA>AHdHI4Y_LAXXVhQ$?D!?bV*2~1srOksTlq<`}! zT3N$>SoSTC?~|*7t!@9l?H-vfLxXu;_9u=ifx%`wNXoOK?gS-Qb8B-0pV+ZwXLr+D zTe||mqH*0djwp5)ns(}TDppO_LVJN~I#aq2k*_)DMz5D&GgNgXR$)ly7iwDEX+4;# zAGgwWRw}O%shHNhqP|%a9m#e?ix~xHjz6FuDWz}N_bTz0`}Iy{jszmkzm%J6%8B-sZOn=8=AGp6kz{#iA*k|6&ggwE~0@ z$7+Evsx)o;dNFK3{D{xh^>x`B0bidd@O`brZ6SWK8&|KWwEDE7a0*Z?_qA8T!{lJ= zLmtAKl8>}+hW-0^73_4QCx2bzZnBsZgr$jU6HqE&0?289gY=NUpTI~lPiFzDHZj9( z?b9r&YkJLbGx9kjB-HF_6M!Ns2ys^=T+1SwQ%)=IK&cNN@9E@(i@73bb)%ekC;T(v z3woO^L%K?uSODiPPpE**vI z>UwHLIWnZm!^f0;rU~J~Yl#O}FfpDf;9PFgC{17bJ{-qTs$G~^%G2O9>3XHtXSbv$kJc`)x*YwDxG{Vu`ED%)=h za**U#hvs2f8MQIgMTAW$X~iUl8BKC}Poyl$b%%9CvLAmh@!uGBdaTM8yzV{HG;B$? z8mhSl%XlVTj(}`f2Z_J6Y7KjF>vmM~hr#g4cI|`RJCeUO)P-Zx3QT?a`;1jkP z;`F;QolceB{KBC@d0Awl;i+4$BhO+}O%GGpj6On=Q>J-+I+y8U@i?ZzVr2pBc5!pw zcmzeWya~czJ*&SUsWQ2%DfffCAVXcB=BAZ{_orChXN&DA?*>`Oj~1npxvx@sTB$ZQ zHs(!;59Vs8x-U>cHRsL&9xMw|n=rME@jx`1z6P>5LCx-NDbsENR?afxB|h zL4o!Cy9Uw6MaQSor>DIcxKvs3bM%JQY#~_s&Sv;>tcdiIXB#Qm`Wetu)`agL8J}SK zEWJPy>A@%_Rmv5tiqfA@BX|oQgyelz9&OcpK}`8em-Z)H06TAN4g7g+=s;F--=|6T#X0?0;^|<(R%v)K z9?3_|?luzlT5G@X@yNn0_VpL3HZ=TATDdG-E?U^mYK8ofdMaDC<8pan-)i0|s8Uo* zugMD$_N8+v`}eGIy&J)vdHY!B>cFO9_Y)5MQ+&ObNegy?w;)@k-4|}sDcA(2eo3V8 z5(TF`C(d5|1TVjXp$|p24z>;P9Viww?OF%X^KL$3l^RkePP>$7 zxgNPfugsERjNPR1vWQ3g>X8noLA>{baM>6Ae3`OE9|WDe20lX^3gyaY4_IRtUCp$5 zMNwTI*R z`yF;;X2YR)+{B9{R!{@khf;}?6FlzMwaYwndL5s0MJlTvz09A?cdnFnsBwQdDG9nG zrWiGswJui8AYSeAp5kRrB09d3+_j%>TXEZp50Wa@aJ_Rh4~)bpf)fOeO-WyxP)%A0FK@Ze-4p#H-` z&^OvNNK+4OQ>BZaJvo!Xw~c`5yoI33311J&l759Ma;s0O>A{n;q?OWk=@VZi(iDFd5aj}euY8L`-^;-c684Dt665@@B*(zwu_)g! zvtM-&4EcQSH`!rLlOC{M^08@pmAGAv+hE|0d#W~DZhriN*3)Bq*XWqnPkVQ()WPl6 ztgrdUoToXvs!7`r;#x5V$*Q;}$>ml>+Jo1P(O5>^Z%>QouOw~zH|`1?e}%hkfPC1t zFzLQGLBu@GuS(Vs^(nOsZQkAq~Kv+USa1&svSgWo`cxN9^S+yoM7HW`ys*@FLmtt z;(<=%(3VIoujvPU_*4DX3zxA3k{ra9^=2YgQ_HuU-yIZSKVNR0DHQMaWwp0ar#1Ej zjE#0FH|%d^L#%f?8}?_1Fvi575wFM&hCv3(CPnp_+J*c(nl1+NW5QOJ1&ug^8UeW4 zYzKW9&kc&USh0DuxA6V;F;=lWa2bs&A|!e2-$M-a{K{EKj8>c4v3ST1a^?|Q2)POT_c>`Y1!A9inAibX^-Ij)L@mV`J)&U*(d7~6A> z;_=YaYxbRnS`xQr4YiJg8n3Rflj{h*?iQz)pv-cWhF@NkHGE`GMY_M6KN== zX=i8?4eRFw8PBep+8n!xMln#lZJ)63w&c4q&w$r7VBSrUz-d1$CwgThocXrSp`2(` z2Y81}s~bFLPh*}0UKL>OBX>(8bQDcG;G6t`R0GS9*)>fvl&0AC4LCx7qFIA zH;9rp)%)_kubf;`S-L7WP?0u}*;hyM-6nxF%zD~IWW>gx^4*u513mGZ@qH|(v58O~ zpF02?SJ?r%_cu+IIQy4<%Xb=|4CHo^$~d_xsj;ieStk&KA zT8>(pv=)RaF2uU^)w1%==nvKHN4eiN0Bg6z>c)QUm}UmAs;A-DrQCU0_V|cs1RBU+ zU;9Q(FfqZ|ZKm+Kc-77>;b+;$qkrzjnSp<721J>!>nG)8iYEPpAwp+G zw0`I^H;Umq6G+4C<=_YlOB64N8sO%ojipIfIxpIPc`l%HAbkWUF$u~W0lMu zEfTP9;$3TdS$p%|TWPssX(9|Mwnu5{HWN33nba(SQjFO#8hCP80oXY1a_X5HjFeF#jTTjbUuvt+ZYWj{(Ok>E%XotzmtRH2TM(Aerw zBWn@R-^G4PP+yAt82fpkA%ok0j4(>?juu4U4VQ45OUUKp+UM{+$f`-xzP~zke4k+) z{79za+kKh*I4;WBG{!rg*F-Pxe`#H*?C?+wSL5UsfhP+&!2z@uMafl=vJlP@cy_fK zriil^FmIO}*QS?Og1eH0G>YhBSE&bEDmfy!FCHnmAE6MsyL9)iTi0oiI3t; zyaA;_1B+2_B_N|Bo(#%v@2jARQEc4IN0^(M^;R8wB>V4cVpkpuT-Ri!l~>>#G(eDx z_rwcab!yp)(be;sU>G%1?ut+y+SMB$B`2smP*BV@3v(&Wy2V?s8Lgf|E2Jq{zMN$< zq@Y-a`BeV0RL}7BT>!LS#pYGo1Af?RxfO2Q++aqscMgTh`WEsu?~STub6Op_%hRP; zxuYSs6!wZr`YrS>GEhbhB;LMkQ@WC=I&x`+Z_oThx-La_naZQas6gBD*?1wNh9^9- zO+GwnI@4#kASHu9B%-UMg-l%Abx^o0!;eRv((qt1H|oostWR?Tot9ZygAnO!cDXJS zJf%u|>k~ZdWoE8A`nMSNh>%?}6Isr3hBn9)t@OqcwO+Ms7T{q6lfn92Lkb5{jX{s- zHT+QriOcgs;SZZ;nJ=R@+#|IVK4DCl+EjR0Bgk0>U)N1ItcN*Mj0_>X2*bBiwK8&+ z`&KFPHe7J;C^^5a6Q46Bw&cwG(oqmmtp8-WRS(l}G~C81@W?Fl>O=Q_h%^U5KbdY< zLGW-~*2ujSGrEE6>NVV|eWbpyVomuG88|>{7p^UTw0t3pSF;QZJ-!b{JF=2_y^m z^0KYuA?MFja=%U$qNbprZWTFE1}<-#0xvsyXPGEAWz^AWUpY}R__8?68+JA0MCbXO zua8~w`qU;{bSiDtE^;#C$VR{8olF#=U~h1aXlFz0>3y9~fjAmUpXyzrr#d7TT*N5* zfgD*nRXsR1;l(T4Pp}SGdY)Jrk8#V62P9pu-;@I41I`B|DszP&kyN<&Jf3g5KKTlO|P+6LHh;s9fd zzK!>Yendt6K|GBe#ORen-q_Ks8HNfdiqEG>sLd^M+o|ntTOZ&ypfIADr>p?1NtjWU zrwQdtB%#X7*5cP(4Kad_q+d0rAvxUBR;D+rC2zUd))hfI&(h{2X@r~$l2xypy=@wx z4^6bRH+_DsjyGbFRuaAjKW>Q>k63gO9dR;RbD3-R84j2CCY3Z<^AONlHxauWo+3&< zq9W;HEjSz{V=Y+BjnfCJz+tfBWL|2dc9Mkq#?7E1xgkz^~C;Y@%=}plZ^S9F@x%O~`eC zK}|>IdCJ4K-w;aP)8NyBco{}(YUZ^AG&K+Euf$_-=MT1IL{LS1R^bY79R!HI)ghO? z1^5i(A~7Y)h}afy^Vjft3Z9A2SXi8g$s(v0@bN$kkmCsQHu|!p&;%5l?#1c}+q?Ij{O6ON2^3;i-@!-}* z%!qd{o^^L5ndR0pCd94Xc}%2)yoWLW9oU8&)Agn=wrGQpIfrWgdUN{$-Td@xTjy7} zrls@4I)Wvo^c<68R3TirZ6H~`4cgClzXpP>GSg+yQ6IfymLIq#7`oFo zuK^Na+R_Xi#inu|WppM$ak_vy0Dr$mz%f9mu@EN_Fe`gnqdekEzail86rt_f+Eg~L zB1<0 zKpbETw&ycYd&!9_OEq_F521gJ-`NyOwK|S9P7B6)L3`JPy0zH--o7+V77r_s@hWzg z@$j7|NK2g1bm;x>iNq6Wry)|Ot61Mx<-U`%FSHl^OUU`#)iPK}0Q@WF{5{J0k;DN0 zbq)Mqvlt8?^;tEe<9{ClhDm9MAt$_ujo9Yz{nnRe#~sZr%`${SYER4rksv?rYu=K( zy5A-mzEDDzRHIxPi6kDG8q9T4!&=xMS@F#J_jqdBi6&*1H8xk6C427NE$3cJB6`|= zncm2NemnQV4c}sE68@%-Myl`tv=4?wpM}(>U>&J@ z+2DUvTU~&?lMPXXP`~dF%okTg_Io^3VXE@oO`)qh0UL}c-;It9^Vp;*^4dXk7In|% z*uJ1+r^fi`q|2Utb7YrLJ;uJ{U#y6>%+J6b!uQLFf8LP)J(4^N649dbz+L)|^c`Kb z|BJw#|JOkOAI0rw@!#J9!rw2`|5M~HEiZ#M2)g6+!c?FDL>Opj_*>e*Pk%t`@}E|UmY>6m|F*=Rm;%WA zQ)_OyvmHN&SY|L3R6^Md4K%=KXz4tW;( zs{KmIa7LL0{M!P-KY4?*^b%C=5(`;x2Mpmsy)4))kw|+HUR2%*N^0Q< zv$sT;I`P;!TCksk&O45FX3nOlWT^jxet#_ig-HIn25A@yliFFFndWRgKN3*>>g47K zHzz;=9xwqa;pE2$C;)}>L4oGLA2MM+Vbn_z{Q=tklz{~JP$v6_41|VI|BwlQP=@)t z3@R*)+LXV`gdu2X^>-Oa5c)@7kgyPHAO7AB$_M&mJSg9v`auOjf6M_Dg#0m{0E+kd z=Nv+Of`8~D#E(kR`G+n-f}lTaAS4L+Lq8#5;XlR`=KpiO!cd{#+94fbCeQ8~PNh+1Vk1XZwGC6456gc;=C3uNx;M%n^CE)555=5wNh_Qk5n6A9+d61poj5 literal 0 HcmV?d00001 diff --git a/mvdsensorcontrol/daqscripts.tex b/mvdsensorcontrol/daqscripts.tex new file mode 100644 index 0000000..8325d2c --- /dev/null +++ b/mvdsensorcontrol/daqscripts.tex @@ -0,0 +1,70 @@ + +\section{Overview of the daqscripts (draft!)} +\subsection{run.pl} +\label{sec:run.pl} +\begin{description} +\item[is called by] +testgui.pl with parameters "setupFile" and "runtime" (CGI/HTTP request) +\item[does] +\begin{itemize} +\item +parse \hyperref[sec:setupFile]{setupFile}, extract systemName +\item +parse \hyperref[sec:systemFile]{systemFile}, extract gbe address and gbe port(s), extract daqopserver and set this as env variable. +\item +remove stale hld dumps, remove stale matrix plots +\end{itemize} +\item[calls] +startup.pl with parameter setupFile +\item[calls] +./preview/exec\_evtbuild\_t.pl with arguments runtime, dumpPath, systemName and ports +\item[calls] +./preview/unpack\_hld.pl with arguments dumpfile, picPath and systemName +\end{description} + +\subsection{exec\_evtbuild\_t.pl} +\begin{description} +\item[is called by] +\hyperref[sec:run.pl]{run.pl} with arguments runtime, dumpPath, systemName and ports +\item[calls] +daq\_netmem with timeout and shm name +\item[calls] +daq\_evtbuild with timeout and shm name +\end{description} + +\subsection{start.pl} +\begin{description} +\item[is called by] manual with argument systemName +\item[does] +\begin{itemize} +\item +Parse corresponding systemFile to systemName +\item +Extract addresses of hub, gbe and roc +\item +Set addresses of FPGAs according to database definitions +\item +Set GbE Configuration (common for all boards) (??) +\item +Send arbiter start signal +\end{itemize} + +\end{description} + +\subsection{startup.pl} +Run the necessary steps to configure and start MAPS sensors. +(see also section \hyperref[sec:startup.pl]{startup.pl}) +\begin{description} +\item[is called by] +run.pl or manual with argument setupFile +\item[does] +\begin{itemize} +\item +extract sensor, chain and controller parameters from setup file +\item +generate all necessary low lewel JTAG configuration ini files from the high level configuration +XML files +\item +call JTAG programmer, program and initialize the sensors +\end{itemize} +\end{description} \ No newline at end of file diff --git a/mvdsensorcontrol/documentation.tex b/mvdsensorcontrol/documentation.tex index e897c55..67f59e9 100644 --- a/mvdsensorcontrol/documentation.tex +++ b/mvdsensorcontrol/documentation.tex @@ -8,7 +8,8 @@ \usepackage{geometry} \usepackage{eurosym} \usepackage{amsmath} -\usepackage{listings} +% \usepackage{listings} +\usepackage{hyperref} \geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm} @@ -54,144 +55,161 @@ % \include{bib} \newpage - -\section{JTAG programming} - -\subsection{MIMOSA26 registers and the JTAG controller entity} - -\begin{figure}[H] -\centering -\includegraphics[width=.80\textwidth]{registers.pdf} -\caption{Schema of the MIMOSA26 config registers and the JTAG controller logic entity implemented on FPGA.} -\label{fig::M26andItsRegisters} -\end{figure} - - -The MIMOSA26 chip posesses 11 JTAG settings registers, wich are hardwired to distinct functionalities in the -readout logic part of the sensor (see Figure \ref{fig::M26andItsRegisters}). Most registers are sub-divided -into multiple data fields of variable length (see Figure \ref{fig::datafields}). Each of the in total 82 -datafields corresponds to a distinct function or configurable quantity inside the sensor. -The JTAG programming is handled by a dedicated FPGA design entity, the JTAG Controller. -This entity receives commands from the programming software on a regular PC. - -\begin{figure}[H] -\centering -\includegraphics[width=.90\textwidth]{fields.pdf} -\caption{Schema of an example register, divided into multiple data fields.} -\label{fig::datafields} -\end{figure} - -\subsection{JTAG configuration software} - -The JTAG configuration software is split into two layers: +\section{Prerequisites (draft)} \begin{itemize} \item -The high level user interface with its transparent XML-type configuration files. +A Linux system. +\item +Perl has to be installed. \item -The low level functionality layer with hex-encoded ini-style configuration files. +An Apache webserver has to be running that executes perl scripts when they are requested +via HTTP (even outside a cgi-bin directory). (link to a tutorial?) +\item +libxml-perl has to be installed. +\item +(how is it called?) storable perl module +\item +git \end{itemize} -The low level software layer\footnote{implemented by Bertram Neumann during his master thesis} handles -the communication with the JTAG controller entity and the transmission of the JTAG register contents -destined to be stored in the sensors. Therefore the programming script parses -ini-style configuration files, which contain a list of strings: each string represents -the hex encoded content of one MIMOSA26 register. -Without knowledge about the technical details of the MIMOSA26 -registers these files should not be edited by hand. Normal users, i.e. non-developers, should ignore -this layer. - -\begin{figure}[H] -\centering -\includegraphics[width=.95\textwidth]{001_lowLevelChain.pdf} -\caption{The low level functionality layer.} -\label{fig::lowLevelchain} -\end{figure} - -The high level interface layer was added to make the JTAG configuration files and their manipulation more -transparent and less error-prone. -The confguration files make use of the XML format. XML is strictly hierarchically structured and human -readable. -While all data fields in the sensor's registers have to be programmed with a defined value, only few of -these ever have to be set to different values than the manufacturer's defaults. -Therefore information to program the sensor is split into two files: -\begin{description} -\item[specification] -The specification XML file contains the specifications of all the sensor's JTAG registers. Each register in the specification -file has a unique register id, a register name and a size (length of register in bits); it possesses -one or more data fields as child nodes. Each datafield has a start, end and size value which define the -relative position of the datafield inside the register. Furthermore the datafield has a name and default value -attribute. -For each register and field there is a short description included along the above specifications. -All specifications and descriptions were adapted from the MIMOSA26 user manual v1.5 without -alteration\footnote{apart from correcting a field size mismatch}. -\item[settings] -The settings XML file containst the actual settings that are defined by the user. -In this XML hierarchy, too, there are registers with data fields as child nodes. Here registers and -data fields are referenced only by ther unique names. Each data field has a value attribute. -The settings file is very streamlined and self-explanatory. -Data fields and registers that are not defined in the settings file are assumed to get the default -values assigned to them. -\end{description} - -\begin{figure}[H] -\centering -\includegraphics[width=.5\textwidth]{xml2ini.pdf} -\caption{The programming information for the sensor is split into a register specification including default values -and an individual settings file for each sensor.} -\label{fig::xml2ini} -\end{figure} - -If the sensor is to be programmed with a configuration file, the perl script "xml2ini.pl" is called. It uses the -specifications file to generate a low level ini file with all registers set to default values. -These default values are then overwritten by the user's values as defined in the configuration file. -This way the user has not to worry about the vast number of settings he does not want to touch at all. -Neither does he has to care how to align the values relative to the corresponding registers. With the -configuration file, the user has a clear "key->value" type interface to the sensor's JTAG settings. - -\subsection{List of JTAG related tools} - -\paragraph{xml2ini.pl} -This script creates a low level ini file for the JTAG programming script from a valid configuration XML -file. The specification file which is used to build the ini file is referenced inside the configuration -XML file and has not to be given as an argument. -\begin{lstlisting} -xml2ini.pl -c config.xml [-o output.ini] - - Options: - -h, --help brief help message - -v, --verbose detailed debugging info about ongoing actions - -c, --config specifies the input config xml file - -o, --output specifies the output filename, if ommitted, - the generated ini file is written to STDOUT -\end{lstlisting} - -\paragraph{ini2xml.pl} -This script does the opposite of the above one. It parses a valid ini file and converts it back -to an XML configuration file. By default, only the settings deviant from the specification's defaults -are reconstructed and written to the output XML file. -\begin{lstlisting} -ini2xml.pl -i file.ini -s specFile.xml [-o output.xml] [-d] - - Options: - -h, --help brief help message - -v, --verbose detailed debugging info about ongoing actions - -i, --ini specifies the input .ini file - -s, --spec specifies the specification xml file by - which the .ini file is to be decoded - -o, --output specifies the output filename, if ommitted - the generated xml is written to STDOUT - -r, --redundant write settings to config file that are identical - with the specification defaults -\end{lstlisting} - - - - - - - +\section{DAQ set-up (draft)} +[what is where] +to explain +\begin{itemize} +\item +hub +\item +ccu +\item +roc + \begin{itemize} + \item + actual roc + \item + JTAG + \item + CbController + \end{itemize} +\item +tjah +\end{itemize} +\section{The prototype DAQ configuration file structure} +In this section the MVD DAQ prototype configuration file structure is explained top to bottom. +\subsection{Directories (draft)} +[Which file is stored where?] +\begin{description} +\item[JTAG configuration XML files] +are stored in mvdconfig/config/ +\item[System configuration XML files] +are stored in mvdconfig/system/ +\item[Setup configuration XML files] +are stored in mvdconfid/setup/ +\item[Sensor specification XML files] +are stored in mvdsensorcontrol/spec +\end{description} +\subsection{The system configuration file} +\label{sec:systemFile} +The system configuration file is the top level configuration file for a MVD prototype DAQ system. +It defines the FPGA addresses of the central control unit (ccu), the TRBnet hub (hub) and the +gigabit ethernet link (gbe). All three entities may be located in the same FPGA and may consequently +have the same address, which is usually the address of the central FPGA in a TRB3 set-up. +A system may have multiple readout controllers (roc), which are usually implemented in the +peripheral FPGAs of the TRB3. +Apart from a description text for the system, also the daqopserver\footnote{ +[hostname]:[port] of the computer on which the TRBnet daemon is running +} for the entire system is defined in this file. + + +Example: +\begin{verbatim} + + + The Elab maps system setup file + + jspc55:88 + + + + + + +\end{verbatim} + + +\subsection{The setup configuration file} +\label{sec:setupFile} +The setup configuration file groups and defines all entities that make up a detector setup. +The entire detector setup, which can consist of multiple sensors connected to multiple rocs, +must be associated with one single readout system. +In the current DAQ configuration a detector setup can have up to four controllers\footnote{rocs}, +one in each peripheral TRB3 FPGA. +Each controller can have up to two (JTAG)chains, while each chain can contain up to two sensors. +Overall, one TRB3 can accommodate $4\times2\times2=16$ sensors. +Each sensor must be assigned a unique id, since this id will later be found inside the +sensor data headers to make different data chunks attributable to their respective origin. +(??) +% [serial, enabled] +The sensor also has the attribute "config", which assignes a (high level) JTAG configuration XML +file to the sensor, from which it will acquire its JTAG register content. +(The position information is not used yet.) +Each chain node inside the setup file can have multiple config\footnote{ +for details about these parameters, see Bertram Neumann - +Dokumentation: JTAG-Chain-Controller (fuer +TRB V3) und JTAG-Monitor} +child nodes. When the +sensors are programmed, all text content of the config nodes will be interpreted as additional +settings for the corresponding JTAG controller. +Config nodes outside a chain node are settings for the JTAG controller as well, but not chain +specific. + +Example: +\begin{verbatim} + + + The main MVD prototype system setup file + + + + + + + Sensor G03 on CB13 no 2 + + + delay0 + set_timing_10mhz + set_inout + maps_reset_before_off + maps_reset_after_on + + waitbeforestart_6us + trigger_init_sequence + + +\end{verbatim} + +\include{jtag} +\include{daqscripts} +\include{remarks} \end{document} diff --git a/mvdsensorcontrol/jtag.tex b/mvdsensorcontrol/jtag.tex new file mode 100644 index 0000000..1cd4385 --- /dev/null +++ b/mvdsensorcontrol/jtag.tex @@ -0,0 +1,273 @@ +\section{JTAG programming} + +\subsection{MIMOSA26 registers and the JTAG controller entity} + +\begin{figure}[H] +\centering +\includegraphics[width=.80\textwidth]{registers.pdf} +\caption{Schema of the MIMOSA26 config registers and the JTAG controller logic entity implemented on FPGA.} +\label{fig:M26andItsRegisters} +\end{figure} + + +The MIMOSA26 chip posesses 11 JTAG settings registers, wich are hardwired to distinct functionalities in the +readout logic part of the sensor (see Figure \ref{fig:M26andItsRegisters}). Most registers are sub-divided +into multiple data fields of variable length (see Figure \ref{fig:datafields}). Each of the in total 82 +datafields corresponds to a distinct function or configurable quantity inside the sensor. +The JTAG programming is handled by a dedicated FPGA design entity, the JTAG Controller. +This entity receives commands from the programming software on a regular PC. + +\begin{figure}[H] +\centering +\includegraphics[width=.90\textwidth]{fields.pdf} +\caption{Schema of an example register, divided into multiple data fields.} +\label{fig:datafields} +\end{figure} + +\subsection{JTAG configuration software} + +The JTAG configuration software is split into two layers: +\begin{itemize} +\item +The high level user interface with its transparent XML-type configuration files. +\item +The low level functionality layer with hex-encoded ini-style configuration files. +\end{itemize} + +The low level software layer\footnote{implemented by Bertram Neumann during his master thesis} handles +the communication with the JTAG controller entity and the transmission of the JTAG register contents +destined to be stored in the sensors. Therefore the programming script parses +ini-style configuration files, which contain a list of strings: each string represents +the hex encoded content of one MIMOSA26 register. +Without knowledge about the technical details of the MIMOSA26 +registers these files should not be edited by hand. Normal users, i.e. non-developers, should ignore +this layer. + +\begin{figure}[H] +\centering +\includegraphics[width=.95\textwidth]{001_lowLevelChain.pdf} +\caption{The low level functionality layer.} +\label{fig:lowLevelchain} +\end{figure} + +The high level interface layer was added to make the JTAG configuration files and their manipulation more +transparent and less error-prone. +The confguration files make use of the XML format. XML is strictly hierarchically structured and human +readable. +While all data fields in the sensor's registers have to be programmed with a defined value, only few of +these ever have to be set to different values than the manufacturer's defaults. +Therefore information to program the sensor is split into two files (see figure \ref{fig:xml2ini}): +\begin{description} +\item[specification] +The specification XML file contains the specifications of all the sensor's JTAG registers. Each register in the specification +file has a unique register id, a register name and a size (length of register in bits); it possesses +one or more data fields as child nodes. Each datafield has a start, end and size value which define the +relative position of the datafield inside the register. Furthermore the datafield has a name and default value +attribute. +For each register and field there is a short description included along the above specifications. +All specifications and descriptions were adapted from the MIMOSA26 user manual v1.5 without +alteration\footnote{apart from correcting a field size mismatch}. +\item[settings] +The settings XML file contains the actual settings that are defined by the user. +In this XML hierarchy, too, there are registers with data fields as child nodes. Here registers and +data fields are referenced only by their unique names. Each data field has a value attribute. +Data fields and registers that are not defined in the settings file are assumed to get the default +values assigned to them, +therefore the settings file can be very streamlined. +\end{description} + +\begin{figure}[H] +\centering +\includegraphics[width=.5\textwidth]{xml2ini.pdf} +\caption{The programming information for the sensor is split into a register specification including default values +and an individual settings file for each sensor.} +\label{fig:xml2ini} +\end{figure} + +If the sensor is to be programmed with a configuration file, the perl script "xml2ini.pl" is called. It uses the +specifications file to generate a low level ini file with all registers set to default values. +These default values are then overwritten by the user's values as defined in the configuration file. +This way the user has not to worry about the vast number of settings he does not want to touch at all. +Neither does he have to care how to align the values relative to the corresponding registers. With the +configuration file, the user has a clear "key->value" type interface to the sensor's JTAG settings. + +\subsection{List of JTAG related command line tools} + +\subsubsection{xml2ini.pl} +\label{sec:xml2ini.pl} +This script creates a low level ini file for the JTAG programming script from a valid configuration XML +file. The specification file which is used to build the ini file is referenced inside the configuration +XML file and has not to be given as an argument. +Under normal conditions this script is not used stand-alone but is called during the execution of +\hyperref[sec:startup.pl]{startup.pl}. +\begin{verbatim} +xml2ini.pl -c config.xml [-o output.ini] + + Options: + -h, --help brief help message + -v, --verbose detailed debugging info about ongoing actions + -c, --config specifies the input config xml file + -o, --output specifies the output filename, if ommitted, + the generated ini file is written to STDOUT +\end{verbatim} + +\subsubsection{ini2xml.pl} +This script does the opposite of the above one. It parses a valid ini file and converts it back +to an XML configuration file. By default, only the settings deviant from the specification's defaults +are reconstructed and written to the output XML file. +\begin{verbatim} +ini2xml.pl -i file.ini -s specFile.xml [-o output.xml] + + Options: + -h, --help brief help message + -v, --verbose detailed debugging info about ongoing actions + -i, --ini specifies the input .ini file + -s, --spec specifies the specification xml file by + which the .ini file is to be decoded + -o, --output specifies the output filename, if ommitted + the generated xml is written to STDOUT + -r, --redundant write settings to config file that are identical + with the specification defaults +\end{verbatim} +\subsubsection{changeConfigVal.pl} +The script parses STDIN for attribution directives in the format "registerName/fieldName=value" and applies +these attributions to a denoted configuration XML file. Multiple attributions can be processed at +the same time when separated by semicolon or line break. +Values can be entered as hex (with prefix "0x"), binary (with prefix "0b") or decimal number +(no prefix). +\begin{verbatim} +changeConfigVal.pl -c config.xml [-v] + + Options: + -h, --help brief help message + -v, --verbose detailed debugging info about ongoing actions + -c, --config specifies the input config xml file + (including path if necessary!) +\end{verbatim} +\subsubsection{xmlOperation.pl} +This script is a tool to edit parameters of an XML configuration file. It can edit any editable +entry of a given configuration file, but can only process one command at a time. The script has +a CGI interface (invoked via HTTP request) but it can also be used from the command line. + +\begin{verbatim} +usage: + + via CGI/HTTP request: + http://[...]/mvdsensorcontrol/tools/xmlOperation.pl?\ + action=[action]&[parameter]&[parameter]& ... + + via command line: + xmlOperation.pl action=[action] [parameter] [parameter] ... + (just like the CGI request, just leave out ? and &) + +possible actions: save, delete, copyDefaultRegister, + createFile, deleteFile, changeAncestor + +parameter explanation: + + save a value into a specific field, optional: if you enter a numeric base, + value will be saved in the specified format.: + action=save&configFile=[configFile]®ister=[register]&field=[field]&\ + value=[value]&base=[base] + + delete a specific field: + action=delete&configFile=[configFile]®ister=[register]&field=[field] + + delete a whole register: + action=delete&configFile=[configFile]®ister=[register] + + copy a register including default values from the specification + to the config file: + action=copyDefaultRegister&configFile=[configFile]®ister=[register] + + create a new config file based on the given specification file + action=createFile&configFile=[configFile]&specFile=[specFile] + + delete a config file + action=deleteFile&configFile=[configFile] + + change the ancestor (include directive) of config file + action=changeAncestor&configFile=[configFile]&newAncestor=[newAncestor] + + move/rename config file + action=moveFile&configFile=[configFile]&newFile=[newFile] + + copy config file + action=copyFile&configFile=[configFile]&newFile=[newFile] +\end{verbatim} + + + +\subsubsection{startup.pl} +\label{sec:startup.pl} +The script runs the necessary steps to configure and start the MAPS sensors. From a given +\hyperref[sec:setupFile]{setup configuration file} the script extracts: +\begin{itemize} +\item +The topology of the setup, i.e. how many controllers (and their addresses), how many chains, how many +sensors in each chain +\item +Which JTAG configuration XML file is associated to which sensor +\end{itemize} +Subsequently the script builds a set of low level JTAG configuration ini files (using +\hyperref[sec:xml2ini.pl]{xml2ini.pl}) and calls the JTAG programming tools to program and start +the sensors. +(!!) It does not (yet) set the sensor enable, JTAG enable, and power switches on the Converter Board +to the correct settings! This has to be done manually! (!!) +\begin{verbatim} +startup.pl setupFile + + Options: + -h, --help brief help message + -v, --verbose be verbose to STDERR + --dryrun create but don't run scripts + +\end{verbatim} + + +\subsection{Graphical JTAG Editor} +To further facilitate JTAG register manipulation an editor with graphical user interface has been +implemented. When "mvdsensorcontrol/tools/jtageditor.pl" is invoked from a browser, the user will be +presented with a three panel layout (see figure \ref{fig:jtageditor_ssht}). In the top panel +the user can select an existing configuration file or create a new one, based on a distinct +specification file. +The bottom left panel provides a hierarchical view of the sensor's registers and data fields +as defined in the specification XML file. The register tabs can be unfolded to view the underlying +data fields. The values in the left panel can not be edited, +whereas the bottom right panel becomes an editable representation of the previously selected or created +configuration XML file. +A newly created configuration file is empty. Entries can be added by clicking on the arrow symbols +next to the data fields and registers in the bottom left panel. The selected entry is subsequently +duplicated on the right panel, including its default value. This value can then be altered by +editing the value in the corresponding text field or removed again by clicking on the "x" symbols +next to the values. +Values can be entered as hex (with prefix "0x"), binary (with prefix "0b") or decimal number +(no prefix). By clicking on the equals sign in the center of a data field tab a small menu appears, +that lets the user convert the current value to each of the other numeric bases. +All changes in the bottom right panel are immediately applied to the configuration file +(there is no "save" button). + +When the mouse pointer is held still over a register or data field in either of the columns a help +message is displayed in a box next to the pointer. +The message shows the register or field description from the specification file (taken from the +MIMOSA26 datasheet) and the possible value range. + +A configuration file can also inherit settings from another (existing and valid) configuration file. +Therefore an ancestor file can be selected in a dropdown menu at the top of the bottom right panel. +All settings from the ancestor file are imported as new defaults, which are then partially overridden +by the configuration's own settings. This feature can be used for example to operate a multitude +of sensors with the same parameters from a common ancestor file, while each sensor's own configuration +file contains merely individual tuning parameters. + +The editor assumes, that the configuration XML files are stored in "../../mvdconfig/config/" +and the specification files are stored in "../specs/" +(relative to the location of jtageditor.pl). + +\begin{figure}[H] +\centering +\includegraphics[width=.85\textwidth]{jtageditor.png} +\caption{Screenshot of the JTAGeditor GUI} +\label{fig:jtageditor_ssht} +\end{figure} + + diff --git a/mvdsensorcontrol/jtageditor.png b/mvdsensorcontrol/jtageditor.png new file mode 100644 index 0000000000000000000000000000000000000000..6c472d7a9a6f594107ea9b0934bcca9eccd90460 GIT binary patch literal 95439 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 DaqSetup +\item +\hyperref[sec:setupFile]{setup} <-> DetectorSetup +\item + should be called +\item + should be called roc +\item +Why are there rocs defined in the system file? Are the controller entries in the setup file +not sufficient? -> for renaming by start.pl +\item + seems to have no use at all +\end{itemize} +\subsection{Tripping hazards from not implemented features} +\begin{itemize} +\item +\label{trap:jtagswitch} +The JTAG enable and Sensor enable switches in the converter boards are not set by statup.pl! +\end{itemize} +\subsection{Naming consistency notes} +\begin{itemize} +\item +Converter Board +\item +Front End Board ?? +\end{itemize} +\subsection{ToDo} +\begin{itemize} +\item +Elaborate on the elements of the config XML file. + +\end{itemize} \ No newline at end of file -- 2.43.0