Pulse sequencer

From Quantum kot
Jump to navigation Jump to search

To issue pulses we use two-level modulation using profile pins. To find cluster information for lower switching times see map.

Arduino due + DDS AD9959

Number Description arduino channel chip number color DDS channel Frequency, [MHz] AOM delay, [ns] AOM shortest pulse, [ns]
1 Cool 39 PC7 green "3" 110  
2 Repump 34 PC2 red "1" 90  
3 Magnetic coils 36 PC4   no TTL
4 Cavity lock AOM 38 PC6 blue through AOM driver 44 2000  ?
5 Cavity gate 33 PC1   no TTL
6 Spectrum analyzer trigger 31 PA7   no TTL
7 Probe laser MBR 0   yellow through AOM driver 80 800
8 Side pump toptica 45 PC18 orange "0" -56 950  ?
9 Side pump MBR 41 PC9 violet "2" 100 800 ns +300 ns electr delay

Below are pins for DDS AD9959 connection to arduino due.

Number Description arduino channel chip number
1 master reset 40 PC8
2 SDIO 3 42 PA19
3 SDIO 2 44 PC19
4 SDIO 1 46 PC17
5 SDIO 0 48 PC15
6 SCLK 50 PC13
7 CS 52 PB21
8 DIN P0 45 PC18
9 DIN P1 34 PC2
10 DIN P2 41 PC9
11 DIN P3 39 PC7
12 IO update 37 PC5

If we want to lock the cavity and be in resonance with both cavity lock and MBR + 80. We need to set signal generator for the lock to be 17.87 MHz

Program for Arduino Due

We use two-level modulation - no RU/RD

  write_CSR(0xf0);              // we are going to use all for channels => F0
  write_FR1(0xd0,0x00,0x00);    // [14:12]-profile pin configuration xxx doesn't matter for tis setting,
                                // [11, 10] -> 00 no RURD; [9:8]-> 00 2 level modulation
  write_FR2(0x00,0xc0);         // make the DDS the master for synchronization 
  write_CFR(0x40, 0x03, 0x00);  // [23:22] -> 01 amplitude modulation, [14]->0 linear sweep disable,[9:8]-> 1 full amplitude scale, table 5;  
  
  write_ACR_1(0xb8,0xc0,0x00); // we use modulation between two levels. This function sets upper limit. We adjusted it to be a bit lower then a possible maximum, 
                               // since on full power the output oscillates a lot (one forth of the full range) 
  set_frequency(10e6); // address 0x04, set reference signal, initial frequency set in Hz
  set_phase(0); // address 0x05, set phase from 0 to 2, where 2 correponds to 2pi
  write_ACR(0x01, 0xd8, 0x00); //address 0x06, 0x3af   100% modulation, sets lowest power.  
  
  //set proper frequencies:
  write_CSR(0x20); // choose channel 1, optical pump, frequency 105 MHz
    set_frequency(115e6); // set optical pumpp freq
  write_CSR(0x40); // channel 2, violet side pump, frequency 115 MHz
    set_frequency(115e6); // MBR spectroscopy
  write_CSR(0x10); // channel 0, orange side toptica local oscillator frequency 86 MHz
   write_ACR(0x00,0x10,0x10);
  set_frequency(105e6); // toptica pump