From cd028159be9a6a3d7b158d2076cc94bf2b4f1143 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Wed, 13 Nov 2019 16:42:29 +0100 Subject: [PATCH] implement 'hf iclass snoop -j' * fix long option --jam * make room for one more bit for FPGA minor mode * new mode FPGA_HF_READER_MODE_SEND_JAM * implement jamming in Handle15693SampleFromReader --- armsrc/fpgaloader.c | 19 +++++-------- armsrc/fpgaloader.h | 27 +++++++++--------- armsrc/iso15693.c | 62 +++++++++++++++++++++++++++++------------ client/cmdhficlass.c | 2 +- common/iso15693tools.c | 5 ++-- common/iso15693tools.h | 3 +- fpga/fpga_hf.bit | Bin 42175 -> 42175 bytes fpga/fpga_hf.v | 21 +++++++++----- fpga/fpga_lf.bit | Bin 42175 -> 42175 bytes fpga/fpga_lf.v | 17 +++++------ fpga/hi_iso14443a.v | 2 +- fpga/hi_reader.v | 24 ++++++++++++++-- fpga/hi_simulate.v | 2 +- 13 files changed, 116 insertions(+), 68 deletions(-) diff --git a/armsrc/fpgaloader.c b/armsrc/fpgaloader.c index 5ca0cce1..8693d6b5 100644 --- a/armsrc/fpgaloader.c +++ b/armsrc/fpgaloader.c @@ -115,8 +115,7 @@ void SetupSpi(int mode) // Set up the synchronous serial port with the set of options that fits // the FPGA mode. Both RX and TX are always enabled. //----------------------------------------------------------------------------- -void FpgaSetupSsc(uint8_t FPGA_mode) -{ +void FpgaSetupSsc(uint16_t FPGA_mode) { // First configure the GPIOs, and get ourselves a clock. AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_FRAME | @@ -136,7 +135,7 @@ void FpgaSetupSsc(uint8_t FPGA_mode) // 8, 16 or 32 bits per transfer, no loopback, MSB first, 1 transfer per sync // pulse, no output sync - if ((FPGA_mode & 0xe0) == FPGA_MAJOR_MODE_HF_READER && FpgaGetCurrent() == FPGA_BITSTREAM_HF) { + if ((FPGA_mode & 0x1c0) == FPGA_MAJOR_MODE_HF_READER && FpgaGetCurrent() == FPGA_BITSTREAM_HF) { AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(16) | AT91C_SSC_MSBF | SSC_FRAME_MODE_WORDS_PER_TRANSFER(0); } else { AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(8) | AT91C_SSC_MSBF | SSC_FRAME_MODE_WORDS_PER_TRANSFER(0); @@ -450,10 +449,9 @@ void FpgaDownloadAndGo(int bitstream_version) // The bit format is: C3 C2 C1 C0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 // where C is the 4 bit command and D is the 12 bit data //----------------------------------------------------------------------------- -void FpgaSendCommand(uint16_t cmd, uint16_t v) -{ +void FpgaSendCommand(uint16_t cmd, uint16_t v) { SetupSpi(SPI_FPGA_MODE); - while ((AT91C_BASE_SPI->SPI_SR & AT91C_SPI_TXEMPTY) == 0); // wait for the transfer to complete + while ((AT91C_BASE_SPI->SPI_SR & AT91C_SPI_TXEMPTY) == 0); // wait for the transfer to complete AT91C_BASE_SPI->SPI_TDR = AT91C_SPI_LASTXFER | cmd | v; // send the data } @@ -462,21 +460,18 @@ void FpgaSendCommand(uint16_t cmd, uint16_t v) // vs. clone vs. etc.). This is now a special case of FpgaSendCommand() to // avoid changing this function's occurence everywhere in the source code. //----------------------------------------------------------------------------- -void FpgaWriteConfWord(uint16_t v) -{ +void FpgaWriteConfWord(uint16_t v) { FpgaSendCommand(FPGA_CMD_SET_CONFREG, v); } //----------------------------------------------------------------------------- // enable/disable FPGA internal tracing //----------------------------------------------------------------------------- -void FpgaEnableTracing(void) -{ +void FpgaEnableTracing(void) { FpgaSendCommand(FPGA_CMD_TRACE_ENABLE, 1); } -void FpgaDisableTracing(void) -{ +void FpgaDisableTracing(void) { FpgaSendCommand(FPGA_CMD_TRACE_ENABLE, 0); } diff --git a/armsrc/fpgaloader.h b/armsrc/fpgaloader.h index 42f9ccc6..09eaec42 100644 --- a/armsrc/fpgaloader.h +++ b/armsrc/fpgaloader.h @@ -19,7 +19,7 @@ void FpgaSendCommand(uint16_t cmd, uint16_t v); void FpgaWriteConfWord(uint16_t v); void FpgaDownloadAndGo(int bitstream_version); -void FpgaSetupSsc(uint8_t mode); +void FpgaSetupSsc(uint16_t mode); void SetupSpi(int mode); bool FpgaSetupSscDma(uint8_t *buf, uint16_t sample_count); void Fpga_print_status(); @@ -45,17 +45,17 @@ void SetAdcMuxFor(uint32_t whichGpio); // Definitions for the FPGA configuration word. // LF -#define FPGA_MAJOR_MODE_LF_ADC (0<<5) -#define FPGA_MAJOR_MODE_LF_EDGE_DETECT (1<<5) -#define FPGA_MAJOR_MODE_LF_PASSTHRU (2<<5) +#define FPGA_MAJOR_MODE_LF_ADC (0<<6) +#define FPGA_MAJOR_MODE_LF_EDGE_DETECT (1<<6) +#define FPGA_MAJOR_MODE_LF_PASSTHRU (2<<6) // HF -#define FPGA_MAJOR_MODE_HF_READER (0<<5) -#define FPGA_MAJOR_MODE_HF_SIMULATOR (1<<5) -#define FPGA_MAJOR_MODE_HF_ISO14443A (2<<5) -#define FPGA_MAJOR_MODE_HF_SNOOP (3<<5) -#define FPGA_MAJOR_MODE_HF_GET_TRACE (4<<5) +#define FPGA_MAJOR_MODE_HF_READER (0<<6) +#define FPGA_MAJOR_MODE_HF_SIMULATOR (1<<6) +#define FPGA_MAJOR_MODE_HF_ISO14443A (2<<6) +#define FPGA_MAJOR_MODE_HF_SNOOP (3<<6) +#define FPGA_MAJOR_MODE_HF_GET_TRACE (4<<6) // BOTH -#define FPGA_MAJOR_MODE_OFF (7<<5) +#define FPGA_MAJOR_MODE_OFF (7<<6) // Options for LF_ADC #define FPGA_LF_ADC_READER_FIELD (1<<0) @@ -74,10 +74,11 @@ void SetAdcMuxFor(uint32_t whichGpio); #define FPGA_HF_READER_MODE_SNOOP_IQ (5<<0) #define FPGA_HF_READER_MODE_SNOOP_AMPLITUDE (6<<0) #define FPGA_HF_READER_MODE_SNOOP_PHASE (7<<0) +#define FPGA_HF_READER_MODE_SEND_JAM (8<<0) -#define FPGA_HF_READER_SUBCARRIER_848_KHZ (0<<3) -#define FPGA_HF_READER_SUBCARRIER_424_KHZ (1<<3) -#define FPGA_HF_READER_SUBCARRIER_212_KHZ (2<<3) +#define FPGA_HF_READER_SUBCARRIER_848_KHZ (0<<4) +#define FPGA_HF_READER_SUBCARRIER_424_KHZ (1<<4) +#define FPGA_HF_READER_SUBCARRIER_212_KHZ (2<<4) // Options for the HF simulated tag, how to modulate #define FPGA_HF_SIMULATOR_NO_MODULATION (0<<0) diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index 9c50c036..f10b0206 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -84,7 +84,7 @@ static int DEBUG = 0; /////////////////////////////////////////////////////////////////////// // buffers -#define ISO15693_DMA_BUFFER_SIZE 128 // must be a power of 2 +#define ISO15693_DMA_BUFFER_SIZE 256 // must be a power of 2 #define ISO15693_MAX_RESPONSE_LENGTH 36 // allows read single block with the maximum block size of 256bits. Read multiple blocks not supported yet #define ISO15693_MAX_COMMAND_LENGTH 45 // allows write single block with the maximum block size of 256bits. Write multiple blocks not supported yet @@ -341,11 +341,6 @@ void TransmitTo15693Reader(const uint8_t *cmd, size_t len, uint32_t *start_time, } -static void jam(void) { - // send a short burst to jam the reader signal -} - - //============================================================================= // An ISO 15693 decoder for tag responses (one subcarrier only). // Uses cross correlation to identify each bit and EOF. @@ -392,7 +387,7 @@ typedef struct DecodeTag { } DecodeTag_t; -static int inline __attribute__((always_inline)) Handle15693SamplesFromTag(uint16_t amplitude, DecodeTag_t *restrict DecodeTag) { +static int inline __attribute__((always_inline)) Handle15693SamplesFromTag(uint16_t amplitude, DecodeTag_t *DecodeTag) { switch (DecodeTag->state) { case STATE_TAG_SOF_LOW: // waiting for a rising edge @@ -745,7 +740,8 @@ typedef struct DecodeReader { STATE_READER_AWAIT_2ND_RISING_EDGE_OF_SOF, STATE_READER_AWAIT_END_OF_SOF_1_OUT_OF_4, STATE_READER_RECEIVE_DATA_1_OUT_OF_4, - STATE_READER_RECEIVE_DATA_1_OUT_OF_256 + STATE_READER_RECEIVE_DATA_1_OUT_OF_256, + STATE_READER_RECEIVE_JAMMING } state; enum { CODING_1_OUT_OF_4, @@ -781,7 +777,7 @@ static void DecodeReaderReset(DecodeReader_t* DecodeReader) { } -static int inline __attribute__((always_inline)) Handle15693SampleFromReader(bool bit, DecodeReader_t *restrict DecodeReader) { +static int inline __attribute__((always_inline)) Handle15693SampleFromReader(bool bit, DecodeReader_t *DecodeReader) { switch (DecodeReader->state) { case STATE_READER_UNSYNCD: // wait for unmodulated carrier @@ -920,12 +916,6 @@ static int inline __attribute__((always_inline)) Handle15693SampleFromReader(boo } if (DecodeReader->bitCount == 15) { // we have a full byte DecodeReader->output[DecodeReader->byteCount++] = DecodeReader->shiftReg; - if (DecodeReader->byteCount == DecodeReader->jam_search_len) { - if (!memcmp(DecodeReader->output, DecodeReader->jam_search_string, DecodeReader->jam_search_len)) { - jam(); // send a jamming signal - Dbprintf("JAMMING!"); - } - } if (DecodeReader->byteCount > DecodeReader->byteCountMax) { // buffer overflow, give up LED_B_OFF(); @@ -933,6 +923,13 @@ static int inline __attribute__((always_inline)) Handle15693SampleFromReader(boo } DecodeReader->bitCount = 0; DecodeReader->shiftReg = 0; + if (DecodeReader->byteCount == DecodeReader->jam_search_len) { + if (!memcmp(DecodeReader->output, DecodeReader->jam_search_string, DecodeReader->jam_search_len)) { + LED_D_ON(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER | FPGA_HF_READER_MODE_SEND_JAM); + DecodeReader->state = STATE_READER_RECEIVE_JAMMING; + } + } } else { DecodeReader->bitCount++; } @@ -968,11 +965,42 @@ static int inline __attribute__((always_inline)) Handle15693SampleFromReader(boo LED_B_OFF(); DecodeReaderReset(DecodeReader); } + if (DecodeReader->byteCount == DecodeReader->jam_search_len) { + if (!memcmp(DecodeReader->output, DecodeReader->jam_search_string, DecodeReader->jam_search_len)) { + LED_D_ON(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER | FPGA_HF_READER_MODE_SEND_JAM); + DecodeReader->state = STATE_READER_RECEIVE_JAMMING; + } + } } DecodeReader->bitCount++; } break; + case STATE_READER_RECEIVE_JAMMING: + DecodeReader->posCount++; + if (DecodeReader->Coding == CODING_1_OUT_OF_4) { + if (DecodeReader->posCount == 7*16) { // 7 bits jammed + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER | FPGA_HF_READER_MODE_SNOOP_AMPLITUDE); // stop jamming + // FpgaDisableTracing(); + LED_D_OFF(); + } else if (DecodeReader->posCount == 8*16) { + DecodeReader->posCount = 0; + DecodeReader->output[DecodeReader->byteCount++] = 0x00; + DecodeReader->state = STATE_READER_RECEIVE_DATA_1_OUT_OF_4; + } + } else { + if (DecodeReader->posCount == 7*256) { // 7 bits jammend + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER | FPGA_HF_READER_MODE_SNOOP_AMPLITUDE); // stop jamming + LED_D_OFF(); + } else if (DecodeReader->posCount == 8*256) { + DecodeReader->posCount = 0; + DecodeReader->output[DecodeReader->byteCount++] = 0x00; + DecodeReader->state = STATE_READER_RECEIVE_DATA_1_OUT_OF_256; + } + } + break; + default: LED_B_OFF(); DecodeReaderReset(DecodeReader); @@ -1212,7 +1240,7 @@ void SnoopIso15693(uint8_t jam_search_len, uint8_t *jam_search_string) { if (upTo >= dmaBuf + ISO15693_DMA_BUFFER_SIZE) { // we have read all of the DMA buffer content. upTo = dmaBuf; // start reading the circular buffer from the beginning if (behindBy > (9*ISO15693_DMA_BUFFER_SIZE/10)) { - FpgaDisableTracing(); + // FpgaDisableTracing(); Dbprintf("About to blow circular buffer - aborted! behindBy=%d, samples=%d", behindBy, samples); break; } @@ -1305,8 +1333,6 @@ void SnoopIso15693(uint8_t jam_search_len, uint8_t *jam_search_string) { FpgaDisableSscDma(); - LEDsoff(); - DbpString("Snoop statistics:"); Dbprintf(" ExpectTagAnswer: %d, TagIsActive: %d, ReaderIsActive: %d", ExpectTagAnswer, TagIsActive, ReaderIsActive); Dbprintf(" DecodeTag State: %d", DecodeTag.state); diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 00493166..b59c0bdc 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -180,7 +180,7 @@ static int CmdHFiClassSnoop(const char *Cmd) { CLIParserInit("hf iclass snoop", "\nSnoop a communication between an iClass Reader and an iClass Tag.", NULL); void* argtable[] = { arg_param_begin, - arg_lit0("j", "--jam", "Jam (prevent) e-purse Updates"), + arg_lit0("j", "jam", "Jam (prevent) e-purse Updates"), arg_param_end }; if (CLIParserParseString(Cmd, argtable, arg_getsize(argtable), true)){ diff --git a/common/iso15693tools.c b/common/iso15693tools.c index 2da6c7f9..0769eefb 100644 --- a/common/iso15693tools.c +++ b/common/iso15693tools.c @@ -9,9 +9,8 @@ #include "iso15693tools.h" -#include "proxmark3.h" +#include #include -#include #ifdef ON_DEVICE #include "printf.h" #else @@ -90,7 +89,7 @@ uint16_t iclass_crc16(char *data_p, unsigned short length) { crc = ~crc; data = crc; crc = (crc << 8) | (data >> 8 & 0xff); - crc = crc ^ 0xBC3; + crc = crc ^ 0x0BC3; return (crc); } diff --git a/common/iso15693tools.h b/common/iso15693tools.h index a2eab293..b421c23f 100644 --- a/common/iso15693tools.h +++ b/common/iso15693tools.h @@ -4,9 +4,10 @@ #ifndef ISO15693TOOLS_H__ #define ISO15693TOOLS_H__ +#include + // ISO15693 CRC #define ISO15693_CRC_CHECK ((uint16_t)(~0xF0B8 & 0xFFFF)) // use this for checking of a correct crc - uint16_t Iso15693Crc(uint8_t *v, int n); int Iso15693AddCrc(uint8_t *req, int n); char* Iso15693sprintUID(char *target, uint8_t *uid); diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 3899059714dcdd9904577d9aaa21d64cf3efdbd5..ea7c7ebf542072256f4e1e177089d13003642b3a 100644 GIT binary patch literal 42175 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 N6yfLSBUk_J{{rV?^``&; literal 42175 zcma&Pe|%Kcxi9?ewRghK>`7)P1V2%c?o0w5;v^X+h!MkN5z@Y+U`cy?@5}Am(=$-o zL%p^qdU|>|J-xjvGXW+E$cVJ2miBC7)M#lt0wP+)O^7-mNVJ~b=<&28jW$}^21+$R zg!j8c)m|eq|$VAXo4on*!gyXGtJHUm+tHSaM6_l0f5fWAsJ*m)J7 zCw};Ue=R^lA)+|}B_jV{4=9#GqP0Fij{I+$`SX$h;rsl5D*@uvLA76@3i<8->7$9v zpZph|QP}_K9hvX5@A5#|S4oV*czEAwhU?e^9h zJJ@6T1eNns6mqK#R!t(7fM?_jzzqCspl8iD2LkEmlLr_7A#BlWK>Sc~4q7 ztoY8+4VH3(urFg)!s9&By6zdobnhHWt#@Jwe_7h?=HL6cqlX zYHF5zCRL=9(Ql3EgB5-{KweG<*;)Ff^{~(cFBKduUiKb->~DGnVx-5Sl4~WtblMUhFkj! zC3m?4bJv*Xs71JwpRQo?HN;E%>0|oT$ec-an*TF>N-UTxzd+N}BpT1Dqs0;V%uvw? z9oK@6N2n=!Md`HGbg$YZ#}#)UQ0ubm6)sO`F|*n+I@sH^jjA2pj8@ViTH5UoMk})O z?9c^IuZu4-G~#J)(+iRwZ9I}FAoe=A%$OnqtJF5`LcNi7z}L@i}yA}JOL zJ-{lm>pn5BpPxt_5T3MpiM_;|5^hWVj<{0QB;2;KJo{T=dWTK%WhVNZcBbfv`43yw zv_3^4DiiAKFkyUjbDY0o2k&t|6kEiOn?de5Xw=e05#(;uVA{jGVA(&MaQ z)VSX}PR|gA++X~jehUrB*(lDgg!`VE7yl#t^|7!x!}-*b$ldX}a(elN8%sSX!MWS@D_>vT%A+MY4>8amz8 z^iEldUE(Jb=hE(r$0)mAL*@5Jwo*MAzpj`c-o}?WdS~$)pV=CyPWd`n-Hac@LU!x* zu)%?)w5@8PRT!#FuNac&vMgA`s=0FL>$lg`5l%1wsWH}`Prf1iE zXx;#w5TVa|`i;eH&ginydKgjkE#BmmP8u`6B`D1>F7k+)_d8%#yUPx#f2^IbLQYu{ zPA?#TOED*{tJL~V>8P3%(`GQ~anv}Sv{c7EsXFbMXS%cv^h?{H)Z-PuGp8J{X&h#M zrkFF}lqOl4oANzE*+9>V2CZZldsq7)GqQlw*=U5*1kyJL>F1eDNWQ2(l3>u0_QM<9d)Y%|LkP#%f4X}{;-wM)k(U5 z#!d(B{UhyW=e|jGB5Pk6{IZ&AJ+G?)IvH)M-8rUSq0@9=+`U;1lt(gsHjh#~;&qJe ztlH`mUT!3!XQMlZYMk(4mcy@9I#y++`gXf06$Oy>Rd`QYv4AzA?~i&BPT=Fri&GE7 zU+-sDpx4?kX(ZU6%$VXmim}h&7oYcMaU!zc@$6BRj^iR|d7i-@dxe6I|GAhsi(fD3 zS9Z0I!zY}vuEtu0XKc;|;8*LY=iL9u;nzL~e=D(ew^~gnC|CtMJxiA<>69G=e#!0t zzZ$5g660DD{ke#id!NyhbNA5;X$8wA+rZ7RZ9b|gX0_-fOE|ABs z3hLfpJ=izKc6IL%3peVU*-z+cQ4J?u5zf9RtZQ__XODO)RZN8WsN-9ro=SUvE9;ZwEfbicP``5NViPnVMRwt|v>5xT#QgirqG%%&Z zzPkI;)Xzh#tV>Os05WPUz%Q(_xu3g#sD2jX3P#*XbzHj$4_TH_XYq@^>U0T-R_a3P z0+7`w+Qv=ks9gp4Rg3TmJxoNux~tFfwpS$>oVhX}pUL4@ks9N6hc8jA@gB|Ecx^cw z;m`Q2u+Mbm@ym>h0J(c(Ul}@~1k2ss>N_;m8C1%O^7!><;Mbf8mg!LUReFAt=b^bD zc3-5{GJKQ6uW|aT65{Srbt#>q6%sGT3FB(3H}m+Ffh~zv7SjP_VNsFRl86UgpTMst z6+dq_i#4;0`MJ+z637O5Nfr9sDfe^Lyg}s|vO4sH>(kUD8hAJ}cBDZZb| zy4C8oiOvvU%dj$t2K;i(;8&4PyRX_SQh$s#Yxg;x-7cH?ST9NZa=Eg0;VW884+z*- zv+EnwCH#{Jjj-9sa`b@LmBlYxSrGUE)ueh%_9g13`Zm|Uum$bg$V%zwy}s;whV)|Z z8)C^>&t~;@dReSUyQfx#=w)Zgl>2)|9h1{T`VBv$52$7Ib4hiO{zD5Xp5#i{4nH#5 zcyJcKsOSn^6|HAHQ_3>BB3dK<&1#6QI!%-AX_d^(JP(!c=7)Iwh|yLt4`E?_yMB-Q zCHM^h**RAZzY=uN1b%fEoBZi@^&BDbm-y2Jf7prMSh7DB@N565-&tMjs)bAOcj|}P z=g{z`F$p>RdcwKnv>x;L)LIx?=!|voAhLb zoAtq(N(0QA!LK489Tu>!E@n}$)ewm%i~ZC`b-=GSE4vnOb(Aa~aIl|+87*$$dcft+ ztZ7Md*1o886HQT*19Jf1kp_}f{ki_+@oSn|oeX|W!*)Cf?4_S~(8%G}RQ#mUB%#fu zlZX%3IIH%{hD5y_{~F_Q;k8u3ycCbtMf4pAZilKYu^JYajT7QUDO+G!47N)sf+BPs zRrt+VExs|CH)~(cydeUQV}^*@N}Mv`rGMp5HRd4l%;DDroiYzpdd7`IbTZK7eD0un zqZPl+YkF)WhhK*)E{c%lvFCoPZ892i8Yfq6rfK~J6MiFyUvWB0!Af^6);*;MyWIhG zu_-q#8lzeJN)4i>M#h!z`735BL{FDd2!j=-yw^ zQmUV)Ze+t|3v-+5>r8HE;x`<&u2AcU@ft?)XY>!hk9un`dqRZ zCi7TVy?x#0T|wp1?s^;eHJP=qaAitISm=~IQ*lS)Va-42YOc709;OCIZ^C;rG0DWd z!!*o;;%Bz;bvTDmSJ@+Tmx~XmHR?XAUdsMfn9?+*w@6nz;^qVeVytXG1iXZcsH z*+UO=eUvTLc0|6?rtfAW)WaK2fP=i0T?@Uvh_+BQulhXV`7N}NmjDae@2~K;>*cfY zq2yn2gipSGhL@$HO%{Oc9hRC1Enjor!+*-!SO2xYr;9w);rU6)yL55o{0@(~>eu3; z-THMfvI6`%HPjSwzojk{AB(2Q^^$)r1X%;3<@i^c;w!zT#4kFmc!eRnX&PfK6n~5xqMlX0$D9UsdJZ61zD@TASfthz~J#@~te{MW4;Cg*|Va z9jE=0ZGqm>{thD%dpFt>Z&+8KFgDHbFJ%x6u|={i3AK`lspIWnWNl^rYAx@O|ZS^Aq?*&yv?RK46!`Z#q70htGPa%p>udgv(+%{8~c?L}c7R zXkNnoB*w`zk$HvT!oq>3!Qo^yRpgu%Yal4(SW% zFW_Imuiw!B7A@}}{Qiykk+>zjeY5dI*1jZuUDm+A#HtApu|*C7RN6Qma0sZve;u96A2=9Nz|P(%W70%|qqYRKnHK$iFL%TtA=Z zUwfqKIXY)|@`Kv?5u=m6LEoo(QPMffzpToW@anKiVx0C2s#wCgWC6fJuajf|Zt<~04* zYE8Kvqg6XaP2Ms`ebzihOGMcu%ki(f%|6kP*1MV461Cn%eR1y@^YL~sxh7S67Qg(2 zUw3qc`LrGr!GFB%?3TWc4ZJtczciqgk{K6KjM-G8vo?%09jOYis3K>XsPwz^AJTo% zTnii03-Y+?B%EbXlojx=Y01C1#{pXgkO7ivz{uGDqP3IiP;n-fko@c8M62T-Q!j{D zMN`1txoQDHKP310njC(;!w*}Hqp*v#JtkZ_{Cop`y^iY#n4R@4z%TQF<{!~bHtzJ2 zC42#haxsbsJplfd{jGU}_Oo*A{n2rHh*|b+c#rZUsvC|cSu$&1d>(v)9M_(jcj2G+ z+wOqjv0h0)$&tEW<~?cU5KTK+uTl1)xWd7|CSzG#{)c29zlP|t-r~4-s}QEFkZ4HO zz~O^3VSdb6{Hle0H4f|D(PJ#e8=UZ@`c*R%ZxrZW6d=2m`GvT@SIbpcq8440p{=v@iXSeD-;r*bnGy_h@5PY{2^+k>AYX7oDZ!476*Hs#(D0yVk&Gg588R`OO^v(l%E0q`jSxa3K;p z4V~DK;8xrp2^aD&7Bjtf;v2tZR5x^hcHtR@Ah3{sQ5Odm>~7QAyQrbPu6!4`Ov2r+ zS48vti&9F^@{>_xpHM<(88lCGiieiFqef0Y{5^dvj&!b_Qa%(HmDWwA53PEGp0Zmv zd3MES@k;^1vS3Fk_96X|f)cje^q;)79iWiMuS&#qK3|-rU2*0Tx^Vee+-|TCAKsUp zXQ?0l5VA(tWFy*M#5ypvTBuKVhY=s<_}8P7o@Ho|C8n(@ccIcqYfc1Y(j9 z-5150ro^`;Y*o{k8KOCb{L6fnH%PT`LTsf_qAtD5=lmS3+pyK!v$*3c0)BBn?{8+O zgmmU5WiFw_gu5Mxmg8UZ#nbSI@jKZxZR0lzqmvz^$Ecp8u_=dN;-mNq3v}r%<>jvW zNPSA(#a|RFBA&}?j(_bVP?&`J1N9XAe9Luk1slct5}@}N@Gt8naqB%`TmM@>o%mGR zJ)vG_?o2d}yQg9W__Y;ys&_<3X`6oSh`zq!egayJxH{Djvhz&zWBNB*O#0{9ByG_e zNsqwyY=NTaD&Sv#V!J9V(QJB;a_Af6v*3n6oF`oY7SFEx(7fm1C6;sdGwc8W6E|}Bx*Y$KY|FdSc$7_8k2?*c*sJ)) z@xEBdzuXE^NDfxehGx~^xQO`?_xc=+YsS8)^lrHKfLLqKnIJ3yVgLAn)UrP+sT~sH z>>J?K*$ad|C+SPHf;=4jD6BPe>kcam5P002_Jg0I(PX=&>X^kHbDVla z8P}uHI*^Du%wZ6gBD{7A7MGppRMEKIrTBHkkZwZS>nOq}*{~f%7iV(##jrXNcoO8l zXh`Vh)jQWIqw9aaCgO&KZbssilW}cJEg2Ypzaa_NPE$5Gl zM{Hk;T|-+E^+_a^^z3`WdJ!0X3kQC=`7zq>GH5rgyNVaE#yJ#<~Li z@Xp7(GW-h$%c^;*qiw0aLymp4tvH8YbkPd(()$?<4R!${CO1-O)y^N!;@2i+klv&t z+>@0SGhNM$tIgAoHIB#$@|k-v8w;pDs#;>2wQBxjMu4V^T1_~a+5A_LkM`@0LZ67< z0)F95>O*WX2cjK@-f|*q7rvs6(0Urikos|RXlTP3vHC!#KW!}W&g8#rr4p-yICCAs zu!FRoKx)dBgMkE?sBJZ`Ov7eZXXwp&#zctPW-# zxJ;RSI8K*XNUS}S$FC3RYWE7j7Q4c)ieFkFVnLctG}XG_%=53^g!mBn#r~b1GoNzw zd!qBTr>m-8*4O9t!#&p1W@87sy3RaAHD^m+MF_hE!RmqgHBv#*eUU6i~sp@LUhAw5Gd zFLKz4s3H}LBW^ux2@_;mz{+b13;WQC-9z~#7f%?*sRI6^E3>ux(Y24JTHnk9^Y zUVvYHFb97&lwD2@z%Tj(A+w(>#IIcb>ng2qN;~1_-=Gx=w84quEH)K=NM9DMmVZnQ zxKC}nRlxuc5;B;UCxQWHo)P95pjAU$@2{v8fGw*u4hPal4VE#P*AHK!2b6|kq#NAU zPsyi%e-Q(V6xS#7`k}4&i3S_^)u8otdueeJL&kf;M$$E-AJRO;tD+?iRc%r9eP_9Y z0oHN^*l*>Hu65P8( zcuyRwoa0}r-p9Q{kGG|133(?0qrYoMf6TIqeEmi{4UjELs({o@-L?sYKFxq%wn4M_ zWhoUMTb%0JuYYOa*K|ZwTj6l=Z^UDw-g2#@9DZr^J1ZzkuTfKUU{iqn!C1;V2DQXf zk>_9c(?`^Z_zU>;q0&l#txJjD5@PkSJbsNw|D($i?kcs`%m|4>-G{g(WV;W|;uq>S zfM3-@@9;_>t9IJBFYqtxK~ZDJ*F~?Vox)DjX4Xp&ibner`7ai8EYjyk zd#Fn$*`+N1K*FzYYR%`rhWKyx9{^ez%h^lmU_!UmA=g{fdf0u|lgoc0EChZvcB^Rt z3d0&nJx3GLfoM7YWg>=zR|j8)Uu8=-x)XDYh4k~Q6Z!g$&lLB_c;hE*T<=*4B9@Rs zA~k&8*zL;W7kiwL9+I@HM=a`ajn*wiG`NUEOe@aY7g8-9u&)Ea9CB#0R4q9#J%Uqas*EvVn< zA}fp`YZ`KPa1JhwL2KeA=5;y#HOPA`D}u4t+C9YpvfXT>oS$}V>{R<=v z89ME*AYaqJsy2FDwD8j1hOa1N?>>4ISw+CsL(mE?8%I_)2GtSkqJ?iv&k4%RkI$@@ z*)9|230akvDei8ix;!jrtUETF|I(_&)(+U$-vec$RE@pCmSdMS9@Zz2|H^!PMYmI| z!g4@3PmD^7gbFZrorB69c={2dEAe|OV((bXfX4W4LUAvpMbv`^2hFL|n@tYigR5OY+ zs*jewR-DU!?WUbDy~Qh|^TiIcdZdJynfV5rZ3e$0+KY=~7|v}PN(@;I>;dUfEIq3w>^EWaW5g<1US(!S=6bv^7D_f@n|@38k?*KXHO z(dVVRhVIPc*Vm}0%X`#_gHrWSom2G)t3jW^K@!Z)#`CC;f-(U9MQv`_mnB>T8Wy8P z4iaJ6r64NVD9yoHD_rwoU(1EtRxNr(3yS%PRdTBEv2VCQDBE!6IO??aA%TB^QkfsY z^TRRb@asI6YT+8ECZMC#jmk#<<~;IWPg!_4hhJ$S^F$P9UUNbWSSSE{5A>BA`KHSFzpH29Ne=lu?!11O)IN4X&f3YjU!w`pVj)nx02Qm1=Gb}t zZ~*==>9_;2jg;a+)AM}hY%Z=crc1<6fc!GibSq{OM30zgE(d z!m@Oo-456qbeb*KYMyMjoDy^H-0ct^R1FF3lo>) z3hN8$oE6ag6bsWaTAFfu)jRlKl+NfKY}FUCi^^{}sQr;zi##h!4x3j|zfm@!KG*(N z`d?1jsG7*y*HBR!VOYQc9J{qwx{wI7RUI>ybo_P!ercKNtWLldmcY?1R;j=Pa6MgE zzwvy0eOmu6TL27;Oo|Q&&~0#-_vn>`KC43 zW&C`o1Acyy>!^U9kjV3|c0!~V0e&rl?H~ndvLb>Azs^^IKq#~4tBPvzM^Auud6x=F zJ@nCmh4Gn+#2kLr(_S+RTfleZ);pNAxB(7ER=~eb@a1*>-k5hFH596IpNJvPIE09( z0KY!e{%SYCtE-?VT8N{(0riK#CeNi$;@5#qnf%u&yJ-_rV@u&TmT>nQ1^8tGwoK$5 zB<=DNLRs647kLSaVh+Cm$1I!wqAu?1Fe-~RwpT{E3G_K*U#Q<`gMG9e4LtjK!bPHq6A<@H1CF*z<}L_bH%vIBgrKNLaiSHQm} zWPB)MmM#ks0rcx55U))4)_ncOEd;pf($BUvoA-6r94tMf{tI|rO}FnZ=E~ZIujn(@ z!)Yt6-%{)QCz}ZF&9B+QzL>y`$|~tk=RbC7rB8*-r~QuyDTYdxoH8 z{zB|c`)hLl$qzDa&RjP`uykF7;Q6e61p_BEzNs%{mxlUk7y4) zt<*c$cjB2xWiZLvX1-1P`qB8Li)Zai=D(hlQIpA1@GX|mYvC?p;I_~}a{Md9868gm zaqk}h6DNRnl%DfPq5xOS@(NI`}Yp6;0KTvDzX@qE7!zfMtW3ZB1N z0JgY$68s$qB0Lv!`k}Tq@%VT{+V}}ZAsox6yFgDw%4?U6_geh&+hM@vqV; znfBry#~4KeI-8?*X!u4cOXu(FCh@ZfF5FgfxhKl zC{3=qH@g<;qR%NkT~-7UY*)C8tl>Tj(g%c&1S{ZQpIWsgwf^4l8rSRm`}W?nv6;O^ z2SvSAGKLMwGgzRz0b2p?Csn|~T8_u7rqbs*sv0Wt`r#gS)og8FJB1~)>}r3pm?2nwpZOkNj#3B1Th}r%*pMCp54v#{dztmYWUTYFd-|FEyY4f<`UbmOr8T z`SD%*xjR|&Ui=k+0tBvE{gA%OdZG=HyZY4^#p4WQ=X~tn(lo4;d}bUE_n5RV?>Hqz_0QP`YraYyzz@U{8Atra`2tRs!H}E2Ns|ZkxBmL zxj&Cz!zhcgs^h7eO%xyS64G8a^>#r&9LnR@h`ptDJ+J%X6B>q7%i;8Zxw?Pl^#%CV zZEnN4i6_3mHuAn&Z`udnI73-4|6IRO%#Np*@wMhE02vQ$@O%=# z#1USfP{*x{YA6LKGooEIQK?dZUju-x{e6;CRZFkI9=5FtqiE|Z0?xd@w=n-zy^Yro>)%5C;Wk=0 zY($F3tZiZ;^>*g*>pHNcryv_bKYUCqu{`V4wy&7U_{XllhF%so2Ru{iCAty$bYrD z?kUg@>HFCjX(=eoBZOzB0Cx3`KFMbImxcPMgpB8V*=Kp*XszD}u#*5Xf14{1Ex<3> zm+YF|G#FQ&7J#)h78@ zy`#1;B*HB0!;5rUZ&l!1a`~_C&~{#94!x-Uo_2EYJ|oFaqVo-r)t!0#a-)VGFp!LX zT1Twag=Z!#XjYwQ5!)3H=w;=)g2Y%r#YNqEB$=O3db{f^G-mQ&z%LGjHFbp{C(af*z+9PMmWcM*Gqe0_ z$ScE3UG&xx&VM=h>-z*qXaIyRm;bsb>kl3OMm5kT#Ij9#ud0I81v=fmh4_Wch~u%9 zGY}GQ?v(gNS8OncN|8W^ElX_Yl4T_)ccy!*HfP3jFI9rkf9kA@T%@Pa?ANy@L&zt3MoK zCph8+%P66jsOh=VyX9H{$Pfs9qWI$i4cNHyBtDWNw9q|0`Lil|F%T)75mVZs=@C*9OG!o3s>Mrly@qq}Dss zm$LTNY`#M{_C>yKRxLG-E}2Tu;?$@hoBV24-_VO*q$g#~NhPb~57I(zbg*yJ76F1O z`#j6P5Pf-hhJWp#n#k%=)*^OTc&4AdG=pEz=g$$s1DWkL^=MohGN2cL%%6nhC&W&(uMjchC<)85#Txg1&M%zFGpAvw32GC z?nDE$M=Vr~sXTra6KI#@U)Ld)c+xK0WK__FcJ*0Y;&P!LBK;w+W zFQ~-X_%Or2oYpiH`zv&%yEP5|C6!4KvCVn>0=J_2uz|2JjI=4~8<|Pn=H7Pw+j;(# z&5;?LjUi`;B>>;yKc^Z?cRriLuMrsubAUq%`(z}{!;HxyKBnBPp}4AdgM zCxQ?w3e!W(kAq+cy14u;ng7b56=At|NeTn}!Um`%XjV~0K7#tgjg&zvX;vwi6*`}m zSq9kcJl=CQD*NWW64rT$6^IJIR5)x#8#)5B$bZ`(3*?^iYN2`w;MmQV-9u#N_)3C)tv zq>8-eVXJ}k0hn-9_a;EHK287O90~)!a`hXWlFVEhU|l>WDAF779;OcY z9!pt32fG^W@Fw=(2Dc=tH|YPJG5SIO!Zb*Yo?X+hPSzx~6uZ2vn+;I2D6 zAMRrEHK?CYN)@yVaQuDy(cG#YvQ;?O`kJr(Ms0`UeMtXfM)6Z<1&1?QK)M$g0> z`071T;FoCFJcMMBgM{pz@Yp&2<)>#v0|&K#1lR=F8g(tD9ePchYc$WlG+=>00)3+h zu>|zP&jZMiC|rrgOnf*~zd@cja@Q#ls@r~_6cQf~)|I`Quiv;pAB$FwJnTpGF^29|-1o~!2c!=Dq@B7;M=UHf;{S%5h0S{jkx&=4;)wzRh(ntFpG~nZ26R4=eab zU`g18LH3e>e%Mm8l|B?Vp&%`fUwh@agolhYO=5th$ygd_o z{b@a;V|V8Gm$pHJHHD3b*mB+_LhD`0ipQ6%hXc3~p zHgA`edC$Ckvfj@zlF;j zj(@e#3s&Q3Ux0Z6g8Rz>qwjPiBVdt<==tngq>D23z2`BmJLrK9|8ORjIG|g@s6U+H zUuk85_H?5Dj4{TRY2Q!OM~uG(|2ooDvzP7$|H`a;82TaV4;|>(Yv^^eMF4zLu$=(c zO!j)QoF3rUbJ?+@ex9E-C2_`j0jUYm;OLx)d}gQ!{L2bDZs=_6R|F!~td=42T$+a9 z@0wYQ@;!R&-lcDs!rmF&GS@pQDz&XrgqQV)mVA$(`*i8ej;jY1j*l_9ik?p zkImXwmVebAy=}e=q5;|1iMMl>X_&~PW!^IZ{ZP_>cbYZR>#||1oAAvtF~6{W9#bXp zE0!tbkRcYlpZvxtz%P{W1vtt!7U^#eWQf>%BI89r$-e|tKJ&Uoyl2>wg^2H(&!CXr zDBxeHNQ5~6(cJVyz?MF?^@8<$ym5mu7A@dk2grviFPI*9iX>vFdk2ugLk=r)dNTKK zNdATTc|rueU;5{4lkdBeV7_*5mG|pu0tH0TubemFw2Z$?DKdeY2BZlDCshGj9a1j`^T*?H}7CS|C#K2(< ze6!d=ZQ-sw|N1e8QzG+UJ!lxCY+BnP8Y39{quE#j=fA+Vz`y=Y)%Z~~a{c*KLLJJk z=_aMy%AEg781J#!aj}bfsO|3(>KC(nOrHOm(3|A61gy6O^eD(RvJjCxM{7=G-{UJ< zOug;i`+X7Djg~yN3_0`_Lj7T4wI5p~^YIn^Ej`Tbb-Kl_W4L<4f`&g#N$!VE5j~N$ z9UEsawqZEfz0Hubs)vovt#4bh0-AsZ(^ zkMNQ8hZ&wSF!yXRbWuraGR#FbX7Gy_Nwu&w;z9P7pSr*GtI#2X^r~pJ%TlXGv+?0j zIrKvuTQ=Td=J3`){cdBU%zw%K^H1!9>^u`?p5aEsWocXJ8zaU!_FWDYbkyi%PIe9> zm8mRGsczFO8R}!JaTppJtZhsS$UYCv%T#AMsHUqE!vyffK`?fl8hF{WsMXK-%nbix z@GbVS6uTTn5V%Jj&@ah{<))3u_XyNSUFD#YX*Ixpo5_D+LtZU!od6a%?N;U)?QZFx zM-W}q3ltOy@WI7&m>Mjjo26&*%O{`d!ZUuYUvlbr@m-SL5Gp#-*?3;pbi$1WHrBM3 zVghx-N$4c_CVhQ?4QukJNZ|Z3)&k!lOnpZAY?R#3ZX{?s!bn)} zwmm`K5hK|a$gVq|ca|nntybAVoEtqZ_NP#r@jIFb@8`zjhL&Bgw6c$Wn`q^YfMe@# z&DMbDO~BS~O#pO3{%c<}rH9z(4jVVpaaV8@35Y+MFh=1SQY*9el`2|6H^NIG(le;b z0iGrpv{csMtX`VuUw80?*&yo7>lDQ5wu5ljL5-_ltTu<6v+E`K7tT@*4y|Ls${q2= z5r}fH^FvVp**aA6aJgO*zg|;Xy32OKK#y8*)JqU7O=f^BUw`-<|D)MBf>Dg|kLf0k z^IsRtD_Vy2=lIv3#0ekj821@O$JO8%miq&#|0sTeMrNMF<=dSY)d+nw+7Gju)#q8J zP~m)bo>6~z6q;vp@uujlfUW9upS&{!dX%ki!alSzeXcyIJj@3oddse#W9-OH1lTET zNdK7LTA&}gPEeCwI;b|Y6UzSnoi=p!SM~bDnsHX3ANIRLw6lA)gn%P72SluHN`y4n zR{{UJ+!bv1KWV-|%Rnb7z^|`~XGZH*0=C|xF5#6VYaDCg<>7=krythR zlREG#S@AA>_{=l%{td*3Is7UD|MGSEkdbor2#X^)8Nquj?vq-a9C{YNqRoPTME*mxeiC!it+#%P7 zeYg_idM~?P&1M=Nz}u|%Zt#-iUtz>`(r*xou5NhYhyCa@()e1Rw-x&KVJue#hwWEdl;l-7~NJB#XXLi&Kw1Wl$h4;2Z>hGVM z(+@L#{tJyiRFVIpP-JaF{e2}G;j#phN)b6fne)p?dzFc~)kuo&w>%<-`4ORj=VZQq zelc!~!ajVLHS70ju=ha}BH{#SS7H799o7M1IlWKH(ay)14?XAUw;M&{X+zdvfPb%}?l z(NtyG;WFteXYk9O#V@HJzUs85J^wm)Ie_d|+cSZSI9?S?Yy|e^EPn0A$%XoE{T|2~ z+p4RD5sBiUrHl{n$@8y0gsVbczw!0rDr+aJ?*`Z{wSFS4atcb0CHrhuj*#eT5PGG{ zkU$p4kc%mbBPu9j>7T`~A$lc+D;j=@EZ$Mvmx9gaQjbT1ZGJ8G^Q7;ruJBfe_`L7&)y(4-7NqVB-&Gc}U|ubmw`@?X}0S}WzU*mkUiE<2CW5{?WN)E^GAsCLMQceHeDRIFs?0_ z=Xhe-AZ^d%SNmHr1$|z?)=q7D&Vyoa8u(RF zJ}4FrpdvA^9}1k;bKF+j8fO%WIAqN2=;1QQy)<9HanQPgA$!s_)9F9c&C(4{(%aOk zVUHz>BeKs!(4$rhm|mjhkCf7uAy`{wVJCb~xVOh<&VPl=quWug?0`*7+uP)Xce+r4 ztbJppK3S2gpWlTre&HFZ`sv+bp{0jiyGpu6y=>&_H(p{<&1 z407kc4o6R@%MNa{)d~2UWdajEBu=FLhkZXUIRAw>O0uoFX*6y{L+KRRIH~}@m}DiT zpfK#Hjb$>`TJb*Z??hf^IJ?J$_8DDPBOuHe(I9kiod1H5$i0$?5QU*x`H74{uI;rqo&euzdH1 zova$SFIK!wTL7&3%4k(&OI3BTQE-1$H-Rq?mvq9{J!bA5DKS|k{Q#l8!Od�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
+G zOG=4603^pWW9WSNt|cMQ-h0CG5xmwj#yLm%FyXrx!YuauMY>e&RK~!0xT$`?%CKrK zCS84!%lHpA6)S63O{&U`UfQn$xa3f>PB|^}LDEt|H;5!8t_6)oq5iUQqc5aX1DjUR z-L3D&PZ{N8OG^-4FX?*jE6lxQAR|F<{0Ae61OZzqzH;R0>i5al5+%lu&9k$!A^+!h zS^!Jc6{l$hCP^coMw*YKoIfee|LBKqo{hjKrg=GJ@n@!a+2r%`6_uE8P?ueCq056E z2qa2s6)rz`8^GWkU3Sr;hS2uWeH5tj$kBsApUFl=8GGKKohGy~nG|-lx{rR3ye()g z=JM63b&%2orIr%;9B5l-ksOTMJTwd=T4IeW$UcA`?iT}iaB)NzH#Z&$qXCxLn4r-@ zf~LS;r6?8a^724wZUKPyFXeoe=eFL2fqdOku+=VEG@}~4D70!BXY^>mUi{FQJS!r&yf|doNm&Rt;J=8TA z>mXX*g0lirBbh4k>IqJp(rf19%LA!0mG4dgi+I@WpM^5q_!5k0j9XAd*DC$u~AT z208(KeqEMIg&kqBCV%o}bXnq^_`)v@)c^QLp#A~CDx0SF8M>_1Ve{;pT0uAmbv4xU z&DoDb7OnjDXXt74r}!?F2mgpAt>FJXO`PGU0)#~>Mat9AS3fn;{2%6PV7>, June 2014 //----------------------------------------------------------------------------- -// Defining modes and options. This must be aligned to the definitions in fpgaloader.h + +// Defining commands, modes and options. This must be aligned to the definitions in fpgaloader.h // Note: the definitions here are without shifts + +// Commands: +`define FPGA_CMD_SET_CONFREG 1 +`define FPGA_CMD_TRACE_ENABLE 2 + // Major modes: `define FPGA_MAJOR_MODE_LF_ADC 0 `define FPGA_MAJOR_MODE_LF_EDGE_DETECT 1 @@ -35,6 +41,7 @@ `define FPGA_HF_READER_MODE_SNIFF_IQ 5 `define FPGA_HF_READER_MODE_SNIFF_AMPLITUDE 6 `define FPGA_HF_READER_MODE_SNIFF_PHASE 7 +`define FPGA_HF_READER_MODE_SEND_JAM 8 `define FPGA_HF_READER_SUBCARRIER_848_KHZ 0 `define FPGA_HF_READER_SUBCARRIER_424_KHZ 1 `define FPGA_HF_READER_SUBCARRIER_212_KHZ 2 @@ -79,7 +86,7 @@ module fpga_hf( //----------------------------------------------------------------------------- reg [15:0] shift_reg; -reg [7:0] conf_word; +reg [8:0] conf_word; reg trace_enable; // We switch modes between transmitting to the 13.56 MHz tag and receiving @@ -88,8 +95,8 @@ reg trace_enable; always @(posedge ncs) begin case(shift_reg[15:12]) - 4'b0001: conf_word <= shift_reg[7:0]; // FPGA_CMD_SET_CONFREG - 4'b0010: trace_enable <= shift_reg[0]; // FPGA_CMD_TRACE_ENABLE + `FPGA_CMD_SET_CONFREG: conf_word <= shift_reg[8:0]; + `FPGA_CMD_TRACE_ENABLE: trace_enable <= shift_reg[0]; endcase end @@ -103,11 +110,11 @@ begin end // select module (outputs) based on major mode -wire [2:0] major_mode = conf_word[7:5]; +wire [2:0] major_mode = conf_word[8:6]; // configuring the HF reader -wire [1:0] subcarrier_frequency = conf_word[4:3]; -wire [2:0] minor_mode = conf_word[2:0]; +wire [1:0] subcarrier_frequency = conf_word[5:4]; +wire [3:0] minor_mode = conf_word[3:0]; //----------------------------------------------------------------------------- // And then we instantiate the modules corresponding to each of the FPGA's diff --git a/fpga/fpga_lf.bit b/fpga/fpga_lf.bit index bd4d821bbd7db5d6ff01190fc2204e259e467c50..96d27372235d318496a4516302af82028ad6b659 100644 GIT binary patch literal 42175 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 literal 42175 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