Amplifier Fan Controller

The MSP430F2012 controller on this board takes three analog temperature inputs from TMP300 sensors on its ADC inputs 0, 1 and 2.
One temp sensor is mounted on the low amp heatsink, two others on the heatsink containing the mid and high amplifiers.
The temp sensors are mounted close to the power transistors of each amplifier.
Upon a certain heatsink temperature rise the controller drives the constant current driver to activate the two fans that are mounted on the heatsinks of the power amps. These 2 fans are 12V types, connected in series.
There are five temperature trip points
  TP0: 45 deg C.
  TP1: 50 deg C
  TP2: 55 deg.C
  TP3: 60 deg.C
  TP4: 65 deg.C
  TP5: >70 deg.C (temp error condition)

There are four fan speeds
  FS0:    0% or zero RPM
  FS1:    25% speed
  FS2:    50% speed
  FS3:    75% speed
  FS4:    100% speed
A 5 deg C. hysteresis is implemented between each Temp Ranges to avoid the fans switching ON and OFF too quickly.
If TR6 is reached (>70C = hot error) the fan stays at FS4 speed and the Inrush Controller is alerted to switch OFF the amplifier high voltage supplies.
At the same time the Temp Error LED starts blinking.
The auxiliary powersupply (+/-12V and 5V) remains active until TP0 is reached. Then the auxiliary powersupply switches OFF too.

A second function of the AFC is to monitor the DC-OK outputs of the three power amplifiers and the PwrOK signal from the Inrush Controller.
The DC-OK signal of Low-Amp has its own input to port P1.3, Mid-Amp and High-Amp DC-OK signals are OR-ed since they share a common powersupply.
They are connected to port P1.4. PwrOK is connected to P1.5 and is also an active low signal.
If any of the DC-OK inputs is pulled low, the DC error LED is activated and the ICC error Opto Coupler output is activated to alert the ICC.
The ICC error Opto Coupler is connected over the ICC-PCB manual switch causing the manual pin to be pulled low.
With a low manual pin input, the ICC will start the shutdown sequence by pulling down the PwrOK line and switching OFF the power amplifier voltage supplies.
As long as the Fan Controller keeps the ICC_error line active low the ICC auxiliary supply stays alive to allow the FAN to cool the heatsinks.
When the Amplifier Fan Controller releases the ICC_error line the ICC shuts down the Auxiliary supply too and the whole system is shut down.
Dependent on the state of the temperature sensor inputs will the auxiliary supply stay alive or switch off as well.

The AFC PCB has a 14 pin connector (JP1) for the Spy By Wire that allows in circuit FLASH programming and debug of the MSP430F2012 using the MSP430 FET tool. Only the two Spy By Wire pins plus ground are used.
The AFC controller operates at 1MHz MCLK and 1MHz SCLK that is factory calibrated at startup.
The watchdog is set as interrupt timer with an interval of 1MHz / 0h8000 = 30.52Hz
The watchdog ISR starts the ADC10 conversion sequence that reads in the three sensor voltage values.
These values are averaged 16 times providing an averaged value every 0.53 seconds
Timer T0 is set for 1MHz / 32 = 31.25KHz PWM frequency which is the clock for the timer module.
T1 is compared against four different preset values to generate a PWM signal that with external filtering results in an analog output voltage for the Fan constant current driver. This constant current is set at 0%, 25%, 50%, 75% or 100%

There are a number of ACTIVE-LED, TEMP-LED and DC-ERROR-LED combinations that indicate different system conditions
20sec blink          off                   off                          idle state, no audio - system not powered
0.5 sec blink        off                   off                          audio detected, starting system up
ON                       off                   off                          system active, no errors
ON                       ON                 off                          temp sensor error, keep poweramps active
20sec blink          1 sec. blink     off                          overtemp condition switch off poweramps, fan runs
20sec blink          off                  1 sec. blink             DC error in poweramp(s), switch off power amps
20sec blink          1 sec. blink    1 sec. blink             DC and TEMP error, switch off poweramps
20sec blink          ON                 ON                         trap for illegal system function