Wiki

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
resources:eval:user-guides:adar1000-eval1z [28 Oct 2020 00:21] – Update and add more suggested sequences Weston Sapiaresources:eval:user-guides:adar1000-eval1z [28 Oct 2020 00:40] (current) – Moved page Weston Sapia
Line 1: Line 1:
-====== EVALUATING THE ADAR1000-EVAL1Z (STINGRAY) ANALOG BEAMFORMING FRONT-END ====== +THIS PAGE HAS MOVED... [[resources/eval/user-guides/stingray/userguide HERE]]
-====== (UNDER CONSTRUCTION) ====== +
-====== GENERAL DESCRIPTION ====== +
-The ADAR1000-EVAL1Z evaluation board is an analog beamforming front-end designed for testing the performance of the [[adi>adar1000|ADAR1000]] and [[adi>adtr1107|ADTR1107]]The [[adi>adar1000|ADAR1000]] is an 8 GHz to 16 GHz, 4-Channel, X Band and Ku Band Beamformer IC. The [[adi>adtr1107|ADTR1107]] is a 6 GHz to 18 GHz, Front-End Transmit/Receive module.+
  
-The ADAR1000-EVAL1Z board consists of 8 RF cells. Each cell contains a core [[adi>adar1000|ADAR1000]] surrounded by four [[adi>adtr1107|ADAR1107s]]. All RF input/outputs on the evaluation board are brought out to SMPM coaxial connectors. There is a 12V power input and all required voltage rails for the board are generated on-board. Digital control of the board as well as the beamformers is enabled using either an [[adi>SDP|System Demonstration Platform (SDP)]] connector or a dual PMOD interface. Control signals for the board are expected to be 3.3V logic with on-board level translators converting this to the on-chip logic level of 1.8V. 
- 
-{{ :resources:eval:user-guides:stingray:stingray_front_cropped.png?direct | ADAR1000-EVAL1Z Board}} 
-<WRAP centeralign>**//Figure 1: ADAR1000-EVAL1Z Board//**</WRAP> 
----- 
-===== Main RFICs ===== 
-=== ADAR1000: 8 GHz to 16 GHz, 4-Channel, X Band and Ku Band Beamformer === 
-  * [[adi>adar1000|ADAR1000 Product page]] 
-  * [[/resources/errata/adar1000|ADAR1000 Datasheet and Silicon Errata]] 
-=== ADTR1107: 6 GHz to 18 GHz, Front-End Transmit/Receive Module === 
-  * [[adi>adtr1107|ADTR1107 Product page]] 
- 
----- 
-====== REQUIREMENTS ====== 
-===== Documents ===== 
-  * [[adi>media/en/technical-documentation/data-sheets/ADAR1000.pdf|ADAR1000 Datasheet]] 
-  * [[adi>media/en/technical-documentation/data-sheets/ADTR1107.pdf|ADTR1107 Datasheet]] 
-  * Rev. A design: 
-    * {{ :resources:eval:user-guides:stingray:059522a_modified.pdf |Schematic}} 
-    * {{ :resources:eval:user-guides:stingray:059522a_board.zip |Layout File}} 
-    * {{ :resources:eval:user-guides:stingray:059522a.zip |Gerbers}} 
-  * Rev. B design: 
-    * {{ :resources:eval:user-guides:stingray:059522b.pdf |Schematic}} 
-    * {{ :resources:eval:user-guides:stingray:059522b_board.zip |Layout File}} 
-    * {{ :resources:eval:user-guides:stingray:059522b.zip |Gerbers}} 
-===== Hardware ===== 
-  * ADAR1000-EVAL1Z Evaluation Board Kit 
-  * Snap-on Antenna Board (available upon request) 
-  * Digital controller and associated hardware (SDP or PMOD) 
-  * SMPM-SMA cabling to interface with the RF ports 
-===== Suggested Test Equipment ===== 
-  * 20GHz RF Signal Generator 
-  * 20GHz Spectrum Analyzer 
-  * 20GHz Vector Network Analyzer 
-  * Thermal Camera (optional) 
-  * Oscilloscope (optional) 
-  * RF Power Meter (optional) 
-===== Software/Digital Control ===== 
-=== SDP Control === 
-  * [[http://swdownloads.analog.com/ACE/SDP/SDPDrivers.exe|SDP Drivers]] 
-  * {{ :resources:eval:user-guides:stingray:stingray_test.exe |Basic SDP Test Program}} 
-  * [[adi>sdp-s|SDP-S controller board]]. 
- 
-=== PMOD Control === 
-  * Two 12-pin PMOD cables ([[https://www.mouser.com/ProductDetail/Samtec/IDSD-06-D-1800-R?qs=0lQeLiL1qybunuONxYyYYQ%3D%3D|Example]]) 
-  * Four 12-pin 0.100" male-male headers ([[https://www.digikey.com/product-detail/en/samtec-inc/TSW-106-22-T-D/TSW-106-22-T-D-ND/7867287|Example]]) 
-  * Example PMOD digital controllers: 
-    * [[https://www.raspberrypi.org/|Raspberry Pi]] 
-    * FPGA demonstration board 
-    * [[https://www.arduino.cc/|Arduino]] 
-    * [[https://www.ftdichip.com/|FTDI]] 
- 
----- 
-====== BOARD DESIGN ====== 
-The ADAR1000-EVAL1Z evaluation board has 8 SMPM RFIO connectors for the 8 cells on the component side of the board. There are 33 SMPM connectors on the opposite side of the board. 32 of these correspond to the 32 RF channels while the last connector goes to the RF detector and ADC combo on the bottom of the board which is intended to be used for calibration. 
- 
-Two 6-pin Molex "Mini-Fit Jr." connectors are provided to apply the required 12V power supply. One is for the power supply input, and the other can be used to daisy-chain a second board to power both boards using one power supply. Note that the included power supply can only support two ADAR1000-EVAL1Z boards. 
- 
-===== Power Supply ===== 
-The ADAR1000-EVAL1Z board must be powered from the included power supply with a voltage level of 12V. There is an on-board power management tree which generates the required voltage rails for all of the associated parts. 
- 
-===== RF Input and Output Signals ===== 
-The ADAR1000-EVAL1Z board has 41 surface-mounted SMPM connectors which are described in Table 1. 
-**//<WRAP center>Table 1: RF Connectors</WRAP>//** 
-|< 50% 15% 5% 30% 5% 45% >| 
-^  Connector(s)  ^    ^  Name(s)  ^    ^Description  ^ 
-|  J1 - J8  |    |  RFIOx  |    |ADAR1000 RFIO Connectors  | 
-|  J1_1 - J1_8, J2_1 - J2_8, J3_1 - J3_8, J4_1 - J4_8  |    |  ANT1_1 - ANT1_8, ANT2_1 - ANT2_8, ANT3_1 - ANT3_8, ANT4_1 - ANT4_8  |    |Antenna Connectors  | 
-|  J9  |    |  N/A  |    |RF Detector Input Connector  | 
- 
-{{ :resources:eval:user-guides:stingray:component_side_overview.png?1300 |ADAR1000-EVAL1Z Component Side Overview}} 
-**//<WRAP centeralign>Figure 2: ADAR1000-EVAL1Z Component Side Overview</WRAP>//** 
- 
-{{ :resources:eval:user-guides:stingray:antenna_side_overview.png?800 |ADAR1000-EVAL1Z Antenna Side Overview}} 
-**//<WRAP centeralign>Figure 3: ADAR1000-EVAL1Z Antenna Side Overview</WRAP>//** 
- 
-===== Digital Signals ===== 
-The digital input signals are intended to be 3.3V logic while the [[adi>adar1000|ADAR1000]] requires logic levels of 1.8V. To protect the [[adi>adar1000|ADAR1000]], level translators have been included between the digital connectors and the [[adi>adar1000|ADAR1000s]]. There are test points on the 1.8V side of the level translators, but these are not meant to be used to inject signals, only to view the signals reaching the [[adi>adar1000|ADAR1000s]]. 
- 
-==== PMOD Pinout ==== 
-{{ :resources:eval:user-guides:stingray:pmod_pinout.png?600 |PMOD Pinout}} 
-**//<WRAP centeralign>Figure 4: ADAR1000-EVAL1Z PMOD Pinout</WRAP>//** 
- 
-==== SPI Control ==== 
-The ADAR1000-EVAL1Z has five chip-select lines available for use. Four of these lines (CSB1, CSB2, CSB3, CSB4) are intended to be used for the [[adi>adar1000|ADAR1000s]] while the last line (CSB5) is dedicated for the RF detector/ADC combo on the antenna side of the board. 
- 
-Each [[adi>adar1000|ADAR1000]] has two ADDRx pins which can be used to control 4 separate [[adi>adar1000|ADAR1000s]] using only one CSB line. See the [[adi>media/en/technical-documentation/data-sheets/ADAR1000.pdf|ADAR1000 Datasheet]] for details on this. As the ADAR1000-EVAL1Z has eight [[adi>adar1000|ADAR1000s]], a minimum of two CSB lines are needed to have control over all the individual ICs. There are two CSB selector switches (S1, S2) which select the CSB line for the associated side of the board. Looking at the component side of the board, the left four [[adi>adar1000|ADAR1000s]] use the CSB line selected by S1 while the right four [[adi>adar1000|ADAR1000s]] use the CSB line selected by S2. 
- 
-{{ :resources:eval:user-guides:stingray:csb_selectors.jpg?direct |CSB Selector Switches }} 
-**//<WRAP centeralign>Figure 5: CSB Selector Switches</WRAP>//** 
- 
-The ADAR1000-EVAL1Z alone demonstrates a small beamformer array, but multiple boards can also be stacked and combined to create larger arrays. In order to simplify the digital interface, two boards can be controlled using one digital controller if the two boards use all four of the available CSB lines without worrying about talking to the wrong IC. 
----- 
-====== EVALUATION ====== 
-===== Hardware Setup ===== 
-  - Fully assemble the ADAR1000-EVAL1Z board on the stand and assure that the heatsink is firmly attached to the board. 
-  - Plug the included power supply into an outlet before connecting the power supply to P1 in the lower left-hand side of the board. Once finished, a red LED (D3) should be lit. 
-  - Connect your digital controller of choice to the appropriate connector. 
-  - Connect any test equipment of interest to the ADAR1000-EVAL1Z board. 
- 
-===== Board Power Control ===== 
-The ADAR1000-EVAL1Z board's power tree is controlled using two signals, PWR_UP_DOWN and +5V_CTRL. Due to the default settings of the [[adi>adar1000|ADAR1000]] on powerup, the [[adi>adar1107|ADAR1107]] PAs need to be protected so as not to be destroyed when power is applied. The easiest way to control this is to power everything on the board except for the [[adi>adar1107|ADAR1107s']] +5V rail, initialize the [[adi>adar1000|ADAR1000s]] to put the [[adi>adar1107|ADAR1107]] PAs into a safe state, and then power up the +5V rail. 
- 
-Both PWR_UP_DOWN and +5V_CTRL are controlled with pulses, not logic levels, as they are inputs to flip-flops rather than enable signals directly. 
- 
-==== Powerup Procedure ==== 
-  - Apply +12V to either P1 or P2. Note the red LED (D3) on the bottom of the board. When lit, 12V is applied and the hot swap circuit is active. At this point, no RF rails are powered, but some miscellaneous rails are up: 
-    * +3.3V_INT (U8, [[adi>lt8606|LT8606]]) 
-    * +1.8V_INT (U9, [[adi>adp150|ADP150]])  
-    * -6.0V_INT (U10, [[adi>ADP5074|ADP5074]]) 
-  - Pulse the PWR_UP_DOWN signal to sequence the first RF power rails. Once the power sequencer is finished, the ADAR1000s are fully powered up and the ADTR1107s are partially powered. This is indicated with an orange LED (D6). 
-    * +3.3V (U11, [[adi>lt8642s|LT8642S]]) 
-    * -3.3V (U13, [[adi>lt3093|LT3093]]) 
-    * -5.0V (U14, [[adi>lt3094|LT3094]]) 
-  - Initialize the ADAR1000s to put the ADAR1000-EVAL1Z into a known safe state with the ADTR1107 PAs pinched off. See the [[#Recommended ADAR1000 Initialization Sequence]] section for a recommended set of SPI writes. 
-  - Now that the ADTR1107 PAs are pinched off, +5V can safely be applied. This is accomplished by pulsing the +5V_CTRL signal. Once the +5V rail is up, a green LED (D4) is lit showing that the board is fully powered up. 
-    * +5.0V (U12, [[adi>lt8652S|LT8652S]]) 
- 
-==== Powerdown Procedure ==== 
-  - Pulse the +5V_CTRL signal to bring down the +5V power supply rail. The green LED will turn off indicating that the rail is down. 
-  - Pulse the PWR_UP_DOWN signal to tell the power sequencer to bring down the other RF rails in reverse order from powerup. 
- 
-<note>It is possible to only pulse PWR_UP_DOWN to turn off the board as disabling the power sequencer will also bring down the +5V rail. This is not recommended as it's safer to intentionally bring down +5V first, and will guarantee that any software controlling the board will not lose the current state.</note> 
- 
-===== Software Control ===== 
-  * Follow the [[#powerup_procedure|Powerup Procedure]] to safely turn the board on. 
-  * At this point, the board is fully enabled, but all amplifiers are powered down. In order to pass signals, the board needs to be put into either Rx or Tx mode and the [[adi>adtr1107|ADTR1107]] amplifiers properly biased up. See the [[adi>media/en/technical-documentation/data-sheets/ADAR1000.pdf|ADAR1000 Datasheet]] for information on how to do this. 
- 
-===== RF Detector and ADC Combination ===== 
-There is an on-board RF detector/ADC combo which can be used to help calibrate the ADAR1000-EVAL1Z or measure test signals. The circuit is located on the antenna side of the board near the bottom. 
- 
-The RF detector is the [[adi>hmc948|HMC948]] which feeds an [[adi>ada4807-1|ADA4807-1]] unity gain buffer. The [[adi>ada4807-1|ADA4807-1]] output then goes to the [[adi>LTC2314-14|LTC2314-14]]. See the [[adi>media/en/technical-documentation/data-sheets/231414fa.pdf|LTC2314-14 Datasheet]] for information on retrieving data from the ADC. 
- 
-The [[adi>hmc948|HMC948]] has approximately 54dB of dynamic range at 10GHz centered at -24dBm. 
- 
----- 
- 
-====== Recommended ADAR1000 Initialization Sequences ====== 
-Notes: 
-  - The below sequences don't take into account the different hardware addresses of the various ADAR1000s. Consult the [[adi>media/en/technical-documentation/data-sheets/ADAR1000.pdf|ADAR1000 Datasheet]] for more information on the hardware addressing. 
-  - The below sequences don't account for the fact that the Stingray uses two CSB lines to address all of the ADAR1000s on the board. In order to configure all chips, the sequences must be run on each required CSB line individually. 
- 
-===== Initial Powerup ===== 
-<code python> 
-""" 
-This sequence is suggested to be run after powering the +3.3V, -3.3V, and -5.0V rails on the Stingray board,  
-but before powering the +5.0V rail. This will help protect the ADTR1107 PAs. It will put the chips into a  
-known safe state on powerup. 
-    Format: (Register, Data, Description) 
-""" 
-INIT_SEQUENCE = [ 
-    # HOUSEKEEPING 
-    (0x000, 0x81, 'Reset'), 
-    (0x038, 0x60, 'Bypass the beam and bias RAM (enable SPI)'), 
-    (0x02E, 0x7F, 'Enable all Rx channels, LNA, VGA, Vector Mod'), 
-    (0x02F, 0x7F, 'Enable all Tx channels, PA, VGA, Vector Mod'), 
-    (0x034, 0x08, 'Set LNA preamplifier to nominal bias'), 
-    (0x035, 0x55, 'Set Rx VGA and Vector Mod to nominal bias'), 
-    (0x036, 0x2D, 'Set Tx VGA and Vector Mod to nominal bias'), 
-    (0x037, 0x06, 'Set Tx PA preamplifier to nominal bias'), 
- 
-    # PA BIAS VALUES 
-    (0x029, 0x68, 'Set PA1_BIAS_ON value (≈ -2.0V)'), 
-    (0x02A, 0x68, 'Set PA2_BIAS_ON value (≈ -2.0V)'), 
-    (0x02B, 0x68, 'Set PA3_BIAS_ON value (≈ -2.0V)'), 
-    (0x02C, 0x68, 'Set PA4_BIAS_ON value (≈ -2.0V)'), 
-    (0x046, 0x68, 'Set PA1_BIAS_OFF value (≈ -2.0V)'), 
-    (0x047, 0x68, 'Set PA2_BIAS_OFF value (≈ -2.0V)'), 
-    (0x048, 0x68, 'Set PA3_BIAS_OFF value (≈ -2.0V)'), 
-    (0x049, 0x68, 'Set PA4_BIAS_OFF value (≈ -2.0V)'), 
- 
-    # LNA BIAS VALUES 
-    (0x02D, 0x68, 'Set LNA_BIAS_ON value (≈ -2.0V)'), 
-    (0x04A, 0x68, 'Set LNA_BIAS_OFF value (≈ -2.0V)'), 
- 
-    # TR CONTROL STATE 
-    (0x031, 0x90, 'Disable Tx/Rx using SPI TR control'), 
- 
-    # Enable PA/LNA DACs 
-    (0x030, 0x50, 'Enable the PA and LNA output DACs'), 
-] 
-</code> 
- 
-===== Max Gain & 0° Phase ===== 
-<code python> 
-""" 
-Sequence to set all ADAR1000 channels to maximum gain and 0° phase. 
-    Format: (Register, Data, Description) 
-""" 
-CHANNEL_SETUP = [ 
-    # Rx GAIN 
-    (0x010, 0xFF, 'Set channel 1 Rx to maximum gain'), 
-    (0x011, 0xFF, 'Set channel 2 Rx to maximum gain'), 
-    (0x012, 0xFF, 'Set channel 3 Rx to maximum gain'), 
-    (0x013, 0xFF, 'Set channel 4 Rx to maximum gain'), 
-     
-    # Rx PHASE 
-    (0x014, 0x3F, 'Set channel 1 Rx I Vector Modulator to 0°'), 
-    (0x015, 0x20, 'Set channel 1 Rx Q Vector Modulator to 0°'), 
-    (0x016, 0x3F, 'Set channel 2 Rx I Vector Modulator to 0°'), 
-    (0x017, 0x20, 'Set channel 2 Rx Q Vector Modulator to 0°'), 
-    (0x018, 0x3F, 'Set channel 3 Rx I Vector Modulator to 0°'), 
-    (0x019, 0x20, 'Set channel 3 Rx Q Vector Modulator to 0°'), 
-    (0x01A, 0x3F, 'Set channel 4 Rx I Vector Modulator to 0°'), 
-    (0x01B, 0x20, 'Set channel 4 Rx Q Vector Modulator to 0°'), 
-     
-    # Tx GAIN 
-    (0x01C, 0xFF, 'Set channel 1 Tx to maximum gain'), 
-    (0x01D, 0xFF, 'Set channel 2 Tx to maximum gain'), 
-    (0x01E, 0xFF, 'Set channel 3 Tx to maximum gain'), 
-    (0x01F, 0xFF, 'Set channel 4 Tx to maximum gain'), 
-     
-    # Tx PHASE 
-    (0x020, 0x3F, 'Set channel 1 Tx I Vector Modulator to 0°'), 
-    (0x021, 0x20, 'Set channel 1 Tx Q Vector Modulator to 0°'), 
-    (0x022, 0x3F, 'Set channel 2 Tx I Vector Modulator to 0°'), 
-    (0x023, 0x20, 'Set channel 2 Tx Q Vector Modulator to 0°'), 
-    (0x024, 0x3F, 'Set channel 3 Tx I Vector Modulator to 0°'), 
-    (0x025, 0x20, 'Set channel 3 Tx Q Vector Modulator to 0°'), 
-    (0x026, 0x3F, 'Set channel 4 Tx I Vector Modulator to 0°'), 
-    (0x027, 0x20, 'Set channel 4 Tx Q Vector Modulator to 0°') 
-] 
-</code> 
- 
-===== Disable ===== 
-<code python> 
-""" 
-This sequence will disable the ADAR1000 and put the chip into a low power state. 
-    Format: (Register, Data, Description) 
-""" 
-DISABLE = [ 
-    (0x029, 0x68, 'Set CH1 PA_BIAS_ON to minimal power (≈ -2.0V)'), 
-    (0x02A, 0x68, 'Set CH2 PA_BIAS_ON to minimal power (≈ -2.0V)'), 
-    (0x02B, 0x68, 'Set CH3 PA_BIAS_ON to minimal power (≈ -2.0V)'), 
-    (0x02C, 0x68, 'Set CH4 PA_BIAS_ON to minimal power (≈ -2.0V)'), 
-    (0x02D, 0x68, 'Set LNA_BIAS_ON to minimal power (≈ -2.0V)'), 
-    (0x031, 0x90, 'Put ADAR1000 into SPI-controlled TR state and disable TX_EN/RX_EN bits') 
-] 
-</code> 
- 
-===== Rx Enable ===== 
-<code python> 
-""" 
-This sequence will configure the ADAR1000 for Rx and set the LNAs to full power. 
-Be sure you know what you're doing! 
-    Format: (Register, Data, Description) 
-""" 
-RX_SETUP = [ 
-    (0x02D, 0x00, 'Set LNA_BIAS_ON to full power (0V)'), 
-    (0x031, 0xB0, 'Put ADAR1000 into SPI-controlled Rx mode') 
-] 
-</code> 
- 
-===== Tx Enable (Reduced Power) ===== 
-<code python> 
-""" 
-This sequence will configure the ADAR1000 for Tx and set the PAs to a reduced power state. 
-Be sure you know what you're doing! 
-    Format: (Register, Data, Description) 
-""" 
-TX_SETUP_REDUCED_POWER = [ 
-    (0x029, 0x42, 'Set CH1 PA_BIAS_ON to reduced power (≈ -1.25V)'), 
-    (0x02A, 0x42, 'Set CH2 PA_BIAS_ON to reduced power (≈ -1.25V)'), 
-    (0x02B, 0x42, 'Set CH3 PA_BIAS_ON to reduced power (≈ -1.25V)'), 
-    (0x02C, 0x42, 'Set CH4 PA_BIAS_ON to reduced power (≈ -1.25V)'), 
-    (0x031, 0xD2, 'Put ADAR1000 into SPI-controlled Tx mode') 
-] 
-</code> 
- 
-===== Tx Enable ===== 
-<code python> 
-""" 
-This sequence will configure the ADAR1000 for Tx and set the PAs to full power. 
-Be sure you know what you're doing! 
-    Format: (Register, Data, Description) 
-""" 
-TX_SETUP = [ 
-    (0x029, 0x25, 'Set CH1 PA_BIAS_ON to full power (≈ -0.7V)'), 
-    (0x02A, 0x25, 'Set CH2 PA_BIAS_ON to full power (≈ -0.7V)'), 
-    (0x02B, 0x25, 'Set CH3 PA_BIAS_ON to full power (≈ -0.7V)'), 
-    (0x02C, 0x25, 'Set CH4 PA_BIAS_ON to full power (≈ -0.7V)'), 
-    (0x031, 0xD2, 'Put ADAR1000 into SPI-controlled Tx mode') 
-] 
-</code> 
resources/eval/user-guides/adar1000-eval1z.txt · Last modified: 28 Oct 2020 00:40 by Weston Sapia