ConfigurationGuide
ConfigurationGuide
Application Report
SBAA417 – June 2020
K.S.V.Phanindra
ABSTRACT
The purpose of this document is to give a brief insight into various blocks of AFE79xx, explain how to
identify the proper settings for your system, and configure the AFE through Latte software.
Contents
1 Introduction ................................................................................................................... 3
1.1 Nomenclature ....................................................................................................... 4
1.2 Configuration Check List .......................................................................................... 4
2 System Configuration ....................................................................................................... 5
2.1 Introduction .......................................................................................................... 5
2.2 Sampling Rates, Interface Rates, Mixers and Number of Bands............................................. 7
2.3 Other Top Parameters ........................................................................................... 17
2.4 Case Study ......................................................................................................... 19
3 JESD Configuration ....................................................................................................... 20
3.1 Introduction ......................................................................................................... 20
3.2 ADC JESD TX Configuration .................................................................................... 21
3.3 DAC JESD RX Configuration .................................................................................... 28
3.4 JESD Common Settings.......................................................................................... 31
3.5 Case Study ......................................................................................................... 32
4 GPIO Configuration ....................................................................................................... 35
4.1 Introduction ......................................................................................................... 35
4.2 Key Points .......................................................................................................... 37
4.3 Configuring ......................................................................................................... 37
5 RX DSA, AGC and ALC .................................................................................................. 40
5.1 Introduction ......................................................................................................... 40
5.2 Common Controls ................................................................................................. 43
5.3 Internal AGC Controls ............................................................................................ 44
5.4 Automatic Level Controller (ALC) ............................................................................... 46
5.5 External AGC Mode ............................................................................................... 48
5.6 Choosing Settings for AGC ...................................................................................... 50
6 DSA Calibrations ........................................................................................................... 51
6.1 RX/FB DSA Calibration ........................................................................................... 51
6.2 TX DSA Calibration ............................................................................................... 51
7 Power Amplifier Protection (PAP) ........................................................................................ 52
7.1 Introduction ......................................................................................................... 52
7.2 Using PAP .......................................................................................................... 57
7.3 Configuration ....................................................................................................... 57
8 Miscellaneous Functions .................................................................................................. 60
8.1 SPIB1/SPIB2 ....................................................................................................... 60
8.2 TX DSA Control ................................................................................................... 60
8.3 FB DSA Control ................................................................................................... 61
8.4 Alarms .............................................................................................................. 62
8.5 NCO Switching .................................................................................................... 64
www.ti.com
List of Figures
1 RX Digital Chain ............................................................................................................. 8
2 TX Digital Chain.............................................................................................................. 8
3 FB Digital Chain.............................................................................................................. 9
4 iGui for Top System Parameters .......................................................................................... 9
5 iGui Showing the Clocking Diagram With Individual Clock Divider Settings ....................................... 11
6 Clocking Path Highlighted With Internal PLL for All TX, FB and RX ............................................... 12
7 Clocking Path Highlighted With Internal PLL for TX and FB and External Clock for RX ......................... 13
8 Clocking Path Highlighted With External Clock for TX, FB and RX ................................................ 14
9 ADC JESD TX Functional Block Diagram .............................................................................. 21
10 iGui for ADC JESD TX .................................................................................................... 27
11 DAC JESD RX Functional Block Diagram ............................................................................. 28
12 iGui for DAC JESD RX ................................................................................................... 31
13 Functional Block Diagram for GPIO Block ............................................................................. 36
14 iGui for GPIO Status ....................................................................................................... 38
15 Detectors in RX Digital Chain............................................................................................. 41
16 Digital Peak Detectors .................................................................................................... 41
17 Controller Algorithm for Internal AGC ................................................................................... 43
18 PAP Block in TX Chain ................................................................................................... 53
19 Triggers and Alarms to PAP .............................................................................................. 54
20 PAP Timing Diagram When a Single PAP Trigger Occurs ........................................................... 56
21 PAP Timing Diagram When Multiple PAP Triggers Occur ........................................................... 57
22 Alarms Recovery .......................................................................................................... 63
23 Initialization Flow for Continuous Sysref (Part 1) ...................................................................... 67
24 Initialization Flow for Continuous Sysref (Part 2) ...................................................................... 68
25 Initialization Flow for Continuous Sysref (Part 3) ...................................................................... 69
26 Initialization Flow for Continuous Sysref (Part 4) ...................................................................... 70
27 Initialization Flow for Single Shot Sysref (Part 1) ..................................................................... 71
28 Initialization Flow for Single Shot Sysref (Part 2) ..................................................................... 72
29 Initialization Flow for Single Shot Sysref (Part 3) ..................................................................... 73
30 Initialization Flow for Single Shot Sysref (Part 4) ..................................................................... 74
List of Tables
1 TX DAC to FB ADC Combinations ........................................................................................ 6
2 Supported Modes: Sampling Rates to Interface rates Mapping for RX .............................................. 6
3 Supported Modes: Sampling Rates to Interface rates Mapping for FB ............................................... 6
www.ti.com Introduction
4 Supported Modes: Sampling Rates to Interface rates Mapping for TX ............................................... 7
5 External Clock Modes ..................................................................................................... 10
6 RX NCO Switching Modes to RX_NCOSEL_X Function Mapping .................................................. 16
7 TX NCO Switching Modes to TX_NCOSEL_X function mapping.................................................... 17
8 FB NCO Switching Modes to FB_NCOSEL_X function mapping.................................................... 17
9 List of RRF Modes ......................................................................................................... 18
10 JESD System Mode ....................................................................................................... 23
11 Default Output for Each JESD System Mode ......................................................................... 23
12 Valid Parameters for each JESD System Mode ....................................................................... 24
13 ADC JESD Sync Mux Mapping .......................................................................................... 25
14 DAC JESD Sync Mux Mapping .......................................................................................... 30
15 Use Case 1 Configuration ................................................................................................. 32
16 JESD Case Study 1: ADC Lane Mapping .............................................................................. 33
17 JESD Case Study 1: DAC Lane Mapping .............................................................................. 33
18 Use Case 3 Configuration ................................................................................................. 33
19 Lane-Wise ADC Data ...................................................................................................... 35
20 Lane-Wise DAC Data ...................................................................................................... 35
21 Bandwidths for Band Specific Detectors ................................................................................ 42
22 External AGC Detector Information on LSB and Pins ................................................................. 48
23 Bit Wise Mapping for Pin/LSB outputs of External AGC .............................................................. 49
24 8-Pin External AGC Mode: Pin Mapping ................................................................................ 49
25 PAP alarmChannelMask mapping for Each Channel ................................................................ 58
26 PAP alarmMask mapping ................................................................................................ 59
27 FB DSA Pin Based Switching ............................................................................................ 61
28 Alarms Onto Pin Description ............................................................................................. 63
29 Top Level Parameters ..................................................................................................... 76
30 List of Supported Input Functions ........................................................................................ 83
31 List of Supported Output Functions ...................................................................................... 88
32 List of AGC and ALC Parameters ........................................................................................ 90
33 List of PAP Related Parameters ......................................................................................... 94
34 List of Calibration Related Parameters .................................................................................. 96
35 List of DSA Related Parameters ......................................................................................... 96
36 List of Alarms Related Parameters ...................................................................................... 97
37 Miscellaneous Parameters ................................................................................................ 97
Trademarks
All trademarks are the property of their respective owners.
1 Introduction
TI's new generation transceiver, AFE79xx, has high level of integration of features and flexibility of
configurations. These benefits also increase the complexity of programming AFE79xx. The Latte software
serves as a high-level synthesizer tool by abstracting the necessary system parameters to generic
terminology in order to simplify the AFE79xx configuration generation. Once the parameters are entered in
Latte, the software checks for the validity of the configuration and gives the failing checks. Besides, Latte
software also acts as evaluation tool for EVM testing.
In each of the following sections, different blocks of the device are introduced, and the related system
parameters (parameter name in italics and brackets) are explained. The format to access the parameters
is present in Section 9.
Introduction www.ti.com
For example, Section 2.1 and Section 2.2 describes how to choose the sampling rates. Consider the “DAC
sampling frequency (Fdac)” in Section 2.2. The system parameter is in italics and brackets: Fdac. The
format to set the parameter in Latte when configuring through code is present in Section 9.2. The format is
given in the starting of the section:
Format: sysParams.<parameter>
The default value and explanation of the format for the same is present in Section 9.2. For DAC sample
rate of 8847.36 MHz, the parameter is set as:
sysParams.Fdac = 8847.36
1.1 Nomenclature
• DAC: Digital-to-Analog Converter (Transmitter Downlink)
• ADC: Analog-to-Digital Converter (Receiver Uplink)
• FB: Feedback ADC for Digital Pre-Distortion
• DPD: Digital Pre-distortion
• DGC: Digital Gain Compensation, also known as Automatic Level Control (ALC)
• ALC: Automatic Level Control, also known as Digital Gain Compensation.
• LCM: Least Common Multiple
• DSA: Digital Step Attenuator
• JESD204: JEDEC standard for Serial Link Transfer for Data Converters. Also referred to as JESD in
this document.
• NCO: Numerical Control Oscillator
5. Want dedicated ADC for FB or share analog with RX ADC (in TDD system scenario)?
JESD204:
1. Protocol (204B/204c)?
2. Independent or common Lanes for RX and FB
3. What all channels of RX form single link?
4. What all channels of FB form single link?
5. What all channels of TX form single link?
6. RX LMFSHd mode(s)
7. FB LMFSHd mode(s)
8. TX LMFSHd mode(s)
9. CMOS or LVDS Sync Interface?
RX AGC:
1. Internal AGC?
• What detectors are needed?
2. External AGC?
• What detectors are needed?
• Need the detector information on LSBs or pins?
• DSA control: 8-Pin based or 4-pin based or SPI Based Control?
3. ALC (DGC) Enable?
• Which mode of ALC is needed?
Miscellaneous:
1. PAP
2. Alarm pins
3. Gain Swap for RX/TX
4. Need additional SPI intefaces: SPIB1/SPIB2?
GPIO:
1. Need to identify the pins for each of the above functionalities
2 System Configuration
2.1 Introduction
The AFE79xx is a family of high-performance, wide bandwidth multi-channel transceivers, integrating four
RF sampling transmitter chains, four RF sampling receiver chains and up to two RF sampling digitizing
auxiliary chains (feedback paths). The high dynamic range of the transmitter and receiver chains allows
generating and receiving 3G, 4G, and 5G signals for wireless base stations, while the wide bandwidth
capability makes the AFE79xx devices suitable for multi-band 4G and 5G base stations. Each receiver
chain includes a 25-dB range DSA (Digital Step Attenuator), followed by a RF Sampling ADC (analog-to-
digital converter). Each receiver channel has two analog peak power detectors and various digital power
detectors to assist an external or internal autonomous automatic gain controller and RF overload detectors
for device reliability protection. The single or dual digital down converters (DDC) provide up to 600 MHz of
combined signal BW. In TDD mode, the receiver channel can be configured to dynamically switching
between traffic receiver (TDD RX) and wideband feedback receiver (TDD FB), with the capability of
reusing the same analog input for both purposes. Each transmitter chain includes a single or dual digital
up converters (DUCs) typically supporting up to 1200-MHz combined signal bandwidth. The output of the
DUCs drives a 12-GSPS DAC (digital to analog converter) with a mixed mode output option to enhance
2nd or 3rd Nyquist operation. The DAC output includes a variable gain amplifier (TX DSA) with 40-dB
range and 1-dB analog and 0.125-dB digital steps. The feedback path includes a 25-dB range DSA driving
a RF sampling ADC, followed by a DDC with up to 1200-MHz bandwidth.
There is a constraint on the Fdac to FadcFb ratio. In Table 1, the entries in green are the supported full-
rate FadcFb sampling rates for each Fdac, and the blue entries are the supported half-rate FadcFb
sampling rates. If sampling rates other than those tabulated above are desired, similar ratios between
Fdac and FadcFb are supported, with each of Fdac and FadcFb scaled by the same factor. For instance,
a (6000.00 MSPS, 3000.00 MSPS) combination for (Fdac, FadcFb), is supported as a scaled variant of
the (5898.24 MSPS, 2949.12 MSPS) combination.
To translate the System Level requirements to AFE79xx configuration in Latte, the first step is to identify:
• Frequency bands of operation
• Output bandwidths
• Number of bands per channel
• NCO switching mode or fixed NCO mode
Determine based on frequency planning. This can be a maximum of 3 GHz. Maximum RX lane rate is
FadcRx*10 for JESD 204B and FadcRx*8.25 for JESD 204C. This can be maximum 3 GHz.
3. FB ADC sampling frequency (FadcFb):
Determine based on frequency planning. This can be a maximum of 3 GHz. Maximum FB lane rate is
max(FadcRx, FadcFb)*10 for JESD 204B and max(FadcRx, FadcFb)*8.25 for JESD 204C. This can be
maximum 3 GHz.
4. DAC sampling frequency (Fdac):
Determine based on frequency planning. Maximum TX lane rate is FadcFb*10 for JESD 204B and
FadcFb*8.25 for JESD 204C. This value can be maximum 12 GHz.
5. External Clock Mode TX (externalClockTx):
This feature can be enabled if the sampling rate of the DAC must be derived from the external clock.
This is generally useful in cases where the DAC sampling rate is not supported by the internal PLL or
when phase noise that is better than the internal PLL is needed.
6. External Clock Mode RX (externalClockRx):
This feature can be enabled if the sampling rate of the RX ADC must be derived from the external
clock. This is independent of the externalClockTx. If this and externalClockTx are both set, then the
PLL is disabled. When the externalClockTx is not set the DAC sampling clock is derived from the PLL.
This is generally useful in cases where:
1. The ADC sampling rate is not supported by the internal PLL.
2. PLL to ADC rate is not supported.
3. When phase noise is better than the internal PLL is needed.
Figure 5. iGui Showing the Clocking Diagram With Individual Clock Divider Settings
Setting the above parameters calculates the internal dividers to appropriate values. The internal divider
values can be seen in the iGui PLL tab.
Figure 6. Clocking Path Highlighted With Internal PLL for All TX, FB and RX
Figure 7. Clocking Path Highlighted With Internal PLL for TX and FB and External Clock for RX
Figure 8. Clocking Path Highlighted With External Clock for TX, FB and RX
This is per channel setting and determines the FB interface rate. The bandwidth is approximately 81%
if the interface rate.
7. Number of active FB NCOs (numFbNCO):
This is the number of active FB NCOs. If NCO switching is not needed, keep this as 1. Device
supports up to 16 but current version of Latte software supports only maximum of 4. Note that when
numFbNCO is more than 2, the NCOs should be used in FCW mode and 1KHz mode is not supported.
8. FB Mixer frequency for NCO 0 (fbNco0):
This is the first mixer frequency (NCO) for each channel. For meeting performance of the ADC, it is
needed to have mixer frequencies of all the NCOs corresponding to that FB chain to be in same
nyquist. The device supports multiple Nyquists programmed for each ADC, however it may cause
performance degradation.
9. FB Mixer frequency for NCO 1 (fbNco1):
This is the second NCO for each channel. If numFbNCO is 1, this doesn't matter. For meeting
performance of the ADC, it is needed to have mixer frequencies of all the NCOs corresponding to that
FB chain to be in same nyquist. The device supports multiple Nyquists programmed for each ADC,
however it may cause performance degradation.
10. TX interpolation Factor (ducFactorTx):
This is per channel setting and determines the TX interface rate. The bandwidth is approximately 81%
of the interface rate.
11. Number of TX Bands (numBandsTx):
This determines if it is single band or dual band.
12. Tri or Quad Band TX (combineDucMode):
This combines TXA and TXB when the numbandsTx is 1 for both TXA and TXB (resulting in quad
band) or when numbandsTx is 1 for one of TXA and TXB (resulting in Tri Band). Similar for TXCD.
13. Number of active TX NCOs (numTxNCO):
This is the number of active TX NCOs. If no NCO switching is needed, keep this as 1. This can be
maximum of 2 in dual band and 16 in single band. However, if in single band, if numTxNCO is greater
than 2, only FCW mode of the NCO is supported. 1KHz is not supported. Latte software currently
supports maximum numTxNCO of 2.
14. TX Mixer frequency for NCO 0 (txNco0):
This is the first mixer frequency (NCO) in MHz for each channel and band. This is the effective mixer
frequency for each band. The internal firmware splits it to front and back mixers (As shown in
Figure 2). If the mixer frequency is more than Fdac/2, then the chain operates in second Nyquist, in
mixed mode of operation. Note that the mixer frequencies of all the bands and NCOs should be in the
same nyquist.
For Dual Band Cases,
The maximum separation of the mixer frequencies in dual band case is limited by the combining rate of
TX Mentioned in Table 4. Say the input data rate is IDR, the combining rate is CMR, and the center
frequencies for the two bands of interest are NCO0 and NCO1 (NCO0> NCO1). The edges of the
bands are such that the individual bands do not go beyond the bandwidth at the combining rate (that
is, NCO0-NCO1 < 0.81*(CMR-IDR)). The maximum separation of the two bands is 0.81*(combining
rate – Input data rate). The multiplication factor, 0.81, is the filter bandwidth to rate ratio.
For the example, if the combining rate is 1474.56 MHz and the input data rate is 491.52 MHz, the
maximum separation between the bands is approximately 796 MHz.
Out of the two combining rate options mentioned for each case, the minimum value feasible will be
chosen based on the maximum separation between bands and NCOs (in case 2 NCOs are used). For
example, in case Fdac is 8847.36MSPS, the combining rate can be 1474.56MSPS or 2949.12MSPS.
Based on above calculation,
When numTxNco=1,
If the max(txNco0 band 0, txNco0 band 1)-min(txNco0 band 0, txNco0 band 1)<796MHz, then
1474.56MSPS will be the combining rate. Otherwise, 2949.12MSPS will be the combining rate.
When numTxNco=2,
max(txNco0 band 0, txNco0 band 1,txNco1 band 0, txNco1 band 1)-min(txNco0 band 0, txNco0 band
1,txNco1 band 0, txNco1 band 1)< 796 MHz, then 1474.56MSPS will be the combining rate.
Otherwise, 2949.12MSPS will be the combining rate.
In a dual band case, if the NCOs are intended to be changed after initialization, it is needed to give a
band separation of more than 0.81*(combining rate – Input data rate) for these parameters.
Key Points:
• Shared modes will use RXA ADC for FBAB and RXC for FBCD.
• In TDD Case, RX/FB cannot be active at the same time.
• In FDD Case, RX and FB can be active at the same time with their respective TDD pins controlling.
• In cases where FB is not used to act as 4R mode, the 'F' in the above mode names doesn't matter.
6. TDD Mode (modeTdd):
The user may need to control TDDs of different channels independently. This setting is common to RX,
FB, and TX chains. This setting in conjunction with GPIO muxing gives the flexibility to do so.
Supported modes by this are:
• 0- Single TDD Pin for all Channels: RXATDD control all RX channels. RXBTDD, RXCTDD and
RXDTDD functions are invalid. TXATDD control all TX channels. TXBTDD, TXCTDD and TXDTDD
functions are invalid. FBABTDD control both FB channels. FBCDTDD is inactive.
• 1- Separate Control for 2T/2R/1F RXATDD and RXCTDD functions control RXAB and RXCD
channels respectively. RXBTDD and RXDTDD are invalid. TXATDD and TXCTDD functions control
TXAB and TXCD channels respectively. TXBTDD and TXDTDD are invalid. FBABTDD and
FBCDTDD control corresponding FB channels.
• 2- Separate Control for 1T/1R/1F RXATDD, RXBTDD, RXCTDD, RXDTDD functions control the
corresponding RX channels. TXATDD, TXBTDD, TXCTDD, TXDTDD functions control the
corresponding TX channels. FBABTDD and FBCDTDD control corresponding FB channels. The
functions used can be connected to GPIO balls. Refer to Section 4 for the same.
For example, if is user needs to control the RXA, RXB and RXC through 1 TDD pin, control the RXD
through one TDD pin and connect all TX and FB channels to another TDD pin:
• Set modeTdd to 2
• Connect RXATDD, RXBTDD and RXCTDD to one GPIO pin.
• Connect RXDTDD to second GPIO pin.
• Connect TXATDD, TXBTDD, TXCTDD, TXDTDD, FBABTDD and FBCDTDD to third GPIO pin.
7. DAC interleaved mode (enableDacInterleavedMode):
This enables the DAC in interleaved mode. This mode operates in lower power but can result in a TX
interleaving image at Fs/2-Fin. It is a trade-off between AFE power and external filtering requirement.
This cannot be used in second Nyquist operation of TX.
8. SPI mode (spiMode):
3 JESD Configuration
3.1 Introduction
SERDES refers to the physical layer responsible to transmit and receive the lane data. The purpose of this
is only to send and receive the data. This contains options of tuning the eye of the lanes and reading the
eye. There are two instances of SERDES core in AFE79xx, each containing 4 transmitter and 4 receiver
lanes. There are total of 8 transmitter lanes (STX) and 8 receiver lanes (SRX). Each SERDES core has
one PLL for four-transmitters and another four-receivers, which can support lane rates up to 32.5 Gbps.
Independent PLLs enable completely independent lane rates for the two groups of 4 STX lanes and 4
SRX lanes. Added to this, there are per lane dividers of 1/2/4/8 between each group of STX/SRX.
ADC JESD TX (ADC_JESD) refers to the JESD transmitter of the device, which is on the ADC (both RX
and FB chains) side. This contains the protocol decode and mappers converting converter-wise data to
lane data. There are two instances of ADC_JESD, each handling 2 RX channels and 1 FB channel and up
to 4 STX lanes. First ADC_JESD block handles RXA, RXB and FBAB. Second ADC_JESD block handles
RXC, RXD and FBCD.
DAC JESD RX (DAC_JESD) refers to the JESD receiver of the device, which is on the DAC side. This
contains the protocol decode and de-mappers converting lane data to converter wise data. There are two
instances of DAC_JESD, each handling 2 TX channels and up to 4 SRX lanes. First DAC_JESD block
handles TXA and TXB. Second DAC_JESD block handles TXC and TXD.
SUBCHIP refers to the top level block common to all the instances of JESD TX and RX. This contains
options of muxing (data, lanes, sync signals).
1. RXMapper1:
Depending on the system mode and LMFSHd, this can handle either only the first RX channel of the
instance or 2 RX channels. However, the first instance of ADC_JESD can handle all the 4 RX
channels, by selecting M=8 for single band case and M=16 for dual band case.
2. RXMapper2:
This is active only in some system modes and can handle only second RX channel when active.
3. FB Mapper: This handles the FB data.
To tie the SYNCIN signal for multiple mappers together will make the corresponding lanes act as single
link. In general all the mappers which are to be under single link have same values for Scrambler, K and
F.
Note that for shared lane cases, the following conditions should be satisfied:
1. Lane rates should be same
2. F in the LMFSHd should be same.
3. K should be same.
Things to identify before configuring JESD:
1. How many links for RX?
1. Per RX channel, or
2. Per 2RX, or
3. Common for all 4 RX.
2. Independent or common link for FB?
3. RX and FB should share lanes or have independent lanes?
4. Which JESD protocol?
1. 204B mode
2. 204C, 64/66 mode
3. 204C, 64/80 mode
5. Which JESD mode/lane rate for each link? The data rate combined with JESD mode determines the
lane rate.
In Table 11:
1. rx1 refers to the RXA/RXC, rx2 refers to RXB/RXD, rx12 refers to RXAB/RXCD pairs.
2. If there is rx12 for a particular System Mode that means both RX channels comes out through same
mapper (RXMapper1).
3. If there is rx12/fb is present, TDD signals determine if RX 1 and 2 or FB data comes out. If there is
SBAA417 – June 2020 AFE79xx Configuration Guide 23
Submit Documentation Feedback
Copyright © 2020, Texas Instruments Incorporated
DRAFT ONLY
There are up to 6 CMOS sync signals (ADC_SYNC0/1/2/3/4/5). When LVDS sync mode is enabled,
ADC_SYNC0/3 can be used as LVDS SYNC, ADC_SYNC1/4 are used in conjunction with ADC_SYNC0/3
and cannot be used independently and ADC_SYNC2/5 can be used as CMOS. All the sync signals which
are needed have to be brought out on GPIO pins. Refer to Section 4 for this.
1-FBCD
Note that the data rates of the channel corresponding to location and the mux value should be same.
5. SerDes TX Polarity (serdesTxLanePolarity):
Sets the Lane Polarity of the STX lanes.
6. SerDes TX Cursor Settings (serdesTxPreCursor, serdesTxPostCursor, serdesTxMainCursor):
These can be tuned to adjust STX eye.
DAC_JESD has 2 instances, DAC_JESD_AB and DAC_JESD_CD. Each DAC_JESD instance has one
mapper for each channel. Potentially, each channel can support an independent data/lane rate, LMFSHd
mode, and link. However, present versions of Latte supports AB and CD acts as single mapper. That is,
below parameters, in case of mapper settings with 4 entries, only the parameter entries at index 0 and 2
are valid.
Key Blocks of the DAC JESD (Figure 9):
1. SerDes:
This is the physical layer responsible to receive the data from the lanes.
2. IP Layer:
This handles the JESD protocol and receives the lane data to the physical layer (SerDes).
3. JESD-DUC MUX:
This is the mux between the JESD block output to the interpolation chain input. This mux can only be
employed if the default and the new channel have the same interface rates. Note that the 1-1 to 1-8
refer outputs of the first instance of DAC-JESD and 2-1 to 2-4 represent the outputs of the second
takes.
3. Lane rates for each lane.
4. Show the data in each lane, both before and after the lane mux.
3.5.1 Case 1
Consider a 4T4R1F TDD system with RX data rate of 368.64 MHz and TX and FB data rates of 737.28
MHz. All channels are with a single band, and all the RX channels are in single link, with all the FB
channels in a separate single link. If the user wants to set the configuration shown in Table 15 in the
JESD 204B protocol, follow these steps:
First consider at the ADC side. Since RXA and RXB are of same data rate and same link, go with
jesdSystemMode where rx2 mapper is not used. Since the user will need dedicated lanes for RX and FB,
jesdSystemMode 1 seems best fit. In this mode, entries 1 and 3 of the parameters do not matter and can
be kept same as 0 and 2, respectively.
1. jesdSystemMode: 0
2. LMFSHdRx:
4-8-4-1-0 is for 4 channels, for 2 channels it will become 2-4-4-1-0. (Need to half number of lanes (L)
and number of converters (M)).
[“24410”, “24410”, “24410”, “24410”]
3. LMFSHdFb: [“22210”, “22210”]. So that nothing breaks, good to put the same value for FB CD too.
4. jesdTxProtocol: Since it is 204B, the protocol value should be 0. [0, 0]
5. rxJesdTxSyncMux: [0,0,0,0]
Since all these channels are in a single link, all values should be same. For CMOS SYNC, keep this
value as 0 and bring ADC_SYNC0 to the required pin. In case of LVDS SYNC, keep this value as 0
and bring the ADC_SYNC0 and ADC_SYNC1 functions on the fixed pins.
6. fbJesdTxSyncMux:
[1,1] For CMOS Sync
[3,3] For LVDS Sync
Since all FB channels are in a single link, all values should be same and since FB link is different from
the RX link, the value of the sync mux should be different. For CMOS SYNC, keep this value as 1 and
bring ADC_SYNC1 to the required pin. In case of LVDS SYNC, keep this value as 0 and bring the
ADC_SYNC2 and ADC_SYNC3 functions to the fixed pins.
7. Lane Mux settings, K, scrambler can be set as needed.
On DAC side,
1. LMFSHdTx
8-8-2-1-0 is for four channels aggregate, for two channels aggregate it will become 4-4-2-1-0. (Need to
half number of lanes (L) and number of converters (M)).
LMFSHdTx = [“44210”, “44210”, “44210”, “44210”]
2. jesdRxProtocol: Since it is 204B, the protocol value should be 0. jesdRxProtocol=[0,0]
3. jesdRxSyncMux = [0,0,0,0]
Since all these channels are in a single link, all values should be same. For CMOS SYNC, keep this
value as 0 and bring DAC_SYNC0 to the required pin. In case of LVDS SYNC, keep this value as 0
and bring the DAC_SYNC0 and DAC_SYNC1 functions to the corresponding fixed pins (H9 and G9
respectively).
4. Lane Mux settings, K, scrambler can be set as needed.
The lane-wise ADC (assuming lane and data muxes are default) is shown below.
3.5.2 Case 2
Consider rates similar to case 1, but where the RXAB is one link and RXCD is another link. Similarly,
TXAB and TXCD are independent links. In this case, the user will need 3 SYNC IN pins (one each for
RXAB, RXCD and FBAB). Since AFE only has maximum of 2 LVDS pins, the user can either go with 2
LVDS sync and 1 CMOS sync, 1 LVDS sync and 2 CMOS syncs, or 3 CMOS sync. For this example,
assume 3 CMOS sync for now. Note that LVDS control is common to ADC_SYNC0 and DAC_SYNC0.
Except for the settings listed below, all other settings remain same.
1. rxJesdTxSyncMux: [0,0,1,1]
2. fbJesdTxSyncMux :
[3,3] For LVDS Sync
ADC_SYNC2 should be brought on to the required pins.
3. jesdRxSyncMux :
[0,0,1,1]
DAC_SYNC0 and DAC_SYNC1 should be brought on to the required pins (H9 and G9 respectively).
3.5.3 Case 3
Consider a 4T4R2F TDD system with RX data rate of 245.76 MHz and TX and FB data rates of 983.04
MHz. All channels are with single band, and all the RX channels are in single link with the FB channels as
a separate link. If the user wants to use the same configuration listed in Table 18 in the JESD 204C
protocol, follow these steps:
First consider the ADC side. This gives a different case where RX and FB lane rates are different. As
mentioned in Section 3.1 and the lane mux description of Section 3.2, in a set of 4 SerDes lanes, only
ratios of 1, 2, 4, and 8 are supported. However, the RX lane rate to FB lane rate is 2:3. To work with such
a scenario, the user must employ lane mux to get all the supported lane rates into one set of 4 lanes. That
is, the 2 RX and FB CD lanes should be brought to any lanes out of STX1-4 or STX5-6, and FB AB lanes
should be brought to the lanes on the other SerDes Core.
The settings are:
1. jesdSystemMode = [0,0]
2. LMFSHdRx:
2-8-8-1-0 is for 4 channels, for 2 channels it will become 1-4-8-1-0. (Need to half number of lanes (L)
and number of converters (M)).
[“1-4-8-1-0”, “1-4-8-1-0”, “1-4-8-1-0”, “1-4-8-1-0”]
3. LMFSHdFb = [“1-2-4-1-0”, “1-2-4-1-0”]
4. jesdTxProtocol: Since this is 204C, the protocol value should be 2. jesdTxProtocol = [2,2]
5. rxJesdTxSyncMux = [0,0,0,0]
Doesn’t matter. Can put any value. No Sync pins are needed.
6. fbJesdTxSyncMux = [1,1]
Doesn’t matter. Can put any value. No Sync pins are needed.
7. jesdTxLaneMux:
Default Mapping is,
Lane 0: STX1: RXA & RXB
Lane 2: STX3: FBAB
Lane 4: STX5: RXC & RXD
Lane 6: STX7: FBCD
This can be muxed as(there are many other possibilities):
Lane 2: STX3: FBAB
Lane 4: STX5: RXC & RXD
Lane 5: STX6: RXA & RXB
Lane 6: STX7: FBCD
Lane mux becomes: [5,1,2,3,4,0,6,7]
8. K, scrambler can be set as needed. Recommended K (Also called E) is 1.
On the DAC side,
1. LMFSHdTx:
4-8-4-1-0 is for 4 channels, for 2 channels it will become 2-4-4-1-0. (Need to half number of lanes
(L) and number of converters (M)).
[“2-4-4-1-0”, “2-4-4-1-0”, “2-4-4-1-0”, “2-4-4-1-0”]
2. jesdRxProtocol: Since it is 204C, the protocol value should be 2.
3. jesdRxSyncMux: jesdRxSyncMux = [0,0,0,0]
Since all these channels are in a single link, all values should be same. No Sync pins are needed
to be connected.
4 GPIO Configuration
4.1 Introduction
To enable flexibility in the GPIO mapping and to handle a much higher number of functions which are to
be brought on to a limited number of GPIO pins, there is a generic mux inside device which enables the
GPIO functions to be mapped to any GPIO pins/balls.
There are 3 different types of mapping between functions and GPIO Balls:
1. No Preferred Mapping functions: Not timing critical. Can be put to any ball.
2. Preferred: Even if these functions are mapped to a different balls other than the preferred ones, the
functionality is ensured with an additional propagation delay up to a few ns.
3. Fixed: If these functions are mapped to another ball, these may potentially (not necessarily) impact the
functionality. For safe side, these are marked as fixed mappings.
The preferred or fixed balls for key functions are present in Section 10.3.
As shown in Figure 13 , the input and output functions are handled differently. When the GPIO is
configured as an input, the signal passes through the input functions mux and when it is configured as
output, it passes through the output functions mux. This enables broadcast feature for non-preferred input
and output functions. That is, a single GPIO ball can drive multiple input functions, and a single output
function can be brought on to multiple GPIO balls.
In some cases, multiple fixed/preferred mappings may be seen for single ball name. However, typically
only one of them can be used at a time. For example, the RXAB_DSA_GAIN0 and RXA_DSA_GAIN0
have same preferred Ball, F5. However, both can't be used at the same time since either of them are
different ways of controlling the DSA.
4.3 Configuring
"E7": "RXATDD",
"R15": "RXCTDD",
"K14": "FBABTDD",
"R6": "FBCDTDD",
"G8": "RXA_AGC_FREEZE",
"G7": "RXB_AGC_FREEZE",
"T8": "RXC_AGC_FREEZE",
"T7": "RXD_AGC_FREEZE",
"G13": ["RXA_GSW","RXB_GSW","RXC_GSW","RXD_GSW"],
"D5": "RXA_LNABYPASS_B0",
"G10": "RXB_LNABYPASS_B0",
"T6": "RXC_LNABYPASS_B0",
"T5": "RXD_LNABYPASS_B0",
"N9": "DAC_SYNC2",
"P9": "DAC_SYNC3",
"N8": "ADC_SYNC2",
"N7": "ADC_SYNC3",
"G12": "SPIB1_SDO",
"H11": "INTBIPI_SPIB1_SDI",
"H16": "SPIB1_CSN",
"G16": "SPIB1_CLK",
}
External AGC Mode:
extAgcMode={
"P14": "GLOBAL_PDN",
"N16": "ALARM1",
"N15": "ALARM2",
"H9": "DAC_SYNC0",
"G9": "DAC_SYNC1",
"H8": "ADC_SYNC0",
"H7": "ADC_SYNC1",
"H15": "TXATDD",
"V5": "TXCTDD",
"E7": "RXATDD",
"R15": "RXCTDD",
"K14": "FBABTDD",
"R6": "FBCDTDD",
"G8" :"RXA_PKDET_0",
"G7" :"RXA_PKDET_1",
"H12" :"RXA_PKDET_2",
"G10" :"RXA_PKDET_3",
"C6" :"RXB_PKDET_0",
"F6" :"RXB_PKDET_1",
"E5" :"RXB_PKDET_2",
"G6" :"RXB_PKDET_3",
"T8" :"RXC_PKDET_0",
"T7" :"RXC_PKDET_1",
"N13" :"RXC_PKDET_2",
"M15" :"RXC_PKDET_3",
"R5" :"RXD_PKDET_0",
"P8" :"RXD_PKDET_1",
"T6" :"RXD_PKDET_2",
"T5" :"RXD_PKDET_3",
"J14": "RXA_DSA_GAIN_0",
"H13": "RXA_DSA_GAIN_1",
"E8": "RXA_DSA_GAIN_2",
"F7": "RXB_DSA_GAIN_0",
"F5": "RXB_DSA_GAIN_1",
"H10": "RXB_DSA_GAIN_2",
"R7": "RXC_DSA_GAIN_0",
"U5": "RXC_DSA_GAIN_1",
"P7": "RXC_DSA_GAIN_2",
"P6": "RXD_DSA_GAIN_0",
"L14": "RXD_DSA_GAIN_1",
"M14": "RXD_DSA_GAIN_2",
"G13": ["RXA_GSW","RXB_GSW","RXC_GSW","RXD_GSW"]
}
5.1 Introduction
In real world signal, the signal level at the input can change, and the engineer must ensure that the ADC
achieves the best dynamic range even when signal amplitude is above the full scale of the ADC or is too
lower than average signal power. For this purpose, a DSA (Digital Step Attenuator) is present in AFE
through which gain/attenuation of the signal to the ADC can be changed. The range of this DSA is 25dB in
steps of 0.5dB. There is also a need for controller which controls the DSA gain/attenuation based on
signal level. That is where Automatic Gain Controller (AGC) comes into picture. The primary purpose of
the AGC is to maintain the signal level at the input of the ADC within two levels (upper threshold and
lower threshold).
For this, detectors are used to identify if the signal is above the upper threshold or below the lower
threshold. If the signal is above the upper threshold, then the DSA attenuation increases by the step
value. If the signal is lower than the lower threshold, then the DSA attenuation decreases (by the step
value).
To give a wider range of signal level, external LNA control can be enabled. In this, either the complete
LNA gain or part of the gain can be bypassed whenever the DSA range cannot support the signal level.
That is, if the signal level at the input of the AFE pins for the maximum DSA attenuation is beyond the
upper threshold, LNA can be bypassed to reduce the signal level.
AFE has internal AGC and also has an option to use external AGC. There are multiple detectors which
are used to detect the signal level. AFE internal AGC can be configured to control the DSA and LNA
bypass. In the case of external AGC mode, the detector outputs can come on LSBs of data or pins and
can be used to control the DSA using SPI or pins.
In the system point of view, it would be important to know the signal level at the input of the AFE pins. The
DSA attenuation must be compensated for this. That is, the gain equivalent to the DSA attenuation must
be added to the data. However, this will increase the data width beyond 16 bits, which would be tough to
accommodate through JESD. This is solved either by changing the data format or by transmitting the gain
information either through the pins or LSBs. This is handled by Automatic Level Controller (ALC) or also
called Digital Gain Compensation (DGC).
AFE has RX DSA in steps of 0.5 dB to enable finer control. The register value, referred also as DSA
index, can be programmed to DSA attenuation in dB × 2.
AFE79xx has following detectors which can be used for internal or external AGCs.
These are four independent and identical detectors present at the output of the ADC. These detectors can
see complete signal bandwidth (RF sampling) and have low latency.
• Big Step Attack
• Small Step Attack
• Big Step Decay
• Small Step Decay
The big and small step detectors are identical per design in AFE. Small step detectors are used for more
gradual increases in signal level, and the settings are chosen so. Big step detectors are used for faster
response, with larger steps of DSA change.
There is one power attack and one power decay detector in the AFE79xx. For a typical Wireless use case,
only the ADC peak detector is generally used.
• Same tap-off point as the ADC digital peak detector
• Programmable integration times from 10 ns up to 10 ms, and thresholds 0 to –30 dBFS
• Step Size < 0.2 dB
• It computes Average(AdcOut^2)
• Number of samples used for averaging is configurable anywhere from 2^3 to 2^23
• Separate detector for attack and decay
This is specifically for dual-band decimation chain case, with and internal AGC where there is one LNA
per band. In this case, the engineer must identify which bands are saturating the signal and what
combined signal is needed to bypass the corresponding LNA. For this, the detectors should look at the
signal only in the bands. The observation bandwidth for these detectors for different sampling and output
data rates is shown in Table 21.
The peak of signal over 8 samples is compared with the threshold. For the attack detector, if the number
of times the signal is above the threshold over a window length is more than the programmed number of
hits, the detector is triggered. For the decay detector, if the number of times the signal is above the
threshold over a window length is less than the programmed number of hits, the detector is triggered. This
triggered outputs are brought on to pins in case of external AGC mode and are used by the internal
controller in the internal AGC mode.
Some controls are (Table 32):
5.3.1 Internal AGC LNA Control (for Single LNA Case and Common Controls)
dualLnaDecayNumCrossingMode.
6. Dual LNA Attack Mode for Number of Crossings (dualLnaAtkNumCrossingMode):
This is whether to define the number of crossings as a percentage of Window Length or absolute
number of crossings for LNA decay detectors. This is just to select the nomenclature to program and
doesn’t have an implication on the functionality.
7. Dual LNA Decay Number of Crossings (dualLnaAtkNumCrossingsB0, dualLnaAtkNumCrossingsB1):
Number of crossings to declare attack for LNA 0/1 detector. The units of the value depends on the
dualLnaAtkNumCrossingMode.
S = sign, S ∈ {0, 1}
E = exponent, 0 ≤ E ≤ 2w-1, where w = width of the exponent field
T = significand, 0 ≤ T ≤ 2t-1, where t = width of the significand field = 16 – w - 1
p = t + 1 = precision of the floating point number in bits
Option 1 (fltPtMode=0):
For E = 0, the sample value v = (-1)S·T, that is, ABS(v) < 2t,
For E > 0, sample value v = (-1)S·(2t+T)·2E-1, i.e. ABS(v) ≥ 2t
Option 2 (fltPtMode=1):
For all values of E, sample value = v = (-1)S·(2t+T)·2E-1
5.4.3.1 Configuring
See Table 32 for more information
5.5.1 Configuring
Table 23. Bit Wise Mapping for Pin/LSB outputs of External AGC
BIT NO DETECTOR DESCRIPTION
14 OVR Bit OR of analog and digital overload.
13 Band 0 power detector Power detector for band 0. For only in dual band
case.
12 Band 0 peak detector Peak detector for band 0. For only in dual band
case.
11 RF detector RF Analog Detector.
10 Band 1 power detector Power detector for band 1. For only in dual band
case.
9 Band 1 peak detector Peak detector for band 1. For only in dual band
case.
8 Reserved (0) Reserved. Keep it 0.
7 Digital big step attack Big Step Attack detector at the output of the ADC.
6 Digital small step attack Small Step Attack detector at the output of the
ADC.
5 Digital big step decay Big Step decay detector at the output of the ADC.
4 Digital small step decay Small Step decay detector at the output of the
ADC.
3 Dig power attack Power Attack detector at the output of the ADC.
2 Dig power decay Power decay detector at the output of the ADC.
0/1 Reserved (0) Reserved. Keep it 0.
(winlength*FadcRx)/(1000*ddcFactor)
For example, the FadcRx is 2949.12MHz, DDC Factor is 8 and the atkwinlength is 150, there would be 56
samples in the window.
The Number of Hits threshold to trigger the detector output is say, NumHitsAbs. So clearly, the
NumHitsAbs<floor((winlength*FadcRx)/(1000*ddcF
actor))
If this condition is not met, then the AGC will not trigger an output since the number of samples greater
than the threshold can never be greater than NumHitsAbs.
1. The two digital (small step and big step attack/decay) detectors can be used together.
2. The threshold for the small step attack is lower than the threshold for the big step attack.
3. The window length for the big step attack should be smaller than the small step attack.
4. The threshold for the small step decay is higher than the threshold for the big step decay.
5. The window length for the big step decay should be smaller than the small step decay.
6. The window length of the decay detectors should be higher than the attack detectors.
7. Ensure that the window length of the decay is not higher than the TDD ON-time in the cycle.
8. Though there are analog detectors present in the analog, they are relatively inaccurate. These can be
6 DSA Calibrations
6.1.1 Configuration
See Table 34 for more information.
1. enableRxDsaCalibration:
Setting this to True does the DSA calibration as part of bring up. Alternatively, to run the DSA
calibration as a separate sequence, the function AFE.doRxDsaCalib(rxChainForCalib,
fbChainForCalib) can be called after the setting the below parameters and running the bringup. Here,
rxChainForCalib is bit wise enable for RX (bit0-RXA, bit1-RXB, bit2-RXC, bit3-RXD) and
fbChainForCalib is bit wise enable for RX (bit0-RXAB, bit1-FBCD).
2. rxDsaCalibMode:
Number of channels to calibrate at a time. Setting this to 0 will run one channel at a time and setting it
to 1 will run A&C simultaneously and then B&D simultaneously. the channels being currently calibrated
need to have signal at the input. Note that, having signal at the channels not being currently calibrated
is okay. For calibrating all the channels optimally, we can externally connect to the signal to all
channels, set this to mode 1.
3. rxDsaBandCalibMode:
Number of bands of a channel to calibrate at a time. This is valid only in dual band cases. 0-Calibrates
each band of the current channels (set by rxDsaCalibMode) being calibrated sequentially. 1-Calibrates
both the bands of the current channels simultaneously. Note that in case where bands are being
calibrated sequentially, giving signal in the current band is needed. But in simultaneous mode, one
tone for each band should be given to the ADC at the same time. The log generated contains
comments with "EXTERNAL-ACTION" tag which points the location in the sequence and the
connection to be made.
4. rxDsaGainRange:
Range of RX DSA to calibrate. This can be similar to the AGC minimum () and maximum DSA
attenuation () in case of internal AGC.
5. useTxForCalib:
This for cases where TX chain instead of external signal source is to be used for calibration. TX output
should still be looped through an external component to the AFE RX input.
6. rxDsaCalibPacket:
This is path in which to store the read DSA calibration packet during EVM evaluation. The file will be
saved as a test file with the read packet data in hex, with one byte printed per line.
7. fbChainSelForDsaCalib: Select the FB Channels to calibrate.
6.2.1 Configuration
See Table 34 for more information
1. enableTxDsaCalibration:
Setting this to True does the DSA calibration as part of bring up. Alternatively, to run the DSA
calibration as a separate sequence, the function AFE.doTxDsaCalib(txChainForCalib) can be called
after the setting the below parameters and running the bringup. Here, txChainForCalib is bit wise
enable for TX (bit0-TXA, bit1-TXB, bit2-TXC, bit3-TXD).
2. txDsaCalibMode:
Number of channels to calibrate at a time. Note that the TX channel should be connected to the
corresponding FB during this time. The log generated contains comments with "EXTERNAL-ACTION"
tag which points the location in sequence and the connection to be made.
3. txDsaBandCalibMode:
Number of bands of a channel to calibrate at a time.
4. txDsaGainRange:
Range of RX DSA to calibrate. This can be similar to the AGC min-Max.
5. txDsaCalibPacket:
This is path in which to store the read DSA calibration packet during EVM evaluation. The file will be
saved as a test file with the read packet data in hex, with one byte printed per line.
7.1 Introduction
Sudden jumps in data or high-power output can potentially damage the power amplifier, and the DPD
must be frozen on any errors like JESD link errors and analog overload. To handle these scenarios, the
Power Amplifier Protection (PAP) block is present in the AFE. The PAP must be triggered whenever any
fault can cause a glitch in TX data, impact the TX data, or impact the FB data that must be used by DPD.
PAP must be triggered whenever:
1. TX Data-Based Trigger: Moving Average and High-Pass filter based.
2. DAC JESD loss of link
3. ADC JESD loss of link
4. PLL Loss of lock
5. FB ADC overload alarm
6. TX Digital overload alarm
The AFE79xx incorporates an optional power amplifier protection (PAP) block to monitor when the input
signal changes too fast and prevent it from reaching the PA. This is important to prevent damage to the
PA due to glitches or sudden change in signal. The PAP block achieves this through three main sub-
blocks: PAP detectors, a PAP gain state machine and PAP gain module. The locations of the PAP blocks
in the TX digital signal chain are shown in the below figure.
Dual NCOs
NCO1 NCO2
PAP PAP
Interpolation Complex
Detector Gain DAC DSA
filters Mixers M
SUM Module
Power
Meter
IQ2
PAP N
Detector #2
NCO3 NCO4
Dual NCOs
PAP
State
Other triggers Machine
1. Average Power Trigger: This is a data-based trigger to detect when the signal power is above a
threshold. The abs of I+jQ over a window of some (maNumSamples) samples is taken and compared
with programmable threshold (maThresh). The number of the times the signal is over the threshold is
compared against a programmable count threshold (maWindowCntrTh) and if it is higher, the PAP
trigger will go high and if it is lower, the trigger will go low.
2. High-Pass Filter Based Trigger: This is a data-based trigger to detect when the signal changes too
fast. The abs or I+jQ is passed through a 6-tap high pass filter. This value over a window of some
(hpfNumSamples) samples is taken and compared with programmable threshold (hpfThresh). The
number of the times the signal is over the threshold is compared against a programmable count
threshold (hpfWindowCntrTh) and if it is higher, the PAP trigger will go high and if it is lower, the trigger
will go low.
3. Other Triggers:
It may be needed that some other errors also trigger the PAP state machine. These include:
a. JESD loss of lock:
If there is a loss of link, this goes to the PAP state machine. The errors corresponding to the lanes
corresponding to the TX data is sent to PAP state machine. Particular JESD errors can be masked
or set to 0 using alarms_to_pap_mask (making either of them 1 will prevent the corresponding
alarm to go to PAP.) in the DAC_JESD page.
b. PLL Alarm:
In case of loss of PLL lock, this trigger goes to the PAP state machine. However, it is to be noted
that in case of PLL lock, operation of PAP is not guaranteed. For this it is better to bring the PLL on
to all the alarm pins and externally handle it.
c. Signal Overflow:
This is for case where the signal chain overflows because of large signal input to it.
d. PAP triggers from other channels:
In case where it is needed to trigger PAP for the corresponding TX channel when other channels
see a PAP trigger, this can be employed.
PAP State Machine:
Once the PAP trigger is generated by any of the above sources, the state machine moves to
“Attenuate” state, when the ramp down signal is given to the gain block. The data-path output is
then multiplied by the ramp down signal. Any PAP trigger in this time is not honored.
After attenuation is done, the PAP state machine moves into the Wait state. A programmable 16-bit
counter operating at FadcFb/4 clock rate is used in the Wait state. During the wait state, it can be
programmed if to detect any extra PAP triggers or not. If PAP triggers are set to detect in wait state,
any PAP trigger during this time will reset the WAIT counter and hence state machine continues to stay
in wait phase for the programmed wait time from that time. If PAP triggers detection during this state is
disabled, the state machine will look at PAP trigger state only at the end of the wait state. If the PAP
trigger is on in this time, it resets the WAIT counter.
After the wait time ends, the state machine moves to gain state. The signal measurement PAP triggers
(Average Power and Filter Triggers) continuously monitor the incoming signal and become OFF when
the measurements doesn't exceed the threshold anymore. All other PAP triggers require the
intervention of the Host to perform the necessary steps to clear the source of the error and then clear
the Triggers. Once again in the Gain state, the signal is multiplied by the ramp-up signal. In case, PAP
trigger occurs again during the gain phase, the attenuate phase is started from the current value of the
ramp down signal.
Figure 20. PAP Timing Diagram When a Single PAP Trigger Occurs
Figure 21. PAP Timing Diagram When Multiple PAP Triggers Occur
7.3 Configuration
For example:
a. To get only the current channel PAP trigger to trigger the state machine, this value should be
0b1110 (mask all other channels’ triggers). This is a typical use case.
b. To trigger all the channels if any of the channels’ PAP state machine trigger, this value should be 0
for all the channels.
c. Say, we want to trigger TXA PAP state machine if any of TX A, TXB and TXC PAP triggers occur,
this value for TXA should be 0b1000.
12. PAP trigger Mask (alarmMask):
This is a 5-bit wide bit-wise field to trigger PAP state machine in case any other errors occur. It is good
to keep this value as 0 to let PAP state machine trigger by all the alarms.
This is the number of samples in a window. The power is calculated over these number samples.
Supported values are 32, 64 and 128.
4. Number of windows (maWindowCntr):
This is the number of windows over which to compare the threshold. Valid range is 0 to 212 – 1.
5. Number of windows (maWindowCntrTh):
This is the threshold for the hit counter. If the average power over maWindowCntr windows is more
than this number, then the PAP state machine will be triggered. Valid range is 0 to 212 – 1. This should
be less than maWindowCntr.
8 Miscellaneous Functions
8.1 SPIB1/SPIB2
SPIA is the primary SPI which is the only available SPI available on reset. However, there are 2 other SPI
interfaces, SPIB1 and SPIB2, which can be used to control the AFE. This can be configured by bringing
these on to GPIO. (Refer to Section 4).
However, there are a few constraints on using multiple SPIs
1. More than one SPI cannot access the global page (addresses <0x20) simultaneously.
2. More than one SPI cannot access the same page simultaneously.
8.4 Alarms
There 2 alarm pins which can be OR of multiple alarms. This can be used to identify any errors/faults in
AFE. The alarms which can be brought on to pins are:
1. SERDES errors
2. DAC and ADC JESD link errors
3. SPI conflict errors, which is useful when multiple SPIs are used.
4. PAP errors
5. PLL unlock errors.
For using these alarms, ALARM1 and/or ALARM2 should be brought on to the pins.
8.4.1 Configuration
1. JESD: JESD related errors. This is common for all the links on both ADC and DAC. This includes
SerDes errors. This is a sticky alarm.
2. SPI: This is for cases where multiple SPIs are used. In cases where the constraints in using multiple
SPIs mentioned in Section 8.1 are violated, an alarm is triggered. This can be brought on to pins. This
is a sticky alarm.
3. TXA/B/C/DPAP: This gets the trigger of PAP trigger on to the pin. This can be both sticky and non-
sticky, based on the setting done in Section 8.4. There is an independent alarm per channel TX.
4. PLL: This gets the PLL lock lost alarm on to the pin. This is a sticky alarm.
There are various control mechanisms which can be employed with the alarms. This is important for host
to act on the alarm.
For each of the two alarm pins, need to identify which alarms need to be ORed to be brought on to it. True
refers to having the alarm on to the pin and False refers to not having the alarm on to the pin.
attempt recover of link failure through re-handshaking through the sync pin in case hardware Sync is
being used in JESD204B and by receiver automatically in JESD204C. If the auto-recovery of link didn’t
work, then re-sync operation of the JESD link need to be done. If that also fails, restart of the AFE is
needed.
5. If it is SPI alarm, it may be needed to redo the previous SPI operation.
6. If it is PAP alarm, first freeze the DPD or any feed-forward or feedback processing loop in the host.
(freezing the DPD can be done for even PLL or JESD alarms since they also trigger PAP)
a. If the PAP trigger is not in auto clear mode (rampStickyMode=1), need to clear the PAP trigger
continuously till the PAP trigger is not asserted. If it is in auto clear mode (rampStickyMode=0), this
action is not needed.
b. If the PAP pin Alarm is in sticky mode (alarmPinStickyMode=1), the alarm bit must be cleared till the
alarm pin goes low (PAP trigger is released). If it is not in sticky mode, no action is needed here.
However, in case the trigger to PAP persists, then the PAP trigger will not clear.
7. Clear the alarms and continue to monitor the pin state.
8.6 Sysref
1. Sysref Frequency:
To maintain deterministic latency, across devices and initializations, the sysref frequency input to the
AFE need to be an integer factor of a base frequency. The base sysref frequency depends on various
configuration settings including, data rates, interface rates, JESD configuration, and so on. Based on
the configuration set, this is displayed in the log and is also in the System Parameters iGui (Figure 4).
2. SPI sysref Mode (useSpiSysref):
Enabling this mode (setting it to True) uses internal Sysref override in AFE and pin sysref is not used.
This can be used in cases where there is no need for deterministic latency or phase consistency.
3. Continuous Sysref Mode (continuousSysref):
There is an option of operating in single or continuous Sysref mode. In single sysref Mode, the sysref
at the pin needs to be given at certain locations of the configuration. These locations will be logged in
the log file as External Actions. In continuous sysref mode, the sysref can be turned on at the start of
initialization and can be turned off at the end of it. Both modes maintain deterministic latency.
4. Sysref Termination (sysrefTermination):
Termination Resistance of Sysref input of AFE. This can be changed as needed, depending on the
sysref circuit.
0-100 Ω, 1-150 Ω, 2-300 Ω, 3-inf
For ease of splitting the steps in the configuration file, the file is divided into multiple steps with
placeholders for external actions.
1. rstDevice:
a. Step 0: Do soft reset of the device.
b. Step 1: Wake up the device. Setting the clock to internal MCU.
74 AFE79xx Configuration Guide SBAA417 – June 2020
Submit Documentation Feedback
Copyright © 2020, Texas Instruments Incorporated
DRAFT ONLY
2. efuseChain:
a. Step 0: Loading the EFuse chain and checking for errors.
3. mcuWakeUp:
a. Step 1: Bringing the MCU out of reset.
b. Step 2: Loading Patch to the MCU, if applicable. The patch is to add any functionalities or to fix
any bugs to the firmware in the ROM.
4. pllEfuse:
a. Step 0: Load the PLL related Trims and related writes for them to take effect.
5. pllConfig :
a. Step 0: Device reference dividers are configured, if needed. If these are employed, then a sysref
must be given to align the reference divider to the PLL. Otherwise, this step will be skipped.
b. Step 1: The device PLL and the output dividers are configured.
c. Step 2: The PLL output dividers need a Sysref, for the data converter clocks across chips to be in
sync.
d. Step 3: Switch the MCU clock to PLL clock from reference clock.
6. serdesConfig:
a. Step 0: Enable the clock to the SERDES and set its input clock dividers.
b. Step 1: Reset the SERDES.
c. Step 2: Configure the SERDES.
d. Step 3: Load the SERDES firmware.
7. topConfig:
a. Step 0: Set TOP controls.
b. Step 1: Configure RX DSA.
c. Step 2: Configure TX DSA
d. Step 3: Configure FB DSA.
8. sysConfig:
a. Step 0: Set System Mode related parameters to the MCU.
b. Step 1: Set the RX chain related parameters to the MCU.
c. Step 2: Set the FB chain related parameters to the MCU.
d. Step 3: Set the TX chain related parameters to the MCU and the PAP block.
9. configTune:
a. Step 0: Configures the Rx, Tx and FB chains for the specified decimation/interpolation factors, and
with the appropriate NCO frequencies in each band using the parameters provided earlier.
b. Step 1: Set the FIFO pointers.
10. analogWrites :
a. Step 0: Load Performance related trims.
b. Step 1: Configure RX analog.
c. Step 2: Configure FB analog.
d. Step 3: Configure TX analog.
e. Step 4: Load post analog configuration trims.
11. jesdConfig:
a. Step 0: Configure the JESD data, sync and lane muxes.
b. Step 1: Configure ADC JESD TX.
c. Step 2: Configure DAC JESD RX.
d. Step 3: Configure JESD Power Saving related writes.
12. agcConfig :
10 System Parameters
These are the parameters to set before the AFE.deviceBringup() function call. These determine the state
of the system. All the frequencies are in MHz.
10.6 Miscellaneous
Format: sysParams.<parameter>
Example: sysParams.rxDsaCalibMode
DSA Params:
Format: sysParams.parameter
Example: sysParams.defaultFbDsa =[3,3,3,3]
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE
DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS”
AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate
TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable
standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you
permission to use these resources only for development of an application that uses the TI products described in the resource. Other
reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third
party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims,
damages, costs, losses, and liabilities arising out of your use of these resources.
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on
ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable
warranties or warranty disclaimers for TI products.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2020, Texas Instruments Incorporated