I am trying to generate 9GHz from Almazny, but it is only generating -50dBm. It seems like I am not turning on some amplifier or switch. Can you advise me on how to resolve the issue? Thanks

from artiq.experiment import *
from pprint import pprint

class TestMirny(EnvExperiment):
    def build(self):
        self.setattr_device("core")
        self.setattr_device("mirny0_ch2")

        self.ch = self.mirny0_ch2

    @kernel
    def run(self):
        self.core.reset()

        self.ch.cpld.init()
        self.ch.init()


        self.ch.set_att_mu(255)
        self.ch.sw.on()
        self.core.break_realtime()

        self.ch.set_frequency(9000/2*MHz)
   
        delay(20*ms)
        print(self.ch.read_muxout())

    def analyze(self):
        pprint(self.ch.info())

output:
{'f_outA': 4500000000.0,
'f_outB': 9000000000,
'f_pfd': 100000000,
'f_vco': 4500000000,
'output_divider': 1,
'pll_frac1': 0,
'pll_frac2': 0,
'pll_mod2': 1,
'pll_n': 45,
'prescaler': '4/5',
'ref_counter': 1,
'ref_divider': False,
'ref_doubler': False,
'sysclk': 100000000.0}

2 months later

Did you manage to resolve this issue? We seem to be having a similar problem. we can set attenuation but not the switch.

Almazny has its own attenuators and RF switches. You need code like this:

class TestMirny(EnvExperiment):
     def build(self):
         self.setattr_device("core")
         self.setattr_device("mirny0_ch0")
         self.setattr_device("mirny0_almazny")
         self.ch = self.mirny0_ch0
         self.almazny = self.mirny0_almazny


     @kernel
     def run(self):
         self.core.reset()

         self.ch.cpld.init()
         self.ch.init()

         self.ch.set_att_mu(0)
         self.ch.sw.on()
         self.core.break_realtime()

         self.ch.set_frequency(2000/2*MHz)

         self.almazny.output_toggle(True)
         self.almazny.att_to_mu(0)
         self.almazny.set_att(0, 0, True)

         delay(20*ms)
         print(self.ch.read_muxout())

     def analyze(self):
         pprint(self.ch.info())

We did implement all the required code and could successfully set the attenuation on all four outputs of the Almazny. However, the output is very low, around -30 dBm at 6.8 GHz, and does not change when we either toggle the RF switch or enable the output through the set_att command. We measured the voltage on the OutputOFF pin of the RF switch, and it is always at ground.