Current Control (ICC)
Integrated Current Controller
The ICC (Integrated Current Controller) is the primary current regulation system
providing precise 15-bit current control.
ICC Architecture
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Current Control Loop:
Setpoint ββββΆββββββββββββββ ββββββββββββ βββββββββββ
(15-bit) β Difference ββββββΆβIntegratorββββββΆβ PWM β
β Amp β β (ICC) β β Driver β
βββββββ²βββββββ ββββββββββββ ββββββ¬βββββ
β β
β βββββββββββββ β
ββββββ€ Current ββββββββββββββββββββ
β Sense β Output
βββββββββββββ
PWM Frequency: Configurable via PERIOD register
Dither Overlay: Optional current modulation
Regulation: Closed-loop with integrator
Current Resolution
15-Bit Precision :
Single Mode: 0-2000 mA / 32767 steps = 0.061 mA/step
Parallel Mode: 0-4000 mA / 32767 steps = 0.122 mA/step
Setpoint Configuration
Formula :
1
2
TARGET = (I_desired Γ 32767) / I_max
Where: I_max = 2000mA (single) or 4000mA (parallel)
Examples :
Desired Current
TARGET Value
Hex
100 mA
1638
0x0666
500 mA
8192
0x2000
1000 mA
16384
0x4000
1500 mA
24576
0x6000
2000 mA
32767
0x7FFF
PWM Frequency Control
PERIOD Register Configuration
1
2
3
4
5
Bits: 15 12 11 10 8 7 0
βββββββββ¬βββββ¬βββββββββ¬ββββββββββββββββ
βPWM_CTLβLOW βPERIOD β PERIOD β
β_PARAM βFREQβ _EXP β _MANT β
βββββββββ΄βββββ΄βββββββββ΄ββββββββββββββββ
Formula :
1
2
3
4
Standard: T_pwm = PERIOD_MANT Γ 2^PERIOD_EXP Γ (1/f_sys)
Low Freq: T_pwm = PERIOD_MANT Γ 8 Γ 2^PERIOD_EXP Γ (1/f_sys)
Where f_sys β 8 MHz (internal clock)
Example Calculations :
MANT
EXP
Low Freq
Frequency
Period
100
0
No
80 kHz
12.5 Β΅s
100
4
No
5 kHz
200 Β΅s
50
6
Yes
312.5 Hz
3.2 ms
Dither Support
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Current vs Time (Dither Enabled):
I_max β β±ββββββββ² β±ββββββββ²
β β± β² β± β²
I_set βββββββββββββββββββOββββββββββββββββββ
β β² β± β² β±
I_min β β²___________β±
ββββββββββββββββββββββββββββββββββββββΆ Time
ββββββ T_dither ββββββΆ
Components:
- Steps: Number of increments in quarter period
- Flat: Hold time at peak/valley
- Step Size: Amplitude of each increment
Configuration Registers
DITHER_CLK_DIV : Reference clock period
DITHER_STEP : Steps and flat period
DITHER_CTRL : Step size and control
Dither Amplitude :
1
I_dither = STEPS Γ STEP_SIZE Γ 2A / 32767
Dither Period :
1
T_dither = [4ΓSTEPS + 2ΓFLAT] Γ t_ref_clk
Dither Use Cases
Application
Configuration
Purpose
Solenoid Positioning
Small steps, high freq
Precise position control
Valve Control
Medium steps, low freq
Smooth flow transitions
Noise Reduction
Random steps
Break up acoustic noise
Integrator Control
INTEGRATOR_LIMIT Register
1
2
3
4
5
Bits: 15 14 10 9 0
ββββ¬ββββββββββββββββββ¬ββββββββββββββββββ
βRsβAUTO_LIM_VALUE β LIM_VALUE β
β β _ABS β _ABS β
ββββ΄ββββββββββββββββββ΄ββββββββββββββββββ
Purpose :
Prevents integrator windup
Faster settling after setpoint changes
Two limits: Normal and Auto (after setpoint change)
Recommended Values :
Normal operation: 0x3FF (maximum)
Fast response: 0x1FF (reduced)
Auto-limit: 0x0FF (aggressive)
Current Measurement
Feedback Mechanism
1
2
3
4
5
6
7
Measurement Path:
Load Current βββΆ Sense βββΆ ADC βββΆ Filter βββΆ FB_I_AVG
β
ββββΆ Min/Max βββΆ FB_IMIN_IMAX
β
ββββΆ DC Calc βββΆ FB_DC
Feedback Registers (Per Channel)
Register
Content
Update Rate
FB_I_AVG
Average current over dither period
Dither period
FB_DC
PWM duty cycle (0-100%)
PWM period
FB_VBAT
Average VBAT
Configurable
FB_IMIN_IMAX
Min/Max current
Dither period
Parallel Operation
Channel Pairing
1
2
3
4
5
6
7
8
9
Available Pairs:
βββββββββββ¬ββββββββββ
β CH0 β CH3 β βββ Can be paralleled (4A)
βββββββββββΌββββββββββ€
β CH1 β CH2 β βββ Can be paralleled (4A)
βββββββββββΌββββββββββ€
β CH4 β CH5 β βββ Can be paralleled (4A)
βββββββββββ΄ββββββββββ
Configuration :
Enter Config Mode
Set CH_PAR_x_y bit in CH_CTRL
Configure both channels identically
Enter Mission Mode
Enable both channels
Current Calculation (Parallel):
1
2
I_total = 4000mA Γ TARGET / 32767
Max: 4000 mA (4A)
ICC Tuning Guidelines
Response Time vs Stability
1
2
3
4
5
6
7
8
Fast Response Stability
(High Gains) (Low Gains)
ββββββββββββββββββββββββββββββββββΆ
β β β β
Unstable Aggressive Balanced Slow
Recommended: Balanced (middle range)
Parameter Recommendations
Load Type
PWM_CTRL_PARAM
INT_THRESH
Response
Resistive
0x8
0x100
Fast
Inductive (low L)
0x6
0x80
Medium
Inductive (high L)
0x4
0x40
Slow
Solenoid
0x5
0x60
Balanced
Tuning Process
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. Start with default values
ββ PWM_CTRL_PARAM = 0x6
ββ INT_THRESH = 0x80
ββ INTEGRATOR_LIMIT = 0x3FF
2. Observe step response
ββ Apply setpoint step change
3. Adjust based on behavior
ββ Oscillation? β Reduce PWM_CTRL_PARAM
ββ Too slow? β Increase PWM_CTRL_PARAM
ββ Overshoot? β Reduce INT_THRESH
4. Fine-tune integrator limits
ββ Reduce for faster settling