Epics@GSI Webhome

HadCon 2 Multipurpose Controls Protocol Cmnd Apfel

Introduction

Command descriptions of command APFEL

Main

    General Operation

    The APFEL command set allows to talk to (several instances of) the APFEL ASIC. It uses a subset of the the I/O-Ports of the ATMEL μController to facilitate the communication to the proprietary protocol (q.v.Decoder.pdf) of the asic, sending a 22bit sequence for command, value, and chipId. ( → Apfel protocol code sequences)
    • Logically
      • Output:
        • CLK
          • quasi clock, only the level changes are important
        • DOUT
          • data out
        • Side Select
          • position
      • Input:
        • DIN
          • data in
      • GND
    • Electrical:
      • 3.3 Volt
    • Physically:
      • per default:
        • JDINOUT1/2, JADC
          • I/O ports:
            I/O port A C F
            Connector JDINOUT1 JDINOUT2 JADC
            pins DIN1 1 DIN1 1 DIN1 1
            DOUT1 2 DOUT1 2 DOUT1 2
            CLK1 3 CLK1 3 CLK1 3
            SS1 4 SS1 4 SS1 4
            DIN2 5 DIN2 5 DIN2 5
            DOUT2 6 DOUT2 6 DOUT2 6
            CLK2 7 CLK2 7 CLK2 7
            SS2 8 SS2 8 SS2 8

    Version 0

    In the run of development an intermediate short command set has been implemented which is not so well descriptive as its future successor
      Warning: Can't find topic Epics.HadConMultipurposeControlsProtocolCmndApfelV0

    Version 1

    alert not yet implemented, but you may have a look ...

    Overview
      overall main command structure:
      APFEL <command> <portLetter> <portIndex> <sideSelectionId> <chipId>  [<Argument(s)>]
      command address arguments comment
      "channel" value(s)
      dac <portLetter>
      A,C,F,
      <pinSetId>
      [ 1, 2 ]
      <sideSelectId>
      [ 1, 2 ]
      <chipId>
      [ 0 ... 7, 8 ... FE, FF]
      0xFF: generic call to all available chip Ids
      see command chipIdIgnoreMask for limiting the chipId range
      <dacId>
      [ 1 ... 4 ]
      < 4, e.g. 0xA: all DACs get value vDAC1
      [vDAC1[vDAC2[vDAC3[vDAC4]]]]
      [ 0 ... 0x3FF ]
      read/writes up to 4 DAC channels (if set with sign, incr/decr relatively)
      autoCalib     auto calibration of the DAC channels
      testPulse <channelId>
      [ 1 ... 2 ]
      < 4, e.g. 0xA: both channels
      height1 [height2]
      [ 0 ... 0xF ]
      initiate test pulse
      ampl <channelId>
      [ 1 ... 2 ]
      < 4, e.g. 0xA: both channels
      [ amplification1 [amplification2] ]
      [ 0,1, H,L ]
      0,L: low amplification (× 16)
      1,H: high amplification (× 32)
      get/set amplification mode
      l/list       lists all addresses of available ids

    APFEL d/dac
      Task
      Format
      • NOTE: setting <chipId> to 0xFF loops over all avaiable chip IDs
      • read
        • single DAC at port/pos/chipId:
          APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <dacId>
        • all 4 DACs at port/pos/chipId:
          APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId>
        • all 4 DACs of all available chipIds at port/pos:
          APFEL dac <portId> <sideSelectId>
      • write
        • single DAC at port/pos/chipIds:
          APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <dacId ≤ 4 > <value>
        • all 4 DACs at port/pos/chipId with same value:
          APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <dacId > 4> <value>
        • all 4 DACs at port/pos/chipId with individual values:
          APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <(dummy)> <valueDAC1> <valueDAC2> <valueDAC3> <valueDAC4>
      Response
      • single dac channel access
        RECV APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <dacId> <value>
      • any other plots per found chip
        RECV APFEL dac <portLetter> <portIndex> <sideSelectionId> <chipId> <dacId> <valueDAC1> <valueDAC2> <valueDAC3> <valueDAC4>
      Description

      read or write values from/to DAC channel(s) (if set with sign, incr/decr relatively)
      Arguments
      • <portId>
      • <posId>
      • <chipId>
      • <dacId>
      • <value>
      Comments
    ---

    APFEL a/autocalib
      Task
      Format
      Response
      Description
      Comments
    ---

    APFEL t/testPulse
      Task
      Format
      Response
      Description
      Comments
    ---

    APFEL ampl
      Task
      Format
      Response
      Description
      Comments
    ---

    APFEL l/list
      Task
      Format
      Response
      Description
      Comments
    ---




Warning: Can't find topic Epics.HadConMultipurposeControlsProtocolCmndApfelFirstTestResults


-- PeterZumbruch - 26 Jan 2015
-- PeterZumbruch - 2015-03-31

  • apfel.tar.gz: Shell scripts used for testing the basic functionality before implementation
  • Decoder.pdf: Apfel decode version 1_4
Topic attachments
ISorted ascending Attachment Action Size Date Who Comment
apfel.tar.gzgz apfel.tar.gz manage 33.6 K 2014-05-06 - 08:35 PeterZumbruch Shell scripts used for testing the basic functionality before APWI implementation
Decoder.pdfpdf Decoder.pdf manage 812.5 K 2015-03-26 - 13:22 PeterZumbruch Apfel decode version 1_4
Edit | Attach | Print version |  PDF | History: r23 | r13 < r12 < r11 < r10 | Backlinks | View wiki text | Edit WikiText | More topic actions...
Topic revision: r12 - 2015-03-31, PeterZumbruch
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)