From 3f7aaf24fb91a10f65ec99e5db2dde8a84c88f7d Mon Sep 17 00:00:00 2001 From: pwpiwi <pwpiwi@users.noreply.github.com> Date: Tue, 11 Jul 2017 08:50:27 +0200 Subject: [PATCH] revert removal of quarter frequency support for hi_read_rx_xcorr.v --- armsrc/fpgaloader.h | 1 + fpga/fpga_hf.bit | Bin 42175 -> 42175 bytes fpga/fpga_hf.v | 4 +++- fpga/hi_read_rx_xcorr.v | 31 ++++++++++++++++--------------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/armsrc/fpgaloader.h b/armsrc/fpgaloader.h index 59c07ed8..7dfc5c12 100644 --- a/armsrc/fpgaloader.h +++ b/armsrc/fpgaloader.h @@ -58,6 +58,7 @@ void SetAdcMuxFor(uint32_t whichGpio); // Options for the HF reader, correlating against rx from tag #define FPGA_HF_READER_RX_XCORR_848_KHZ (1<<0) #define FPGA_HF_READER_RX_XCORR_SNOOP (1<<1) +#define FPGA_HF_READER_RX_XCORR_QUARTER_FREQ (1<<2) // Options for the HF simulated tag, how to modulate #define FPGA_HF_SIMULATOR_NO_MODULATION (0<<0) #define FPGA_HF_SIMULATOR_MODULATE_BPSK (1<<0) diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 864b52394dcb821b24bb42ac9b8d6d01a34832f8..b9f2e6292e42801a73b57aa3e43dff00191ec8b9 100644 GIT binary patch literal 42175 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�{n79a~&>|uqF{t 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 We*cOjW%&2Fq5%IME~cgYm;B#7qqOM& literal 42175 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�zRe_S#mjv~{uO#1h_+x^qFcX_ z-lbba)lc<>sFwhK9WUY6pyB1e>I4cAKda99^7*gujv)U+Y%qmBGkJ`Qie$NgaVhdx z!Y_NDg*GbpXUr2=uLe1tZsho35x-{qjNVQ)i%k|Eue*JT;6i#jWL8hXubrv$>1TOd zW7gaDU$;lIeM9OzETZ2*{IZ#!_5s#cE}<%^+j3ZdfAyEnf5qt`YV5tEpszNbg`Rd6 zDwa^1=E-mY+)D67$IHG%X$M}ep+&HpAJ10gv^yx5jI*ut&wqV7^ni&tWQX>3Y~vdo zQ)pkex6@n)xug>R(hka{Heid(4sS_SjW7RWZA^Z?fXqmVf7urdtYB^?=UiakrM}%b z!ND2em#bflUpV%aiw^4_wjayhT!@T=e;t)TkSXVvpO{f6fkdy;+9dQ#Xy>eTDd<<q z&wtUD)T0cwXk+|2-9YjC(D(t?!ITE-#bdW?hHBV9RC%I@v)i27JPdvxW&`%nbocy@ zS&!2zlxOpPhW<e;k}!<p+My)+TqvDizC;%^tVO?m#(E>wn#FLy$d;*b`S>+yAI*J_ zBBS`kG1}u)6|fH#f)q;pYmKp?p=mL;-x+Patlwb{>#N{+z&;mB{L4(iLe`m^z`r&+ zu|ma;yWvBEgP_lLQNO4<O$h>*8Ns14Tbeew41xv@*3{E4LVV+Js0mn&uEL>`Rq(@I z{K}R1*94nE0#CUF-D#8a3lLPFQziU*1?b&oW4+#io3S7jJ%9k|W?nDkzeEquvxD<r zUbXxmAZ&<4Sig3v_@v;j1?msAA94>FbNfui8Anh{qn@1VwbgrYR|9BQ2;q@}B`G$H z{KdHVOP(K&AF6NBtZ^D=D<MOUhH!*~ML9tKLRgEu?zn9Vq5X!7-F^4F!%5$BstC{? z|3dwt@h=8K!SG2iEeIR#)#qDYo!+RS`ZF9dWv08yuF7aC0pUR35zln{6X0K2tOatc z4z^M5Wvm6InP6h19{-vIey!_mEZn~4n%4}zhy!P-JR-*Y%i^)~{Tu&4ErZdU5H?hW zh<3P4C?bYjQaLx_^UK!#Sg$H(zFcopS}*XgX(?{AqpUbTGu06)2Sx_fNACQ1b<4vu z9@Sj`u-c0sc59=>#P`eY*t!1DtB_PN&r>RX=-2$){H@NKVUj#{!q^8447o)+Y9q4E zWB1;}{Oe5vXqD54IlhsL7WytoFOcY;|C%u1^6@_8aUqaMeW;%g@ha;@{6hT(<5zSG zaK|Go+u6vl74_qX9VU?IZdhaHUoq6rBmeaVF(bnYs(D8JMu30O-Q0M)0x}3b|Ed9V zLH@m4LkLc!MEIJtk$Wrz{6a3NjEAoBU&H8OSb~3zAgmGHQ2%&8ich%De*SC7>)~=> zt^|;sfWPsE+vij6UfnwD9FGg5n1-~MSRhtxK^t#e#ri|!zn~YWRl5=Ua2wKI8)Cd6 z@kAEu=R3<zTWe)w3T*2j?UI14Y8FWK`Q>8#a3`&=o8NiIX!V%fWg~WqS`on@j<KKi z@?T}3UEqvSJh9HpW^u<O>@c7WZzOkbtPb@nUU}@{nc$V_XE_n(*KfSy>U*4W^eU!h zh2y3&`B-<(#rHt|i%)ySxPD_2W^g_W{G>@jIIN}__|;)QLb*iPE+2-YsJ2#yISB8u z!|s~qX3RD=_oBKlrJXRIngIw{6Pv>q%dkJ@>DLarhF*4Q*DLgXekq%;ztZ?d4is`6 z*3{lGXKivdMY75W6g*7Uvob2%;^CJld%1{Ki0!y$@I&L6{4~FCv=~3!D%96kX(u=l zHi~Y%DpAP6{qZ=Fg@TL+1fB>S4o4!4e>76(_1SUfFa`bUlZnx=A%?9zw<oy1_a*6# z{e+R^8RGaMs(D9IzwxHL4AT^yK#ds^VQdfo-Q8nZdP_t7{CM=~dW=h|r2kNHTm?$; zd$Nch9%TxHQa84lf=P{b%uuA}K!?q3q_F~TMu-V!8ANPJ3PkK@#X7wr|0+v#V+9Ma z*yF}CAtn6WZ{zy&IRB-2qwv>ssE7rF27ihq;)jPh1<B^?GAl?PhT5~wj=NsDPkCtN z_W2f4{=7%Tyj-nQHkli-7f{t;xK$wU$#pv|yl_L2;pItpy`=SXZT-u!p2ojWrT$3O z4e&WBIsXI#9eH=2Gq9^L0@-;s{3xV{dcz30@P-^h<gGc>!+l2mVZ(-s7{^!n$be>J z5?nUgxgGBj+(yj!XBrU;uu%0045zvoWi~BpEh4pgsEA*Aab7I#{<{#C;Ii=?kBdjz z>ioC2OZ@A{G>9lxV>Zn1SyB$aCE>njZT)dqPdR=F{W@-L?K?w%OR=Q6INgE>Co*C? zv=V;l65DOPruv-9n=RXTTnM645x?wERcP%NyTM!uF7r3C-u8lWjVI$>VB%_AortU+ zu=3)Iw(3t(@<Hb5zX;v$bXhZBhDXL@zkWY%8o|~&H;sq$oaBSd^gX^vYP4^(JjHFe ze&aCQl`n1A6DTBU4sG(rH5}R7=jXpRVF_?kO-jF?Hd9?F?p|DwIBb4Pd&jk7eE$YY zkqZ?qpk03>Z}9s(j?Q~N3GUx8`yRH3GA-J@Sg(dtAYu^^7DVh@{ruOAAIA=dcIT>? zcD+eA4@7b}_`vwpwX<}7`ILbxhA5g27s}a^@kJc!$seu_;@3}e%_4HG4mtp$k>Eqh zZ0D=C2Jow5eeX8$cUuuQWa`m53vCq1+J!#*`1M~1cQuS^4d(j(c^ycNx%gEPz^?}2 zSDl#NU0z1LA}&k|)h)X;m0cPP@iYU!?xquRw~efaZ4PToC?dn#Bmx~aM(X3&yV`lt z+KtHDY3;mxLV%vE66iB$#ESf@45t8ObE@eF`VI6JCB=$S{YIO|)rB^$el506wr9SK zutq`KMwuM&OKNq%uS5vC6FC31mLBV#cc*5^$4pynbcvW^kv@KHrw5(-lz9R}=J;wj zOWyoo>>hs28WZSGPt~KKU2jqK{VS~LT)>Qs*dxLE4RwAQu*K(zP=DArhJwZx#<*8p zdl<K*bnIp;aU0@?!<H(fFKEn9BYjijhufsNy<!J#kn=L;DQz`0u1N;ZFMkoy4BNrh zN|+ldK4B(faDaJ_Ee3vd^ICBI1}e|9I0F1AtxL{L#Z%gs@T76rOqJq?RoVfWFThG5 zec%82LIm~m1pFGGdVcxy*qKaEG{DwM7H}^G2DruNU$ZV~N97*SH@xR^@16<pFP!t0 zZKooy`uO#!t@MCZNAYfiHJ-B&=m5z=f4E4#h+l*S=;v!vB8oGj_+PcL8i$Z08*=f> zHiiY;7K|N<C$fJxPMSOR_;j4pbn&a~@92nV9<AC7T~_x;q0f;cI28qh=Eo053{*19 z&4hCS7*4n1Ul1G!W2D{_g5!vLV4TP(%==6B{2hq`9BDrP)ir@&h-$<6FKin*FQ?%; zESdOn<qjrUZ0mggP_oT5V#3Uo!-j`&s49c(+h6i}aT~$wWf~?}woMgQ6%3Jq``Jv4 z>-*d$5I<Z^8G^oZ*bok$1K|vK3dRMGQFqt<`bn5i_`M9ZAJ9@!<zOv-j<L^oX8QTB zNgB}>P+|~;KO;QALEVxNC=$qj{X1<Ojh!?1-#(u<3Y<6JqRl515ZWB5cgLP7JB0qk z$n5<}9jzBJ#|&vC0AvI^f2xRIJ1`sg5yKXMgNK|jGPI3qWikInvnDaC3q)i>Ul<v| zIVt3Kpdhu)k0dr|e*S9!-bCw;sMIgyF6Q7u?4NlV3)l8|^vx1}W$1{F`QiK*_~~Gz zp|9RPVp)8EbkwkUo`=ighFotyYL;oZ$%^WSaWJhC9uWfde;2^7YANhq)6~M{X-<2Q zMw%?xJ@C~%{*?+X!EZg5g5@u#wVArY7do|S>d!uw0;w5x*Oc+gp=56tZ8VMNDeqL; zxK{)haco#&m-1g*J=X}==wac8nojDMgy$^z_%&R^zn(~9-3JL}Em=Jl!o6Vy2!8x< zE1}wuOmVxV!B7vG-5SBCMj|X(%6~mge-5fReNwBkHp|Bf3Uk->))j!le*AE_I-9Yr z=|(l#P&Ay!*CMbsDHs_)ehB{c@^JH(%0_K2_eUni!;7_}sRaY^v!(kF9qjQodgy@1 zzoNZ;xIfB%Rzvh@3jf+I67Ibad4b_Dej(0Qi~4z`Uy@cqzieT0=4d@Ff>809)V>q3 z)#0sy_+jWlqh6S!)eGf=1V!V`h8ptD@FQtIerOP9g=$B&Z-cBgsQg!MSKPjx<A*bN zYbg90P6NOA{*95|q@AeHV{$Ur97q1E$<?o|pL*THFa1Y!e!T5FD*uIirHGCe@oQ_@ z>GYu-s!)D_J_9(qE4N@=`{=uj1%CdkKnO?Fm}|A0DB~diWg;v#VBE-YHb4LMg0)t_ zRCa4f-mQl46&#M>Q%KiMx&QD%`k`1oTCotgj7gY)@DuvIj_^<Y_#yIN2LPj+EY=Hw z3Ev7}JujN>i{iwk>mPFc1|u4JI97h1o<(R;ACu>|fVFKc#SbO6C|ikeGBjeq0d{n* zylAWGIvB*Sr$vnGH_Xrmsf4+>5%JpGCO+sSc%D`Le2Qy?DzLQ>L&JJi%09ezdP@+$ zo>lu<v((0}6;&F9xNUZn@QcHS(1OJXeQfSc77}ZgSJRMOYBzQU^I!0+;65P)#|P@y z!DjM36;AZYKA(T_sj-_1$fwL9zJ>_(8yAer*-xhsq4M)zfKju~qK<hp!~+6B!sQ_H zTL=-(0RP%g56}+>r@y^nQLNW`%nA3DAGi0??{gamW)c6me!eef$EQaSDNWbL=sy|S z5&C{1vHE$Vl>gd9hn(i*gXX-?R^UQB_HACL$&*c6*X=K2Wft0n;fz-0`(BslIl;GE zAE!TMAj{}p{1E(0JH&i~3p|g~9=mI({zC4u-6kSVpVQ&vmxND?d`g7YiksgyFKJ`O zfLtuGC?)<y87pQW#u#UVZ!DJW1sV`dFrg*<!mUa$@3l$znecmIcCa(}Qd|h0f5`j` z;k8giBI?LxKV5R#8QAdeI*Ghre+d4CdVm8fdOpMcJRgjm#sM4<F{czid<Un?u}oZV zgY}YFI5-|Qo)mPSe{r;M8<!oPHP@%-O>}bo;d2&>PsU35uVMNjOdQgAX9-E<QD77E z6g+7t<-c+YzwSWoN_xGV=j;G}5m$5|p5W)dPMM$;4(Q}*8XR8maO5XC^CmpWA#c^g z>s|=$DV|n-2jjwe0ifYW0mx9r?fQoT=TrDhdNe=tjCRCq9c|pJpQ*q-flky$9?j<W z441k0bfG^-X`=)8APIkCGxz6gDgPyCk5ti&qZY`%v)=WQFs^y+e*UYPyvW;SdtHCy z7=eh1b@Hx4c(vx|zX<uS7DvSopEp}ZA2i_q@I_KlyLA3*7hiigG>wlrsDtOnF)rYj zgB+`mU(e&W)coMrWwWT-t)C?f(1`}_@6Ey+R3|0bE&QC*nPUIYMi8T({QTE$n=2%N zu>VHu`t7&pt>HHLM)cYC@ypTrD2FxGMl{^N!R`|T=m6r_e*MPd3bruwuMl7>SCy+D z=ZJ@l7Q%l1t5~g}pR$nu!VxN{m6x>j@e3)5P_x*~KL4Ryi)hS4I6#lE6)obIv5MTX zLqx;YOXRjxAQ82NsPGTuzxD})&JZ8dIPEnzs}0e5@y+fl&VK<1;enjSbzw|ls$Za9 zv6|axA>JBZ{XD{k@CJD}cBRxE8kS2!=zI~st_MAF?L3Z|Q`?u>-~$U5iOt8uMgA4? zDmu6{@dcDqLOn4+f@f92FM<V7(ZcouY{E8KDK#g=e%)2|hur5e97(pjJFRxq7J@|r z(MtI*+`plsg=01hh?xE`?1tB-yvV;0Hgx-Z8V0R-6}mA7Yoq#8#II$5W7EYidERVc z*c#Kk-wNcvycI+!STqynr=Sc`WJ>+vv!Y2tyZ>1{skJhYp`J|vS-YSA>QYvf_ZaOF zwlkLn)E^eiVEth+1otZ9S_!AKhxe*^*Qi;lKP3OQ4b&e3fGW8VaZoPEC8pFLDzwV$ zY%19}K)689N(df)Q5mzg1%=IQ58sn}7|3wLgIsVI@QaG^!$)adcij+f+xS=UlvU>z zBK`zx5f-KV*Z!goBE~4-I(}PwRiOBU5CJ9^zwDZ$Mg4k-P36nV&Z~@=Rmy+ul-_CO zx9ArFd5}D?iR+DFH|Du(%Jqj>9SjF~J&ddHhk5-CcYwJfe!2A<s_YPVp2O@!xc(5? zC5$~xCH&gu%yYtd=mqK=oOr(d4MP4)hVvp&e~20eZgZBNh5%?AS1}L(tL^$Eh#!JZ z#vQe$&j122u3<OUEsOd^z%OOh)mj)luI1ydO~{t=U+T7Az!r1|K*oZ5q8a|7&%e0L zMvbe5UIhQ@Quu}G#KDJ&V*KzdY<T_2@IZSje07xPA&*bbI4Y3n^RE#g5v)4j*$CR@ zR3O%b1BtK_$rAtCiT7gc$@ZNLWGCh&UHs|>f|TyxaL2Vjyi?=y@-O8PaC@Jc?QkBv z$-}SxFc;79nZElOzY3KcKg7Z{r~#(f{&@G#7qF&@*bzH9igoA3T>>wq#J_-^DV)yR zL)X)~Ld+3d6v{W!V}O4A5c*}?gW;C;O3~-o@2EWnUqWJl9{=L|=e@fus>tIqoK&jI zfz<f?i_b6TooI4-gr2vPgCI~`NWWNCU2*>gmPy@zD4six;edY`s*uCSFSSKaMEB^8 z_K}HZcU+i+6b9(W57pTd*01X&fNa=geSazqLp|mE7ch4$ye9n+t;@|lgRZ*8{}3iz z{lfWW16P6{z}T^-q4+zP78n`AMFD~HUl|oGj5^otfSrFPnaDxE-l4W!d}{qXpY|e= z!kk@WMA=n?_2aWbK7O%PZxIpMS1y5Hlu-Q32LB4=znFhDb(`6{ZzK=Dz-3M<v?|39 zX}!^O54zgGjYUQkGr*V!^Irz_%7j3;#?Vl<LAZ#6iy{=FdHx~S&m$TJ{uPb^wjf9Z z$|mLRx=#o4Ut<Vs;M&8E<?kBrE?a7`ou~7nts8wV;#V26UFE=nt-8Umm5T7VK9H?b z?%ya_0|v^yWV>CHfg1={*7guB7(evxeBk6AV9Vk@i$p3MJpTo@#kH5|h312yA95S! zdZ^C~#t#+duE>TB?NF$B4HI7V1by~$3LgJzkNyRQ^R}tV<}of4{3~1HUpaWfh!&3M z$uw_@E;T=Rf;BCj|6=QxhT8+$C2YnoT;%IiF`@<dSH3f0uTI7y%5Gq5p^)Q1f_Xw9 zeuxtE0-|$CQh|kUA#jHZb_ZN$+_jlpKmV?50sjhLqa9%WbwL$!EIk=rv;0jU2LAc? zAF_+3h}a%w6BLm7_{C_|RzS7J5^)qj7QF=gy39`k_isSI4E6OI2Wvs-#;ev-0tdmS z+#jVXrcxSNn+T4g(m^*7=J7Ao&$Bi;ceHAea@foyj=b@cdvRvA#J_g(>NwHAf*IUM z&5K|Ylm&361>%QzBG86i2oNzx;W8gkg5cM0Fqhdgf%`?z(M!~3vu)u6Qx1dx|Jq~6 z27yGwgfQ<381pl*^G$5k1N;khL=M`Fa~sobgKu#gAHQ(Vt$hGHbBy)Nah(%a@bruE z3(*zTXM7FYhR5Ziu+P7|`wusdqO0mYBJQ&XWIldfYDaXpp=yoZMlU&Soe=~`9n@70 zqGHqMUzbFmnUJ{GI$^G_Yx?cXquNqupPcW6Cp6no+>_6L^-+_oNTw5MX(zgB7glxA zZp0<S3rqZqVXG;ZnNg82GaC{;75NA51?pAt*o*vY#yJgHygafVQE}+Nr&EdH@V&-l z4^}5X&F5d+1>9YUbU6>_)5|J9rSF6`VJ-64`TVON?^%?MWOWeL(2~)_79@-grx0k( zm-yF>=nvcjZi58+IWd6z*M^SyPUSl#{?#FI3zmc_=nC~A<c<5WyGTlqwZQ!w*Vy1P z+szXd-xX`OG^W0=ru=urx=f;gqCTI0q1uoZ%7~?RwM$xZdu1}*WjVGw5mxQ$m$?2Z zz%j~feyX1kaE(OONfaXD$w45Rk6&*Q=0{d#XGZ9VY!+Q8q<0XZ8cggi#Sh^hBAQ`x zd>;BPGd=oj=bt(OWH*=U4*^@UF<-F~S6ywA_Q~3o@;UTiu8#9xJw^OF+m1EO;~Iyk zOpEy2nU<;ueILa+FfxJrHx5(V-l`q?b=pyF!H!5lkJDkXTOtwm9oIkf&oB3e3!Rhn z*IYl}Tdd!Bgw*~qEp=Pe>PU8G1Ipo=+Pi+R{B`;iwTOFXm-rVd2}Kj1_PRlX(2aYf zU+>>&fQW4k@Gl!b8bzB%ZT&K&w3wsq6N;?)@k35~sVi_%hzKEWX)n-YI9(O5Dfju; z-B2sQDCxEbWD5pq(rB@}0{3scPbk|+MNfp^Bb;CEK}q4yte<lJ>(LT^y_Zve-DZZ~ zAb?+MFfJD_plE*l@P9~ke^lo7Shd{wxAAxpzW`)@{BX$b<@=)$Hk4~=?n(@hF_+0B z{w9U;>uOP-(Cad?S(&xw+*>QQrh#8Ff;NHpp~l^SUNjho#FCX=3cs{D0zg*eU!m<b zED579V9U8td@=9Z7WO3q{EO>bHc6fzvB!$QcnUT|iNO8yx3Gzm$TA>lA~gw01*6x1 zCpkpS1Y=6P?2C%gBimKQv?~YUSegSJ*kcvc&24g_PhmeJyEKu8pJ~=*JA2Zv5h`$o zL2Baedv=(M=wR<sJFz;vL^~+=AbvRQARWvwqV>(w_%*<<oPw<|yI8<4n2WyG>AZ~q z&YzX|ms>xNd+Zm{OLC75{&fq%LcRmRDe^ClZ=gS;+CqBJuA>L>hl<c2Jn1gR^azTF zYC|$b+QPA~yHXYRX*JrP0l(lw`uH`hr3tq*lcrO~v{QeZtmvSJQ!3vy?Ale-Z@`Y> z&m`qP+hiY+yEior%uLX~h&II8?(y?qZUxtTEE6C5l5+?2x9Cl&Y^IN2=eT}DgL*E8 zu*iuf`{M46^b@7}!yfv3nonk`Vlh2LaP0FH^PHy(+@A`ce??$3`AM|_|1d^(?1t*W zM`C+uyK7+@1SbqDn8g<D#q#0uSPJDsI3;0~_!sIAv0EZ?ChHg6)I0<}#TG$-ba&l> zUoeB1SCx0*uzbC$pLZbm_~m&Q6Uggfnb^%hMvQJIte3~Xxc(4meiCRk8-c_o4kU7* zBSz*x`-D5ss6SM`1fZ7vD22Ia(569PAHL)2m%2X+BL!NqFQJ67n7W9==U;^SaF^OI zPw>KFkKrPY!*bCz;1{L(L$>M;AR8`(E1Y42Z{vxNUpw9RB=tnQ_ny}=W6c8Z@#{Ch zzqlLkXf4J5j8IyO^<yo9{ELT!zxrW&;~FAlE4IXw+67m?3L!p1)reSJ^&C>?znIHB zkhN350>6HP`4{4cyHUyLmL2Lt+OU;(P{`reZ>T;GVaR8MnuJ{tF4W*;2RLJSigl3d zH`HxWd-R0##x;h_TC+qOkAI>55b+ko58p{w3a{kplD3W>6XBj>{RY<`J|!RH_~9Js z_4%J*jo>H->Nj{z`39A0e@$PazH?yN0sgfErT||@*@mXVhM-;ALqZkO`}K#4Z4sZP z!WLC7dLahEg2x!(U$B{ic>#C|2e0bKv;&AJ!e$P-d(6E*isNI|F1G@$7(-=EY$b#M z|57ouKhtiI%)juXAq`~z3jPJ=BEmHqfD90D2k=YlMYbJ6fPdjny>O^ArYZlB3+abt zvyDFc^&2qn5?y_CCV)(JUVq>Gz<I6*efId*)-tp~J~!%wEpJ@<`x2RS9+zLg!STZw z;aF1)D$~R{j^~|>v{~@#H#%<}av37Q7IUBB+z!$DxV;QQpne0sF-98m=LZ*+&^Eqk z>tHc{$o=72oeBKXc%A`LKs1irdi=}1|L|F%&c5-u&}K+OAqSsd_UkutYAIL9jds?X zp8^cgZdjx%_?HYLkF9_VwChb&dDSz11^5@vTsz^VNU3}J#ZfiH52x@iRl@g2aGSmT z{Azr&UDsny;a~5MFD*p>RG*W6u^$5BhuVvUoA~di1o@YMN!hKxC0!$<zm@w15@FCC zkALC*D7q|{7GV9__|J>5J$#QiqKGG>Mf`$(;n*_1J{$2vMa0gf0IVV&$bYd8avL1I z^y&})5xI#viQfw3znFhvq!EJ!sMQel340-)1nLjDG7VNM;Tp8Oeo$K{nvdg&hhLok z;^F)uyBXfN_~7}oS&XZc|8h+wm&0+{22AC<^lxT!0fHAplLoU1*u$Tsqj$qTAAq4g z$N7{T1W&(YnP)RObmrOcGZ3JI`SL;$zam8}NGRt7<Ki~h&r|YWJTCOmxAT_>ky62Z z)_wdc+IcM?sDiyK@r%Q}pp!OSeZ{{<OZese{glET$bZo@c2g?+p0;#&fa?zdWUg&t z{^c!!5+rCBM?qDr$*<qo>CTU$rL3n6Wczppef$zWez|Kwn>l`X0hz1>-}|Ke%tA=9 z5(jxA55JOVtY+hC{PNbcA7NhbFU(j1SYX(U1?v7N7e>!;$8rE@0GWgzbv1q^H8rlq zNbp5Srqr$r#1FmvmkPn97!;^qHWu*riKfI4fnO?Y$Uv6V5lA!@|MKz69aj;TyH)++ z<!<#CRf72CuDjZ+7N2W#hI7sE(DXOmzfa`fAJwD1N>7D;pYJr7E!MWz9f$6`?AkG| zKMeNybofsIWDn)+@rq#lu(YNyG6ihE1odTbY0MS))e8L5l~1dHj1Cue%cd*ihXl)C z0y2$(Z2DFBrOc^oV092N7|+N@;1^RW4q|X@aHFQURl%}&O;JD3-XNnDx7mg^s#sCA zIat&$m$`%)0(J?64Lu;^+bsh4RfJj?Y9zukx~7O&Vk&;Q=Di4H`p+tG^Ahl@-j5$L zUU)F!j;r1u*Fo1Fy7$j3*z$mkP>#Yt2L2VOKlG~QJs{)wAp@D}v(gK`f5RX9F4}gd znxFMH+FXHOrT(C+{C8^XR`9PPeg*3{xbrDq6jh@LA;7-^^TU^`grQMb(}=uhYW$F+ zh2w-k;#LT8b3?A_3j7M%jY-%9I7_a61>%Pu1YkegI1Ai^HVkCg&w==%ciTMYzm}eg z-v507S*B(33jFeQN3@zSm2ZiQ%)fm6;`3h~Y(W@aP)JPbmkAd;Ou!!c{L95Abc6G8 zh~@UcO?`lF;r@7-LKJ9&Gno9NR|)5rS@8MS6q|_)IrA_w2y`%_mH1Z?lGw!U9*w~0 zX-5R}uOfbN{>y_cCBW9f9!`qIj1E5k@?Cu;9E6bpki`|>3B(T-etGtJfbFxEaTK=- z#1DgQ*oNbtCDUzF)UQa%ZeVc<{0ladl+6sp5B)yFbd&1Op^zGvb2WZp>`S?gpAqx$ zi(Xi!_lQ@mn~ll?z7XnJrk*%Au}L6$p`+}+(AULpTC;|f@D(M{*98RUCWVzGwU8}4 z?P}BTg>>-=JW2IWQYb|$aZ;m9Dxn5KS@DT2RGSw%%f1!*y8KOh*6>wA@mntlN|pYw zwEq{TU7^nX)(f3REW{Ui;}0o$f;4RRi7bxm_OkZg?%bX6SrtV=3yI$D{GEweR2)|% z^i}$rGb>rv<qACzev^bVBWVcR{gxyWDBm_H<O^=t5dXcb*q;<aiD^O-zzzsyY4*sL zdEa_Ll%+zyMZck@g#|H7PFoe~#FJTmpM{>nJw}TN33FE{%iwR5yHASaYB!R-5qr65 zfw}mC+{90u8QyvkB`HEWfxIQrbtN<#-V;*)u%=1bWzRH?!J_bdS+k>_IJVp7h4!*k z?@IeO%vtH8&{vi^(8*6^aa`?JjvF(PbZ5dJSG$qwt+j76XJ|zsZLI2@Zr|29!*7!+ zTN(Nd`kI_o5<<1q&QC;fy~;z&WOu5jwk#lg*?mG@pD`|y!nSy?La4Kl01Fv%S)J8s z6x+OToBm~aJoUNSN?$mreYtmtpA^6K!fj>u^?p6|o3&*JJz>_tY4`Q6#1rU+J3qJH zrr#%DP2F5uc~A+z1|f7`FF(27nNe)x|GF<2H_6$lui`!4dXZMtrnDz?q(eRZo%S`R zA>G#ym51(<D^u6hmOT)<tKSvM?&|HtlUc<!w~Df!(AViVX_ljeuTl*JwWs}W-P%qm zS!<V@p|ldzhD~9;@I-ojE^9YXm20<~R$2*IINXfCww9k1+uYh-25qwMG-qinB)=A! z)gBVgop@44-nc?~sN1<SIV)1OJRrzB?OA4-2zdiDvBs8CUlyo?LZ&59wG4$W4*k}4 zjij_~)NZnXvOX4iGj<G>zuvbn_EcykwCM)d?66u*bDzvA_W1>&U!h->vaAQl%o<nx z7#Yb>gqD-#l!O$S>WSZm^(*D+mr|=yYCs$H#A{R*x=D0(&#W<CC<!x2h?$n*6yH-{ zw)((tCx2tptRI$yPDeeF#WsXpivoQDNI;O9O*lCbLR^xcc>m0fyJytO+v;XySSY(K z1R*t}wjWRYHgs$Ej6035g=Ps~=qNt%-&5DF{s_WavnX^Hg<=z`2x(H}thjNt;J1nB zU!~*D=aQ9Oo-iFkNIen7My7&*UkhTvG!Gq|Vw?Kf&V$xX{hRLcgved>mT;<*{hR8F zO{neiip&3S`P}6Xt`__@zlxCfm++$J-^%Z~mxaNXf`b3+3tGC4&HTmC$lFR-5ET42 zw|w_Y|MvZ-#@;&5!Xr12J$U|>HJt}%?ixGuCw`ld)*~LZK4VNjaD`Aa-6=LQrsA>> z&=CAKnrAMI^c6y_A&c)J`glAowlR%wg=WiNw`UArB{;=4ANwBIjba<K2**AydqN6l z!o7d<jN5ywa~(ToTrGGlOeaFhbR|PwR|!H<8Adj`5|_Ovuq;XSCe!iN#?=<+Pf76G z7%AY)Z8Sq(Ex2v0kkC@Jm2LzlyGlsAoffx#BrdxE?YK5dplJY?eSi+)vOouuGGgl{ z;b!0~1gG>Z4^Pu2JoTPP?^~gd!e!4xk?woCL+w}ny8lA2jkr}9-Ju$~m1bNmw7cKx zq;gs&t&~w4x>|5QMV-L7ATIj=&4SlP08g*PW&err?0o1p<G$Y6sb8<1aqud^abF}t zw`upuM^m4voqq5t!E4ifYZ2dPmGHd?(1XSG`dIz)aamyOcgfmRd2Q%{s|4xxhi*+7 zYeIAA*X4}DRYGxZV7;c`vI1z^MQZOo0_!yemwkX{Tz0?3`%v^+b_e@fMFEj$^@NJ! zT29?gO|mQ!x>^w4d!Q;oT=oGvfXn#S6kPTJnuX%GLgH$*@}GF$`ephhy*8M`#i1%% zF0H~<f;WfV1kD%7;v00}D#7vILuGW6h;-{UsJOjS7%YBkxsf_ho4hSDqwgv~dUF^O z496vNqIm%AK2a|cp-zTlMq!1^Qv_N3mH-OZ7`KLIe1uS3uYfNWT=R6mNBR|TS={<X z{j1{m=;szzUM+~?xH_+b03Q?_x6ecj$JIq#o+2zOHu?V)m#4yU5upFG|E;UxxcKA) zzs(d}_5oT6ej6OM<*N-V_{?od7~v;=8wyfEqA4KcH&T^cLbIq}tD}sFd4K;Gg5Tt$ z-!r0KSZt)+J(Ub)zb~@@Sy5NOZgc;A><;A3>9@J!J)B)t?}6aG$-HteFDUMA2!5N2 ze(f>ZA?8_E3w|4qcug_zp6&PhgJ4e`JGGdfD}~~FESi=KjnE&_Z09Or&_xUk@Ty<u zCnM$`X_ogMa`mw|n4-@1k}drCLAPY_2LVC#usDaHD83jJMrZ;4(~X%2pMRX(((-XX z!SiVJm;CVmuOGEtzI@r?mtQUTpS=1<{*(V@+e}g6sY>nl`J;8vRcgP{NA59q_xf#q z1)Jb&+|`2jnqR8RMZG9#?$z%pwfX2>&zswCbF~WlPy9B&M3?<GAFYFGeu{1WU+8l1 zJs+dXuFCpL@sYah>A%<LV|3a5=_k7UQKsO3uD+KR_v54_{?avXw<NWH;p5tT^8Aw- z_+$n?nSoDc;FB5nWClK&f&a)ep!_8`Oz@Y)f8=@iWbB{Jz$Y{C$qall1E0*mCo}LL qa|V#*4-x&=|CJ<(|0O+1V*0N#6JGnWB#zN>d-pvDN@*$YCI1h?ZYib! diff --git a/fpga/fpga_hf.v b/fpga/fpga_hf.v index 264e1b0c..f99a43dd 100644 --- a/fpga/fpga_hf.v +++ b/fpga/fpga_hf.v @@ -73,6 +73,8 @@ wire hi_read_tx_shallow_modulation = conf_word[0]; wire hi_read_rx_xcorr_848 = conf_word[0]; // and whether to drive the coil (reader) or just short it (snooper) wire hi_read_rx_xcorr_snoop = conf_word[1]; +// divide subcarrier frequency by 4 +wire hi_read_rx_xcorr_quarter = conf_word[2]; // For the high-frequency simulated tag: what kind of modulation to use. wire [2:0] hi_simulate_mod_type = conf_word[2:0]; @@ -100,7 +102,7 @@ hi_read_rx_xcorr hrxc( hrxc_ssp_frame, hrxc_ssp_din, ssp_dout, hrxc_ssp_clk, cross_hi, cross_lo, hrxc_dbg, - hi_read_rx_xcorr_848, hi_read_rx_xcorr_snoop + hi_read_rx_xcorr_848, hi_read_rx_xcorr_snoop, hi_read_rx_xcorr_quarter ); hi_simulate hs( diff --git a/fpga/hi_read_rx_xcorr.v b/fpga/hi_read_rx_xcorr.v index 80e36327..afa46c44 100644 --- a/fpga/hi_read_rx_xcorr.v +++ b/fpga/hi_read_rx_xcorr.v @@ -10,7 +10,7 @@ module hi_read_rx_xcorr( ssp_frame, ssp_din, ssp_dout, ssp_clk, cross_hi, cross_lo, dbg, - xcorr_is_848, snoop + xcorr_is_848, snoop, xcorr_quarter_freq ); input pck0, ck_1356meg, ck_1356megb; output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; @@ -20,7 +20,7 @@ module hi_read_rx_xcorr( output ssp_frame, ssp_din, ssp_clk; input cross_hi, cross_lo; output dbg; - input xcorr_is_848, snoop; + input xcorr_is_848, snoop, xcorr_quarter_freq; // Carrier is steady on through this, unless we're snooping. assign pwr_hi = ck_1356megb & (~snoop); @@ -28,19 +28,21 @@ assign pwr_oe1 = 1'b0; assign pwr_oe3 = 1'b0; assign pwr_oe4 = 1'b0; -// Clock divider -reg [0:0] fc_divider; +reg [2:0] fc_div; always @(negedge ck_1356megb) - fc_divider <= fc_divider + 1; -wire fc_div2 = fc_divider[0]; + fc_div <= fc_div + 1; -reg adc_clk; -always @(ck_1356megb) - if (xcorr_is_848) +(* clock_signal = "yes" *) reg adc_clk; // sample frequency, always 16 * fc +always @(ck_1356megb, xcorr_is_848, xcorr_quarter_freq, fc_div) + if (xcorr_is_848 & ~xcorr_quarter_freq) // fc = 847.5 kHz adc_clk <= ck_1356megb; - else - adc_clk <= fc_div2; - + else if (~xcorr_is_848 & ~xcorr_quarter_freq) // fc = 424.25 kHz + adc_clk <= fc_div[0]; + else if (xcorr_is_848 & xcorr_quarter_freq) // fc = 212.125 kHz + adc_clk <= fc_div[1]; + else // fc = 106.0625 kHz + adc_clk <= fc_div[2]; + // When we're a reader, we just need to do the BPSK demod; but when we're an // eavesdropper, we also need to pick out the commands sent by the reader, // using AM. Do this the same way that we do it for the simulated tag. @@ -71,8 +73,7 @@ end // so we need a 6-bit counter. reg [5:0] corr_i_cnt; // And a couple of registers in which to accumulate the correlations. -// we would add at most 32 times adc_d, the result can be held in 13 bits. -// Need one additional bit because it can be negative as well +// we would add/sub at most 32 times adc_d, the signed result can be held in 14 bits. reg signed [13:0] corr_i_accum; reg signed [13:0] corr_q_accum; reg signed [7:0] corr_i_out; @@ -84,7 +85,7 @@ reg ssp_frame; always @(negedge adc_clk) begin - corr_i_cnt <= corr_i_cnt + 1; + corr_i_cnt <= corr_i_cnt + 1; end -- 2.39.5