VCO_CoarseTuning_SXT_SXR
Input Parameters: Fref_MHz, Fvco_des_MHz, ch
Return Parameters:
Result
MAC[1:0] (0x0040[1:0]) := ch
EN_COARSEPLL_(SXT, SXR) (0x011C[12]) := 1
COARSE_START_(SXT, SXR) (0x0121[0]) := 0
EN_INTONLY_SDM_(SXT, SXR) (0x011C[9]) := 1
SPDUP_VCO_(SXT, SXR) (0x011C[14]) := 1
Nround := round(4*Fvco_des/Fref)
FRAC_SDM_(SXT, SXR)[15:0] (0x011D[15:0]) := 0
FRAC_SDM_(SXT, SXR)[19:16] (0x011E[3:0]) := 0
INT_SDM_(SXT, SXR)[9:0] (0x011E[13:4]) := Nround-4
CSW_VCO_(SXT, SXR)[7:0] (0x0121[10:3]) := 0
i := 7
TRY_CNT := 0
CSW_VCO_(SXT, SXR)[i] (0x0121[3+i]) := 1
COARSE_START_(SXT, SXR) (0x0121[0]) := 1
COARSE_STEPDONE_(SXT, SXR)
(0x0123[15]) == 1?
TRY_CNT := TRY_CNT+1
TRY_CNT > MAX_TRY_CNT?
COARSEPLL_COMPO_(SXT, SXR)
(0x0123[14]) == 1?
CSW_VCO_(SXT, SXR)[i] (0x0121[3+i]) := 0
COARSE_START_(SXT, SXR) (0x0121[0]) := 0
EN_COARSEPLL_(SXT, SXR) (0x011C[12]) := 0
EN_INTONLY_SDM_(SXT, SXR) (0x011C[9]) := 0
SPDUP_VCO_(SXT, SXR) (0x011C[14]) := 0
Return Result.
END
NO
YES
NO
YES
NO
YES
i == 0?
i := i -1
NO
YES
Result := FALSE Result := TRUE
Initialization
Normal mode setting