# Sinara 7210 Clocker

[Wiki](https://github.com/sinara-hw/Clocker/wiki)

## JSON

Put the `ext_ref_frequency` field into the JSON description if the Clocker is going to use an external frequency:

```json
{
  "hw_rev": "<hw rev>",
  "base": "<base>",
  ...
  "ext_ref_frequency": <freq in Hz>,
  ...
  "peripherals": [...]
}
```

On peripherals you should choose `"clk_sel": 2` on connected devices.

## Setup

For tests, you may need an external RF generator, depending on customer needs.
Here is example setup for SynthNV RF signal generator:

1. Connect SynthNV to the workstation via USB, and 
2. Install and run `cutecom`: `nix-shell -p cutecom`
3. Set settings as on the picture below:
![](../img/cutecom_settings.png)
4. Open the device, usually it is `/dev/ttyACM0`
5. Put `?` into `Input` field and press `Enter` for current settings and help commands
6. For changing the frequency, enter `f<freq in MHz>`, e.g. `f125.0` for 125 MHz
7. Set RF power so that clocker would recognize the signal with `a<power>` command, e.g. `a63`
8. Check for desired amplitude and frequency at the `RFOut` (see picture below for reference) pin via oscilloscope
![](../img/synthnv_pins.jpg)
9. If everything is ok, connect `RFOut` to the `CLK IN` on the Clocker (see instructions below for details)

### Setup the Clocker

1. Connect MMCx cables according to the customer needs and boards specifications (see image below for reference)
2. Connect the Clocker to the Kasli via 30-pin ports
   ![](../img/clocker_ref.jpg)
3. Connect the Clocker's SMA output to the Kasli's `CLK`/`CLK IN` SMA pin
4. After assembling the crates and flashing the firmware, start Kasli and write config as follows:
   `artiq_coremgmt config write -s rtio_clock ext0_bypass`. Please refer to the [official manual](https://m-labs.hk/artiq/manual/installing.html#miscellaneous-configuration-of-the-core-device)
   for the details and available options
5. Reboot either via `artiq_coremgmt reboot` or via power supply if the board's firmware doesn't have such command

## Testing

Run `artiq_sinara_test` and check that it doesn't fail on the connected devices.
