SNAP - david-macmahon/wiki_convert_test GitHub Wiki
Developers
NRAO: Rich Bradley, Joe Greenberg, Rich Lacasse, Robert Treacy
UC Berkeley: Zuhra Abdurashidova, Dave DeBoer, Jack Hickish, Aaron Parsons, Dan Werthimer
Description
We have developed a low-cost FGPA board with on board ADCs, frequency synthesizer, and two 10Gbit Ethernet ports. This board is intended for digitizing data at each telescope of a large array, time stamping the data, and sending the ADC time domain data over Ethernet to a central computing facility. The board was designed for the Hydrogen Epoch of Reionization Array (HERA).
The board could also be used as a low cost CASPER ADC and signal processing board for education and low to mid performance instrumentation.
Status
- 2014aug19: The PO for the first batch of bare fabricated boards was submitted.
- 2014sep23: The first batch of bare fabricated boards have arrived at UC Berkeley.
- 2014nov02: 4 boards have been assembled, stuff and soldered, at least partially. Testing has started.
- 2016aug09: 4 rev 2 boards at UCB. Several more on order. Being used for various spectrometer apps. Available to order -- email [email protected]
Chipsets
-
ADC
- 3 each of Analog Devices (was Hittite) HMCAD1511 web site quad ADC
-
FPGA
- Xilinx Kintex7 web site: XC7K160T-2FFG676C
- As shown in the BOM, with suitable bypass capacitor changes, the XC7K325T-2FFG676C and XC7K410T-2FFG676C are supported by the PCB
-
Processor
- Raspberry PI web site Optional add-on board connected via 40-pin ribbon cable.
- Frequency synthesizer
-
Baluns
- Identical baluns for the 12 analog inputs and external sample clock.
-
MiniCircuits TC1-1-13MG2 web
site
- Maximum input 0.25W or +24dBm. Typical insertion loss of about 0.25dB DC to ~200MHz
- MiniCircuits TC2-72T+ web site
- Synergy TM2-1 web site
-
Power
- SNAPv2 power supply block diagram and programming
- TI power controller detailed configuration
-
U40 quad channel non-isolated PWM power controller
UCD9248PFC
- U40 channel 1: U35 20Amp 4.75V to 14V TI power module
PTD08A020W
- U35 output = VCCINT = VCCINT_FPGA = 1.0V
-
U36 dual 10Amp 4.75 to 14V TI 2 channel power module
PTD08D210W
- U40 channel 2: U36 output A = VCCAUX = VCCAUX_IO = 1.8V
- U40 channel 3: U36 output B = VCC3V3 = 3.3V
-
U34 10Amp 4.75 to 14V power module TI
PTD08A010W
- U40 channel 4: U34 output = VCCAUXMGT = 1.8V
- U40 channel 1: U35 20Amp 4.75V to 14V TI power module
PTD08A020W
-
U42 quad channel non-isolated PWM power controller
UCD9248PFC
-
U37 dual 10Amp 4.75 to 14V TI 2 channel power module
PTD08D210W
- U42 channel 1: U37 output A = VCC2V5 = VCC2V5_FPGA =
VADJ = VADJ_FPGA = 2.5V
-
U18 3A ultralow dropout regulator with Vin =%20
VCC2V5
- Regulated 1.8V for analog and digital rails on the ADC ICs and FPGA inputs from the ADC ICs
-
U18 3A ultralow dropout regulator with Vin =%20
VCC2V5
- U42 channel 2: U37 output B = VCCBRAM = 1.0V
- U42 channel 1: U37 output A = VCC2V5 = VCC2V5_FPGA =
VADJ = VADJ_FPGA = 2.5V
-
U38 dual 10Amp 4.75 to 14V TI 2 channel power module
PTD08D210W
- U42 channel 3: U38 output A = VCCMGTA = 1.0V (1.05V if QPLL > 10.3125 GHz)
- U42 channel 4: U38 output B = VTTMGTA = 1.2V
-
U37 dual 10Amp 4.75 to 14V TI 2 channel power module
PTD08D210W
-
U20 10Amp 4.5 to 17V power module
LMZ31710
- U20 output = VCC5V0 = 5.0V.
-
U16 0.4Amp ultralow noise low dropout 1.8 to 5V
regulator
HMC976
- U16 output = VCC3V3_SYN = 3.3V. Clean 3.3V for the LMX2581 synthesizer.
-
U17 0.4Amp ultralow noise low dropout 1,8 to 5V
regulator
HMC976
- U17 output = VCC3V3_DRV. Clean 3.3V for the HMC987LP5E clock driver.
- VCC5V0 is supplied to P3 (ZDok+ connector)
- VCC5V0 is supplied to P12 (2x20 header for a Raspberry Pi or equivalent) and OUT1PPS5V off-board output buffer U71 to SMATP16.
-
U19 5.5V 0.3Amp
ADP123AUJZ-R7
- U19 output = VCC_SPI = 2.8V
-
U16 0.4Amp ultralow noise low dropout 1.8 to 5V
regulator
HMC976
- U20 output = VCC5V0 = 5.0V.
Draft specification
-
Power: 12 to 24Watts (as a function of operations performed,
cards installed at the ZDok+ connector, etc)
- Vin measured at J2 input: 12 +/- approx. 1 VDC. 11 to 13VDC.
- The actual minimum Vin is unknown.
- It may be considerably above the Vin min limit suggested by the TI power modules (shown above) ~5.5V (from the VCC5V0 generator U20) due to changes in component heating or voltage drop which increase with increased current.
- The maximum Vin is set by the TI power modules (shown above) 14VDC. The value of 13VDC was shown above for margin.
- Virtually all initial lab tests have been performed with Vin = 12 +/- 0.2VDC.
- Power Dissipation Information:
-
Inputs
- Analog signal for the ADCs. 50 ohm single-ended.
- SMATP1 through SMATP12
- absolute maximum in-bandwidth input level at the SMA connector : +16dbm sine wave or +8.3dBm gaussian noise
- recommended maximum in-bandwidth input level at the SMA
connector : +15dBm sine wave or +5.3dBm gaussian noise
- +16dBm as set by the Panasonic EXB-24AT3AR3X 3dB impedance matching attenuator.
- +27dBm as set by the MiniCircuits TC1-1-13MG2+ 1:1 balun (this assumes the upstream 3dB pad could handle the +27dBm)
- The ADC IC analog input pin shunt capacitors, see schematics C41, C46, C53, C56, etc, are typically not populated onto the PCB. The additional loss due to the extra low pass filtering performed by those pins is not included in these maximum input level calculations.
- Each ADC IC analog input pin has absolute maximum range of -0.3 to +2.3V. This is ADC IC output pin Vcommon is AVDD * 0.5 = 1.8V * 0.5 = 0.9V. Thus, each ADC IC analog pin is about Vcommon +/- 1.2V. A sine wave of +12dBm has a peak voltage of about 1.2V. A -1dBm gaussian noise with crest factor of 6 has a Vpeak of about 1.2V. When those 2 differential input pins of Vpeak of 1.2V are mapped to the single ended signal the Vpeak is 2.4V or about +18dBm for a sine wave or +5dBm for gaussian noise. Those limits become +22.3dBm sine wave and +8.3 dBm gaussian noise when balun insertion loss and 3dB matching pad are included (and not including the loss due to low pass filtering provided by the typical NOT INSTALLED shunt capacitors). The maximum input that does Not turn on the input pin protection diodes is more like Vcommon +/- 0.9V or about +9dBm sine wave or -4dBm gaussion noise and the other limits decrease by the same 3dB relative to the absolute (damage causing) limits.
- 1 set of inputs for each HMCAD1511 ADC IC. There are 3 ADC ICs per board thus there are 3 analog input sets per board.
- Three sets of 4 inputs at 250 Msps for a total of 12 inputs or
- Three sets of 2 inputs at 500 Msps for a total of 6 inputs or
- Three sets of 1 input at 1 Gsps for a total of 3 inputs
- The sample clocks delivered to the ADC ICs are copies of the same signal.
- In the typical operation the 3 ADC ICs will be configured into the same 4, 2 or 1 input channel mode.
- With suitable FPGA gateware, and using the clock divider logic within the ADC ICs, it may be possible to operate the ADC ICs in multiple input channel modes. This has not been tried.
- The full scale inputs to the Analog Devices ADC IC are
(assuming single input into 50 ohm load)
- AC coupled to (approximately) F3dB 650 MHz (typical)
- 2 Vpeak_to_peak (+10 dBm) sine wave
- -2.6 dBm gaussian noise w/ crest factor 6
- Due to the loss in the components just upstream of the ADC
IC
- The F3dB frequency of the board will be reduced, possibly considerably, relative to a ADC IC itself.
- The full scale input level will be greater than that of the ADC IC itself.
- The usable full scale range is also a function of the digital gain programmed into the ADC IC.
- The actual ADC IC inputs are differential signals. This
board has an AC coupled balun on each input to generate
these differential signals. Each of the ADC IC's full scale
differential inputs are :
- -0.5 to +0.5 V (+4 dBm) sine wave
- -8.5 gaussian noise w/ crest factor 6
- centered around the around the ADC IC's Vcommon of AVDD/2 = 1.8V/2 = 0.9V
- +0.4 to +1.4 V (at the 2 ADC IC input pins)
- The input circuitry, including balun and shunt caps, have been selected for low frequency inputs (approx 4.5 MHz to 200 MHz). Different valued discrete components will need to be installed for optimal frequency response in different frequency ranges.
- The channel-channel isolation is not as high for channels
within a set (IC) as those that are in different sets (ICs).
- channel-channel isolation neighboring channels within 1 set : TBD (guess about -30 dB)
- channel-channel isolation separated channels within 1 set : TBD (guess about -40 dB)
- channel-channel isolation from 1 set to another set : TBD (guess better than -40 dB)
- See ADC16 test results for more information.
- Digital 1 PPS: 50 ohm single-ended LVTTL logic levels
- SMATP13
- Vin-high 2.0 to 3.3 Volts. Low current drive sources, such as typical LVTTL or CMOS gates, probably can not supply the 40mA required to supply the 2.0V into the 50ohm load.
- Vin-low 0.0 to 0.8 Volts
- External ADC clock: 50 ohm single-ended about +2 dBm
- SMATP15
- External ADC clock Pmax +15 dBm
- External ADC clock Pnom +2 dBm (1.4 Vpp)
- External ADC clock Pmin -7 dBm
- External reference for on-board frequency synthesizer: 50 ohm
about +10dBm
- SMATP14
- Actual input impedance : TBD. The PCB includes circuits to square the waveform and overload protection.
- External reference Pmax +20 dBm
- External reference Pnom +13 dBm (2.4 Vpp)
- External reference Pmin -1 dBm
- At the TI LMX2581 IC pins
- maximum with VCC applied : 1.8Vpp or ~ +9dBm
- maximum without VCC applied : 1.0Vpp or ~ +4dBm
- minimum : 0.4Vpp or ~ -4 dBm
- 10 to 100 MHz, or IEEE1588 ref.
- phase offset and stability between boards: TBD
- Analog signal for the ADCs. 50 ohm single-ended.
-
Outputs
- TP2: synthesizer output: 100 MHz to 1 GHz
- levels: TBD
- This vertical launch SMA receptacle is located in the middle of the PCB. It is not located on the same edge of the PCB as the other 15 coax inputs and 1 coax output.
- SMTAP16: FPGA output OUT1PPS buffered by 7 ports of TI
SN74LVCC4245A buffer
with 50 ohm source series resistor. This need not be programmed
as 1PPS.
- Vout-high : approx. 4.6V into 50 ohm load. Approx 4.9V into high impedance load.
- Vout-low : approx. 0.4V into 50 ohm load. Aprrox 0.2V into high impedance load.
- TP2: synthesizer output: 100 MHz to 1 GHz
-
' Auxillary Digital I/O'
-
- ZDok+
- P3: Routed on the PCB as 40 differential pairs but can
also be 80 single-ended programmable IOs
- The IO bank VCCO is 2.5V which means these IO outputs are supported : LVDS_25, LVCMOS25, PPDS_25 (point-to-Point Differential Signaling, RSDS_25 (reduced swing differential signaling).
- A number of different, additional, IO standards are supported as inputs to the FPGA (only inputs to the FPGA) such as HSTL
- P3: Routed on the PCB as 40 differential pairs but can
also be 80 single-ended programmable IOs
- various GPIO headers
- J2 2x6 header with 2 grounds and 10 GPIOs TEST0..TEST9
- outputs from the FPGA to J2
- See page 14 of the schematics for GPI connector J9,
- See page 12 for the VCCO voltages supplied to the different banks.
- TEST0..6 : High Range bank 14, VCCO=2.5V Vref
pins: NC, ZDok+ signal
- TEST0,1 are a differential FPGA pin pair.
- TEST2,3 are a differential FPGA pin pair.
- TEST4,5 are a differential FPGA pin pair.
- TEST7 : High Range bank 13, VCCO=2.5V Vref pins: NC, NC
- TEST8..9 : High Range bank 15, VCCO=3.3V Vref
pins: NC, P12 signal
- TEST8,9 are a differential FPGA pin pair.
- The 10 TEST0..9 nets look to be routed individually w/ various trace widths and not as controlled impedance differential pairs.
- Outputs from 2.5V VCCO FPGA banks 13 and 14 to
J9: TEST0..TEST7
- Can be programmed to the following different
signalling protocols. This is as set by the
Xilinx FPGA. There may be additional and
artificial software or design tools barriers
to selecting 1 or more of these output types
:
- LVDS_25 Low Voltage Differential Signaling. 100 ohm parallel termination.
- MINI_LVDS_25 Mini LVDS a psuedo-standard for flat panel displays. 100 ohm parallel termination.
- LVCMOS25 Low Voltage Complementary Metal-Oxide semiconductor. 0 to 2.5V. Birectional. Fast and Slow slew rate and drive strengths 4, 8, 12, and 16mA. High current may need parallel termination to VCCO/2.
- PPDS_25 Point-to-Point Differential Signaling.
- RSDS_25 Deduced Swing Differential Signaling.
- BLVDS Bus Low Voltage Differential Signaling. This is a non standard bidirectional differential interface. It requires a very particular termination network.
- Can be programmed to the following different
signalling protocols. This is as set by the
Xilinx FPGA. There may be additional and
artificial software or design tools barriers
to selecting 1 or more of these output types
:
- Outputs from 3.3V VCCO FPGA to J9: TEST8..TEST9
- Can be programmed to the following different
signalling protocols. This is as set by the
Xilinx FPGA. There may be additional and
artificial software or design tools barriers
to selecting 1 or more of these output types
:
- LVCMOS33 Low Voltage Complementary Metal-Oxide semiconductor. 0 to 2.5V. Birectional. Fast and Slow slew rate and drive strengths 4, 8, 12, and 16mA. High current may need parallel termination to VCCO/2.
- LVTTL Low Voltage Transistor Transistor Logic. JEDEC JESD 8C.01. Implemented with a push-pull output buffer Fast and Slow slew rate and drive strengths 4, 8, 12, 16, and 24mA. Higher current versions may need parallel termination to VCCO/2. Voh might be much higher than 2.4V for lightly loaded circuits.
- PCI33_3 Peripheral Component Interconnect. 3.3V (not 5V). This might have large swing large drive and thus may be hard to tame.
- TMDS_33 Transition Minimized Differential Signaling. Used by DVI and HDMI interfaces. 50 ohm pull-up to 3.3V is required at the end of ther transmission line.
- Can be programmed to the following different
signalling protocols. This is as set by the
Xilinx FPGA. There may be additional and
artificial software or design tools barriers
to selecting 1 or more of these output types
:
- inputs to the FPGA from J2
- outputs from the FPGA to J2
- P12 2x20 with a collection of GPIOs
- J2 2x6 header with 2 grounds and 10 GPIOs TEST0..TEST9
- USB UART
- Two (2) 10Gbit SFP+ Ethernet connectors
- ZDok+
-
-
Block Diagram
- or direct link Block Diagram (pdf)
-
Schematics v1.0
- PDF schematics: or direct link schematics (pdf)
- Zipped Orcad Schematics of SNAP Board
-
Schematics v2.1
- v2.0 fixes ZDok+ connector and power connector footprints, as well as minor bugfixes and improvements. See sheet 7 of the schematics for details.
- v2.1 fixes FPGA temp/voltage monitoring. See sheet 7 of the schematics for details.
-
PDF schematics:
or direct link schematics
(pdf)
- Warning: The ASCII art diagram of showing the ZDok+ connector pin locations on page 27 is not correct for a bird's eye view of the top of the board. It has signal pins reversed; A1 and A20 should be swapped. The ASCII art drawing on page 7 is correct.
- Warning: The comments on page 9 stating that the VCCO of the IO banks for the ZDok+ signal pins will probably be 3.3V and on bank 16 are incorrect. The diagram and changes for Rev B comment on page 7 are correct: the banks are 12, 13 and 14 and the voltage is 2.5V. The comment on page 12 that VADJ_FPGA probably set to 2.5V is also correct.
-
PDF schematics with markup notes: schematics with notes
(pdf)
- The file above has extra documentation notes added to clarify how the hierarchical schematics map to the finished board. In particular, there are many additional notes about the different DC-DC converters.
- Zipped Orcad Schematics of SNAP Board:
- ASCII text netlist (Mentor PADS format) direct linke netlist (ASCII text)
- Photos of SNAP Board
-
Reviewed Schematic with
comments
- Bill of Materials
-
Design Description
-
Bare Board Fabrication Gerber Files
- The Gerber file zip files also include the top and bottom assembly drawings and pick and place file.
- Rev 1.0.2 obsolete or direct link SNAPProduction.zip (zip)
- Rev 2.1.1 in production or direct link SNAP-V2_1_1.zip (zip)
-
Board Layout (place and route) Design Files
- Rev 1.0.2 obsolete or direct link SNAP-V1_0_2.brd.zip (zip)
- Rev 2.1.1 in production or direct link SNAP-V2_1_1_board_place_and_route.zip (zip)
- Enclosure Files
Single-board RFI enclosures have been designed for SNAP as part of the HERA project:
-
- pre-2019feb26 or post 2019feb26
A 1U single-board rack-mount enclosure has also been developed by the SETI Institute. See here for more details. Full design files are also available
Data Sheets
-
Analog Devices ADP123AUJZ-R7 adjustable voltage regulator web
site
or ADP123 data sheet
(pdf)
- Generates the SPI Flash's 2.8V data sheet from 5V
-
Avago HSMS-2812 schottky diode web
site
or Avago HSMS-2818 data sheet
(pdf)
- Synthesizer oscillator waveform squaring and input protection diodes
-
Avago HSMS-2818 schottky diode web
site
or AVago HSMS-2818 data sheet
(pdf)
- Clock input protection diodes
-
Analog Devices (was Hittite) HMCAD1511 ADC web
site
or HMCAD1511 data sheet
(pdf)
- Analog to digital converter.
-
Analog Devices (was Hittite) HMC976 low noise voltage regulator web
site
or HMC976LP3E data sheet
(pdf)
- Two of these are used to generate, from 5V, the 3.3V required for the LMX2581 Synthesizer and HMC987 clock fanout buffer.
-
Analog Devices (was Hittite) OBSOLETE HMC922LP4E non-reflective
SPDT switch web
site
or HMC922LP4E data sheet
(pdf)
- Select between the external sample clock and the on board LMX2581 synthesizer output.
- This is an obsolete part!
-
Analog Devices (was Hittite) HMC987LP5E clock fanout buffer web
site
or HMC987LP5E data sheet
(pdf)
- Generate 4 identical copies of the sample clock for the 3 ADC ICs and the FPGA.
-
MiniCircuits balun TC1-1-13MG2 web
site
or balun TC1-1-13MG2+ data sheet
(pdf)
- This same balun is used for both the 12 analog inputs to be sampled as well as the external clock.
- Murata BNX016-01 15 amp LC filter (pdf)
-
http://industrial.panasonic.com/www-cgi/jvcr13pz.cgi?E+PZ+3+AOJ0002+EXB24AT3AR3X+7+WW
Panasonic 3dB attenuator web site] or EXB-24AT3AR3X data sheet
(pdf)
- Analog input fixed attenuation and impedance matching.
- 0.04Watt or +16dBm maximum input signal level
-
SiT9102 differential output oscillator web
site
or SiT9102 data sheet
(pdf)
- SiT9102AI-243N25E200.00000 200 MHz LVDS oscillator for FPGA system clock
- SiT9120AI-2D3-33E156.250000 156.25 MHz LVDS oscillator for 10GbE SFP+ Ethernet
-
Synergy TM2-1 balun web
site or TM2-1 data
sheet
(pdf)
- The Synergy TM2-1 was considered for but was Not used on the rev 1 SNAP board.
-
TI LP3856 3A regulator web site
or LP3856 data sheet
(pdf)
- Generates 1.8V for the ADC IC outputs to the FPGA from the on-board generated 2.5V.
-
TI's LMX2581 synthesizer web
site or LMX2581 data sheet
(pdf)
- Programmable ADC sample clock generator locked to externally supplied reference.
-
TI LMZ12002TZ-ADJ 2A adjustable switcher web
site or direct link
LMZ12002TZ-ADJ data sheet
(pdf)
- The TI LMZ12002TZ-ADJ was considered for but was Not used on the rev 1 SNAP board.
-
LMZ31710 10Amp power module web
site or LMZ31710 data sheet
(pdf)
- Generates 5V from externally supplied 12V. The 5V is used to power regulators, boards installed at the ZDok+ connector, and so on.
-
PTD08A010W single 10Amp power module web
site or PTD08A010W datasheet
(pdf)
- Under the direct control of an UCD9248 power controller generates VCCAUXMGT form the externally supplied 12V.
-
PTD08A010W single 20Amp power module web
site or PTD08A010W datasheet
(pdf)
- Under the direct control of an UCD9248 power controller generates VCCINT form the externally supplied 12V.
-
PTD08D210W dual 10Amp power module web
site or PTD08D210W data
sheet (pdf)
- Under the direct control of two (2) UCD9248 power controller components, three (3) of the PTD08D210W parts generate 2.5V, FPGA's BRAM VCC, MGTA VCC and VTT from the externally supplied 12V.
-
TI's UCD9248 power controller web
site or UCD9248 data sheet
(pdf)
- Two (2) UCD9248 parts control two (3) PTD08D210W, one (1) PTD08D020W and one (1) PTD08A010W parts to generate VCCINT, 2.5V, FPGA's BRAM VCC, MGTA VCC, VTT and VCCAUXMGT from the externally supplied 12V.
- Xilinx Kintex 7
Software Resources
- Fusion Digital Power Designer for programming UCD9248 power controllers.
Background Information
-
- or direct link possible Xilinx FPGAs (pdf)
- or direct link possible synthesizers (pdf)
A guide to bringing up a SNAP board is available here: SNAP Bringup
First report of SNAP thermal performance in RFI enclosure:
First report of SNAP RFI performance in RFI enclosure: SNAPRFITestReport (pdf)
Specification for data stored in the One-Time Programmable region of the SPI flash
A guide to calibrating ADCs on a SNAP board is available here: SNAP ADC Calibration
For a more ADC operation details check out this page: ADC operation
Binaries and SNAP-specific configuration files are available on github
Power Regulators
- Below tested on board S/N 1 & 2
- Programmed regulators via TI programmer: OK
- Power use on power up 0.78A @ 12V (0.9A with Raspberry Pi)
- TODO: Calibrate current monitoring
FPGA
- Below tested on board S/N 2
- Programmed via JTAG with Xilinx Platform Cable: OK
- Programmed via Raspberry Pi using JTAG over RPI ribbon cable header: OK (code at https://github.com/jack-h/RpiJtag)
- Programmed SPI flash via JTAG with Xilinx Platform Cable: OK @ 3 MHz config clock (NB, set S1 switches 2 and 5 to on)
- Retested SPI flash with 50 MHz config clock (~1s to program on power up): OK