Transceiver do not work as expected

PYNQ version 3.0.1, RFSoc 4X2, vivado 2020.2

I try to use RFSoc 4X2 as my transceiver, and try to design one to transmitter SDR and receive that. But the signal I get seems different from what I expected. I keep getting periodical signals even when I send random signal. Could someone help me check what is wrong within my design?

In the Vivado diagram, the tlast signal generator is from GitHub - XavierAudier/tlast_generator: Implementation of a TLAST signal in an AXI Stream..

1 Like

Here are the python code

1 Like

1 Like

Can you show the data you receive?

Cathal

Sure it is like


The case is no matter what frequency I send and what kind of data I send, I still get the similar data. Even if I send random data, it is still like this.

1 Like

Can you share what the raw data is that you receive? (i.e. not the output_buffer - np.mean(output_buffer))
It looks like you have the same pattern every 4 samples. I wonder if you are getting zeros or a nominal value that is being split across 4 samples. E.g. if you have a 32-bit -1 in decimal, that is split in 4x 8-bit.

How have you configured the RF data converters?

  • How many samples per cycle?
    What is the data width of all the busses from RF DC to memory and the DMAs?

Can you share the vivado design? (Or bitstream + HWH?)

Cathal