This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AMC6821: Auto Temperature Fan Mode with Local Temperature only

Part Number: AMC6821

I have essentially the same question as asked back in Feb in this thread "AMC6821: Question of AMC6821 Auto Temperature Fan Control Mode with Remote Channel Not Used" however there was no answer posted to the forum, so the question remains.

We need to use the AMC6821 in automatic mode (FDRC=11) using the *local* sensor only. There is no remote sensor connected.

This automatic mode uses the maximum speed (duty cycle) calculated by the control loops from both the local and remote sensors. How can we configure the device to ignore the remote sensor and use only the local sensor in the control loop calculations?

Thanks -

:: Gavin

  • Gavin,

    Sorry about the delay.  I will take a look and get back to you within 48 hours.

    -Kelvin

  • Gavin,

    Shorting the remote pins (IN+ and IN-) together should give  consistent temperature result of -128°C and not be a factor in max calculation.

    -Kelvin

  • Hi Kelvin,

    Thanks, I shorted the two IN+/- pins and verified that the remote temperature register is reading -128.

    It looks like there are side-effects, such as RTF and RTL being always set in SR1. Masking these and disabling RTFIE in CR1 is thus required.

    Regards -

      :: Gavin

  • I'm glad it's working for you. Thanks for the feedback!

  • Hi Kelvin,

    Perhaps I spoke too soon... it doesn't seem to be working after all. In fact, we can't even seem to get it working in manual mode.

    In SR2 the LPSV bit is always set, as the remote temperature is always -128, and obviously below the minumum possible value of the PSV reg which is 0. This _appears_ to set the actual PWM output to 0% regardless of the DCY reg (note this is in Auto Max mode). The most recent tests showed DCY=85 but the fan was at 0rpm and the PWMOUT was flat.

    To test the PWM output independently of the control loops, I set the control mode to Software DCY Control (FDRC=00) and then wrote a loop which increases the duty cycle every second, measures the temperature and dumps the registers. The results are below:

    ...
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=72
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=80
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=88
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27875 fan_rpm=0 duty=96
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27625 fan_rpm=0 duty=104
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=112
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=120
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=128
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27500 fan_rpm=0 duty=136
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27625 fan_rpm=0 duty=144
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27875 fan_rpm=0 duty=152
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27625 fan_rpm=0 duty=160
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=27750 fan_rpm=0 duty=168
    ...
    

    So despite being in manual control mode, the actual fan output does not change. I used a probe to measure the PWMOUT pin and it's always flat after startup. I would not expect the LPSV state to override the DCY out in fully manual mode, but somehow we just get nothing.

    We know the chip and fan and output stage are working correctly though, as when the device is first powered on, the controller performs the ramp up for the first 2 seconds, then settles into the control loop. If in Auto Max mode, it will simply slow down to 0 and stop, remaining there.

    Here is PWMOUT from powerup at approx 1.1sec elapsed:

    PWMOUT stopping after approx 7 seconds of running at 50%:

    The spinup phase on powerup is captured in this trace below, showing the RPM rapidly increasing, then dropping down (1 sec updates):

    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29250 fan_rpm=1165 duty=0
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29125 fan_rpm=7672 duty=8
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=a0h temp=29000 fan_rpm=7168 duty=16
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29125 fan_rpm=3692 duty=24
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29000 fan_rpm=1592 duty=32
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29000 fan_rpm=1592 duty=40
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29125 fan_rpm=0 duty=48
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29000 fan_rpm=0 duty=56
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29000 fan_rpm=0 duty=64
    AMC6821: CR1=01h CR2=17h CR3=03h CR4=08h SR1=28h SR2=20h temp=29000 fan_rpm=0 duty=72

    So now there are two questions:

    1. How can we correctly configure the controller in Auto Max Mode given REMOTE is disabled?

    2. Why wouldn't Software DCY Mode work for us above? Setting DCY has no effect on the PWM output.

    Thanks for any insights you can provide!

  • Gavi,

    Let me think about this.

    -Kelvin
  • Gavin,

    Due to the holidays, expect some delay.

    -Kelvin
  • Gavin,

    I just got back from the break. Did you make progress on this? I will need to look into this again.

    -Kelvin
  • Hello Kelvin,

    Thanks, Happy New Year!

    I am back and have just yesterday had a change to investigate this further. After making little progress with the custom hardware as is, I decided to isolate the problem. I prototyped up a standalone circuit to check just the AMC6821, and modelled the design after the EVM as a reference design. So far, it looks like great news - it appears to be working as expected! Essentially the same firmware is running on the prototype that is not working on our main board. I reviewed the schematics and noted several differences between it and the EVM, so I will most likely refer the problem back to the HW Engineers to revise the design (I'm doing the embedded firmware).

    I will do some more tests next week to be certain, and update here with any relevant details.

    Thanks -

      :: Gavin

  • Hello Kelvin,

    I have completed the testing of the standalone fan controller circuit, based on the EVM design. All expected features work correctly:

    - If we tie IN+/IN- together, we measure -128 for the remote sensor and this is correctly ignored in ‘Maximum Duty Cycle Mode’, thus 'local temperature only' effectively works
    - Using the simple BJT circuit in the reference design, we get very similar readings to the internal numbers, though possibly with a small offset
    - Duty cycle varying as expected to input temperature
    - Using Software Duty Cycle mode to set duty cycle works and controls RPM

    So there is clearly an issue with the support circuit in our PCB design, which has a few differences to the EVM. All the info has been supplied to the HW Engineers to update accordingly. So thanks for your help, and this is resolved now.

    Regards -

    :: Gavin