Hello all,
I'm looking at section 3.1.1 of sluu995a and it says that "By setting the AUTO_GAIN_SHIFT_MODE bit in the EADCCTRL register, the second auto gain mode can be enabled. In this mode, the shift points are set by the Filter nonlinear mode thresholds." I've been using AUTO_GAIN_SHIFT_EN = 1 to shift FE gain automatically, but I've come across something strange and I'd like to manually set the thresholds. Unfortunately the documentation does not explain exactly how the NL thresholds can be used. Here's what I have so far:
FeCtrl0Regs.EADCCTRL.bit.AUTO_GAIN_SHIFT_EN = 1; // Enable auto-gain-shift
FeCtrl0Regs.EADCCTRL.bit.AUTO_GAIN_SHIFT_MODE = 1; // Use NL limits, not automatic limits
LoopMuxRegs.FECTRL0MUX.bit.NL_SEL = 2; // Use filter2 limits to control FE0 gain
Filter2Regs.FILTERCTRL.bit.NL_MODE = 1; // Use symmetric mode in filter2
LoopMuxRegs.FILTERMUX.bit.FILTER2_FE_SEL = 0; // Connect filter2 to FE0
From this point I've experimented with the NL thresholds (Filter2Regs.FILTERNLx), but I cannot figure out exactly how they change the gain. Do the "bins" matter (Filter2Regs.COEFCONFIG.bit.BINx_CONFIG)? Is there support for hysteresis in this gain shift mode, as there is in the auto-shift?
Thanks
Nathan