Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


atca Common

...

driver

The common ATCA driver is an API that intermediates ATCACommon EPICS module and CPSW. It abstracts common ATCA registers and provides get and set functions to control them using CPSW. It also makes transparent all the peculiarities of CPSW.

Introduction

The common ATCA driver is responsible for the following:

  • Connect to CPSW driver and establish communication with the registers of the firmware common structure and are
    • DaqMux 0 and 1 configurations : Sends waveforms to software for visualization. Waveform source is configurable.
    • JESD Top (AMC) 0 and 1 : protocol communicating with ADC/DACs on the AMC cards
    • Waveform engine: An intermediate component between DaqMux (oscilloscope) and the software
    • bitstream build Build information
    • Temperature information
    • timing cross bar
  • Provide API class, once instantiated using static function, the user is permitted to control the registers and create and read streams

...

YAML fileRegister nameDescription

AxiVersion.yaml

UpTimeCnt

*What is this?

BuildStamp

Time stamp of the FPGA build

FpgaVersion

Version

GitHash

Git hash of firmware project

AxiSysMonUltraScale.yaml

Temperature

Temperature measurement of ***WHAT***

AmcCarrierBsi.yaml

EthUpTime

Uptime of ***WHICH*** ethernet

JesdRx.yaml 2 instantiations






StatusValidCnt[0]

***WHAT***

StatusValidCnt[1]

***WHAT***
StatusValidCnt[2]***WHAT***
StatusValidCnt[3]***WHAT***
StatusValidCnt[4]***WHAT***
StatusValidCnt[5]***WHAT***

DaqMuxV2.yaml 2 instantiations













TriggerCascMask

covered in DaqMux documentation









TriggerHwAutoRearm
DaqMode
PacketHeaderEn
FreezeHwMask
DecimationRateDiv
DataBufferSize
TrigCount
DbgInputValid

DbgLinkReady

InputMuxSel[0/1/2/3]

StreamPause[0/1/2/3]

StreamReady[0/1/2/3]

StreamOverflow[0/1/2/3]

StreamError[0/1/2/3]

InputDataValid[0/1/2/3]

StreamEnabled[0/1/2/3]

FrameCnt[0/1/2/3]

FormatSignWidth[0/1/2/3]

FormatDataWidth[0/1/2/3]

FormatSign[0/1/2/3]

DecimationAveraging[0/1/2/3]

Timestamp[0/1]

TriggerDaq

ArmHwTrigger

FreezeBuffers

ClearTrigStatus

AxiStreamDmaRingWrite.yaml 2 instantiations









Initialize

covered in waveform engine documentation









StartAddr[0/1/2/3]

EndAddr[0/1/2/3]

WrAddr[0/1/2/3]

Enabled[0/1/2/3]

Mode[0/1/2/3]

MsgDest[0/1/2/3]

FramesAfterTrigger[0/1/2/3]

Status[0/1/2/3]

AmcCarrierCore.yaml

OutputConfig[0/1/2/3]

Crossbar configuration. Four outputs choosing from four inputs. Output and input enumeration is as follows:

  • 0: NC TPG timing
  • 1: Mini TPG
  • 2: Back plane
  • 3: SC TPG timing

...

The driver does not throw any exceptions. Nonetheless, CPSW throws CPSWError errors and the driver propagates these exceptions. In these contexts the driver prints to stderr. Upper layers should catch exceptions of type CPSWError.


ATCACommon EPICS module