Home

Documentation

Project Support

Changes in Version 3 of GraspSwRegisters

Author:
isani
Timestamp:
Fri May 8 15:26:44 2009

Legend:

Unmodified
Added
Removed
Modified
  • GraspSwRegisters

    v2 v3
    1 1  '''E. [wiki:GraspSw Controller Address Space and Clocking Instructions]''' 
    2 2  [[TracNav(GraspContents)]] 
    3 3  This is a very low level API, used only by someone writing a newer 
    4 4  controller socket level command.  All controller socket level 
    5 5  commands are implemented in C code (downloaded as the stage2.srec 
    6 6  to the controller) which modifies registers or address space, and/or 
    7 7  writes instructions to the clocking engine. 
    8 8  Our FPGA [wiki:V2P20Phase0HWSWInterface Memory Map] includes [wiki:V2P20GPIO General Purpose I/O (GPIOs)] that 
    9 9  allow access to: 
    10 10   * Board ID Register Bits 
    11 11   * Board I2C Register Bits 
    12 12   * ADC SPI Configuration Register Interface 
    13 13   * Clocking Engine Register Interface 
      14  == Board ID Bits == 
      15   
      16  The first generation of STARGRASP controller fpga boards contain a 2 bits in a GPIO register which indicate which slot of a 4 slot chassis the board is in, and 3 more bits which are programmable as a "chassis ID" to differentiate the chassis when used in a mosaic camera or on a network with multiple development systems e.g. in a lab. 
      17   
      18  The current generation of STARGRASP uses more flexible I2C parts so that we can ID each board and store more information than just the chassis number. 
      19   
      20  == Board I2C Bits == 
      21   
      22  (More info needed on all of the things accessible by I2C here.) 
      23   
      24  == ADC SPI Configuration Register == 
      25   
      26  (More information on the ADC needed here.) 
      27   
      28  == Clocking Engine == 
      29   
      30  The "Clocking Engine" is an fpga-hardware pattern generator which we developed specifically for controlling clock lines to read a detector.  It consists of one 3-bit pattern generator we call "PG3" and two 4-bit pattern generators we call "PG4s".  Each bit in the PG can control one detector clock line signal. 
      31   
    14 32  Todo: Incorporate the wiki pages above into GraspContents. 
    15 33  Related info: 
    16 34   * [wiki:ClockMath Clocking Engine Math Module] 
    17 35   * [wiki:VIDSEQ_bit_packing Clocking Engine pattern generator bit packing] 
    18 36   * Clocking engine block diagram attached below. 
    19 37  [[Image(clocking_engine.gif)]]