Post Go back to editing

Write to TX RAM Memory while in RX Mode

Thread Summary

The user inquires about writing to the ADAR1000's RAM transmit beam positions while in RX mode. The final answer confirms that writing to transmit memory locations during RX mode is possible, provided the sequencer is set up correctly and data is written at least 2 beam positions ahead. The engineer also clarifies that writing dummy data to reserved addresses (e.g., 0x1803) is acceptable, and new data can be written to SPI/control registers while the BFIC is transmitting or receiving beam data without interrupting the current operation.
AI Generated Content
Category: Hardware
Product Number: ADAR1000

Hello, 

Fairly new to the ADAR1000. While the ADAR1000 is in RX mode, is it possible to write to the RAM transmit beam positions (RAM starting at 0x1800).
For example, what I am expecting to do it:

- Toggle TR pin to low to activate RX mode

- Write to addresses 0x1800 - 0x180E for the next transmit sequence

- Wait for RX mode time to be over

- Toggle TR pin to high, toggle TX_LOAD as needed

  • Yes, in general you should be able to write to the transmit memory locations while in receive mode, and vice versa. This assumes the sequencer is setup properly and the Start & Stop values are set correctly.  And the 6 or more SCLK cycles followed by the LOAD command is being done to properly fetch & load data from the RAM.

    You need to be careful when re-writing data to RAM dynamically while you are sequencing through the beam positions.  You need to re-write the data 2 beam positions ahead where you are at in the sequence.  e.g. if you are at Beam Position N, at minimum you need to load at Beam Position N + 2, or greater.  

  • Thank you. Follow up question: If attempting a block write starting at address 0x1800, could write "dummy data" for the RESERVED address of 0x1803 or would I need to stop at 0x1802 and send a command starting with address 0x1804? 

  • Yeah, dummy data is OK.  I recommend all zeros into the reserved addresses. 

  • Similar to the RAM, is it possible to write to the SPI registers with new data while TX or RX?

    For example, say the BFIC is transmitting and receiving beam data 1. While the BFIC is doing that, could I write to the SPI/control registers (0x01-0x01B, 0x01C, 0x027) beam data 2, without interrupting the transmission/reception of beam data 1 (the TR pin is toggling as needed)? Once the BFIC is done transmitting/receiving, I would toggle TX_LOAD, and after a few cycles toggle RX_LOAD (or LDTX_OVERRIDE, LDRX_OVERRIDE). To my understanding, beam data 2 moves from SPI/control registers to working registers, and once in the working registers, the RF subcircuits change as instructed. 

    In other words, I would like beam data 2 in the SPI/control registers ready to go shortly after beam 1 is complete (so then all I would have to do is toggle TX_LOAD and RX_LOAD, and resume toggling TR). 

  • Yes, this is possible.  The gain and phase registers are double buffered so it is possible to write new data to them while actively using the previous beam position data that you have already loaded onto the VGAs and Vector Modulators.