Serial Port Interface 1.1 Description The functionality of LMS7002Mr3 transceiver is fully controlled by a set of internal registers which can be accessed through a serial SPI port interface. Both write and read operations are supported. The serial SPI port can be configured to run in 3 or 4 wire mode with the following pins used: ...
Page 8
bit register address when concatenated ((Maddress << 6) | Reg). Use global address values for particular register from the tables provided in Section 2. Write/read cycle waveforms are shown in Figure 1, Figure 2 and Figure 3. Note that write operation is the same for both 3-wire and 4-wire modes. Although not shown in the figures, multiple byte write/read is possible by repeating instruction/data sequence while keeping SEN low.
TX RX LMS7002Mr3 chip is MIMO, hence it have two channels called A and B. So, some analogue/digital modules appears in MIMO channel A as well as B (from TRX, TX and RX blocks). The rest of moduleMr3s (from Other and Top logical block types) are controlled only from one memory block.
Page 10
Using the MAC register simplifies programming for MIMO. As an example, the addresses of registers controlling TBBA and TBBB are the same, but the individual A or B channels are identified using the MAC[1:0] register. Let us consider the write operation to the G_TIA_RFE_A[1:0] register. This register controls the RFE module within MIMO channel A.
Page 11
Table 1: LMS7002Mr3 memory map Logical Address Logical Block Size, Block Comments Resserved Maddress Name regs (R/W) Type [3:0] [4:0] [5:0] 0000 00000 00xxxx Address space starts at 0x0000. Addressing do not depend from MAC[1:0]. Lime Light 0000 00000 1xxxxx Address space starts at 0x0020.
2.2 General Control, LimeLight and IO Cell Configuration Memory The block diagram of each IO cell is shown in Figure 21. It is possible to control the drive strength and pull-up resistor value of each IO cell. The tables in this chapter describe the control registers of the IO cells and LimeLightTM Ports 1 and 2.
Page 13
Table 2 LimeLight and PAD configuration memory Address (15 bits) Bits Description 0x0020 LRST_TX_B: Resets all the logic registers to the default state for Tx MIMO channel 0 – Reset active 1 – Reset inactive (default) MRST_TX_B: Resets all the configuration memory to the default state for Tx MIMO channel B.
Page 14
Address (15 bits) Bits Description Reserved 0x0021 15 – 12 TX_CLK_PE: Pull up control of TX_CLK pad. 0 – Pull up disengaged 1 – Pull up engaged (default) RX_CLK_PE: Pull up control of RX_CLK pad. 0 – Pull up disengaged 1 –...
Page 15
Address (15 bits) Bits Description 0x0022 LML2_TRXIQPULSE: TRXIQPULSE mode selection for LML Port 2. 0 – TRXIQPULSE mode off (default) 1 – TRXIQPULSE mode on LML2_SISODDR: SISODDR mode selection for LML Port 2. 0 – SISODDR mode off (default) 1 – SISODDR mode on LML1_TRXIQPULSE: TRXIQPULSE mode selection for LML Port 1.
Page 16
Address (15 bits) Bits Description 0x0023 DIQDIRCTR2: DIQ2 direction control mode. 0 – Automatic (default) 1 – Manual, controllable from DIQDIR2 DIQDIR2: DIQ2 direction. 0 – Output 1 – Input (default) DIQDIRCTR1: DIQ1 direction control mode. 0 – Automatic (default) 1 –...
Page 17
Address (15 bits) Bits Description 0x0024 15 – 14 LML1_S3S[1:0]: Sample source in position 3, when direction of Port 1 is RF2BB. 11 – Sample in frame position 0 is BQ (default) 10 – Sample in frame position 0 is BI 01 –...
Page 18
Address (15 bits) Bits Description 0x0027 15 – 14 LML2_S3S[1:0]: Sample source in position 3, when direction of Port 2 is RF2BB. 11 – Sample in frame position 0 is BQ (default) 10 – Sample in frame position 0 is BI 01 –...
2.3 NCO Configuration Memory The NCO configuration memory control is listed in this chapter. There are 4 NCOs – two for each transmit and receive MIMO channel. The carrier frequency f generated by NCO could be set using the following formula: ...
Page 22
Address (15 bits) Bits Description TX(A/B): 0x0246 15 – 0 FCW2[31:16]: NCO frequency control word register 2, when MODE = 0. MSB part. RX(A/B): 0x0446 PHO2[15:0]: NCO Phase offset register 2, when MODE = 1. Default: 00000000 00000000 TX(A/B): 0x0247 15 –...
Page 23
Address (15 bits) Bits Description TX(A/B): 0x0257 15 – 0 FCW10[15:0]: NCO frequency control word register 10, when MODE = 0. LSB part. RX(A/B): 0x0457 Reserved, when MODE = 1. Default: 00000000 00000000 TX(A/B): 0x0258 15 – 0 FCW11[31:16]: NCO frequency control word register 11, when MODE = 0. MSB RX(A/B): 0x0458 part.
2.4 TxTSP(A/B) Configuration Memory The block diagrams of TxTSPA and TxTSPB modules are exactly the same. The control structure is shown in Figure 22. The tables in this chapter describe the control registers of TxTSPA and TxTSPB modules. There is one BIST logic per TxTSPA and TxTSPB. The BIST control structure is shown in Figure 25.
Page 25
Address (15 bits) Bits Description 0x0204 15 – 8 DCCORRI[7:0]: DC corrector value, channel I. Integer, 2's complement. Possible values are -128 to 127, default is 0 7 – 0 DCCORRQ[7:0]: DC corrector value, channel Q. Integer, 2's complement. Possible values are -128 to 127, default is 0 Default: 00000000 00000000 0x0205 15 –...
Page 26
Address (15 bits) Bits Description 0x0209 15 – 1 BSIGI[14:0]: TxTSP BIST signature, channel I, LSB. BSTATE: TxTSP BIST state indicator 0 – BIST is not running 1 – BIST in progress Read only 0x020A 15 – 8 BSIGQ[7:0]: TxTSP BIST signature, channel Q, LSB. 7 –...
2.5 RxTSP(A/B) Configuration Memory The block diagrams of the RxTSPA and RxTSPB modules are exactly the same. The control structure is shown in Figure 23. The tables in this chapter describe the control registers of RxTSPA and RxTSPB modules. There is one BIST logic per RxTSPA and RxTSPB. The BIST control structure is shown in Figure 26.
Page 28
Address (15 bits) Bits Description Reserved 0x0403 HBD_OVR+1 14 – 12 HBD_OVR[2:0]: HBD decimation ratio. Decimation ratio is 2 000 – Decimation ratio is 2 (default) 001 – Decimation ratio is 4 010 – Decimation ratio is 8 011 – Decimation ratio is 16 100 –...
Page 29
Address (15 bits) Bits Description 0x040C 15 – 14 CMIX_GAIN[1:0]: Gain of CMIX output, least significant part. CMIX_GAIN[2] CMIX_GAIN[1:0] CMIX output gain ============================================ 0 (default) 00 (default) +6dB 10, 11 –6dB CMIX_SC: Spectrum control of CMIX. 1 – Downconvert 0 – Upconvert (default) CMIX_GAIN[2]: Gain of CMIX output, most significant part.
2.6 RX/TX GFIR1/GFIR2 Coefficient Memory The general purpose digital FIR filter (GFIR1 and GFIR2) coefficients are stored in the following tables. Table 6 Memory space used to store TxGFIR1/RxGFIR1 coefficients Address (15 bits) Bits Description Tx: 0x0280 – 0x0287 8 x 16 Tx(Rx)1CMB0[7:0][15:0]: Coefficients memory bank 0 for TxGFIR1/RxGFIR1.
2.7 RX/TX GFIR3 Coefficient Memory The general purpose digital FIR filter (GFIR3) coefficients are stored in the following table. Table 8 Memory space used to store TxGFIR3 coefficients Address (15 bits) Bits Description Tx: 0x0300 – 0x0307 8 x 16 Tx(Rx)3CMB0a[7:0][15:0]: Coefficients memory bank 0a for TxGFIR2/RxGFIR3.
2.8 RFE(1, 2) Configuration Memory The block diagrams of the RFE1 and RFE2 modules are shown in Figure 5 and Figure 6 respectively. The tables in this chapter describes control registers of RFE1 and RFE2 modules. Table 9: RFE(1, 2) configuration memory Address (15 bits) Bits Description...
Page 33
Address (15 bits) Bits Description Reserved 0x010D 15 – 9 8 – 7 SEL_PATH_RFE_(1, 2): Selects the active path of the RXFE 0 – No path active 1 – LNAH path active (default) 2 – LNAL path active 3 – LNAW path active EN_DCOFF_RXFE_RFE_(1, 2): Enables the DCOFFSET block for the RXFE 0 –...
Page 34
Address (15 bits) Bits Description Reserved 0x0110 14 – 10 ICT_LNACMO_RFE_(1, 2)[4:0]: Controls the current generating LNA output common mode voltage. Default: 2 9 – 5 ICT_LNA_RFE_(1, 2)[4:0]: Controls the current of the LNA core. Default: 12 Block current = Nominal current * (ICT / 12) 4 –...
2.9 RBB(1, 2) Configuration Memory The block diagrams of RBB1 and RBB2 modules are shown in Figure 7 Figure 8 respectively. The tables in this chapter describe the control registers of RBB1 and RBB2 modules. Table 10: RBB(1, 2) configuration memory Address (15 bits) Bits Description...
Page 37
Address (15 bits) Bits Description Reserved 0x0117 15 – 14 13 – 11 RCC_CTL_LPFL_RBB_(1, 2)[2:0]: Controls the stability passive compensation of the LPFL_RBB operational amplifier. 0 – when rxMode is 1.4MHz, 1 – when 3MHz 2 – when 5MHz 3 – when 10MHz 4 –...
Page 38
Address (15 bits) Bits Description Reserved 0x011A 15 – 14 13 – 9 RCC_CTL_PGA_RBB_(1, 2)[4:0]: Controls the stability passive compensation of the PGA_RBB operational amplifier. Its value is equal to: (430f*(0.65**(G_PGA_RBB/10))-110.35f)/20.4516f + 16 when ICT_PGA is 12. An offline/off chip lookup table can be generated and stored. Default: 23 Reserved 7 –...
2.10 TRF(1, 2) Configuration Memory The block diagrams of TRF1 and TRF2 modules are shown in Figure 9 and Figure 10 respectively. The tables in this chapter describe control registers of TRF1 and TRF2 modules. Table 11: TRF(1, 2) configuration memory Address (15 bits) Bits Description...
Page 40
Address (15 bits) Bits Description 0x0102 GCAS_GNDREF_TXPAD_TRF_(1, 2): Controls if the TXPAD cascode transistor gate bias is referred to VDD or GND. 0 – VDD referred (default) 1 – GNDS referred 14 – 10 ICT_LIN_TXPAD_TRF_(1, 2)[4:0]: Control the bias current of the linearization section of the TXPAD.
2.11 TBB(1, 2) Configuration Memory The block diagrams of TBB1 and TBB2 modules are shown in Figure 11 and Figure 12 respectively. The tables in this chapter describe the control registers of TBB1 and TBB2 modules. Table 12: TBB(1, 2) configuration memory Address (15 bits) Bits Description...
Page 42
Address (15 bits) Bits Description Reserved 0x0106 14 – 10 ICT_LPFS5_F_TBB_(1, 2)[4:0]: This controls the operational amplifier's output stage bias current of the low band real pole filter of the transmitter's base band. Default: 9 – 5 ICT_LPFS5_PT_TBB_(1, 2)[4:0]: This controls the operational amplifier's input stage bias current of the low band real pole filter of the transmitter's base band.
Address (15 bits) Bits Description 0x010A 15 – 14 TSTIN_TBB_(1, 2)[1:0]: This control selects where the input test signal (vinp/n_aux_bbq/i) is routed to as well as disabling the route. 0 – Disabled. Test signal is not routed any where. (default) 1 –...
Page 44
Table 13: TRX gain configuration memory Address (15 bits) Bits Description 0x0125 15 – 10 CG_IAMP_TBB_(1, 2)[5:0]: This controls the front-end gain of the TBB. For a given gain value, this control value varies with the set TX mode. After resistance calibration, the following table gives the nominal values for each frequency setting.
2.13 AFE Configuration Memory The block diagram of the AFE module is shown in Figure 13. The tables in this chapter describe the control registers of the AFE module. Table 14: AFE configuration memory Address (15 bits) Bits Description 0x0082 15 –...
2.14 BIAS Configuration Memory The block diagram of the BIAS module is shown in Figure 14. The tables in this chapter describe the control registers of the BIAS module. Table 15: BIAS configuration memory Address (15 bits) Bits Description 0x0083 15 –...
2.15 SXR, SXT Configuration Memory The block diagrams of the SXR and SXT modules are shown in Figure 15 and Figure 16 respectively. The tables in this chapter describe the control registers of SXR and SXT modules. Table 16: SXT (SXR) configuration memory Address (15 bits) Bits Description...
Page 48
Address (15 bits) Bits Description FRAC_SDM_(SXR, SXT)[15:0]: Fractional control of the division ratio LSB. Default: 0x011D 15 – 0 1024 =2^20*[Fvco/(Fref * 2^ EN_DIV2_DIVPROG_(SXR, SXT)) – int(Fvco/(Fref * 2^ EN_DIV2_DIVPROG_(SXR, SXT)))] Default: 00000100 00000000 0x011E 15 - 14 Reserved 13 – 4 INT_SDM_(SXR, SXT)[9:0]: Controls Integer section of the division ratio INT_SDM_(SXR, SXT)
Page 50
Address (15 bits) Bits Description RESRV_(SXR, SXT)[4:0]: Reserved. Default: 0 0x0124 15 – 11 (For SXT only RESRV_SXR[0] connected to the output!) 10 – 5 Reserved EN_DIR_(SXR, SXT): Enables direct control of PDs and ENs for SXR/SXT module. 0 – direct control disabled (default) 1 –...
2.16 CGEN Configuration Memory The block diagram of the CGEN module is shown in Figure 17. The tables in this chapter describes the control registers of the CGEN module. Table 17: CGEN configuration memory Address (15 bits) Bits Description 0x0086 SPDUP_VCO_CGEN: Bypasses the noise filter resistor for fast settling time.
Page 52
Address (15 bits) Bits Description 0x0089 REV_SDMCLK_CGEN: Reverses the SDM clock 0 – default (default) 1 – reversed (after INV) SEL_SDMCLK_CGEN: Selects between the feedback divider output and Fref for 0 – CLK CLK_DIV (default) 1 – CLK CLK_REF SX_DITHER_EN_CGEN: Enabled dithering in SDM 0 –...
Page 53
Address (15 bits) Bits Description COARSE_STEPDONE_CGEN: Read only 0x008C COARSEPLL_COMPO_CGEN: Read only VCO_CMPHO_CGEN: Read only VCO_CMPLO_CGEN: Read only 11 – 8 CP2_CGEN[3:0]: Controls the value of CP2 (cap from CP output to GND) in the PLL filter. Default: 6 cp2=CP2_PLL_SX*6*63.2fF 7 –...
2.17 XBUF Configuration Memory The block diagram of the XBUF module is shown in Figure 18. The tables in this chapter describe the control registers of the XBUF module. Table 18: XBUF configuration memory Address (15 bits) Bits Description 0x0085 15 –...
2.18 LDO Configuration Memory The block diagram of the LDO module is shown in 9. The tables in this chapter describe the control registers of the LDO modules. Table 19: LDO configuration memory Address (15 bits) Bits Description 0x0092 EN_LDO_DIG: Enables the LDO 0 –...
Page 56
Address (15 bits) Bits Description 0x0093 EN_LOADIMP_LDO_TLOB: Enables the load dependent bias to optimize the load regulation 0 – Constant bias (default) 1 – Load dependent bias EN_LOADIMP_LDO_TPAD: Enables the load dependent bias to optimize the load regulation 0 – Constant bias (default) 1 –...
Page 57
Address (15 bits) Bits Description 0x0094 EN_LOADIMP_LDO_CPSXT: Enables the load dependent bias to optimize the load regulation 0 – Constant bias (default) 1 – Load dependent bias EN_LOADIMP_LDO_DIG: Enables the load dependent bias to optimize the load regulation 0 – Constant bias (default) 1 –...
Page 58
Address (15 bits) Bits Description 0x0095 BYP_LDO_TBB: Bypass signal for the LDO 0 – Does not bypass. Normal LDO operation (default) 1 – Bypasses LDO. Connects Vinput to Voutput BYP_LDO_TIA12: Bypass signal for the LDO 0 – Does not bypass. Normal LDO operation (default) 1 –...
Page 59
Address (15 bits) Bits Description 0x0096 BYP_LDO_AFE: Bypass signal for the LDO 0 – Does not bypass. Normal LDO operation (default) 1 – Bypasses LDO. Connects Vinput to Voutput BYP_LDO_CPGN: Bypass signal for the LDO 0 – Does not bypass. Normal LDO operation (default) 1 –...
Page 60
Address (15 bits) Bits Description 0x0097 SPDUP_LDO_DIVSXR: Short the noise filter resistor to speed up the settling time 0 – noise filter resistor in place (default) 1 – Noise filter resistor bypassed should be connected to a 1~5uS at the power up SPDUP_LDO_DIVSXT: Short the noise filter resistor to speed up the settling time 0 –...
Page 61
Address (15 bits) Bits Description Reserved 0x0098 15 – 9 SPDUP_LDO_AFE: Short the noise filter resistor to speed up the settling time 0 – noise filter resistor in place (default) 1 – Noise filter resistor bypassed should be connected to a 1~5uS at the power up SPDUP_LDO_CPGN: Short the noise filter resistor to speed up the settling time 0 –...
Page 62
Address (15 bits) Bits Description 0x009D 15 – 8 RDIV_RXBUF[7:0]:Controls the output voltage of the LDO by setting the resistive voltage divider ratio. Default: 101 Vout=860mV+3.92mV *RDIV 7 – 0 RDIV_TBB[7:0]:Controls the output voltage of the LDO by setting the resistive voltage divider ratio.
Page 63
Address (15 bits) Bits Description 0x00A6 15 – 13 ISINK_SPIBUFF[2:0]: Controls the SPIBUF LDO output resistive load. 0 – Off (default); 1 – 10kΩ; 2 – 2.5kΩ; 3 – 2kΩ; 4 – 625Ω; 5 – 588Ω 6 – 500Ω 7 – 476Ω SPDUP_LDO_SPIBUF: Short the noise filter resistor to speed up the settling time 0 –...
2.19 EN_DIR Configuration Memory The tables in this chapters describe the control registers of the EN_DIR module. Each EN_DIR bit enables capability of direct control of PD (powerdown) and EN (enable) outputs. Table 20: EN_DIR configuration memory Address (15 bits) Bits Description 0x0081...
2.20 SXR, SXT and CGEN BIST Configuration Memory The block diagram of the BIST module for SXR, SXT and CGEN is shown in Figure 24. The table in this chapter describes control registers of BIST module. There is one test vector generator which supplies the test vectors for CGEN, SXT and SXR modules.
2.21 CDS Configuration Memory The block diagram of the Clock Distribution System (CDS) module is shown in Figure 20. The tables in this chapter describe the control registers of CDS module. Table 22: CDS configuration memory Address (15 bits) Bits Description 0x00AD 15 –...
Page 67
Address (15 bits) Bits Description 0x00AE 15 – 14 CDS_TXBTSP[1:0]: TX TSP B clock delay. 00 – delay by 400ps (default) 01 – delay by 500ps 10 – delay by 600ps 11 – delay by 700ps 13 – 12 CDS_TXATSP[1:0] : TX TSP A clock delay. 00 –...
2.22 mSPI Configuration Memory More information about embedded microcontroller may found in the microcontroller datasheet. Table 23: mSPI configuration memory Address (15 bits) Bits Description 0x0000 15 – 8 Reserved 7 – 0 P0[7:0]: The data at MCU port P0 input can be changed by writing data into this Controls port register...
2.23 DC Calibration Configuration Memory The block diagrams of the DC calibration modules are shown in Figure 28. The tables in this chapter describes control registers of DC calibration modules. Table 24: DC calibration configuration memory Address (15 bits) Bits Description 0x05C0 DCMODE: Control for the DC offset calibration mode.
Page 70
Address (15 bits) Bits Description DCCAL_CALSTATUS_RXBQ. RXBQ DC calibration status (Read only): 0x05C1 0 – Calibration is not running 1 – Calibration is running DCCAL_CALSTATUS_RXBI. RXBI DC calibration status (Read only): 0 – Calibration is not running 1 – Calibration is running DCCAL_CALSTATUS_RXAQ.
Page 72
Address (15 bits) Bits Description 0x05C4 DCWR_TXAQ. Used to enable manual write operation of TXAQ DAC values. Value must be first stored in DC_TXAQ register prior to toggling this flag: 0 to 1 – writes the value to TXAQ DAC from DC_TXAQ register Default: 0 DCRD_TXAQ.
Page 73
Address (15 bits) Bits Description 0x05C8 DCWR_RXAQ. Used to enable manual write operation of RXAQ DAC values. Value must be first stored in DC_RXAQ register prior to toggling this flag: 0 to 1 –writes the value to RXAQ DAC from DC_RXAQ register Default: 0 DCRD_RXAQ.
2.24 RSSI, PDET and TEMP measurement Configuration Memory The block diagrams of the analogue RSSI, power detector and temperature measurement modules are shown in Figure 29. The tables in this chapter describes control registers of RSSI, power detector and temperature measurement modules. Table 25 RSSI configuration memory Address (15 bits) Bits...
Page 75
Address (15 bits) Bits Description Reserved 0x0602 15 – 14 13 – 9 MEASR_BIAS[4:0]: Controls the reference bias current of the test ADC. Used for measurement ADC calibration routine: 0 – min bias value (lowest threshold) … 16 – middle bias value (default) …...
Address (15 bits) Bits Description MEASR_TREF_VAL[7:0]: Stores the temperature reference value. (Read only) 0x0606 15 – 8 MEASR_TREF_VAL[7:0] – magnitude 7 – 0 MEASR_TPTAT_VAL[7:0]: Stores the voltage proportional to absolute temperature value. (Read only) MEASR_TPTAT_VAL[7:0] – magnitude Default: XXXXXXXX XXXXXXXX 2.25 Analog RSSI Calibration Configuration Memory The block diagram of the analog RSSI calibration module is as shown in Figure 5 and Figure 6.
SPI Procedures A1.1 SPI READ/WRITE Pseudo Code //---------------------------------------------------------------------------- // Write command, SPI module address, register address // Read data //---------------------------------------------------------------------------- void SPI_Read(unsigned int COMMAND) unsigned int DATA; //We will read data there //Write Command and Address (MSB First) //First 1 bit (MSB) = Command //Next 15 (LSBs) bits = Register Address for(int i=15;...
Page 78
//---------------------------------------------------------------------------- // Write data to the chip: // First byte: Command, SPI module address, register address // Second byte: Data //---------------------------------------------------------------------------- void SPI_Write(unsigned int COMMAND, unsigned int DATA) //Write Command, Address for(int i=15; i>=0; i--) if(i’th bit in COMMAND is ‘1’) Set Data Output line to ‘1’;...
Calibration algorithms A3.1 VCO coarse tuning This chapter describes the algorithm for VCO coarse tuning, which finds the optimum SWC_VCO[7:0] value. VCO coarse tuning algorithm goes through 3 following phases: 1. Initialization: sets the static control words for the synthesizer 2.
while (Get_SPI_Reg_bits(0x0123, 15, 15) != 1) //wait till COARSE_STEPDONE=1 try_cnt++; if(try_cnt > MAX_TRY_CNT) return 0; if (Get_SPI_Reg_bits(0x0123, 14, 14) == 1) //check CAORSEPLL_COMPO Modify_SPI_Reg_bits (0x0121, 3 + i, 3 + i, 0); // SWC_VCO<i>=0 Modify_SPI_Reg_bits (0x0121, 0, 0, 0); // COARSE_START=0 if(i==0) break;...
Page 107
Use the Q input of the ADC of Channel 1 to read the difference between on chip fixed voltage and off-chip voltage. Compare the ADC value with best value (which is initially set to very high). If ADC value is lower, then save it as “Best Value”. 3.
RP_CALIB_BIAS++; Modify_SPI_Reg_bits (0x0084, 10, 6, RP_CALIB_BIAS_cal); // set the control RP_CAL_BIAS to stored calibrated value *ratio = (float) 16/RP_CALIB_BIAS_cal; //calculate ratio A3.3 RBB calibration RBB calibration is divided into two calibrations for low and high bands. Each calibration consist of several smaller algorithms. A3.3.1 RBB Low Band Calibration Calibration steps:...
Page 109
Calibration_LowBand_RBB Input Parameters: channel Return Parameters: status Save current configuration Select channel Perform Algorithm_A_RBB Procedure and get Result Perform Algorithm_B_RBB Procedure and get Result Result == TRUE Perform Algorithm_F_RBB Procedure for 1.4 MHz band and get Result Perform Algorithm_F_RBB Procedure for 3.0 MHz band and get Result Perform Algorithm_F_RBB Procedure for 5.0 MHz band and get Result...
result = 1; RESTORE: Restore_config_RBB (); //restore configuration return result; A3.3.2 RBB High band Calibration Calibration steps: 1. Save current configuration 2. Select channel 3. Calibrate (by measurement using loopback path 8) the control value of the CBANK( High Band Section) at the 37MHz/2 bandwidth. => Register the CBANK control value for the high-band section for 37MHz rxMode.
The following is the C code implements described algorithm: unsigned char Calibration_HighBand_RBB (unsigned char ch) unsigned char result = 0; Save_config_RBB (); //save current configuration MIMO_Ctrl (ch); Modify_SPI_Reg_bits (0x040A, 13, 12, 1); // AGC Mode = 1 (RSSI mode) Set_cal_path_RBB (8); //Set control signals to path 8 (RX HighBand) if (Algorithm_B_RBB (&LowFreqAmp) != 1) goto RESTORE;...
Page 112
1. Set DAC output to 100kHz single tone. 2. Start with the nominal setting value for “CG_IAMP_TBB”. 3. Linearly and proportionally adjust “CG_IAMP_TBB<5:0>” control lines to have about 80% of full scale swing. For this: measure the output, if the output was lower or higher than 80%, then adjust “CG_IAMP_TBB”...
C code for algorithm B: unsigned char Algorithm_B_RBB (unsigned short *LowFreqAmp) unsigned short ADCOUT; unsigned char CG_IAMP_TBB, gain_inc; Set_NCO_Freq (0.1); // Set DAC output to 100kHz (0.1MHz) single tone. CG_IAMP_TBB = 24; //set nominal CG_IAMP_TBB value Modify_SPI_Reg_bits (0x0108, 15, 10, CG_IAMP_TBB); //write val to reg //Modify_SPI_Reg_bits (0x040A, 13, 12, 1);...
Page 114
Algorithm_F_RBB Input Parameters: Band_id Return Parameters: status Band <= 20 MHz ? low_band := 0 low_band := 1 CONTROL := 0x7FF CONTROL := 0xFF C_CTL_LPFH_RBB_(1, 2)[7:0](0x0116[7:0]) := C_CTL_LPFL_RBB_(1, 2)[10:0](0x0117[10:0]) := CONTROL CONTROL Apply a single tone frequency at (Band/2) ADCOUT := RSSI[15:0] (0x040B[15:0]) ADCOUT >= LowFreqAmp CONTROL == 0 CONTROL := CONTROL –...
if(Band_id <= RBB_20_0MHZ) //low band low_band = 1; // CONTROL=C_CTL_LPFL_RBB CONTROL = 0xFF; // Set the CONTROL to maximum value. This should bring the output cutt-off frequency to minimum. Modify_SPI_Reg_bits (0x0117, 10, 0, CONTROL); // write to C_CTL_LPFL_RBB else //high band low_band = 0;...
Page 116
7. Calibrate (by measurement using loopback path 3) the control value of the RBANK (ladder only) for the 5.5MHz bandwidth setting => Register the value of the RBANK controls. 8. Adjust the value of the real pole controls by -50% (pre-emphasis/real pole RBANK). 9.
Page 117
Calibration_LowBandBand_TBB Input Parameters: channel Return Parameters: status Save current configuration Select channel AGC_MODE[1:0](0x040A[13:12]) Perform Algorithm_A_TBB Procedure and get Result Perform Algorithm_B_RBB Procedure for 11 MHz band, path 3 and get Result Perform Algorithm_C_TBB Procedure and get Result Perform Algorithm_D_RBB Procedure for path 4 and get Result Perform Algorithm_E_RBB Procedure for 8.2 MHz band, path 5 and get Result...
A3.7 TBB High Band Calibration Calibration steps: 1. Save current configuration 2. Calibrate (by measurement using loopback path 6) the control value of the RBANK at the18.5MHz bandwidth. => Register the RBANK control value for the 18.5MHz. 3. Calibrate (by measurement using loopback path 6) the control value of the RBANK for the 38MHz bandwidth setting =>...
A3.8 Nested algorithms A3.8.1 Algorithm A Multiply the ratio of the on-chip resistor to the off-chip resistor by the default control value of the RCAL_LPFLAD_TBB for 11MHz and return the result of the multiplication. C code for algorithm A: void Algorithm_A_TBB () unsigned char RCAL_LPFLAD_TBB;...
Page 120
4. Decrease the control value “CCAL_LPFLAD_TBB” by one step. 5. Jump back to line #3. 6. Store the value of “CCAL_LPFLAD_TBB” as the calibrated CBANK value of TBB. C code for algorithm C: unsigned char Algorithm_C_TBB (unsigned char Band_id) unsigned short ADCOUT, LowFreqAmp; unsigned char CONTROL;...
A3.8.4 Algorithm D Algorithm steps: 1. Apply a single tone at frequency equal to “CalFreq” 2. Compare the amplitude at the input ADC to “LowFreqAmp”. If greater, then the pre- emphasis zero is faster than the real pole. And Vise-Versa. Decrease or increase respectively the zero frequency by one step.
Page 122
8. Return the value of CONTROL. Algorithm_E_TBB Input Parameters: Band Return Parameters: status CONTROL := 0 Band <= 11 MHz ? low_band := 0 low_band := 1 RCAL_LPFH_TBB_(1, 2)[7:0](0x0109[15:8]) := RCAL_LPFLAD_TBB_(1, 2)[7:0](0x0109[7:0]) := CONTROL CONTROL Perform Algorithm_B_TBB Procedure and get Result Apply a single tone frequency at Band ADCOUT := RSSI[15:0] (0x040B[15:0]) ADCOUT >= LowFreqAmp...
Page 123
if(Band_id <= TBB_11_0MHZ) //If(“CalFreq”) <=11MHz, then CONTROL=RCAL_LPFLAD_TBB, else, CONTROL=RCAL_LPFH_TBB low_band = 1; // CONTROL=RCAL_LPFLAD_TBB Modify_SPI_Reg_bits (0x0109, 7, 0, CONTROL); // write to RCAL_LPFLAD_TBB else low_band = 0; // CONTROL=RCAL_LPFH_TBB Modify_SPI_Reg_bits (0x0109, 15, 8, CONTROL); // write to RCAL_LPFH_TBB if (Algorithm_B_TBB (&LowFreqAmp) != 1) return 0; // Calibrate and Record the low frequency output amplitude (Algorithm B) Set_NCO_Freq (TBB_CalFreq[Band_id]);...
Need help?
Do you have a question about the LMS7002MR3 and is the answer not in the manual?
Questions and answers