====== Leach CCD Readout System ====== The Leach system was developed by David Leach as a third generation CCD readout for astronomical imaging. The system was commercialized by [[https://www.astro-cam.com|Astronomical Researc Cameras]], which ceased activity in December 2022. Components or parts of the system are no longer available. The system is composed of an external power supply, a common bus back-plane chassis, housing necessary CCD control and readout electronics, a fiber optic communications card for data transmission to a PC and a control software utility. To connect the fiber optic communication card to the readout electronics we use MultiMode 62.5μm/125 internal diamtere with ST external conenctors in a dual fiber configuration Ceramic and Stainless Steel connectors (ST). {{:readout:leach:leech.png?400| Front left Power Supply, Front right Readout system, Background image acquisition software Owl-3.6}} The above photo depicts three out of the four parts that make up the Leach system; with the missing part being the fiber optic card. The table below shows how the fiberoptic cards is connected to the fiber optic timming board, which is located in the Leach system. The colour code refers to the colour of the connector of the fiber optic cables. ^ Device ^ Power ^ Network ^ Output 1 ^ Output 2 ^ | ARC-66 | Leach PSU | N/A | Output (red) | Input (black) | ===== Software===== To use the leach system it's neccessary to have the following softwares installed: image acquisition software ( Owl) and the fiber optic card driver (ARC-66). There is also a software installed (CCDDrone) which is specifically made for a leach system in combination with a skipper CCD. All of the softwares can be found in the following directories: * /usr/local/Owl/3.6 * /home/ccdtest/Desktop/ARC-66-v3.6 * /home/ccdtest/Desktop/CCDDrone **Owl:** The software for Owl and the ARC-66 PCIe v3.6 can be found on the following [[https://www.astro-cam.com/|Website]]. To install it, follow the guide described in the README files. However, the guide for the fiber optic card driver is not well-documented and a short guide on how to install it is included in the corresponding section below. To run Owl type the following command into the terminal: * Owl-3.6 (as sudo) There exists sequencers, which we got from , they can be found in the following directory: * /Sequencer/Leach If you want to uninstall it, run the uninstall executable from it's directory (/usr/local/Owl/3.6). **CCDDrone:** The software for the CCDDrone software can be found [[https://github.com/xtachx/CCDDrone|here]]. If you want to install it follow the README file guide, make sure you have the developers version of cFITSIO and libcurl installed beforehand. There are two parts to CCDDrone: The CMake file will first compile Leachcontroller library. You can use this with the LeachController.hpp header file to write your own code to control the Leach system. This is specially helpful if you want to run automated tests or analysis with certain CCDs.The descriptions of the other targets are as follows: - CCDDStartupAndErase: This is the first program that you will run after you turn on the Leach system. It will start up the electronics, upload the firmware and perform an erase procedure. It will also set the idle clocks. New: You can now specify the config file you want to use with ./CCDDApplyNewSettings . The default is config/Config.ini - CCDDPerformEraseProcedure: This will perform an erase procedure without a reset. - CCDDApplyNewSettings: This will apply new settings as defined in the Config.ini file (described below) and/or upload a new sequencer if you have changed the sequencer file. - CCDDExpose: This performs and exposure. It will allocate memory, get the data and store it in the output file name supplied. The format to run this program is CCDDExpose where is the exposure time and is the output file name with the full path. ==== Installation ==== This guide describes on how to install the fiber optic card driver on a system, for the image acquisation programm Owl you can simple follow the README file. For the fiber optic card driver you need to ensure that you have installed the kernel header files; otherwise, the installation process will complain, and you will struggle to understand why. This guide is written for OpenSuse Leap 15.5. First, as always make sure that your system is up to date: * sudo zypper refresh Install the kernel headers: * sudo zypper install kernel-default-devel Verify the installation: * ls /usr/src/linux-headers-$(uname -r) This should list various header files and directories related to your kernel version. Use the following commands to compile and install the driver: * make ( NOT as root/su ) * sudo make install ( as root/su ) * sudo ./Load_Arc64PCI ( as root/su ) NOTE: You may get warnings about signing and ssl. These can be safely ignored. They may be fixed in a future release. To ensure the image buffer memory can be properly allocated the driver should be installed immediately after system boot or the system may need to be SHUTDOWN ( not rebooted ). To unload the driver, use: * sudo .UnLoad_Arc64PCI ===== Readout Boards ===== The Leach system electronics are composed of four distinct boards implementing different functionalities. A common back-plane within an aluminum card case is responsible for commutation between cards in a common bus type syystem. The different boards are detailed below: {{:readout:leach:arc-22.jpg?400 |}} - ** ARC-22 - 250 MHz Fiber Optic Timing Board:** The 250 MHz fiber optic timing board performs three main functions - communicating between the controller and the host computer, generating timing waveforms and providing overall controller supervision. It has a duplex fiber optic link to a PCI interface board, the ARC-64, that operates at a bit rate of 250 MHz, providing a sustained maximum image data transfer rate of 12.5 Mpixels per second. It controls the timing of the analog portions of the controller by writing 16-bit digital words as often as every 40 nanoseconds over a back-plane to other controller boards. It performs such supervisory functions as exposure timing, power sequencing, controlling a shutter, and synchronizing operations with signals external to the controller using the Motorola DSP56003 Digital Signal Processor, operating at an internal clock speed of 100 MHz. ---- {{ :readout:leach:arc-32.jpg?400|}} - ** ARC-32 - CCD Clock Driver Board:** The clock driver board translates digital input signals into analog output signals for direct connection to CCD. It provides 24 clock signals, each of which has programmable high and low voltages. Their rise and fall times can be adjusted by inserting resistors and capacitors in the output circuit. This board will drive up to +/- 13 volts for operating CCD arrays, or lower unipolar voltages. ---- {{:readout:leach:arc-33.jpg?400 |}} - ** ARC-33 - LBNL bias board:** The LBNL bias board supplies all necessary DC bias voltages to operate a 4 corner Scipper CCD (it can be used to run 2 CCDs in 2 corner mode). The board requires an additional operating voltage of -30V (-28.5V to -40V) at <100ma. This voltage can be supplied on the back-plane (pin B6) or on the terminal block (J11). If voltage is supplied through the back-plane, J12 needs to be connected from pin 2 to pin 3, if the voltage is supplied to the terminal block pins 1 and 2 should be connected. The voltage is enabled on-board by the presence of the -16V operating voltage. The on board DACs can be addressed like a video board: J4 sets the board address, where an installed jumper is a 0. We use address #4 (two right hand jumpers installed). ---- {{ :readout:leach:arc-45.jpg?400|}} - ** ARC-45 - Dual Readout CCD Video Board:** The dual readout CCD video processing board serves two functions - processing and digitizing outputs from two CCD channels and supplying DC bias voltages to the matrix. Two 16-bit analog-to-digital (A/D) converters simultaneously digitize signals from two outputs at a maximum pixel rate of 1 MHz. The DC bias supply section of the board provides ten low noise, digitally programmable voltage outputs with a variety of voltage ranges suitable for direct connection to CCDs. There is a three op amp differential input circuit on each of the two input processors, suitable for connection to the outputs of preamps located next to the CCD that drive long cables. There is also a single ended circuit that can be connected directly to the CCD output pin. ---- {{:readout:leach:arc-66.jpg?400 |}} - **ARC-66 - PCIe Interface Board:** The ARC-66 PCIe interface board resides in the host computer and communicates over duplex fiber optic cable between the host computer and the timing board resident in the controller at a rate of 250 Mbits/s. It operates over one PCIe lane, and writes image data to kernel space with a DMA engine. Device driver support is available for Ubuntu LTS and Windows 10 operating systems. ---- {{ :readout:leach:arc-70_-_6-slot_controller_housing.png?400|}} - ** ARC-70 - 6-Slot Controller Housing:** The 6-slot closed controller housing contains the controller back-plane, an ARC73 power control board, and a machined aluminum enclosure for mounting up to six controller boards. An internal blower circulates the bulk of the air inside the enclosure, while allowing a some air to be drawn from outside. The controller housing has removable front and side panels to allow easy access for servicing. Internal shutter wiring and fiber optic cables are included. - //Controller housing dimensions//: 13.25 x 6.75 x 5.5 inches (33.30 x 16.20 x 14.0 cm) - //Controller weight//: 14 lbs. = 6.4 kg ---- {{:readout:leach:arc-73.jpg?400 |}} - ** ARC-73 - Power Control Board:** The power control board monitors incoming power for under or over voltages. The board turns on and off the analog voltages (+36, +/-16.5, +/-6.5) from the power supplies to the back-plane. ---- {{ :readout:leach:arc-80.jpg?400|}} - ** ARC-80 - Large Power Supply:** The large power supply provides DC power to large systems. Voltage output: +5, +/-6.5, +/-16.5, +36, +12(fan) volts Available power: 40 watts per supply. ---- ==== Leach System Components Manuals and Schematics ==== ^ **Bord** ^ **Manual** ^ **Shematic** ^ **Layout** ^ | ARC-22x - 250 MHz Fiber Optic Timing Board | {{ :readout:leach:arc22_usersmanual.pdf| Fiber Optic Board manual }} | {{ :readout:leach:arc22_sch.pdf| Fiber Optic Board Schematics }} | {{ :readout:leach:arc22_layout.pdf| Fiber Optic Layout }} | | ARC-32 - IR and CCD Clock Driver Board | {{ :readout:leach:arc32_usersmanual.pdf| Clock Driver Board manual }} | {{ :readout:leach:arc32r6a_sch.pdf| Clovk Driver Board Schematics }} | {{ :readout:leach:arc32r6a_layout.pdf| Clock Driver Board Layout }} | | ARC-33 - LBNL Bias Board | {{ :readout:leach:arc33_lbnlmanual.pdf| Bias Board manual }} {{ :readout:leach:arc-33_voltages.pdf| Bias Voltages }} | {{ :readout:leach:arc33_schm.pdf |Bias Board Shematics}} | {{ :readout:leach:arc33_layout.pdf| Bias Board Layout }} | | ARC-45 - Dual Readout CCD Video Board | {{ :readout:leach:arc45_usersmanual.pdf| Video Board manual }} | {{ :readout:leach:arc45_sch.pdf| Video Board Schematics }} | {{ :readout:leach:arc45_layout.pdf| Video Board Layout }} | | ARC-66 - PCIe Interface Board | N/A | {{ :readout:leach:arc66_rev1b_sch.pdf| Interface Board Schematics }} | {{ :readout:leach:arc66_rev1b_layout.pdf| Interface Board Layout }} | | ARC-70 - 6-Slot Controller Housing | N/A | N/A | N/A | | ARC-73 - Power Control Board | N/A | {{ :readout:leach:arc73r8a_sch.pdf| Power Control Board Schematics }} | {{ :readout:leach:arc73r8a_layout.pdf |Power control Board Layout}} | | ARC-80 - Large Power Supply | {{ :readout:leach:arc80_usersmanual.pdf| Power Supply manual }} | {{ :readout:leach:arc80_sch.pdf| Power Supply Schematics }} | {{ :readout:leach:arc80_layout.pdf| Power Supply Layout }} {{ :readout:leach:arc80_mechanical.pdf| Power Supply Mechanics }} | ===== Cable Schematics ===== Connecting the Leach system to the intermediate breakout board requires three district bales, one dedicated to clocking signals, one providing required bias voltages and one for the CCD readout channels. ^ **DB15, CCD Video Cable** ||||||| ^ ^ Leach Side |^ Breakout board side |||| | ::: ^ DB15 Female |^ DB15 Female |^ LEMO 1 ^ LEMO2 ^ ^ ^ Function ^ Pin ^ Pin ^ Function | ::: | ::: | | Bottom Row | Amplifier | 1 | 1 | VOUT_L2 | | | | ::: | ::: | 2 | x | N/C | | | | ::: | ::: | 3 | x | ::: | | | | ::: | TESTA | 4 | x | Amp1 | Center | | | ::: | TESTB | 5 | x | Amp2 | | Center | | ::: | Amplifier | 6 | x | N/C | | | | ::: | ::: | 7 | x | ::: | | | | ::: | ::: | 8 | 8 | VOUT_U2 | | | | Top Row | Isolated Ground | 9 | 9 | Ground | | | | ::: | Amplifier | 10 | x | N/C | | | | ::: | Isolated Ground | 11 | x | Amp1 | Shield | | | ::: | ::: | 12 | x | Amp2 | | Shield | | ::: | ::: | 13 | x | N/C | | | | ::: | Amplifier | 14 | x | ::: | | | | ::: | Isolated Ground | 15 | 15 | Ground | | | | Shield | | shield | shield | | | | ^ **DB 25, CCD Bias Cable** ||||| ^ ^ Leach Side |^ Breakout board Side || | ::: ^ DB 25 Female |^ DB 25 Female || | ::: ^ Function ^ Pin ^ Pin ^ Function ^ | Bottom Row | VDD1 | 1 | 1 | Vdd_1_LEACH | | ::: | VDD2 | 2 | 2 | Vdd_2_LEACH | | ::: | VDD3 | 3 | 3 | N/C | | ::: | VDD4 | 4 | 4 | ::: | | ::: | VR1 | 5 | 5 | Vr_1_LEACH | | ::: | VR2 | 6 | 6 | Vr_2_LEACH | | ::: | VR3 | 7 | 7 | Drain_1_LEACH | | ::: | VR4 | 8 | 8 | Drain_2_LEACH | | ::: | OG1 | 9 | 9 | DC-OG_1 | | ::: | OG2 | 10 | 10 | DC-OG_2 | | ::: | OG3 | 11 | 11 | N/C | | ::: | OG4 | 12 | 12 | ::: | | ::: | VSUB | 13 | 13 | ::: | | Top Row | Ground | 14 | 14 | Ground | | ::: | ::: | 15 | 15 | ::: | | ::: | ::: | 16 | 16 | ::: | | ::: | ::: | 17 | 17 | ::: | | ::: | ::: | 18 | 18 | ::: | | ::: | ::: | 19 | 19 | ::: | | ::: | ::: | 20 | 20 | ::: | | ::: | ::: | 21 | 21 | ::: | | ::: | ::: | 22 | 22 | ::: | | ::: | ::: | 23 | 23 | ::: | | ::: | -15V | 24 | 24 | N/C | | ::: | +15V | 25 | 25 | ::: | | Shield | | shield | shield | | ^ **DB 37, CCD Clock Cable** ||||| ^ ^ Leach Side |^ Breakout board Side || | ::: ^ DB 37 Male |^ DB 37 Male || | ::: ^ Function ^ Pin ^ Pin ^ Function ^ | Bottom Row | CLK0 | 1 | 1 | V1_1 | | ::: | CLK1 | 2 | 2 | V2_1 | | ::: | CLK2 | 3 | 3 | V3_1 | | ::: | CLK3 | 4 | 4 | V1_2 | | ::: | CLK4 | 5 | 5 | V2_2 | | ::: | CLK5 | 6 | 6 | V3_3 | | ::: | CLK6 | 7 | 7 | TG_1 | | ::: | CLK7 | 8 | 8 | OG_1 | | ::: | CLK8 | 9 | 9 | TG_2 | | ::: | CLK9 | 10 | 10 | OG_2 | | ::: | CLK10 | 11 | 11 | N/C | | ::: | CLK11 | 12 | 12 | ::: | | ::: | CLK12 | 13 | 13 | H1_L | | ::: | CLK13 | 14 | 14 | H2_L | | ::: | CLK14 | 15 | 15 | H3_L | | ::: | CLK15 | 16 | 16 | H1_U | | ::: | CLK16 | 17 | 17 | H2_U | | ::: | CLK17 | 18 | 18 | H3_U | | ::: | CLK18 | 19 | 19 | SW_1 | | Top Row | +15V | 20 | 20 | N/C | | ::: | -15V | 21 | 21 | ::: | | ::: | Isolated Ground | 22 | 22 | CLK_GND | | ::: | ::: | 23 | 23 | ::: | | ::: | ::: | 24 | 24 | ::: | | ::: | ::: | 25 | 25 | ::: | | ::: | ::: | 26 | 26 | ::: | | ::: | ::: | 27 | 27 | ::: | | ::: | ::: | 28 | 28 | ::: | | ::: | ::: | 29 | 29 | ::: | | ::: | ::: | 30 | 30 | ::: | | ::: | ::: | 31 | 31 | ::: | | ::: | ::: | 32 | 32 | ::: | | ::: | CLK19 | 33 | 33 | DG_1 | | ::: | CLK20 | 34 | 34 | RG_1 | | ::: | CLK21 | 35 | 35 | DG_2 | | ::: | CLK22 | 36 | 36 | RG_2 | | ::: | CLK23 | 37 | 37 | SW_2 | | Shield | | shield | shield | | ===== Breakout Board ===== The Breakout board combines the different signals from the leach system into a single connector. This allows us also to insert the VSUB directly from an external source, if we don't use the one provided from the leach system. This works also for the Vdd, Vr and Drain voltages. It is also possible to measure these voltages through the Breakout Board. Either way the jumper have to be set correctly (please refere to the shematics below). ^ **Bord** ^ **Shematic** ^ Materials ^ Kicad Files ^ | Breakout Board | {{ :readout:leach:leach_pcb_breakout_schematic_v1.pdf |shematics}} | {{ :readout:leach:leach_pcb_breakout_v1_bom.xls |Material list}} | {{ :readout:leach:kicad.zip |Kicad}} | ===== Front-end Board ===== The font-end board implements second stage amplification of CCD signals. The amplifiers are differential ones, this is the reasoning behind the external power source. There are four independent amplifier channels implemented within a common shield. The front-end board requires two external voltages (+/- 5V) with an estimated current draw of ~150 mA in each one of the voltage rails. ^ **Bord** ^ **Shematic** ^ Materials ^ Kicad Files ^ | Front End Board | {{ :readout:leach:second_stage_air_side_schematic.pdf |shematics}} | {{ :readout:leach:damic_second_stage_board_bom.xlsx |Material List}} | {{ :readout:leach:leachfrontendboard.zip |Kicad}} | There are different jumpers on the board that have to be set correctly, in the image below you can see the jumper setting that we use, for other settings please read the shematics. ---- {{ :readout:leach:whatsapp_image_2024-10-08_at_09.13.37.jpeg?400 |}} ---- ==== Pin Layout ==== | **DB 50, Front-End Board** ||||| | | Front-End Board side || Leach side || | ::: | DB 50 Female || DB 37 M, DB 25 F, DB 15 M || | ::: | Function | Pin | Pin | Function | | Bottom Row | H2Lm | 1 | 37.14 | CLK 12 | | ::: | H1Lm | 2 | 37.13 | CLK 13 | | ::: | OG_1m | 3 | 37.08 | CLK 7 | | ::: | SW_1m | 4 | 37.19 | CLK 18 | | ::: | Spare_6 | 5 | N/C | N/C | | ::: | Vdd_2 | 6 | 25.02 | VDD2 | | ::: | VR_2 | 7 | 25.06 | Vr2 | | ::: | VR_1 | 8 | 25.05 | Vr1 | | ::: | Vdd_1 | 9 | 25.01 | VDD1 | | ::: | Drain_2m | 10 | 25.08 | Vr4 | | ::: | Drain_1m | 11 | 25.07 | Vr3 | | ::: | Spare_3 | 12 | N/C | N/C | | ::: | TG_2m | 13 | 37.09 | CLK 8 | | ::: | SW_2m | 14 | 37.37 | CLK 23 | | ::: | OG_2m | 15 | 37.10 | CLK 9 | | ::: | H1Um | 16 | 37.16 | CLK 15 | | ::: | H2Um | 17 | 37.17 | CLK 16 | | Middle Row | H3Lm | 18 | 37.15 | CLK 14 | | ::: | V3_1m | 19 | 37.03 | CLK 2 | | ::: | V2_1m | 20 | 37.02 | CLK 1 | | ::: | V1_1m | 21 | 37.01 | CLK 0 | | ::: | TG_1m | 22 | 37.07 | CLK 6 | | ::: | SPARE_4 | 23 | N/C | N/C | | ::: | P_Plus | 24 | | Ground | | ::: | P_Plus | 25 | | Ground | | ::: | P_Plus | 26 | | Ground | | ::: | P_Plus | 27 | | Ground | | ::: | P_Plus | 28 | | CLK Ground | | ::: | SPARE_2 | 29 | N/C | N/C | | ::: | V3_2m | 30 | 37.06 | CLK 5 | | ::: | V2_2m | 31 | 37.05 | CLK 4 | | ::: | V1_2m | 32 | 37.04 | CLK 3 | | ::: | H3Um | 33 | 37.18 | CLK 17 | | Top Row | SPARE_9 | 34 | N/C | N/C | | ::: | SPARE_8 | 35 | N/C | N/C | | ::: | DG_1m | 36 | 37.33 | CLK 19 | | ::: | RG_1m | 37 | 37.34 | CLK 20 | | ::: | SPARE_7 | 38 | 25.09 | OG 1 | | ::: | SPARE_5 | 39 | 25.10 | OG 2 | | ::: | P_Plus | 40 | | Ground | | ::: | D50_VOUT_L2 | 41 | 15.2.1 | AMP | | ::: | D50_VOUT_L1 | 42 | 15.1.1 | AMP | | ::: | D50_VOUT_U1 | 43 | 15.1.8 | AMP | | ::: | D50_VOUT_U2 | 44 | 15.2.8 | AMP | | ::: | P_Plus | 45 | | Ground | | ::: | SPARE_1 | 46 | N/C | N/C | | ::: | DG_2m | 47 | 37.35 | CLK 21 | | ::: | RG_2m | 48 | 37.36 | CLK 22 | | ::: | P_Plus | 49 | | VSUB Ground | | ::: | VSUB_res | 50 | | VSUB Ext | | Shield | Shield | P_Plus | | Ground |