RSRC LVARLBVW8  7">>"@  J B&*">>"`PP``LL`440<ψȈfofofo     P\ P_\ _U U++++++++++++++++++++++++++++++++++++++++++++++++vi_de_base VIsvi_de_base Ctrls  set_bit.vi reset_bit.vi invers_bit.vi start_gen.vi stop_gen.vi write.vitpCe VI permet d'inerser un bit dans un octet sans toucher aux autres bits num_bit est le poids du bit (de 0 7).66  @ octet_out @num_bit@octet_in(E 2? ?yxyxyxy8y?>pp?8yy|9>Ͽa? q;ByG8c<;8"qcgx?F;8"qcwG8a??qc1LJ#ϟ8>G̟?B! c !?qC|8?q 'c3?O!g!?yy?<?bLxτL8<3<<3?<̌D H įH H ࠊH ( (̌b,,.Œ. ˆȈ̈,̂΢,h((,, (Čb,,.Œ̈,,̌ < Ȉ̬B̬B ̈ Έ,€ Ȉ,Ꮘb̌̌` Œ`̌*ʊʊ,,Ȟ̌ ̀    *ʊ (.Ȉ̈`Ĉ̌ ̈( 133̀̀1@1303hhhXhό?RSRC LVINLBVW@B @̸N\&NL%N&N|O<&N Oh%NN<0@&ND%NP%NX%NC invers_bit.vi4&NR `%N ُ B~b3"!cx}\LVIN invers_bit.vi i386codeUl$SQRVWEXEXEXE X"E$XE(XE,XE0E4XE8XEpp?8yy|9>Ͽa? q|0;8"qc8xq8c8Ba w̌D H įH H ࠊH ( (̌b,,.Œ. ˆȈ̈,̂΢,h((,, (Čb,,.Œ̈,,̌ <̀Ȉ0Ƞ.̬BȈ̬̈̈̈B L ̀B̀ Ȉ( (΢,̈̈ Ȍ( Ȉ̈(*( ⪏.̂Č̈̈̀ ̀   Ȍ( ̌̌̌Ȉ̌` 1333( ̀ʪ*ʊʪ 31_33s1333 ?Ȱ @RSRC LVINLBVWDPA D0NN(&N"NO"NO"N"N<"N"N`"N"ND reset_bit.vi%N "N ُ B~e[t9NKDleLVIN reset_bit.vi i386NcodeUl$SQRVWEXOEXsEXE XE$XgE(X1 E,XG E0E4XH E8Xo Epp?8yy|9>Ͽa? q;ByG8c<;8"qcgx?F;8"qcwG8a??qc1LJ#ϟ8>G̟?B! c !?qC|8?q 'c3?O!g!?yy?<?bLxτL8<3<<3?<pp?8yys|8~18yyGc#q1py>yqD80?>yqyqyqBaw̳<<3?<<=˧'y|zOyy??y'̌$*껪諭諭껪迢""" <?O"߮ߢߺߢ߾߾߾߾߾> ?( W"̈ ĠH @xH Dx  H @ xH D xHHH   H H䠎 ?HH ?HȬ   0΢ވ (̌b,,(8,,̈ Ȍ , ̢̂b̈h (̈,,̂.b,̂ ˆ...ш ̈̀̈, ̢̂bш̈ (̈̈,̌΢ވ,,,,΢ވ, (̈,,,,Ƞ ʃ << ̀шȀ ̀€  ,€  ȞȈ( (Č̈̈,b̈,Ꮘ.bȞ̂O.̌Ȉ,Ꮘ ,,ȞȈ,Ꮘ.̂ ,B̈H 30U]Ϫ 0U\T]E]AEU]  @_EPU0P @EȈ/Ȉ,̌ȈHLČHȈḦ̌Č̌Č / ̈,̌ČȞȈ̌ČȈ̈Ȟ̌Č̀ȏȈBވ̈H ̈ČH ̈ḦHČ̌̌ḦHȈḦHȈ̀  U]0P @E̪ʈ,ш Ȉ̈̈̈ ̀*ʊ∈̌Bވ 0PEP TUU10_11130@ݏ130@Տ130@@130@@1133@30@w130@@1333!0_10WsP33?P33=17103333333U]0@03333310W0pp0PEP TUU310Ws0321@QAuAQs(**ϊs 31 33012( 53710W31 3 Ϫ 2 32P33?110W2 37pp33301pp7Q0q0qpp4@7Q0q0qpp3333333333333@?ଢ LAA*ϊ*(hhhXhh?ȿ RSRC LVINLBVWP% 0dNNNpO4NlO\$N N<NXNNNz start_gen.viNu N ُ B~+9[7fV$,LLVIN start_gen.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi. i386codeUl$SQRVWEX EX6 EXZ E XV E$XE(X E,X E0E4X E8X Ec378[Dq5~q6~Adresse_pp _outQDSTARTXDSS param_I2C_inVD,e-e Adresse_ppO4 Z5 Z378UD.!]/!] tempo_bitO'04\'14\500sD'''Abandonn le 26.03.2001 voir diagramme.YD<< param_I2C_outVDGG Adresse_ppO < <378UD$?$? tempo_bitO*7>*7>500DNNUUU _______ SCL |___ ___ SDA |_______ Octets 0 2 3QD'4'4valueDhypothse: Les 2 signaux SCL et SDA sont aux repos (c'est dire 1) cequi implique que la valeur dans le registre de sortie est 0 (sortie inverseuse voir schma).DRjyRky66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inQD++valueQD#I0d#J0dvalueMD3\@c3]@c2kDuvwrite a byte or a word (F:byte)MD7D7D3MD.;.;0HDN77 D4A4ABBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sD>>'3'JsZ Conception le 09.02.2001 Projet I2C[Dout_port_jsz.vi[DFGout_port_jsz.vi[Dout_port_jsz.viHDNlm D)PQ)PQ""ZPlus en sortie a/c du 26.03.2001, introduction de la notion de cluster des paramtres I2CHD( N FPHP start_gen.viLFPHPD!N8DDK~ܴN pNNND|N4XL  pO474  2| <datO@Pp4B$|(H\ ,4 F| p4`$O0 | 4f`@ :| @-4p糳pl0 |0 @ :| -4o賳okH 2| 6pp?8yy|9>?x8yyG;#G81Ï<9G?|<ߏx?~q8c8>?s8c8<#8<>G81Ï;?>??翟9pa1?~|x#qgy>x#q8y<翟9pa1?~|x?x#q8y<翟9pa1?~|<x翟9pa1?~|<x#qyG8cǏ?s8c8G8Ï;??wqD80B?xǏqÏ?;?(?~8x'=~8'=~8'=~8'=~8;?>8|?c1p|~D?x?b;aCO?pG!'B8#q|8ޏ?>?Oq8C?!Cx!<aq|8ޏ?>>?x<^eg~&<~gy'xyygygxygygxyg}gxygy`gxygygxygygxyg}gxyp<>Bx9><'<|zy|zO'yOy>==ϧgxyy>=ϧ?<χy>=ϧO<<ϳ|x|?<><ϧ'y'>O|pw0 30W0333230W21@?pp*(  33A0s03333px230W2 3pp*ϊH30W3 3!* 30s 3130W2 ( 0r  5@333012 371@21 #03 33pp23\AAA2?003 320W430W4@7133`33A3 32 3pp͈ϪϪ33333px304T_AAAϊ*ϊ ό@RSRC LVINLBVWa @Nh NNO4NO\NN<4N\$N,NdNzwrite.vi.viiN X N ُ B~IaO`b(LVINwrite.viLVIN set_bit.vi  @ octet_out @num_bit@octet_inPTH0 set_bit.viLVIN reset_bit.vi  @ octet_out @num_bit@octet_inPTH0 reset_bit.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi0/ i386K.codeUl$SQRVWEX+EXOEXsE XE$X #E(X-E,XCE0E4XDE8XE@C$S2d$ZYUl$SQRVWD$ =%PX$$Ð;qQRP $ P $=Vd$ ZY_^ZY[]Ð45|$$uWhUULd$ WVhUUHd$`h|$$uWhUULd$ WVhUUHd$|$$uWhUULd$ ^WVhUUHd$JUl$SQRVWL$ QhUU@d$ =t0L$ QhUU@d$ =tL$ QhUU@d$ _^ZY[]ÐUl$SQRVWDžDž t Dž 7 Dž 4t Dž x Dž `t Dž@  Dž@ D DžDžD DžH DžL \ DžDžP X @DžT DžX Dž\ @Dž` Džd Džh T Džl Džp tDžt L @Džx Dž| DDž h@Dž Dž *Dž P Dž Dž RDž Dž Dž "Dž Dž Dž Dž @Dž Dž Dž Dž Dž Dž h@Dž Dž *Dž Dž Dž Dž Dž Dž Dž L @Dž Dž DDž Dž Dž DžL DžP DžT DžX Dž\ Dž` Džd Džh Džl Džp Džt Džx Dž| Dž Dž Dž Dž Dž Dž Dž Dž Dž @Dž Dž Dž Dž Dž$ Dž( h@Dž, Dž0 *Dž4 h@Dž8 Dž< *Dž@ h@DžD DžH *Dž h@Dž Dž *DžPTABDž`4`DžDžtQRhP($DO2d$ZY0%0=MQRhPT$O2d$ZY\%\=QRhP$N2d$ZY%=DžtQELMDžQELMHffNf⍅؉hDžPX( fDž, @ 0 fDž4 8 fDž< Dž Dž Dž PTABt txfDž|fDžfDžDžhDžlDžpPTABtdtfDžfDžfDžDžDžDžPTABtHt@(fDž,A0fDž4@8fDž<DžDž Dž PTABttfDžfDžfDžDžpDžt DžxPTABtltfDžfDžfDžfDžfDžfDžDžDž DžPTABt8t0fDž0fDž fDž0fDž fDž$fDž,DžDž DžPTABtxtl8fDž<l@fDžDfDžLlPfDžTXfDž\fDždDž(Dž,Dž0PTABt$tfDžQRhP $U|I2d$ ZYfE_^ZY[]ÐUl$SQRVW  h h  p p  ( (hUUDd$_^ZY[]Ð_^ZY[]ÐGx  lVl  f +          #      Q '<K[l[['-x[ [ ] ]!]H!]!]!]\"([Y([([-v( 2@P@ Adresse_pp@ tempo_bit param_I2C_out @octet2@P@ Adresse_pp@ tempo_bit param_I2C_in||PW`$ P`RP"@P@flg@oRt@eofudf PoctetpdfdPexdPtxdPold` P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_inpPdfdPPexdPPtxdPPold P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_outpPdfdPPexdPPtxdPPold`octet_initiale$`!write a byte or a word (F:byte)`V P$@P@0P `num_bit `num_bit `num_bit `num_bit `num_bit`62@P@ Adresse_pp@ tempo_bit param_I2C_in`@ Adresse_pp @value`` @value` @value`@octet_initiale @num_bit`@octet_in @num_bit`@octet_in @num_bit` @num_bit!` ` @num_bit`@ tempo_bit"@@!tableau de boolens"@@!tableau de boolens @octet`P```````` `% ` ` `% ` ` `% ` ` `% ` ` `% ` ` ```\`xxd:\automated\lv51\lvsource\gencode.cGenRangeCheckd:\automated\lv51\lvsource\gencode.cGenCopyProcs1d:\automated\lv51\lvsource\gencode.cGenCopyProcs2$d:\automated\lv51\lvsource\gencode.cGenCopyProcs3nd:\automated\lv51\lvsource\gencode.cGenDefaultProc((47T`xlVIDSwrite.viVIDS set_bit.vi PTH0VIDS reset_bit.vi PTH0VIDSout_port_jsz.vi PTH0%5.1Oldest compatible LabVIEW.N"N$NpN#@pPPtP @octet2@P@ Adresse_pp@ tempo_bit param_I2C_in2@P@ Adresse_pp@ tempo_bit param_I2C_out :6Ce module permet de "sortir" un octet sur le bus I2C. ߀PЀ9M)QQMC݀@@Ar!B!CᤡBB!9 pDTHPDh N88ho~@ Adresse_ppB2@P@ Adresse_pp@ tempo_bit param_I2C_in&@register address0$@!write a byte or a word (F:byte) @value*@register address outB2@P@ Adresse_pp@ tempo_bit param_I2C_out @octet_initialeF6  @ octet_out @num_bit@octet_in@octet_in @num_bit@ octet_outzP @register address out @value$@!write a byte or a word (F:byte)@register address@ tempo_bit @octet2"@@!tableau de boolens@!!|X8\88\\\<\Xttt<<<<XXXX QDdqdqWRITEQD{6O{7OoctetM>d?d0VD&,&, Adresse_ppXD B B param_I2C_inVD(T(T Adresse_ppO.#;I.$;I378UDFSLFSL tempo_bitOYfKY fK500YD!! param_I2C_outO,9!,9!378UDDQ$DQ$ tempo_bitOWd#Wd#500D|}O ___________ SCL ________________| |____________... _____________________________________ __________ SDA --|____data0____________________________|__data1___... Octets | bit0=no ch | bit0=0 | bit0=1 |... | ou 1 | bit1=data0 | bit1=noch | bit1=no ch |... wD!"+++SCL 1 (eq reset bit) l'interface inverse!DYYYhypothse: SCL est 0 La valeur de SDA est indtermine. MSB first.D%%66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inZDS`AS`Aoctet_initialeSDmzmznum_bitkDVVwrite a byte or a word (F:byte)MDi vi v0aDSCL 0 (eq: set bit)Do|o|BBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sD]]'3'JsZ Conception le 09.02.2001 Projet I2CHDNyz DXYMMMChaque bit gnr sur le bus I2C correspond 3 octets sur le port parrallleMD}}0XD]%jY]&jY reset_bit.viVDKXKX set_bit.viSDjwjwnum_bitMDjwjw0REeErdeFrd Vrai VD\i\i set_bit.viSD%K&Knum_bitMDQXRX1SD&L'Lnum_bitMDRYSY1SDl`ylaynum_bitMD|~|0iD45Attention:inversion interfaceaDSortir msb en premiersDno 'Permet d'obtenir un temps haut de 15usXDsasb reset_bit.viVDtdte set_bit.vi[D/<M/ <Mout_port_jsz.vi[D0P=0Q=out_port_jsz.vi[D0=0=out_port_jsz.viHD$NEE HDNoȱpȱ FPHPwrite.vi(FPHPD!N8  '~p N NNh NaDf|N4XL  0 O 47| 4 cr`O@Pz.g"B$ \ (x\H4 F z5P`O0  5g`4  2 =eaHO@ 2 @.5p糳pl0H#((@ 2 .5o賳okH 2 7=/0/.-0` <S xyS<SvQP d4 F  '-`O( \ |4  4 F  C`4O |H0 7 stF0  xyE4 F )U`0O( X@P>U,TB<(T@@ 2 @+4p糳pl4 2 -"L`@ 2 4>o賳ok4 F  ETM`O4  2  XgLaO0   ViN`@ PEiNU@HH :  Ye$00/.-@ 2  @V_p糳pl@ 2  _io賳ok0 VT |.`  \      ( T p 0  ,  ,  \4 F "`O0 7 qLF0  vQE@ P<- OBH@ :  @)2p糳pl4 2 +:"aOH 2  ,8/0/.-0  )<$`@ :  2N+'h+'4+ K&r`bdO,'h'' ,&t'@,'4,3&&=px ,&(' ,& d(|@4,3&'<`ph,&,&4,3&';`ph,','h,',)|,)4, K&pscbhO-)|)* -&pD)@-*4-3&p)5s{ -&p*$) -&p 0*@4-3&p)4csk-8&p-&p`4-3&p)3csk-`)-)|@-x*Y/ ! 4X_{D{RVR@V_T- E(vh)wcD,-@.0-,-----.,-,p,,@-0-$,p-pLN^V-.0--E --.0- -@,p..0---- -@--@.0-&,p-M(v80~0-@.H H4-L0i -"h.II\4- $RQu1D(QL# 1 Xzz8X- 0ko@o<<- dho@o>>@h30or ro-d@ҭ44- @̈M   s48s   r r  a  a@-17<7=]' 8N-:$-7d-74- K6.=NblO(.7d77889D .677d.74.366R]'W .68 7 .6A84.366HR'M4.368tR]W.8 .6 8@84.367=H'B .6$9d4.3690=HB.9D .684.369HRM.8. P8.P9D@.1:x:D>O^o xN .9::$4. K9/O>bO(/:$;x<;<

_IoCg/</;/;x /9:;x /9<4;4/39; IOS_NW/</OI_CW@/1==`>^ !N/=/>$4/ K</> bO(0=>$>D>?4? 0<==0>D403<=8S^X 0<>d>$ 0S^X0> 0<>>403<=>IC 0<$?403IC0? 0<0 h 69,p<,08S^X\eA{$GA5JH l{$b@O)gIwCo59P; SW^gX_2.@ 0~0  kICik\@B!59; IWSgN_2XW{<{JVJ@VW5l@D2XzzXp sb`Oe p aAx:D:>W^w x596Sg^wXo59d;IgSwNo5K9/W>bO@o Xzz8X5<8=S^X5 p9< >WIgC_2#Ar =`=>^ !5IC5K</>bO1p,-M(805p,DR?GC2GCC5s I   N N(@  UE(h)cD,@-0.,-1p,p-LN^VH2ECCww-@$N@D#NDH%NI#NJ`$NJl$NJ$NK$NKx$NK$N L("N LP#N L$N M8$N M#NM$NNpp?8yys|8~18y;|yG8c|~q<<>?;~#q1py>G8qx|?gz8"qcG8qx|;8"qcw8~|;8"qcwxs3#q<;~?yG8c|#q1pY~y翟9pa1?~|<x#qg?wqD80?>'yG8c|vyG8c|>#G81Ï;ppÏw~Q88p8?8?ǃ?8>G̟?B! c !?qC|8?q 'c8!g!p<χB08>Gğ?y?y}?̳<<3>3<<3<̳<<3.3<<3<3<<3>̳<<3<̳<<sq8O? y|?!=ϧ' y><ϧgXy'<χy>=ϧO<<σ p%?(?? ̌̈̌Ġ H` H @xH DxH @ xH D xLH H   ?HH   ?  p  ?H Ȭ   0Ȉ ˆČb,,.Œ. < ,̌ ̈ Ȍ̈, , ̢̂b̈h (̈,,̂.b,̂ ˆ. ̀..̂Ȉ̈,̌ Œ.΢,,,,΢, (̈,,, ̂ !!?23 < { Ȉވ/̌ȈbވȞ̂O.̌ȈŒȈȠ/ ̌ʀ(̈̎ 0P\1 @_E\AE\A_E\T_E\AE h (B̈ ̈H̀ČȈ( ̈̈΢ވ̈Ȉ̈̀ ̀ h ( , ̀ ̂ H/Ḧ̌ Ȉ̌,̌/ ̌ȈḦ,Ȉ̌Ȉ̀ȈH ̈̌Č̌̌ƌ̈̀.̌Č̈/  ̀ HČh (b,,ፈ.̌Č̈ ̀Ȍ̌̌̌̈̈Ȉ̌H (̈ʀш ̈̌̌ H/ ̌ȈȈ̎H ̌ ̈Hƌ ̌̌̀Ό ̈̀ ̌ ČȈ̌ ̈( (,ᏈČ̈,,興̌ ̌`Ȉ̈̀̌ 0tÙ (̈bވ,,ፈ.̌Č̈  0P @Eƌ` @_E1U ̈̀̈̈̌ ̈Ȉ̌Ȍ 0P @U1\T\_E/ 쀈 ̌ ̎̈Ḧ̌̌̌ H 0P\AU @Ě 0P @Eh (Ȉ,Ꮘb,,ȞČ  Ǔ U1U]0U3U0PE @/ 0PE @̌Œ`  @_E0PE @̀`̀  @_E0PE @/Ȉ,̌ȈȞČHȈḦ̌Č̌Č̀  @U Έ̈,ȈHČ/H ̈,̌ȈH ̈Ȟ̌HȈHȈḦȈḦḦHȈH 0PE @ ̀ 0PE @̌ḦH ̈ḧHȈČḦ HĈH ̀ ̪ʈ,̌B Ȍ ̌ ̈̈̌  h Ȉ ̌   Ut @Eq0Ut] L 0PEp t 0Pp\AEq UE\Q_013s_3Pt3_Pp311330@@130@@Ut\AEq033310W0s1P33=pp?0U]TUEU\3t?70tr3w0@010W1pw13033303333303303335?010s3ww0Ut UE]Q00PEp @3 330W4@A30W0sU\073@0330W33330s03U3t?2pw7Q1\T\_E0s033!333331U033330s0q10q0qU00s@3p30P3 U3\\03Ut\71@0s0330sU2 30U330W2 30s 37@?pp7Q0qPp33333010PE @330W2 3U0Ut\30tr01P333012 37 3u10W030W2600323330W2U130W0U330W4@7px33A2pw2?003 3 37U\00U\TUEU\330W7013 30@0U130W3301P32Pw1030PE @113330303303330PE @303333333330#3333333332333330003333333333323333333003333#33333333333333333333333333000000333_30W6pw0`3ws @_E070_ 3u10s03U0`?003 3w1U0333333333330010W0PE @330W6pw0 @WE0sU\s`3wUt\AEq7003s10W20s30U\1133303033030330333*ˊˊ 0s13333`3s`3 2 10W700333013ˊ 3 3!2 3333 32 32032 333703pp33012 33 32pp4@7px33A42 3300pp30PP3s233333331`33#013 31pp0s30W0s1033  4@7px3#3 * 4@7px33A5@ 332600320s10qPp5@@?pp7Q0q0q 3032 37Pp1@1 3A/30W*(30W**ϊ*(30W0s13333pp30WϪϊ30W@30W*ϊ30W0s133 30W30W 0s 0s  0s10W31 s3p s34P!33pPp537* ଢ  @RSRC LVINLBVW @NdN NO` NO#NN<NN"N#N{read.vii.viiNt PN ُ B~8fr+{w'ưULVINread.viLVIN set_bit.vi  @ octet_out @num_bit@octet_inPTH0 set_bit.viLVIN In Port.vi(  @value$@!read a byte or a word (F:byte)@register addressPTH0*Utility system.llb In Port.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi,O i386k*codeUl$SQRVWEXEXEXE XE$X E(XE,XE0E4X E8XDEt?@9aQRRVhh *d$ZY=tAX~䍅fDžQRPuRh#U苲-d$ZYÐ6 6@B ɍhHHH HHHHƅdƅdP9XPDRpZXfx@#$ *d$ZY=tAX䍅fDžQRPuRhU轪-d$ZYÐ??x%ƅxfx2nDž Dž XG䍅QRhh hhhP{=d$ZY=tÐfƅ|t'69kPXPQYXƅ|fx6nDž DžXG䍅QRhh hhhP&{=d$ZY=tÐfƅDžlpy DžppƅƅfxNnDžDžXG䍅QRhhhhhPgz=d$ZY=tÐf+x(nDžDžXG䍅QRhhhhhP}x=d$ZY=tÐfAx(tЃ҃쉅ƅ\fxnDžDžXG䍅QRhhhhhPu=d$ZY=tÐfƅ`RZƅ`f}|u ƅ(hhUULd$ fxnDžDžXG䍅QRhhhhhPDž Dž Dž rDž D@Dž Dž Dž 8Dž Dž Dž @Dž Dž Dž @Dž Dž Dž xDž Dž BDž @Dž Dž DžP @DžT DžX Dž\ $Dž` Džd Džh xDžl Džp BDž tDž$ Dž( Dž, Dž0 Dž4 Dž8 @Dž< Dž@ Džt @Džx Dž| DžD @DžH DžL Džl Džp Džt Džx Dž| Dž Dž @Dž Dž DžhPTAB4p`xDž`DžDž\QRhP($Y)0d$ZY0%0=QRhPT$)0d$ZY\%\=QRhP$(0d$ZY%=oDžtQELMDžQELMHffNf⍅؉hDžX8 fDž$9(fDž,80fDž4DžDžDžPTAB\ \hfDžlpfDžtfDž|fDžfDžfDžDžXDž\ Dž`PTAB\T\fDžfDžfDžfDžfDžfDžDžDž DžPTAB\(\xfDž  fDž$fDžDžDžDžPTAB\\h8fDž<h@fDžDfDžLhPfDžTXfDž\fDždDž(Dž,Dž0PTAB\$\fDžQRhP $U$0d$ ZYfE_^ZY[]ÐUl$SQRVW X X  ( (hUUDd$_^ZY[]Ð_^ZY[]ÐG@ n  l     u Q  ^ l ?      f >  } \s<[1[R[r= k]U]]]f]] %[&[M&[)b( @octet_lu2@P@ Adresse_pp@ tempo_bit param_I2C_out2@P@ Adresse_pp@ tempo_bit param_I2C_inPN`$ P`VP"@P@flg@oRt@eofudfPoctet_lupdfdPexdPtxdPold` P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_inpPdfdPPexdPPtxdPPold P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_outpPdfdPPexdPPtxdPPold$`!write a byte or a word (F:byte)` `value `num_bit`  `value` `Indice`62@P@ Adresse_pp@ tempo_bit param_I2C_in@!@ Adresse_pp!` ` @value`"@@!tableau de boolens @value`$@!read a byte or a word (F:byte)````@octet_in @num_bit`@ tempo_bit`P````` `% ` ` `% ` ` `% ` ` `% ` ` `% ` ` ```\`xxd:\automated\lv51\lvsource\gencode.cGenRangeCheckd:\automated\lv51\lvsource\gencode.cGenCopyProcs1d:\automated\lv51\lvsource\gencode.cGenCopyProcs2$d:\automated\lv51\lvsource\gencode.cGenCopyProcs3nd:\automated\lv51\lvsource\gencode.cGenDefaultProc((47T`xpVIDSread.viVIDS set_bit.viPTH0VIDSout_port_jsz.viPTH0VIDS In Port.viPTH0%5.1Oldest compatible LabVIEW.N#N#<N#N(pPPxP@octet_lu2@P@ Adresse_pp@ tempo_bit param_I2C_in2@P@ Adresse_pp@ tempo_bit param_I2C_out 84Ce module permet de "lire" un octet sur le bus I2C. ߀PЀ9M)QQMC߀AAAAq$A$AA$A$Aq  DTHPDdN88 ~@ Adresse_ppB2@P@ Adresse_pp@ tempo_bit param_I2C_inzP @register address out @value$@!write a byte or a word (F:byte)@register address&@register address0$@!write a byte or a word (F:byte) @value*@register address outB2@P@ Adresse_pp@ tempo_bit param_I2C_out@ tempo_bit@octet_lu@!! @Indice2"@@!tableau de boolens0$@!read a byte or a word (F:byte)bR  @value$@!read a byte or a word (F:byte)@register address @num_bit@ octet_out@octet_inF6  @ octet_out @num_bit@octet_inlT8,TdT,,,TT,TT88d,   (88 (PP,,(D`, PDdqdqreadTD.U/Uoctet_luM6\7\0YD-:I-:I param_I2C_outXD&3I&3I param_I2C_inVDE"R[E#R[ Adresse_ppOX*ePX+eP378UDp$}Sp%}S tempo_bitO&R'R500VDLYTLYT Adresse_ppO_#lI_$lI378UDwLwL tempo_bitOK K500D̥W ___________ SCL ________________| |____________... _____________________________________ __________ SDA --|____data0____________________________|__data1___... Octets | SDA 1 | bit0=0 | bit0=1 |... | tat repos | | | bit1=noch | bit1=no ch |... `Dj>gj?gSCL 1 SDA 1 ed 0DYYYhypothse: SCL est 0 La valeur de SDA est indtermine. MSB first.D66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inkDnnwrite a byte or a word (F:byte)aDf+f+SCL 0 SDA 1 eq 1D~5h~6hBBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sDpq'3'JsZ Conception le 09.02.2001 Projet I2CHD#N D#$MMMChaque bit gnr sur le bus I2C correspond 3 octets sur le port parrallleMDR=_DR>_D0QDB*OEB+OEvalueVD\"iM\#iM set_bit.viVDO\O\ In Port.viSDlylynum_bitMD||0iDllAttention:inversion interfaceZDmsb en premiersDmm 'Permet d'obtenir un temps haut de 15usMD8QDAN AN valueMDQ^ Q^ 1MD  4RDIndice[D/<Z/<Zout_port_jsz.vi[D0O=0P=out_port_jsz.vi[D/Q</R<out_port_jsz.viHD%Nsٵtٵ HD&NYZFPHPread.vi(FPHPD!N8  '~N 8Nd$NdN  D|N4XLO47|4 cr`O@Pо-_"B$(\@,4 F -V`XO0  -_`4  2 5]a\O@ : @&-p糳pl0H#((@ : &-o賳okH 2 /5/0/.-\     0 7l BtFx<S %NH<S,y$  4 Fl ,;J`O4 `4 F0 %4J`lO `4|B0 70 ; {F0 0 6E4 F4 D!S\`O( ` 0@P0Dh\tOB<(X@ 24 @U^!p糳pl4 24 W)fQaOH 24 X#d)/0/.-0 4 U!hS`@ 24 ^h!o賳ok4 F ` o#~T`O4 2 ` %SaDO0  ` #U`@ P0oU P@HH : ` %+00/.-    @ 2 ` @#p糳pl@ 2 ` #o賳ok0 dQ0T0 l =yE |;X(  <  L 4 F  KZU`O(   8 d l@ PlKoU BL@ :  @\ep糳pl4 2 ^"mJa|OH 2  _k"/0/.-0  \oL`@ :  eoo賳ok4 F  vM`O4 2 LaO0  N`@PlvN p@^@ :  @p糳plH :  $00/.-@ :  o賳ok, 0 lp, \ BDHPread.viLVIN set_bit.vi `PTH0LVIN In Port.viPTH0LVINout_port_jsz.vi7h<2@PTH0 BDHPDN8JX~N^l5pN4$NNZt<FtN,F0FE00DC$4 bxO4O$oD4 i=hbtO4 bO4 ܝbO<D=+,\|4 BobO,@ 6$))* @4B\! 0E4-%T GzGDt(44 e,bO )"0Ip,0IAG=)E  C@BB  M;M""MvM v  N  N@ 4 }4ib<O4:L @PP;aF xHA4 obO0@5 4 B bTO @ @t0&0X)0$0( ( @0(4 "bO4 2 Q<`EbOt, ( ,, 4/ l()l()l(&l4 h4!\4H@P"TO` !(A"4|4 J A)PFbO4( H|43$!4A0 3 P;aFh>@1 j!AFN  `  \4/( `Vv!"t40 8\qf"43>]}m4 K `[!jNb O43 `4Bj1Az9@1(]}? #N4%p(4 t|  \ 8t4 KN]b$O \  `\ | " l43=m}u43<]me  \Ht "D`4" 0C<D@  @0<D`H : R7^=00/.-  *#t,G>4/D!%,#D4ECE4 D  43 `HAz!1)  `43 `|Ej!z1r)@PzIA,L4 JH kzbxO0 3H zh4 2H {btOH :H | 00/.- @,JHH4( \\|  4\ |l0*(:iqm, @ 4\,0*(9?GC)!T4 mbpO4 bPO "? D`4 "0|K?zGC|  @0 D`4 nbxO4!54!/w:! 3t4!B| !"\ !"!|)c9\ xt!H!!X,!4 !0!$LN ^V!X0!H !x !@x! !@X0!&C;!|<4!06 !,!X|\ ! @(\!\ !\!< !|\4!H !@.+\-!!+\ !@&+,,4!/&!)8!P@!P$@4!  2 bpO,"\H" :  00/.-0" 3 h" "@$"4"| ""&#L4"05 " "3t "@(|" "53@ ""L&" ")*0,"!T!!!4" J  @O bO0# 3 O` h4# 2 P_ bOH$ :  Q]00/.- $@""T"4,$ @ `4$: $L&4$( 웜$  B;@(@@;4$"` 0 1z|%4$0 $7\qf"&"W% W;DLI&"m-m,$*" \$)0$%<$)t! $@(H0$)%,$#@".#4$(T!$;$@ $L3.&$)8&l $ @0 #&E*@\ eff@**fCCggC-L$)%/z9%T(p$,L$( $ 3*&$ ,$(((%($) 0$(` $L/)8$&l $ 3& $)*) $@( )$))0$*();?zGC}4$(%+|K;Km-@m;4$0 -0$E3-=50$E2-%.(4  }X(@}@$P- ,x0@,$,,- -h$-4$ 2,8  b(O4% J,8 b8OH& :,8  00/.-0& 3,8  h,&,/,8r &@.--&-4&-T/<.g }4&0L)X*4&0L+ē2CCZ0  Xzz8Xz Y2HCZC-( CC@&1;;>N^n!X$N&@4 &4&0': &5)84&0 ,4& !&&)lY6 3 @'& 4&0&:&)83t4&5pY:M e:5 q@&187=]4 X$N&8,&84& K7h.=[bO('8,889P9: '7h8`8,'84'37h7R$]4W, '7h88 '7h;$9p4'37h7H$R4M,4'37h9<R]$W'9P '7h"9"44'37h8L=$H4B, '7h:,4'37h9 =H$B': '7h94'37h:` HR$M'9'@'"49P': ]?XwXW4'@`0'@DBXxhCD(';@@@BA4' K2@/N>bO (2@<;(@4(32@&DS^^nXf4(32@&XI^SnNf@(1=<=P]p(X$N (<=p<4( K<.P=bHO()<=P=>>>)< )<==P4)3<=< R`]pWh )< =4)3<>=`HpBh4)3<>,H`RpMh)=P4)3<>tRP]`WX)> )<?X)>)= )<>@ )<;$?4)34)3<>HPR`MXI@?CC4):t)8>IG$;BBK4)32@2>^InCf )2@?@l )2@NI^CV,)9B>) A)D0)@D BrB4) BBrڶbhO *@CFCC$4* B;XXbO4+bCE |?/4+bC8R /'+D@C$D`D+cC |?pCx +@CDCxB +@C6,+C0 L\+;XCB L0PLL + @0FEC$+DF4+F+C$F,+T&F,+ #E,+#FTE\+? ;$&|. 4H"( IF''@q0U 0a'(@'U\+2@<7h-("4t `L+ "4-LD]J(<@@,@+BD@;X9^D%q$b@$q@b(bNG4X#N4$NNxW<F@tNUG  DGt(45FN5N4$NNZt<F@tN^5@blO-DLPLN61$N4$NNxW<FtN5,abO-DMM-PD0(`tND1%N4$NNxW<FtN5A'bO-D4NNNY1%N4$NNxW<FtN5υbO<@6@@6 XDlu0kt[(5J4JQ5\B! mR1@DB8(DC5BX;cbOM   M;M"("MvM v  N  N@  X5$5BblOA6 $))*5CEi5y%qN2l%N4$NNxW<FtNIU5FG5C8Ry%.D,OO4JDPX;@QDCpQQR,SD`SQxCSGFTCTI<VEHVC|VlWOVM%)03*T%p(XlW5EI5CD%y4,ECi5pxCD//b)@b(b^F''9Y();?GC5-4.A-bmx,0@$ZgC,5p%0=$Z5(%p'4 \I@\=t[J8, MmbO  \m1(9?*G0C-5 L*] \0HX0HZY$"5( $1(:i*q0m-I(CCr^$10(=\2 8, clbO ]*fCCggC,^T(2!1312u}=u,+%^4 <`p`` ICEe4d95:$ $;BBcq$f5h7<9R3]CW;5h7`: H3RCM;"W=WSE p:# 5h79 =3HCB;5h77RC]SWK5h\BQ! 5h77HCRSMK5Kh7.3=zbOAT"O `+(!A5J  @O+bO52  P!_*bOI:  Q]"00/.-5e KbTOal0f9dfh7h`8A87=3]S HC:C,pA/5@2<S^X9@24AISN?CC050A'@'5i4o6 $))*UGDGt(4hmA;;>^!5@2D&S^X5@2X&ISN5K@2/>bO10X)534!4o5BH1<M(Y8i0a5 %?YG\CZ5@?GC1LNc^sVk}q(n(B5B15@2HA >ICICrC:5pHH/J`@s(<0 AzuIA5JH kXzb O52 H {vbOI:H |qw00/.-13 H zuh10(tx(Yh)Zc\ xtA jF5` |Ejzr5K` [jbHO XzpzXv #MSM::MvM v  N  N@ MvT(_!9 `0 1%w` 4Bjz5` HAzN14#N4$NNxW<F@tN 5wt:8j%ĈpUGDGt(450X)5|x0|K?GC&lyDlu0kt[(m_&t4 @m#t8j?v w,ywvyw,yw?CCpmDS(U)Xp'*Y0HX0HZ$"ZL*|xZ[ \]4..HX8,|X,Y,[ -_h-`_+4 <`p`2&\,+]\+0]`]`l`a_a^! L+00 '@' @22>IC5@2<S^X5@24AISN5@2HA >IC@2ďHRM5<>=HB5R]W5<>HRMؔX;,<5K@2/>b@OA=<=](5K<.=b,OA87=K]k 5h77R[]kWc5h77H[RkMc5h7L8=[HkBc5h7<9RK][WS=5]} m5=m}u5<]me5KN]b0O5(% \5( ]5( &m؝1(9?)G/C,5(` Vv!"+"mmˬ+ \effPra}x HA5J A`P}bO52  Qs`|bOI: Rn^t00/.-<`+*fC}CggCT"O8`C(!A5J  @&OCbO52  P9_BbOI:  Q4]:00/.-13 O8`Ch56bOUx(9hu):cp\ xt1<M(98I0A5 %?9G<C:5@?pGuCr1LNC^SVK5Hn9t13  Pra}h5bO5itbOAzEPIA5JH k(zPbPO52 H {FOb8OI:H |AG00/.-13 H zEPhA jXxF5` 4Bjhxzp5` HAzXh`5` |EjXzhr`5K` [XjbLO5e8cbO5$ ,H+C;CA6 $0))*+?C|Cf5Dt:@\+ C}@B}Bh5HdL+ MMM?MX ?  NV  NH@ Hũ4\BLs! 5@hd]< 䣄L5Bb O+&|55T(!+|m@m5 a+.%5-ys|8~1B8y|a?8pa1?~|ϟy|#q1py>?yqD80?>yqyq8|?c8>??pLJ?>'B#B!8>Gw?y>?1qp3?OLJ?>>x<~gg~&yx'ygxyg}gxygygxyg}xp<>q<?y><χOy>}zy|<ӧgxy'<ˇy>=ϧO<<σ̌ H @xH H DxH H @ xH D HH   H H䠎 ?HH  ? < h (̈,̂΢ވ,,,Ĉ Ȍbшh(,, ˆ ̈,̂΢ވ,,,̀ ̈̌ , ̢̂bш̈ (̈,̂.. ˆbш,,Ƞ ʃ ΢ވ(,,̀?#3Ȭ  ̎ Ȉ ( ( ,( (Č̈€  Ȟ̌b,̌΢,,Č̈,̈΢̂.Č̈΢,,Ĥ ̈ (.Ȉ̈̈񈈌̌ȈH/ ̌Ȉ̀ČȈȟ̀ (̈̌̌̌̀ ̀̌ H  ̈̌ /Ȉ,̌ȈȞČHȈ̈̌Č̌Č `ȏB̈HČȈȈH ̈ḦHȈ̌ČḦḦH ̀ ̀̈/Ȉ,̌ȈHČHȈḦ̌Č̌Č ̪ʈ,Ȉ (.̌̌Ȉ̀B €  ̀΢Ȟ̈̈Ίꬂƌ`*Ί*Ϫϊ333 ϊ *ϊ*(,.̂̌Ȉ̀ ?>hhhXhh?ȿ RSRC LVINLBVWtp tP@@#NH%NNOx NON N<+NL$NN#N#{ hack_gen.vi.viN ($N ُ B~nVJ$eӜPڀLVIN hack_gen.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi i386UcodeUl$SQRVWEX$ EXH EXl E Xh E$XE(X E,X E0E4X E8X E+%d$ZY=tÐfƅ00X"䍅؋.UT␐ffGƅfx@$rv Adresse_ppOxEkxFk378UD?n@n tempo_bitMAmBm0D S  Szz _______ SCL _________| |____ SDA ----|_________________|--- Octets | 3 | 2 | 3QD.;/.;/valueD$G$G66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inQD4+O5+OvalueQD#q0#r0valueMD3@3@2kDIIwrite a byte or a word (F:byte)MD>'K.>(K.3MD.G;N.H;N3DPdPdzz{Temps haut 30us (sans : temps haut 1us environ et trs dform) Le min est 4us et 4.7us l'tat bas spec I2C oblige.Dx%x%BBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sDVV'3'JsZ Conception le 09.02.2001 Projet I2C[Dvwout_port_jsz.vi[Dout_port_jsz.vi[DPQout_port_jsz.viHDx#N؞ٞHDN==MD2MDyFPHP hack_gen.vi FPHPD!N8   ~$N %NNH%N0Di|N4XL O47t@P`b\B$(H4 FH b!q\`tO0 H s!S`4 2H u)QaO@ 2H @s|!p糳pl@ 2H |!o賳okH 2H v#)/0/.-4 ds`xO0<SCD)X4 F` CRJ`pO0`*`0 0 7` Y {F0 ` TE|@P`U+@dHt(\,4 Ft #T`O0 t #U`4  2t %SaO@ 2t @#p糳pl@ 2t #o賳okH :t %+00/.-tH<S E!L|  4 Ft E!Tl`O |@0 7t [&F0 t V!E4 F  dD/0/.-0   u<n`@ :  @u5~p,@|4 F  >o`O@ :  @7>p糳pl@ :  7>o賳ok\     4  2 @naO0 8 tH :  @F00/.-0  >p`  ,   NBDHP hack_gen.viLVINout_port_jsz.viDPTH0)@ BDHPD@#N8)8)8)? ~$N#4,N@#N)jFtN, ( t0  4  Tb(O 4 Op߼h <@ P<%M0@A  0, lx4 J -<0bO4 %HbO@P@,E=PA,80d,@P1BA,l,l @@4 J 3,PbO4 J "p1bLO @@4  2 2AbOH : 3~?00/.-4 B߼JbTO,@ 6Nh))* @Dp4  2 =&L/bhO4l%! 0 3 <%M0hH : >!J'00/.-,t4  2 -F<Ob<OH : .A:G00/.-0 3 ,E=Ph40 3 1Bh4#` @t484P$h4/ Xi t t <4! 4 OebO4 w&b8O4 UbO " p  0 0 hT  803+ L,  \, d   x 80$ p'. & @ p4"  % X  @  ,# "  x 8 " p  8  @ 4" (+0-  , x  x   @ <  0& &4  4 0 % 40 00i4J}g4g '0' `D@1\u!$N 4 KubO( @0 @434! ` d43H 43u!} 43  D43u } P43 u}040 D1i4$  @1," @$N 4 KbO(,L<43 43"43 L, T, @43  < 43 " d\ Dl43  L@4"  8, D@1O#o!x$Np4 KDObO(p, D<43D_#og Dp DL43D_og43DO#_W, Dt43D(_og DD43D O_W D 43D<O_Wt,,0< 0@pׯ4 BןbxO0@p 4QDc#s( @p( @\4b-#3+4b,.3sSD t 4 B@>bO,@@P`$@,' '@'d\4  2 bxO,'# <t@' @dD4b/3sSDp+402i4!0}S@}L <'pd @Dp<@S W6-6@,T  @99\d@D*WGDGp-LD [}pp   W  I@ I4 J  bOH :  00/.-0 3 h @'''4(( ''\'@D 0 tT Da`:vhgljojo.changement adresse_pp in et out en U16 ald U32jojo&introduction de la notion de param_I2Cjojo9Prise en compte de tempo_bit pour la dure de l'tat haut( 1%N$&N  ʶ   Ҁ L: MS Sans Serif MS Sans Serif MS Sans Serif0Arial Courier NewRSRC LVINLBVWtp tPe_ba{# 4RSIDHLVIN\BDPWpLIviVICDCPTMDSTMDFDSLIdsversDLDRFPTD$CPMp8STRGLICON`icl4ticl8DTHPTRecLIfpFPHPLIbd0BDHPDHBINXHBUFlHISTFTAB#N N%N#N%N`#N$N"(N#%N$$(N$P"N$p<#N$%N%$N%,N% &N'&N+%N/x%N/,&N0(dN0H#N08 N1D#N1"N 1%N 2T&N 20&N 34&N 3X&N4(&N48&N5&N5t&N5̀&N6 &N6 N6&N78%N8%N8%N9X$N9pN9&N:0lN:|$N:d$N;XN;p&N;X&NH$NHh Nr8x&Nr%Ns8\#Nsdx$N hack_gen.vi(9M()Q(=Q/M C?߀!t1991t@!b^Ce module permet de lire un acknoldge. La sortie ack reflette directement l'tat sur la ligne.( @!ack2@P@ Adresse_pp@ tempo_bit param_I2C_out2@P@ Adresse_pp@ tempo_bit param_I2C_in(9M()Q(=Q/M C?߀AA@AaIp(Q(aar(Qb(IAEZH2? V W"ߣ/?xxyxyxyx8?<G{y~;?LJ9;#w<>Q8wx?yGc#q1py>yqD80?>yqyq>~q8c8<pxq8c8<x??wqD80?>yqD80?yqc1q|8ޏ?>x?"p1|O?0G!'B8#B!8>G̟?!'!p<χB0;<Bx 8p|y}'yτLxτ̳<<3>3<<3<3<<<sBxO?px<>=ϧ'y|zOyY<|zy|<ӧgxyAx|O| ?( W" ̌̌̌     Ġ?ĠH ? H  䠎 ?H ࠏ  H ?H  ?Hį?? < ̈ Ȉ,Œ΢ Ȍ̂. < ̌ ̈̀̈, ̀b̀Ȉ,,,̌ ˆ̌.΢,,,,΢,h (, (..̢̂b̈L̈,,̂.b,̂ Œ...̂!?23 < ̀Ȁ ̀€  ,ވ( O (Č̈€  Ȟ̌b,̌΢,,Č̈,̈΢ވ̂.Č̈΢,,̂ ̈ / ̈Ȉ̌ȈȈ̈ḦḦ`̌ȈȈ ̈Œ̌ ̈/ 쀈Ȉ̎Ȍ̌ȏ ̀€ ΢̀/ȈȌ̀̌̌̌̌̌̌̌ƌ` LȈBވ̌̌Ȉ̌̌Č ̌Ό Bވ̀ ̌̌̌ H H̀̌ (̈̈ĀH ̂ ̌ Ϫϊ̈,,Č̈ /Ȉ,̌ȈHLČHȈ̈̌Č̌Č /􈈌ȈH ̈,̌ČȞȈ̌ČȈḦȞ ḦH  /,̌ȈHČHȈḦ̌Č̌ČB̬̀̀̈, @ Ȉ̈̈̈  ( **33333 (**ϪϊϪ ϊ ψ*ϊ*(*ନ *ϊhhhXhh?ȰRSRC LVINLBVWX @NN8&NON(O0$NN<8$NL$Nx N%N6{ hack_rec.vii@#N  N ُ B~MG< Q֭Y^nLVIN hack_rec.viLVIN In Port.vi(  @value$@!read a byte or a word (F:byte)@register addressPTH0*Utility system.llb In Port.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi#! i386!codeUl$SQRVWEXEXEX&E XfE$XE(XE,XE0E4XE8X"E 2    6  - ln  . "  ~<[[0[PgI]3]]]D]][[[ !|( @!ack2@P@ Adresse_pp@ tempo_bit param_I2C_out2@P@ Adresse_pp@ tempo_bit param_I2C_inP9`$PP"@P@flg@oRt@eofudfP!ackp!dfdP!exdP!txdP!old` P P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_inpPdfdPPexdPPtxdPPold PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_outpPdfdPPexdPPtxdPPold `value `value$`!write a byte or a word (F:byte)` `value `Indice`!62@P@ Adresse_pp@ tempo_bit param_I2C_in`@ Adresse_pp"@@!tableau de boolens` @value````4```` `% ` ` `% ` ` `% ` ` `% ` ` `% ` ` ````xxd:\automated\lv51\lvsource\gencode.cGenRangeCheckd:\automated\lv51\lvsource\gencode.cGenCopyProcs1d:\automated\lv51\lvsource\gencode.cGenCopyProcs2$d:\automated\lv51\lvsource\gencode.cGenCopyProcs3nd:\automated\lv51\lvsource\gencode.cGenDefaultProc$03\hPvVIDS hack_rec.viVIDSout_port_jsz.viPTH0VIDS In Port.viPTH0%5.1Oldest compatible LabVIEW.NN&N&N"،pPPrP@!ack2@P@ Adresse_pp@ tempo_bit param_I2C_in2@P@ Adresse_pp@ tempo_bit param_I2C_out b^Ce module permet de lire un acknoldge. La sortie ack reflette directement l'tat sur la ligne.(9M()Q(=Q/M C?߀AA@AaIp(Q(aar(Qb(IAE DTHPDN88~@ Adresse_ppB2@P@ Adresse_pp@ tempo_bit param_I2C_out&@register address0$@!write a byte or a word (F:byte) @value*@register address outzP @register address out @value$@!write a byte or a word (F:byte)@register address@ tempo_bitbR  @value$@!read a byte or a word (F:byte)@register address0$@!read a byte or a word (F:byte)2"@@!tableau de boolens@!ack! @IndiceB2@P@ Adresse_pp@ tempo_bit param_I2C_in <8\88\\\\d8\ 0``tt0d _Der er ACKNOLEDGE RECEIVEROD`sasackH"D%Ni~j~YD!;.!<. param_I2C_outXD'47'47 param_I2C_inVDFSIFSI Adresse_ppOYf>Yf>378UDq~Aq~A tempo_bitO@@500VD@VM@WM Adresse_ppOS^`S_`378UDkXxkYx tempo_bitO~Z~[500D\4\4̪] __________ SCL _________| |_________ _____________________ SDA ----|_____________________|--- Octets | 1 | 0 | 1 | | SIGNAL SDA pilot | | par le RECEPTEUR | | le MAITRE/EMMETTEUR | | maintient la ligne | | 1 et lit SDA | QD00valueDee66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inQD,2,2valueQD#K0f#L0fvalueMD3^@e3_@e0kD ' 'write a byte or a word (F:byte)MD (-/ )-/1MD/*<1/+<11D{*]{+]BBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sDTT3'JsZ Conception le 11.02.2001 Projet I2CMDhVu]hWu]4D{{99AEntre Select br 13 non inverseuse dans le registre base +1 bit 4VD In Port.viHD(%NO\O\RDX@e^XAe^Indice[DFGout_port_jsz.vi[Dwxout_port_jsz.vi[DCDout_port_jsz.viHD$NJK HDLNϝ OFFONOFFONFPHP hack_rec.viFPHPD!N8~ܜ$N $NNNi"?D|N4XL TO474 ds `XOD4O_|/|4 G_t`O0.$<  rhO N<S :$t _ M_ M_ N_ M_ N\     T@<S T&n7 @ 4 F  :/`4O 4 F &58`O|$0 7 H :  ~Y_00/.-@ :  @{PWp糳pl@ :  PWo賳ok0 P vBDHP hack_rec.viLVIN In Port.vi PTH0LVINout_port_jsz.vih!PTH02 BDHPDN8222~ܜ$N(N&NN)FtN,/x&|&0& 4 [5 bO4O\ ((@P&/1,A,Xd4 J 1b0O4 dbO@P,-(>3A,$P,@P1\BgA,X,Xl @,4 J -3bO4 Jl "J1gb O @,4  2l 2]AfblOH :l 3X?^00/.-4 B (bO,@ 6 ))* @0\4  2 '.0bO4$t.,! 0 3 &/1hH :  ",(00/.-,2`4  2 .)=2bPOH : /$;*00/.-0 3 -(>3h4(0 3l 1\Bgh4 4+ @`4't'4$X*4/ Oo?w:<D Xgs h         0  T d40 *Z/e<_5:40 +Z#e/_):,0T @  d  d4 z)^bO48 @ h 0E  X2Xgjwao @d 4 UbO4$*, 4/ ODod dL)H>   , DhH d  t 4 d@1 d5"XX N4/!  @PdfTw_ 6@4  2 gUv^bO 4 zb(O4/ L -!"d40 0("  0* L(! )% @ T 4%0* h)   x440 1(", ,`4,4 K bO<  <43 <#5%  \  x43 P$%5-43 %% d 4 1<  th 40 t ,ZTea_Z40 t -ZGeT_M0@ ]me4 BN]bO 0  % @ %0* & 4 -$ 0* @' @ @4%4 t ` @ 0` 4 ,,0 3 fTw_h4 \-!d<,xH%% T_)``)%@%0E  l3Xwse @  0E  4jgrwnoH : hPtV00/.-4 J W?f_b O, 5<4140!@1`E!e#N$4 KEbO( $D4  D4 38U!e] d$ 4%4 3L Ue]4 3E!UM  4 3U e] 04 3E UM  T%4 3 EUM 4  4  )@ 1$v" #N ! " h4 Khvb0O(!$D P 4!3h 4!3h "4!3h !!D!$ !hL$ !h,4!3h  v~! P!  !h %4!3h v"~ !h4 p%!D !h0d4!3h v ~!D 4! ,0 !@!1!!PB#b!#N4! K!BbHO("!""4"#$# "!!!""44"3!R#bZ "!"T" "!"%4"3!RbZ4"3!"B#RJ"" "!"`4"3!!RbZ "!0#4"3!#x BRJ"# "! @#D%4"3!#BRJ"#$0"@'@$IiY$$4" B#IbxO#`",#4 P#$ ##0#@'@ T$%#$%#4# B$bpOD$c%ҧ&&$%$%$%% $@%<'@&$ $@%<&H%$&H4$b%<%;ҧگ4$b%<%<ҷ<$ %<h  t !<$` $#L$'@ 4  T @0,4$$'Q$%\$M@M$'@گ@ڜYœ<$L \ ! 8 $5-M757$4@~~]$ @JAA@J$&+J:&:$,9a~n9n$ H$xҬ$\$@--L$0 M44~p p  J  <@  <   l$#%<$!h  t `T$ ao_Z@_o$ee$_M_5$nYno 0 Q0tjojo$adresse_pp _in et out en U16 ald U32jojo8introduction de la notion de cluster des paramtres I2C.( 1&N N  ʶ   Ҁ L: MS Sans Serif MS Sans Serif MS Sans Serif0Arial Courier NewRSRC LVINLBVWX {6 4LRSIDTLVINhBDPW|LIviVICDCPTMDSTMDFDSLIdsversDLDRFPTD0CPMpDSTRGXICONlicl4icl8DTHPTRec!CPSTdLIfpxFPHPLIbdBDHPHBINHBUFHISTFTABX&N#N%N#Np&N&x$N' N*$N,N-4#N-`dN-H#N.h$N. 0&N."N/ 0 N1h N5H%N:$N:`$N:4&N; &N;\$N;dN <8#N <N <$N =<4N =#N= $N>H(#N>|&N@L@%N@x&NA@&NA,&NA #NBD$#NB#NC&NC\NC&NDh&ND&NEP&NE&NE&N FP&N!FD&N"G&N#GpL&N$G@&NH$NH %NH@NV&NWx$N `&N@H&N%N N hack_rec.viQMCe module gnre une condition de stop (SDA passe 1 alors que SCL est 1)W% 2? ?+\?xxyxyxyx8?<G{y~;Q8wx??wx?F;8"qcc#q1pqx;8~~<pxG88pǃp<???>c1q|8ޏ?>x?"p1|O?0G!'B8#B!8>G̟?!'!p<χB0;<Bx 8p|y}'yτLxτ̳<sBxO?px<>=ϧ'yӳ|zOyy<>=ϧ'y'>O| Lǯ着諭껪ꪪ껪諭+'((訨̊ ?#3𨪪݁_O!-- p%??̌ @ xH  H @xH Dx H @ xH D xHH?H   H H ?H  L į HȬ   0 ΢ (̌bш,,(8,,̈ Ȍ ̢̌ ̈̀b̀Ȉ,,,̌ ˆ̌.΢ވ,,,,΢,h J (,,,h(, ̂bለ̈ (̈̈,̌΢,,,,΢, (̈,,,,Ƞ ʃ ?23 < Ȉ ( (bވވ( (Č̈€  Ȟ̌b,̌΢ވ,,Ą̈,̈΢ވ̂.Č̈΢,,̂ ψ,̌  31_ 1@130@_1Ȉ/Ȉ,̌ȈȞČHȈḦ̌Č̌Č /H ̈,̌ČȞȈ̌ČȈḦȞ̌Č̀ȏȈB̈ ̈Č ̈̈HČ̌̌̈HȈ̈HȈ̀  Pp3Ppw  0@3Ppw3Pp̬B(Ƞ.ȈȌ̌̌Ȉ Ȍ  _1̈Έ,_1_Pp3_PPp33130@U1331p@*ϊ3333 1s032(s10W*ϊϪ 10W33332 32s03s3 37133017px3A1@?Ϫ<3*ϊ*( 32 33017P33?pp4@70q1 320q_Pp733337Q1033033033033333333333303303333333333333330@333T=3A/333_000s3U0s3U1PUUQ\AUE\QsP33U5333U010W03330P @E3103303330@7U_353711P@1P3133#0( 33333#03333ଢ hhhXhh?ȵ @RSRC LVINLBVW$ `̬$Nd$NXNO#NOpNN<#NN#N"NF{ stop_gen.viilNx <&N ُ B~KLdǡ#LVIN stop_gen.viLVINout_port_jsz.vi<P @register address out @value$@!write a byte or a word (F:byte)@register addressPTH0out_port_jsz.vi. i386codeUl$SQRVWEX EX6 EXZ E XV E$XE(X E,X E0E4X E8X Ed$ZY=QRhhhWhUd$ZYy̋X7QRhhhhUd$ZY=hSQRhhhWhUQd$ZY+Ul$SQRVWD$ =%PX$$Ð;qQRP$P$;d$ ZY_^ZY[]Ð<@|$$uWhUULd$ WVhUUHd$t||$$uWhUULd$ WVhUUHd$|$$uWhUULd$ ^WVhUUHd$JUl$SQRVWL$ QhUU@d$ =t0L$ QhUU@d$ =tL$ QhUU@d$ _^ZY[]ÐUl$SQRVWDžDž t Dž(H Dž(<t DžH DžHtt Džh DžhXlDž DžlDžpDžtDžDžxDž|DžDžDžDžDžDžDžDžDžDžHDž@DžDžvDžX@DžDžDžX@DžDžDžX@DžDžDžX@DžDžDžpPTABDžxtDžtDžDždQRhP0$d$ZY8%8=QRhPh$Vd$ZYp%p=QRhP$d$ZY%=vDžtQELMDžQELMHffNf⍅؉hDžXYfDžfDžfDžfDžfDžfDžDžDžDžPTABddfDžfDžfDžfDžfDž fDžDžDžDžPTABd`d\(fDž,\0fDž4fDž<@fDžDHfDžLfDžTDžDžDž PTABddfDžQRhP$U(d$ ZYfE_^ZY[]ÐUl$SQRVW   hUUDd$_^ZY[]Ð_^ZY[]ÐG@ ]  2 J y 8     < [ [ [@  q W9]#]]]4]w]e[[[p||( 2@P@ Adresse_pp@ tempo_bit param_I2C_out2@P@ Adresse_pp@ tempo_bit param_I2C_inP1`$ P\P"@P@flg@oRt@eofudfPAdresse_pp _outpdfdPexdPtxdPold P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_inpPdfdPPexdPPtxdPPold P PP"@P@flg@oRt@eofudf2PP@ Adresse_pp@ tempo_bit param_I2C_outpPdfdPPexdPPtxdPPold `value `value$`!write a byte or a word (F:byte)` `value`@Adresse_pp _out62@P@ Adresse_pp@ tempo_bit param_I2C_in`@ Adresse_pp`````` `% ` ` `% ` ` `% ` ` `% ` ` `% ` ` ```x`xxxd:\automated\lv51\lvsource\gencode.cGenRangeCheckd:\automated\lv51\lvsource\gencode.cGenCopyProcs1d:\automated\lv51\lvsource\gencode.cGenCopyProcs2$d:\automated\lv51\lvsource\gencode.cGenCopyProcs3nd:\automated\lv51\lvsource\gencode.cGenDefaultProc0 <HhtfNVIDS stop_gen.viVIDSout_port_jsz.viPTH0%5.1Oldest compatible LabVIEW.N N#4N$N$pPP~P@Adresse_pp _out2@P@ Adresse_pp@ tempo_bit param_I2C_in2@P@ Adresse_pp@ tempo_bit param_I2C_out QMCe module gnre une condition de stop (SDA passe 1 alors que SCL est 1)߀PЀ9M)QQMC߀"("("("("/"("(! DTHPDd$N88~@ Adresse_ppB2@P@ Adresse_pp@ tempo_bit param_I2C_in&@register address0$@!write a byte or a word (F:byte) @value*@register address out @Adresse_pp _outzP @register address out @value$@!write a byte or a word (F:byte)@register address@ tempo_bitB2@P@ Adresse_pp@ tempo_bit param_I2C_out)8\88\\\\ sDmm'''Abandonn le 26.03.2001 voir diagramme.O$J%J378[DmmAdresse_pp _outPDdqdqSTOPXD=J]=J] param_I2C_inVD\6io\7io Adresse_ppOo>|do?|d378UD8g9g tempo_bitO:f;f500YDBO0BO0 param_I2C_outVDan;an; Adresse_ppOt 0t 0378UD33 tempo_bitO22500Dm}Zm~Z``h _______ SCL _______| ___ ___ SDA ___|_______| Octets 3 2 0QD'4'4valueDssNNNhypothse: SCL est 0 La valeur de SDA est indtermine.Dbzbz66JRappels: D0 broche 2 = SCL D1 broche 3 = SDA out Select broche 13 = SDA inQD++valueQD#I0d#J0dvalueMD3\@c3]@c2kD ' 'write a byte or a word (F:byte)MD7D7D0MD.;.;3HD%NTT D@@""ZPlus en sortie a/c du 26.03.2001, introduction de la notion de cluster des paramtres I2CDQ^DQ^DBBBPostulat: chaque module (mise part stop laisse SCL l'tat bas.sDw\w\'3'JsZ Conception le 09.02.2001 Projet I2C[Dout_port_jsz.vi[Dout_port_jsz.vi[DFGout_port_jsz.viHD$%N HD$N99 FPHP stop_gen.viTFPHPD!N8LLS~#Nh"NNd$N7 -SD|N XL $O474 n`O,4 \4  2 #KaO@Pn8B$|x(`4t4 F n`O0  M`@ : @p糳pl0$ 0 @ : o賳okH 2 #/0/.-4 cr`Ol<SA`d&H  |   0 7  W[F<S \<"<( T4 F <K^`O T(|0 7 RF0  ME4 F( [5jp`O(  $@P[.ph#BP|(|L@ 2( @l.u5p糳pl4 2( n=}eaOH 2( o7{=/0/.-0 ( l5g`@ 2( u.5o賳ok4 F T 7h`O4 2 T 9gaO0  T 7i`@ P0i$@\H : T 9?00/.-@ 2 T @07p糳pl@ 2 T 07o賳ok0 X%h4 F  AP1`XO  | |80  R`E4 F | `o<`O(  , `L @ P `< 'BB(  @ t @ : | @qzp糳pl  \4 2 | s 1aOH 2 | t /0/.-0  | q3`@ : | zo賳ok4 F  4`O4 2 3aDO0  5`@P 5 T(@TH :   00/.-@ :  @p糳pl@ :  o賳ok0 ) f\     \ NBDHP stop_gen.viLVINout_port_jsz.vi PTH0<BDHPD$N8 X<ߘ~#N#0 $N$N)y|>tN,t04 l|[bO4Ot (@@P5FA,<|4 J &5bO4 tbO4 a{bO@PD,= A,<4h,l@P1ZBeA,p,p @D4 J , bLO4 J "H1ebhO @D4  2 2[AdbOH : 3V?\00/.-4 B (bO,@ 6 ))* @Ht4  2 6EbO4*! 0 3 5FhH : 7C00/.-, H4  2 -<bDOH : .:00/.-0 3 ,= h4 <0 3 1ZBeh4%0@lx" 4 BxUbtO @ 04T;4) Dd  #N N&N$N)s*>tN4M747M \D5e(bO-D p #N $N&N$N)s*>tN9܉'bO4 AbpO#N $N&N$N)s*>tNH4 P_Eb$O4 v]b0O@1, #%NT4 K bO(Tx4  T43 #    l43 43 d #x  0043 t  HT43  4  p43  x@1L~"`%N 4 K~bTO(Ll\<438 43 |"43 lL tL D43 ~\< p43$~" <| H43~ l@1h4E!e!%N4 KEb(O( p  4 3 U!e] 8 <4 3  Ue]4 3E!UM  l4 3U e] H4 3\ E UM p (4 3 EUM   <, \4 "4 %L 4/bO-Dh  5f~b,O4 $0  xYd#N2 %N&N$N)s|>tN-D8 5qbO-Dp85(`b(O0 @ \ޭD4 Bb\OD!c<<P!!! !@xP !@x!4!bx4!bx<,!x 4!<8QtNT!80!@h4! B8:bO,"x8#NX &N&N$N)y|>tN \" 48x H xp8#H#Nx &N&N$N)y|>tN5N\jBbO-Dph#N $#N&N$N)y|>tN5Lu?bpO-D` H#D8 #N dN&N$N)hs*>tN5bcb8O-D !-DH H#H##N %N&N$N)|}>tN\"<]@<" xlp0 H$`AbO$5ܤ5 5$""l @q&5ܰ 5 ! "p@¬"D9_v9vM*5]<($#d% H%5 5 9| "5ܠh 5 tJZR5ܜh *58 5K bOU*|@'AL"`5J "1bO52  2AbtO53  1BhA*1BA" 0=€=Y,4*I: 3?00/.-L"H M44x x  €  @ ; d :#JB5  :JB5  :JBA, :#Z5K :bO1@lx 5BxbOA5F!A5J &5!bO13  5F!h/ J#ZR5 JZRI: 7C00/.-#N &N&N$N)h*>tN5>bpO5Btb$O4--<-52  6E bO`D$"p## D$# H% '<&|@'(t'tX(()p)H)*|)"%4 T#hl''h 0 (0@,Tt,, ,X.. -xP---<-,0.|(.0$L%)*#N  N&N$N)h*>tN-4Dp344P5tt A6  ))*=D1@/22#N %N&N$N)h*>tN;;;P5Q5x\65Q5xќ٤5xѬ̭@ЗЎ=\65Tp1@\ ~Dm96,:xEќ<P5T$7965x6$7P5M@M9Dp34P4p65x6$7P5#N @&N&N$N)h*>tN5B~b O#N &N&N$N)h*>tN:1@ȇاЗh5B8bO:5x4E4<P5F b0O);6,:x`:;9"M@M<D<8P5D4Px4$76,:x`:;86D889h98<"@΀ 0  H5yjojo)adresse_pp in et out pass en U16 ald U32jojo8Introduction de la notion de cluster des paramtres I2C.( 1%N &N  ʶ   Ҁ L: MS Sans Serif MS Sans Serif MS Sans Serif0Arial Courier NewRSRC LVINLBVW$ `??{F 4RSIDHLVIN\BDPWpLIviVICDCPTMDSTMDFDSLIdsversDLDRFPTD$CPMp8STRGLICON`icl4ticl8DTHPTRec LIfpDFPHPXLIbdlBDHPHBINHBUFHISTFTAB&N#Nؔ&N"N(N NH&N"$$N#$N$L4N$x$N$N%4&N%D%N%%N& X%N($d&N,(p#N/%N0<@$N0$N0&N1DN1LN1 N 2P"N 2L#N 3$N 3`dN 3 N4&N4l,N4|&N5x4N5 #N6p\&N7 (#N7d&N7%N8&N8(&N8Ԉ N9(&N9t%N: $N:#N;,p N;x#N ; #N!