Adar1000 beam fetch problem

Hi all 

I have a question with adar1000 tx beam fetch in sequentially Step mode。

here is my drive work flow 

1. initial adar1000 register 

2. set starting beam position and stopping beam position. in my application start and stop memory addresses is 0 and 1.

3. initial tx beam0 and beam1 with default parameter .

4. Waiting for external interrupt signal.

5. when the interrupt signal comes, drive will apply ≥6 SCLK cycles and pulse the TXLOAD pin to switch beam.

6. repeat step 4 ,step 5.

when adar1000 using beam0 ,driver will update beam1 with new parameters once and fetch beam1 via spi bus.

Note: drive update beam1 before pulse TXLOAD pins

Figure 1 can help you understand it

 figure1

figure1

However although i fetch beam1 but new parameter do not take effect when adar1000 switched to beam1,it still using old parameter ,The new parameters will only take effect when adar1000 is switched to beam1 again.

figure2 show this problerm

figure2

How to make new parameter take effect in next switched beam1 not switched beam1 twice?

This problem has troubled me for several weeks, I hope someone can help me. Thanks!!!



fix figure error
[edited by: loops at 1:09 AM (GMT -5) on 20 Feb 2021]
Parents Reply Children
  • Hi jdobler 

    sorry for my poor english.

    Yes, i just try wirte new data into beam positions 1 when i are sequencing through those two beam positions.

    The parameters on the figure represent the data written to beam positions 1 .

    parameter 1, parameter 2 or parameter 3 means that these data are not the same, but they all need to be written beam positions 1.

  • 0
    •  Analog Employees 
    on Feb 24, 2021 6:58 PM 2 days ago in reply to loops

    Ah OK, I see what you are trying to do.  I have never tested this use case before.  I do not know if the ADAR1000 will accommodate what you need, or at the very least, there may be some additional things to do between toggling back-and-forth between Beam Position 0, and Beam Position 1. 

    I will need to test this out in the lab, which will probably take 1 week or so. 

  • 0
    •  Analog Employees 
    on Feb 24, 2021 7:08 PM 2 days ago in reply to jdobler

    How many times are you planning on toggling between Beam Position 0 and Beam Position 1?  And do you know what new Parameters (data) will be before you start toggling? And it does not look like you are changing the data in Beam Position 0?

    I ask because if you knew what the data was beforehand, and you needed 121 beam position or less, you could use more beam positions and write in all the data at once into the RAM and then toggle through the Beam Positions with the following data:

    RAM Beam Position Data loaded
    Beam Position 0 Reference Data
    Beam Position 1 Data 1
    Beam Position 2 Reference Data
    Beam Position 3 Data 2
    Beam Position 4 Reference Data
    Beam Position 5 Data 3
    Beam Position 6 Reference Data
    Beam Position 7 Data 4
    Beam Position 9 Reference Data
    Beam Position 10 Data 5
    and so on... and so on...

    So basically, all the even Beam Positions would contain the reference you want to toggle back to, while the odd beam positions have the new data.  Would this work in your application?

  • Hi jdobler 

    Thank for you answer and test.

    1. As long as the product is working, it will always toggling  between Beam position 0 and Beam position 1 .highest toggling frequency is 20KHz.

    2. i want change beam position 1 data when adar1000 work on beam position 0 , I will not reconfigure  beam position 0 after initializing the chip.

    3.in test lab i can control new parameter and tx_load pulse, but In actual application i can't  knew what the data was beforehand,so i can't use this way.

  • 0
    •  Analog Employees 
    on Feb 25, 2021 5:44 PM 1 day ago in reply to loops

    I will need to get into the lab and test this out to see if there is any work around.