From b535053a778a8581b9f35f5895a57c57871d8815 Mon Sep 17 00:00:00 2001 From: pwpiwi <pwpiwi@users.noreply.github.com> Date: Fri, 26 May 2017 07:10:30 +0200 Subject: [PATCH 1/1] fix hf 15 commands (#293) --- armsrc/fpgaloader.h | 1 - armsrc/iso15693.c | 12 ++++++------ fpga/fpga_hf.bit | Bin 42175 -> 42175 bytes fpga/hi_read_rx_xcorr.v | 18 ++++++++++++------ 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/armsrc/fpgaloader.h b/armsrc/fpgaloader.h index 7dfc5c12..59c07ed8 100644 --- a/armsrc/fpgaloader.h +++ b/armsrc/fpgaloader.h @@ -58,7 +58,6 @@ 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/armsrc/iso15693.c b/armsrc/iso15693.c index 9a6ef9f0..e11e5a9c 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -319,7 +319,7 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int * // every other is Q. We just want power, so abs(I) + abs(Q) is // close to what we want. if(getNext) { - int8_t r = ABS(b) + ABS(prev); + uint8_t r = ABS(b) + ABS(prev); dest[c++] = (uint8_t)r; @@ -356,7 +356,7 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int * maxPos = i; } } - // DbpString("SOF at %d, correlation %d", maxPos,max/(arraylen(FrameSOF)/skip)); + // Dbprintf("SOF at %d, correlation %d", maxPos,max/(arraylen(FrameSOF)/skip)); int k = 0; // this will be our return value @@ -385,7 +385,7 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int * corr1 *= 4; if(corrEOF > corr1 && corrEOF > corr0) { - // DbpString("EOF at %d", i); + // Dbprintf("EOF at %d", i); break; } else if(corr1 > corr0) { i += arraylen(Logic1)/skip; @@ -457,7 +457,7 @@ static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int // every other is Q. We just want power, so abs(I) + abs(Q) is // close to what we want. if(getNext) { - int8_t r = ABS(b) + ABS(prev); + uint8_t r = ABS(b) + ABS(prev); dest[c++] = (uint8_t)r; @@ -626,7 +626,7 @@ void AcquireRawAdcSamplesIso15693(void) // every other is Q. We just want power, so abs(I) + abs(Q) is // close to what we want. if(getNext) { - int8_t r = ABS(b) + ABS(prev); + uint8_t r = ABS(b) + ABS(prev); dest[c++] = (uint8_t)r; @@ -680,7 +680,7 @@ void RecordRawAdcSamplesIso15693(void) // every other is Q. We just want power, so abs(I) + abs(Q) is // close to what we want. if(getNext) { - int8_t r = ABS(b) + ABS(prev); + uint8_t r = ABS(b) + ABS(prev); dest[c++] = (uint8_t)r; diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 6e6b9794b7ee55312bd98688d4f406b7e3f92020..864b52394dcb821b24bb42ac9b8d6d01a34832f8 100644 GIT binary patch literal 42175 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�zRe_S#mjv~{uO#1h_+x^qFcX_ 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 literal 42175 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 diff --git a/fpga/hi_read_rx_xcorr.v b/fpga/hi_read_rx_xcorr.v index afaf7cb6..80e36327 100644 --- a/fpga/hi_read_rx_xcorr.v +++ b/fpga/hi_read_rx_xcorr.v @@ -28,11 +28,18 @@ assign pwr_oe1 = 1'b0; assign pwr_oe3 = 1'b0; assign pwr_oe4 = 1'b0; -wire adc_clk = ck_1356megb; - -reg fc_div_2; +// Clock divider +reg [0:0] fc_divider; always @(negedge ck_1356megb) - fc_div_2 <= fc_div_2 + 1; + fc_divider <= fc_divider + 1; +wire fc_div2 = fc_divider[0]; + +reg adc_clk; +always @(ck_1356megb) + if (xcorr_is_848) + adc_clk <= ck_1356megb; + else + adc_clk <= fc_div2; // 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, @@ -77,7 +84,6 @@ reg ssp_frame; always @(negedge adc_clk) begin - if (xcorr_is_848 | fc_div_2) corr_i_cnt <= corr_i_cnt + 1; end @@ -137,7 +143,7 @@ begin begin ssp_clk <= 1'b1; // Don't shift if we just loaded new data, obviously. - if(corr_i_cnt != 7'd0) + if(corr_i_cnt != 6'd0) begin corr_i_out[7:0] <= {corr_i_out[6:0], corr_q_out[7]}; corr_q_out[7:1] <= corr_q_out[6:0]; -- 2.39.5