This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE7950EVM: LNA gain configuration in internal AGC mode

Part Number: AFE7950EVM
Other Parts Discussed in Thread: AFE7950

Tool/software:

Hi,

I have successfully configured the AFE7950's Digital Step Attenuator (DSA) and Automatic Gain Control (AGC) to regulate the ADC input within the specified threshold. When an RF signal exceeding this threshold is applied, the AFE7950 attenuates the signal to keep it within the required range. For signals below the threshold, the system passes the input signal without attenuation.

However, I also want to amplify low-power signals that fall below the threshold. So, I have configured the Low Noise Amplifier (LNA) and Automatic Level Control (ALC) alongside the DSA and AGC for this purpose. But it didn't worked for me.

So, is it possible to amplify low-power input signals using the AFE7950 by adjusting these settings? If so, what configuration steps would be needed to achieve this?

I have also attached the Latte configuration that I have set for this setup.

for i in range(4):
	# Internal AGC mode
	### RXA/B config
	sysParams.agcParams[i].agcMode = 1 				# Internal AGC mode
	sysParams.agcParams[i].rfdeten = 0 				# RF analog detector is enabled.
	sysParams.agcParams[i].atken = [0,1,1] 			# attack peak detector is enabled with big step. # big step, small step, pow det
	sysParams.agcParams[i].decayen = [0,1,1] 		# decay power detector is enabled. # big step, small step, pow det
	
	sysParams.agcParams[i].atkthreshold = [-25,-27,-28] 		# Applied threshold of attack detector # big step=-8, small step=-10, pow det
	sysParams.agcParams[i].decaythreshold = [-28,-26,-26] 	# Applied threshold of decay detector # big step=-22, small step=-20, pow det
	
	sysParams.agcParams[i].atkwinlength = [160,170] 		# Attack detector Time Constant in absolute time in ns. Max is 40ms
	sysParams.agcParams[i].decaywinlength = 87380 			# Decay detector Time Constant in absolute time in ns. Max is 40ms
	sysParams.agcParams[i].atkNumHitsAbs = [8,8]			# Absolute Number of times signal crosses threshold.
	sysParams.agcParams[i].decayNumHitsAbs = [8,8]			# Absolute Number of times signal crosses threshold.
	
	sysParams.agcParams[i].custRfMode = 1 					# Use RF analog detector as very big step attack in internal AGC.
	sysParams.agcParams[i].atksize = [4,2]					# Whenever detector triggers the DSA change 0.5dB* value
	sysParams.agcParams[i].decaysize = [4,2] 				# Whenever detector triggers the DSA change 0.5dB* value
	sysParams.agcParams[i].minDsaAttn = 0 					# Minimum DSA attenuation used by AGC, 0.5dB* value
	sysParams.agcParams[i].maxDsaAttn = 50 # 60 # 23		# Maximal DSA attenuation used by AGC, 0.5dB* value
	sysParams.agcParams[i].totalGainRange = 50 # 57 # 50	# Total gain range used by ALC for gain compensation
	
	sysParams.agcParams[i].rfdetnumhits = 8 				# Absolute Number of times signal crosses threshold.
	sysParams.agcParams[i].rfdetstepsize = 8 				# Whenever RF detector triggers the DSA change 0.5dB* value, i.e.25 dB.
	
	## External LNA control
	sysParams.agcParams[i].lnaEn = True 					# Enternal RXA LNA control
	sysParams.agcParams[i].extLnaTempModel = 0				# Use a temperature model for the lna gain
	sysParams.agcParams[i].singleDualBandMode = 0 			# RXA is single band
	sysParams.agcParams[i].lnagain0 = 40 					# The gain of external RXA LNA for AGC to compensate, the resolution is 0.03125 dB 864 or 27.0?
	sysParams.agcParams[i].lnaphase0 = 0 					# The phase of external RXA LNA for AGC to compensate in Band0
	sysParams.agcParams[i].lnaGainMargin = 4 				# hysteresis value when to turn on lna
	sysParams.agcParams[i].blank_time_extcomp = 255 		# number of clocks of FadcRx/8 max 65535

for i in range(4):
	# ALC and floating point mode
	sysParams.agcParams[i].alcEn = 1 						# RXA ALC enabled
	sysParams.agcParams[i].alcMode = 3						# RXA coarsefineIQ mode 3
	sysParams.agcParams[i].stepSize = 3						# Step Size of 3
# 	sysParams.agcParams[i].fltPtMode = 1 					# RXA Always send MSB of mantissa in floating point mode
# 	sysParams.agcParams[i].fltPtFmt = 2 					# RXA 4 bit exponent, 11 bit mantissa and 1 bit sign

  • Hi Noumeer,

     

    Maybe there is a misunderstanding here. The AFE7950 does not have an internal LNA. The LNA bypass and controls are GPIO functions that are used to control an external LNA.

     

    For example, if your system had an external LNA in front of one of the RX channels, and the signal was going to be too high. The AFE can use one of the LNA bypass outputs to disable the gain on the LNA.

     

    Let us know if that clears things out.

     

    Best,

     

    Camilo