User Tools

Site Tools


acquisition_and_control_module_acm_board

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
acquisition_and_control_module_acm_board [2025/03/11 11:19] – [Starting CDAQ and Communicating with the ACM Board] simonacquisition_and_control_module_acm_board [2026/02/12 15:39] (current) vagelis
Line 1: Line 1:
 ====== The Acquisition and Control Module (ACM Board) ====== ====== The Acquisition and Control Module (ACM Board) ======
  
-Detailed schematics of the board are available here: [[https://edg.uchicago.edu/~bogdan/DAMIC_ACM/schematics.html|ACM Schematics]]. To view the Revision A schematics, click on any document on the page, and when the relevant schematic loads, replace "edg.uchicago.edu/~bogdan/DAMIC_ACM/doc/..." with "edg.uchicago.edu/~bogdan/DAMIC_ACM/doc/docA/..." in the browser address bar.+===== Schematics ===== 
 + 
 +Detailed schematics of the board are available localy int he following table but also at [[https://edg.uchicago.edu/~bogdan/DAMIC_ACM/schematics.html|ACM Schematics]]. To view Revision A schematics, use the relevant column from the table below or, if suing the external link provided above, click on any document on the page, and when the relevant schematic loads, replace "edg.uchicago.edu/~bogdan/DAMIC_ACM/doc/..." with "edg.uchicago.edu/~bogdan/DAMIC_ACM/docA/..." in the browser address bar. 
 + 
 +In the following table you can find the schematics of the ACM board (in this setup Revision A is used): 
 +^  Block                                                                                    Revision A                                                                                                                                                                                                                                                                                  Revision B                                                                                                                                                                                                                                                                                         ^ 
 +| Top level diagram                                                                        |  {{ :readout:acm:sch3018_1.pdf|Top Level A }}                                                                                                                                                                                                                                                {{ :readout:acm:sch3018_1_b.pdf| Top Level B}}                                                                                                                                                                                                                                                     | 
 +| Digital Input and Clocks                                                                  {{ :readout:acm:sch3018_2.pdf | Clock A}}                                                                                                                                                                                                                                                  |  {{ :readout:acm:sch3018_2_b.pdf| Clock B}}                                                                                                                                                                                                                                                         | 
 +| ADC Block                                                                                |  {{ :readout:acm:sch3018_3.pdf| ADC A}}                                                                                                                                                                                                                                                      {{ :readout:acm:sch3018_3_b.pdf| ADC B}}                                                                                                                                                                                                                                                           | 
 +| ADC Channel (x4)                                                                          {{ :readout:acm:sch3018_4_1.pdf| ADC Channel 1 A}}  {{ :readout:acm:sch3018_4_2.pdf| ADC Channel 2 A}} {{ :readout:acm:sch3018_4_3.pdf| ADC Channel 3 A}} {{ :readout:acm:sch3018_4_4.pdf| ADC Channel 4 A}}                                                                                {{ :readout:acm:sch3018_4_1_b.pdf| ADC Channel 1 B}}   {{ :readout:acm:sch3018_4_2_b.pdf| ADC Channel 2 B}} {{ :readout:acm:sch3018_4_3_b.pdf| ADC Channel 3 B}} {{ :readout:acm:sch3018_4_4_b.pdf| ADC Channel 4 B}}                                                                              | 
 +| Power Block                                                                              |  {{ :readout:acm:sch3018_5.pdf| Power Block A}}                                                                                                                                                                                                                                              {{ :readout:acm:sch3018_5_b.pdf| Power Block B}}                                                                                                                                                                                                                                                   | 
 +| FPGA                                                                                      {{ :readout:acm:sch3018_6.pdf| FPGA A}}                                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_6_b.pdf| FPGA B}}                                                                                                                                                                                                                                                          | 
 +| FPGA Decoupling Circuit                                                                  |  {{ :readout:acm:sch3018_7.pdf| FPGA Decoupling A}}                                                                                                                                                                                                                                          {{ :readout:acm:sch3018_7_b.pdf| FPGA Decoupling B}}                                                                                                                                                                                                                                               | 
 +| VME Block                                                                                |  {{ :readout:acm:sch3018_8.pdf | VME Block A}}                                                                                                                                                                                                                                              |  {{ :readout:acm:sch3018_8_b.pdf| VME Block B}}                                                                                                                                                                                                                                                     | 
 +| VME - P1                                                                                  {{ :readout:acm:sch3018_9.pdf| VME - P1 A}}                                                                                                                                                                                                                                                |  {{ :readout:acm:sch3018_9_b.pdf| VME - P1 B}}                                                                                                                                                                                                                                                      | 
 +| VME - P2                                                                                  {{ :readout:acm:sch3018_10.pdf| VME - P2 A}}                                                                                                                                                                                                                                                {{ :readout:acm:sch3018_10_b.pdf| VME - P2 B}}                                                                                                                                                                                                                                                     | 
 +| Ethernet Block                                                                            {{ :readout:acm:sch3018_11.pdf| Ethernet Block A}}                                                                                                                                                                                                                                          {{ :readout:acm:sch3018_11_b.pdf| Ethernet Block B}}                                                                                                                                                                                                                                               | 
 +| SFP Block - Optical Output (x2)                                                          |  {{ :readout:acm:sch3018_12_1.pdf| Optical Output 1 A}} {{:readout:acm:sch3018_12_2.pdf| Optical Output 2 A}}                                                                                                                                                                                {{ :readout:acm:sch3018_12_1_b.pdf| Optical Output 1 B}}      {{ :readout:acm:sch3018_12_2_b.pdf| Optical Output 2 B}}                                                                                                                                                                             | 
 +| CCD Control Block                                                                        |  {{ :readout:acm:sch3018_13.pdf| Control Block A}}                                                                                                                                                                                                                                          |  {{ :readout:acm:sch3018_13_b.pdf| Control Block B}}                                                                                                                                                                                                                                                | 
 +| DAC                                                                                      |  {{ :readout:acm:sch3018_14.pdf| DAC A}}                                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_14_b.pdf| DAC B}}                                                                                                                                                                                                                                                          | 
 +| Clock Generator Block (x5)                                                                {{ :readout:acm:sch3018_15_1.pdf| Clock Generator 1 A}}  {{ :readout:acm:sch3018_15_2.pdf| Clock Generator 2 A}} {{ :readout:acm:sch3018_15_3.pdf| Clock Generator 3 A}}  {{ :readout:acm:sch3018_15_4.pdf| Clock Generator 4 A}} {{ :readout:acm:sch3018_15_5.pdf| Clock Generator 5 A}}  |  {{ :readout:acm:sch3018_15_1_b.pdf| Clock Generator 1 B}}   {{ :readout:acm:sch3018_15_2_b.pdf| Clock Generator 2 B}}{{ :readout:acm:sch3018_15_3_b.pdf| Clock Generator 3 B}} {{ :readout:acm:sch3018_15_4_b.pdf| Clock Generator 4 B}}{{ :readout:acm:sch3018_15_5_b.pdf| Clock Generator 5 B}}  | 
 +| VSUB Generator Block                                                                      {{ :readout:acm:sch3018_16.pdf| VSUB A}}                                                                                                                                                                                                                                                    {{ :readout:acm:sch3018_16_b.pdf| VSUB B}}                                                                                                                                                                                                                                                         | 
 +| Bias Generator Block (x4)                                                                |  {{ :readout:acm:sch3018_17_1.pdf| Bias Generator 1 A}}     {{ :readout:acm:sch3018_17_2.pdf| Bias Generator 2  A}}  {{ :readout:acm:sch3018_17_3.pdf| Bias Generator 3  A}}  {{ :readout:acm:sch3018_17_4.pdf| Bias Generator 4  A}}                                                                                                                      {{ :readout:acm:sch3018_17_1_b.pdf| Bias Generator 1 B}} {{ :readout:acm:sch3018_17_2_b.pdf| Bias Generator 2 B}} {{ :readout:acm:sch3018_17_3_b.pdf| Bias Generator 3 B }} {{ :readout:acm:sch3018_17_4_b.pdf| Bias Generator 4 B}} | 
 +| Bias Generator with Offset Block (x2)                                                    |  {{ :readout:acm:sch3018_18_1.pdf| Bias Generator 1 A}}   {{ :readout:acm:sch3018_18_2.pdf|Bias Generator 2 A}}                                                                                                                                                                              {{ :readout:acm:sch3018_18_1_b.pdf| Bias Generator 1 B }}   {{ :readout:acm:sch3018_18_1_b.pdf| Bias Generator 2 B }}                                                                                                                                                                              | 
 +| CCD Connector Block                                                                      |  {{ :readout:acm:sch3018_19.pdf|CCCD Connector Block A}}                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_19_b.pdf|CCCD Connector Block B}}                                                                                                                                                                                                                                          | 
 +| Connector placement                                                                      |  {{ :readout:acm:3020_asm_top.pdf |Connector Placement A}}                                                                                                                                                                                                                                  |  {{ :readout:acm:3020_asm_top_1_.pdf |Connector Placement B}}                                                                                                                                                                                                                                       | 
 +^  Synchronisation board                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ||| 
 +| {{ :readout:acm:plans_sync_board_revc.pdf |Plans synchronisation board Rev C}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ||| 
 +| {{ :readout:acm:schema_sync_board_revc_nb.pdf |Schematics synchronisation board Rev C}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||| 
 +| {{ :readout:acm:fab_sync_board_revc.zip |Gerber files}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||| 
 +^  Test Sequencer board Paris                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ||| 
 +| {{ :readout:acm:plans_testsequencer.pdf |Plans Testsequencerboard}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ||| 
 +| {{ :readout:acm:schema_testsequencer_nb.pdf |Schematics Testsequencerboard}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ||| 
 +| {{ :readout:acm:fab_testsequencer.zip |Gerber Files}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |||
  
 ===== Powering the ACM Board ===== ===== Powering the ACM Board =====
Line 14: Line 47:
  
 There exists an outdated user manual; please use it with care: {{ :readout:acm:acm_system_documentation_1_.pdf |User Guide}} There exists an outdated user manual; please use it with care: {{ :readout:acm:acm_system_documentation_1_.pdf |User Guide}}
 +
 ==== Powering On and Off the ACM Board ==== ==== Powering On and Off the ACM Board ====
  
 To start the ACM board, it is important to follow this order: To start the ACM board, it is important to follow this order:
  
-Turn on the VME crate. +  * Turn on the VME crate. 
- +  Turn on the external supplies (HMP 2030).
-Turn on the external supplies (HMP 2030).+
  
 To shut down the ACM board: To shut down the ACM board:
  
-Turn off the HMP2030.+  * Turn off the HMP2030. 
 +  * Turn off the VME crate. 
 + 
 + 
 +===== Power Rail to Ground test ===== 
 + 
 +  * +3.3 -> GND 170 Ohm 
 +  * +5.0 -> GND: 480 kOhm 
 +  * +12 -> GND: 4.36 kOhm 
 +  * -12 -> GND: 490 kOhm 
 +  * -15 -> GND 285 Ohm 
 +  * +15 -> GND 500 kOhm 
 +  * -30 -> GND 825 kOhm 
 + 
 +Fuse continuity test 
 +  * +3.3V -> ok 
 +  * +5V -> ok 
 +  * +15V -> ok 
 +  * -15V -> ok 
 +  * -30V -> ok 
 + 
 +Output Fuse test from top to bottom including the back side resistors (measuring between capacitors and resistors) 
 +  * 100 Ohm 
 +  * 100 Ohm 
 +  * 1 kOhm 
 +  * 1 kOhm 
 +  * 1 kOhm 
 +  * 1 kOhm 
 + 
 +^ Supply  ^ Compliance setting                          ^ current before firmware loading  ^ current after firmware loading 
 +| +5 V    |  4.02 A                                      110 mA                          | 0.18 mA                         | 
 +| +3.3 V  |  4.0 A                                      |  970 mA                          | 2.4 A                           | 
 +| -30 V    100 mA                                      2 mA                            | 0                               | 
 +| +12 V   | Disconnected, generated from the ±15V line                                                                     ||| 
 +| -12 V   | :::                                                                                                            | :::                              | :::                             | 
 +| + 15 V  |  600 mA                                      334 mA                          | 360                             | 
 +| - 15 V  |  600 mA                                      155 mA                          | 160                             | 
  
-Turn off the VME crate. 
 ===== Software ===== ===== Software =====
  
 The ACM is driven by a two-stage software system: The ACM is driven by a two-stage software system:
  
-cdaq: Sets up the ACM as a server station. +**cdaq:** Sets up the ACM as a server station. 
- +**ldaq:** Manages communication between the server and your workstation.
-ldaq: Manages communication between the server and your workstation.+
  
 For download and installation, see the chapter Software Installation and Test. For download and installation, see the chapter Software Installation and Test.
Line 44: Line 112:
  
   * Navigate to the directory: /ccd-cdaq   * Navigate to the directory: /ccd-cdaq
- 
   * Run: ./start_daq.sh   * Run: ./start_daq.sh
  
Line 50: Line 117:
  
   * python start_imagebuilders.py   * python start_imagebuilders.py
-  *  
   * python ./start_client.py (Use screen -ls to check if image_builder.ACMDecoder and ccdmanager are present.)   * python ./start_client.py (Use screen -ls to check if image_builder.ACMDecoder and ccdmanager are present.)
  
Line 56: Line 122:
  
   - ./sendrun.py --to 'CCDID' 'daq.connect()'   - ./sendrun.py --to 'CCDID' 'daq.connect()'
-  - ./sendrun.py --to 'CCDID''daq.init_ccd(".bcf file", ".seq file")' +  - ./sendrun.py --to 'CCDID' 'daq.init_ccd(".bcf file", ".seq file")' 
-  - ./sendrun.py --to 'CCDID''daq.daemon.send_command("EHV")' +  - ./sendrun.py --to 'CCDID' 'daq.daemon.send_command("EHV")' 
-  - ./sendrun.py --to 'CCDID''daq.load_current_sequencer()' +  - ./sendrun.py --to 'CCDID' 'daq.load_current_sequencer()' 
-  - ./sendrun.py --to 'CCDID''daq.startup_ccd()'+  - ./sendrun.py --to 'CCDID' 'daq.startup_ccd()'
  
 These steps are part of the start_module.py script. These steps are part of the start_module.py script.
Line 86: Line 152:
  
 The CCDID is assigned by the board. For example, board number 105 has the ID ccd105 (For Rev A, it’s 1). The ID is determined by the board's IP, which is based on its Chip ID. The default IP for Rev B is 192.168.105.5. The CCDID is assigned by the board. For example, board number 105 has the ID ccd105 (For Rev A, it’s 1). The ID is determined by the board's IP, which is based on its Chip ID. The default IP for Rev B is 192.168.105.5.
-==== How to start the CDAQ and to communicate with the acm board ==== 
  
-  - Go into the directory /ccd-cdaq +==== Synchronization Board ====
-  - ./start_daq.sh +
-  - Python start_imagebuilders.py +
-  - Python ./start_client.py (Use screen -ls to check if the image_builder.ACMDecoder and ccdmanager are present) +
-  - ./sendrun.py --to CCDID ‘daq.connect()’     +
-  - ./sendrun.py --to CCDID ‘daq.init_ccd(“.bcf file”, “.seq file”)’ +
-  - ./sendrun.py --to CCDID ‘daq.daemon.send_command(“EHV”)’ +
-  - ./sendrun.py --to CCDID ‘daq.load_current_sequencer()’ +
-  - ./sendrun.py --to CCDID ‘daq.startup_ccd()’+
  
-The second part (step 5 and futher) are part of the start_module.py script+To synchronize multiple ACMs, a synchronization board is used. Communication between ACMs and the synchronization board is managed by the cdaq software, but ACMs must be set up correctly:
  
-**Erase/purge CCD** +  Assign one ACM as the master and others as slaves. (Master Red LEDSlave Green LED.
-  * daq.ops.erase_CCD(highP=9.delay 2)d +  * Send the ESS command to the master board, enabling it to communicate with the sync board. 
-  * aq.ops.epurge_CCD(lowP=-9., delay = 1)+  * Assign all ACMs to the same pool (otherwise, commands will be chained instead of handled simultaneously). 
 +  * Send the CEX command to the pool so they listen to the sync board’s clock. (Yellow LED next to the Ethernet connection indicates an internal clock; off means external.) 
 +  * Send commands to the pool; the software will handle the rest.
  
 +If the external clock is disconnected, it will automatically switch to the internal clock (not recommended). It will keep searching for an external clock and switch back once reconnected.
  
-**image aquisation** +Master/Slave Commands:
-  * daq.set_run(“testimages”, user=”simon”, comment=”test”, run_dir=“images”) +
-  * daq.prepare_image(fname=”img”, level=2) +
-  * daq.only_take_image(level=2)+
  
 +  * DSS+EXS = Slave board (Green LED)
 +  * ESS+EXS = Master board (Red LED)
  
-**Trace acquisistion** +**Note:** Different cable lengths can cause issues.
-  * daq.take_trace(fname=”trace”, ch=channel)+
  
-when shuting the cdaq down proceed as follows: +===== Software Installation and Test =====
-  - screen -ls (shows all existing clients) +
-  - ./shutdown_client.py CCDID (Should shutdown the client, verify with above command) +
-  - Screen -r ID (If ./shutdown_client.py was not successful use ID shown in screen ls and force the shutdown, verify) +
-  - Close Tmux session using ctrl+c &ctrl+d+
  
-The CCDID is set by the board for example board number 105 has the ID ccd105. (For Rev A it’s 1). The Id is set by the IP of the boardand the IP is set by the Chip IDIt is possible to change the IP through the firmware manually but in general not needed because every board gets the IP set individual by its Chip ID. The default IP for Rev B is 192.168.105.5+Before installing the ACM softwareauxiliary software must be installedFiles are located in /Home/ACM.
  
-==== Synchronisation Board ====+[[https://www.mosquitto.org/download/|Mosquitto broker]] 
 +  * Install: sudo apt install mosquitto 
 +[[https://github.com/tmux/tmux/wiki|tmux]] 
 +  * Install: sudo apt install tmux
  
-To use multiple ACM together it is necessary to synchronize them, for this a synchronisation board was developed. Communicaiton between the ACM and the syncrhonisation board is handled by the cdaq softwarebut the ACM's have to be set up properly+Before installing cdaq and ldaq, the firmware must be uploaded. Firmware is located at
-  - Assign one ACM to be a master board and the others as slaves (if set up correctly master=red LED, slave= green LED) +  * /home/damic/Files/ACM/ACM_Firmware
-  - Send to the Masterboard the command ESS, which allows it to send commands to the sync board +
-  - Asign all ACM to the same pool (otherwise commands are chained and not simultaneously handled) +
-  - Send to the pool the command CEX such that they will listen to the clock of the sync board (Yellow led next to ethenert connection means internal clock, off external). +
-  - then send command to pool, and the software will handle the rest. +
  
-If the external clock is cut it will automatically switch to internalnot a recommended procedure, it will try to always search for an externall one, if reconnected it will switch to externalFor the commands see chapter commands. Since the commands are wrapped in different stages it is possible to send a master/slave command that handles everything and to set it up manually command by command. +To upload firmwareuse Quartus: 
-  * DSS+EXS= slave board (green LED) +Located at: /intelFPGA_pro/24.2/quartus/bin
-  * ESS+EXS= master board (red LED)+
  
-**Note:** Different cable length can cause trouble. +  - Open Quartus and navigate to Tools → Programmer. 
 +  - Select USB-Blaster 2-1.4 and press Start. 
 +  - To allow USB Blaster communication, add the following rule to /etc/udev/rules.d/99-usb-blaster.rules: 
 +  - SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="usb" 
 +Reload rules: 
 +  sudo udevadm control --reload-rules 
 +  sudo udevadm trigger
  
 +After shutting down the ACM board, firmware must be re-uploaded. A permanent installation using a .pof file is possible.
 +==== cdaq and ldaq ====
 +
 +After this you can download the files from [[https://gitlab.com/nicolaseavalos/ccd-cdaq|ccd-cdaq]] and [[https://gitlab.in2p3.fr/damicm/ACM_revB_firmware/-/blob/ain/ethernet_firmware/odile_controller.vhd?ref_type=heads|ldaq]]. **Make sure that you choose the correct version for Rev A/B (see folowing chapter).** Go to the directory /path/to/ccd-cdaq and untar the file. For the installation follow the guide in the README file. To check if the installation was a sucess open the ccd-cdaq directory in terminal and send the following lines:
 +  - cd experiment
 +  - cp example.ini default.ini
 +  - cp example_ccd_clients.json ccd_clients.json
 +  - cd ..
 +  - ./start_daq.sh
 +
 +now a tmux window sould appear, in the bottom shel type:
 +  * python scripts/example.py
 +
 +Now you should see command moving around.
 +If the test was sucessull, you have to shut down the run que, clients and CDAQ:
 +  * delqueue.py
 +wait for this process to finish
 +  * ./shutdown_client.py fake1 -f
 +  * ./shutdown_client.py fake2 -f
 +shutdown the CDAQ
 +  * ./shutdown_daq.py
 +  * close the tmux sessioin using ctrl+c,ctrl+d or exit
 +
 +Now for the ldaq software follow also the README file.
 +
 +=== Rev A ===
 +Multiple modificatioins have to made for the Rev A to work properly, first make sure that you use the correct commits:
 +  * Ldaq: c5121925
 +  * Cdaq: 6adb7739
 +
 +Once this happens it is necessary to manually link the path of the libACM (which should be in /source/libDAQ/) in the bashcr shell
 +
 +Second, also the init file in the libDAQ directory has to be heavely modified, otherwise it will fail to initialize the clients {{ :readout:acm:init_.odt |modified initfile}}
 +
 +Third, there are two files the acmpy.py and daemon.py file, that have to be exchange with this versions:
 +
 +otherwise the communication between the cdaq server and the ACM itself is not proparly started and some commands will produce errors.
 +
 +Fourth, you have to correct an error in the acmpy file in line 120 os.mkdirs(tmppath, exist_ok=True) needs to be corrected to os.makedirs(tmppath, exist_ok=True). Otherwise the clients will fail to initialize with DAQ type ACM.
 ===== Command list ===== ===== Command list =====
 The main idea of the CDAQ is that you can send a list of commands to several  The main idea of the CDAQ is that you can send a list of commands to several 
Line 149: Line 246:
 Each CCD client can either be treated as an individual client or as part of a CCD pool. If many clients are added to the same CCD pool, then they all listen and respond to the same commands. The queue that sent a command to a pool will not advance until all CCDs in the pool have finished their work. The general command structure is: Each CCD client can either be treated as an individual client or as part of a CCD pool. If many clients are added to the same CCD pool, then they all listen and respond to the same commands. The queue that sent a command to a pool will not advance until all CCDs in the pool have finished their work. The general command structure is:
  
-**./sendrun.py --to CCDID CMD**+**./sendrun.py --to 'CCDID' 'CMD'**
  
 Take note of the quotation marks around the CMD, they are indeed needed (we send a string). The CCDID is set by the board for example board number 105 has the ID ccd105. All daq functions can be found in the acmpy.py file. Some function are calling ops/aqs functions, they are second level function and there corresponding files (operation/..) can be found in a subdirectory, where the acmpy.py is located. Take note of the quotation marks around the CMD, they are indeed needed (we send a string). The CCDID is set by the board for example board number 105 has the ID ccd105. All daq functions can be found in the acmpy.py file. Some function are calling ops/aqs functions, they are second level function and there corresponding files (operation/..) can be found in a subdirectory, where the acmpy.py is located.
Line 180: Line 277:
 | ./daq.ops.acquire.seqrunner.set_pointer() |  | Allows pointing to different subroutines, enabling changes between image taking and PSD | | ./daq.ops.acquire.seqrunner.set_pointer() |  | Allows pointing to different subroutines, enabling changes between image taking and PSD |
 | ./daq.take_trace() | Can be done with or without a sequencer. | Converts a binary file into CSV, raw video file without PSD | | ./daq.take_trace() | Can be done with or without a sequencer. | Converts a binary file into CSV, raw video file without PSD |
- 
- 
-===== Power Rail to Ground test ===== 
- 
-  * +3.3 -> GND 170 Ohm 
-  * +5.0 -> GND: 480 kOhm 
-  * +12 -> GND: 4.36 kOhm 
-  * -12 -> GND: 490 kOhm 
-  * -15 -> GND 285 Ohm 
-  * +15 -> GND 500 kOhm 
-  * -30 -> GND 825 kOhm 
- 
-Fuse continuity test 
-  * +3.3V -> ok 
-  * +5V -> ok 
-  * +15V -> ok 
-  * -15V -> ok 
-  * -30V -> ok 
- 
-Output Fuse test from top to bottom including the back side resistors (measuring between capacitors and resistors) 
-  * 100 Ohm 
-  * 100 Ohm 
-  * 1 kOhm 
-  * 1 kOhm 
-  * 1 kOhm 
-  * 1 kOhm 
- 
-^ Supply  ^ Compliance setting                          ^ current before firmware loading  ^ current after firmware loading  ^ 
-| +5 V    |  4.02 A                                      110 mA                          | 0.18 mA                         | 
-| +3.3 V  |  4.0 A                                      |  970 mA                          | 2.4 A                           | 
-| -30 V    100 mA                                      2 mA                            | 0                               | 
-| +12 V   | Disconnected, generated from the ±15V line                                                                     ||| 
-| -12 V   | :::                                                                                                            | :::                              | :::                             | 
-| + 15 V  |  600 mA                                      334 mA                          | 360                             | 
-| - 15 V  |  600 mA                                      155 mA                          | 160                             | 
  
  
Line 299: Line 361:
 | :::            |  Z30      |  158         | :::       | :::           | :::                   | :::                                                                                                                                                    | | :::            |  Z30      |  158         | :::       | :::           | :::                   | :::                                                                                                                                                    |
 | :::            |  Z32      |  160         | :::       | :::           | :::                   | :::                                                                                                                                                    | | :::            |  Z32      |  160         | :::       | :::           | :::                   | :::                                                                                                                                                    |
- 
-===== Software Installation and Test ===== 
- 
-Before installing the ACM Board software, you have to install the auxilliary software. On our setup the files are installed in the /Home/ACM directory.  
- 
-  * [[https://www.mosquitto.org/download/|Mosquitto broker]] 
- 
-sudo apt install mosqiotto 
- 
-  * [[https://github.com/tmux/tmux/wiki|tmux]] 
- 
-sudo apt install tmux 
- 
-Before the installation of the cdaq and ldaq take place the firmware has to be uploaded. The firmware for the ACM driver can be found here: 
-  * /home/ccdtest/Desktop/ACM_Firmware 
- 
-To upload or update the firmware the auxiliary software //Quartus// is needed it is located here: 
-  * /intelFPGA_pro/24.2/quartus/bin 
-It can be started by klicking on the icon on the destop, it takes a while to start. 
-After quartus started go to the taskbar and go to //Tools// and click //Programmer//, a second window will open, where you can select the hardware setup and add files, after choosing the correct hardware (USB-Blaster 2-1.4) press start. The first window will show you messages related to the upload process. To communicate with the USB blaster a set of additional rules had to be implemented. First open/create the file ///etc/udev/rules.d/99-usb-blaster.rules// and add the following command: 
-  * SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="usb> 
-Then reload the rules: 
-  * sudo udevadm control --reload-rules 
-  * sudo udevadm trigger 
-After this the setup has to be restarted for the modification to take effect.   
-The firmware can be found here (installed is: damic_m_acm_v11a.sof): 
-  * /home/ccdtest/Desktop/ACM_Firmware/Firmware V1 
- 
-**Note:** After every shutdown (see above chapter) of the ACM board you have to upload the firmware again. 
- 
-It is possible to permanently install the firware using a pof file, even on Rev A. 
- 
- 
- 
-==== cdaq and ldaq ==== 
- 
-After this you can download the files from [[https://gitlab.com/nicolaseavalos/ccd-cdaq|ccd-cdaq]] and [[https://gitlab.in2p3.fr/damicm/ACM_revB_firmware/-/blob/ain/ethernet_firmware/odile_controller.vhd?ref_type=heads|ldaq]]. **Make sure that you choose the correct version for Rev A.** Go to the directory /path/to/ccd-cdaq and untar the file. For the installation follow the guide in the README file. To check if the installation was a sucess open the ccd-cdaq directory in terminal and send the following lines: 
-  - cd experiment 
-  - cp example.ini default.ini 
-  - cp example_ccd_clients.json ccd_clients.json 
-  - cd .. 
-  - ./start_daq.sh 
- 
-now a tmux window sould appear, in the bottom shel type: 
-  * python scripts/example.py 
- 
-Now you should see command moving around. 
-If the test was sucessull, you have to shut down the run que, clients and CDAQ: 
-  * delqueue.py 
-wait for this process to finish 
-  * ./shutdown_client.py fake1 -f 
-  * ./shutdown_client.py fake2 -f 
-shutdown the CDAQ 
-  * ./shutdown_daq.py 
-  * close the tmux sessioin using ctrl+c,ctrl+d or exit 
- 
-Now for the ldaq software follow also the README file. 
- 
-**Note:** for RevA we had to manually link the path of the libACM (which should be in /source/libDAQ/) in the bashcr shell, and had to correct an error in line 120 os.mkdirs(tmppath, exist_ok=True) needs to be corrected to os.makedirs(tmppath, exist_ok=True). Otherwise the clients will fail to initialize with DAQ type ACM. 
- 
-===== Schematics ===== 
-In the following table you can find the schematics of the ACM board (in this setup Revision A is used): 
-^  Block                                                                                    Revision A                                                                                                                                                                                                                                                                                  Revision B                                                                                                                                                                                                                                                                                         ^ 
-| Top level diagram                                                                        |  {{ :readout:acm:sch3018_1.pdf|Top Level A }}                                                                                                                                                                                                                                                {{ :readout:acm:sch3018_1_b.pdf| Top Level B}}                                                                                                                                                                                                                                                     | 
-| Digital Input and Clocks                                                                  {{ :readout:acm:sch3018_2.pdf | Clock A}}                                                                                                                                                                                                                                                  |  {{ :readout:acm:sch3018_2_b.pdf| Clock B}}                                                                                                                                                                                                                                                         | 
-| ADC Block                                                                                |  {{ :readout:acm:sch3018_3.pdf| ADC A}}                                                                                                                                                                                                                                                      {{ :readout:acm:sch3018_3_b.pdf| ADC B}}                                                                                                                                                                                                                                                           | 
-| ADC Channel (x4)                                                                          {{ :readout:acm:sch3018_4_1.pdf| ADC Channel 1 A}}  {{ :readout:acm:sch3018_4_2.pdf| ADC Channel 2 A}} {{ :readout:acm:sch3018_4_3.pdf| ADC Channel 3 A}} {{ :readout:acm:sch3018_4_4.pdf| ADC Channel 4 A}}                                                                                {{ :readout:acm:sch3018_4_1_b.pdf| ADC Channel 1 B}}   {{ :readout:acm:sch3018_4_2_b.pdf| ADC Channel 2 B}} {{ :readout:acm:sch3018_4_3_b.pdf| ADC Channel 3 B}} {{ :readout:acm:sch3018_4_4_b.pdf| ADC Channel 4 B}}                                                                              | 
-| Power Block                                                                              |  {{ :readout:acm:sch3018_5.pdf| Power Block A}}                                                                                                                                                                                                                                              {{ :readout:acm:sch3018_5_b.pdf| Power Block B}}                                                                                                                                                                                                                                                   | 
-| FPGA                                                                                      {{ :readout:acm:sch3018_6.pdf| FPGA A}}                                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_6_b.pdf| FPGA B}}                                                                                                                                                                                                                                                          | 
-| FPGA Decoupling Circuit                                                                  |  {{ :readout:acm:sch3018_7.pdf| FPGA Decoupling A}}                                                                                                                                                                                                                                          {{ :readout:acm:sch3018_7_b.pdf| FPGA Decoupling B}}                                                                                                                                                                                                                                               | 
-| VME Block                                                                                |  {{ :readout:acm:sch3018_8.pdf | VME Block A}}                                                                                                                                                                                                                                              |  {{ :readout:acm:sch3018_8_b.pdf| VME Block B}}                                                                                                                                                                                                                                                     | 
-| VME - P1                                                                                  {{ :readout:acm:sch3018_9.pdf| VME - P1 A}}                                                                                                                                                                                                                                                |  {{ :readout:acm:sch3018_9_b.pdf| VME - P1 B}}                                                                                                                                                                                                                                                      | 
-| VME - P2                                                                                  {{ :readout:acm:sch3018_10.pdf| VME - P2 A}}                                                                                                                                                                                                                                                {{ :readout:acm:sch3018_10_b.pdf| VME - P2 B}}                                                                                                                                                                                                                                                     | 
-| Ethernet Block                                                                            {{ :readout:acm:sch3018_11.pdf| Ethernet Block A}}                                                                                                                                                                                                                                          {{ :readout:acm:sch3018_11_b.pdf| Ethernet Block B}}                                                                                                                                                                                                                                               | 
-| SFP Block - Optical Output (x2)                                                          |  {{ :readout:acm:sch3018_12_1.pdf| Optical Output 1 A}} {{:readout:acm:sch3018_12_2.pdf| Optical Output 2 A}}                                                                                                                                                                                {{ :readout:acm:sch3018_12_1_b.pdf| Optical Output 1 B}}      {{ :readout:acm:sch3018_12_2_b.pdf| Optical Output 2 B}}                                                                                                                                                                             | 
-| CCD Control Block                                                                        |  {{ :readout:acm:sch3018_13.pdf| Control Block A}}                                                                                                                                                                                                                                          |  {{ :readout:acm:sch3018_13_b.pdf| Control Block B}}                                                                                                                                                                                                                                                | 
-| DAC                                                                                      |  {{ :readout:acm:sch3018_14.pdf| DAC A}}                                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_14_b.pdf| DAC B}}                                                                                                                                                                                                                                                          | 
-| Clock Generator Block (x5)                                                                {{ :readout:acm:sch3018_15_1.pdf| Clock Generator 1 A}}  {{ :readout:acm:sch3018_15_2.pdf| Clock Generator 2 A}} {{ :readout:acm:sch3018_15_3.pdf| Clock Generator 3 A}}  {{ :readout:acm:sch3018_15_4.pdf| Clock Generator 4 A}} {{ :readout:acm:sch3018_15_5.pdf| Clock Generator 5 A}}  |  {{ :readout:acm:sch3018_15_1_b.pdf| Clock Generator 1 B}}   {{ :readout:acm:sch3018_15_2_b.pdf| Clock Generator 2 B}}{{ :readout:acm:sch3018_15_3_b.pdf| Clock Generator 3 B}} {{ :readout:acm:sch3018_15_4_b.pdf| Clock Generator 4 B}}{{ :readout:acm:sch3018_15_5_b.pdf| Clock Generator 5 B}}  | 
-| VSUB Generator Block                                                                      {{ :readout:acm:sch3018_16.pdf| VSUB A}}                                                                                                                                                                                                                                                    {{ :readout:acm:sch3018_16_b.pdf| VSUB B}}                                                                                                                                                                                                                                                         | 
-| Bias Generator Block (x4)                                                                |  {{ :readout:acm:sch3018_17_1.pdf| Bias Generator 1 A}}     {{ :readout:acm:sch3018_17_2.pdf| Bias Generator 2  A}}  {{ :readout:acm:sch3018_17_3.pdf| Bias Generator 3  A}}  {{ :readout:acm:sch3018_17_4.pdf| Bias Generator 4  A}}                                                                                                                      {{ :readout:acm:sch3018_17_1_b.pdf| Bias Generator 1 B}} {{ :readout:acm:sch3018_17_2_b.pdf| Bias Generator 2 B}} {{ :readout:acm:sch3018_17_3_b.pdf| Bias Generator 3 B }} {{ :readout:acm:sch3018_17_4_b.pdf| Bias Generator 4 B}} | 
-| Bias Generator with Offset Block (x2)                                                    |  {{ :readout:acm:sch3018_18_1.pdf| Bias Generator 1 A}}   {{ :readout:acm:sch3018_18_2.pdf|Bias Generator 2 A}}                                                                                                                                                                              {{ :readout:acm:sch3018_18_1_b.pdf| Bias Generator 1 B }}   {{ :readout:acm:sch3018_18_1_b.pdf| Bias Generator 2 B }}                                                                                                                                                                              | 
-| CCD Connector Block                                                                      |  {{ :readout:acm:sch3018_19.pdf|CCCD Connector Block A}}                                                                                                                                                                                                                                    |  {{ :readout:acm:sch3018_19_b.pdf|CCCD Connector Block B}}                                                                                                                                                                                                                                          | 
-| Connector placement                                                                      |  {{ :readout:acm:3020_asm_top.pdf |Connector Placement A}}                                                                                                                                                                                                                                  |  {{ :readout:acm:3020_asm_top_1_.pdf |Connector Placement B}}                                                                                                                                                                                                                                       | 
-^  Synchronisation board                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ||| 
-| {{ :readout:acm:plans_sync_board_revc.pdf |Plans synchronisation board Rev C}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ||| 
-| {{ :readout:acm:schema_sync_board_revc_nb.pdf |Schematics synchronisation board Rev C}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||| 
-| {{ :readout:acm:fab_sync_board_revc.zip |Gerber files}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ||| 
-^  Test Sequencer board Paris                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ||| 
-| {{ :readout:acm:plans_testsequencer.pdf |Plans Testsequencerboard}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ||| 
-| {{ :readout:acm:schema_testsequencer_nb.pdf |Schematics Testsequencerboard}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ||| 
-| {{ :readout:acm:fab_testsequencer.zip |Gerber Files}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ||| 
  
acquisition_and_control_module_acm_board.1741688362.txt.gz · Last modified: by simon