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: Unable to control fan speed using software RPM mode

Part Number: AMC6821

I am trying to write drivers to control a 4 wire fan using the AMC6821 in software RPM mode.

On initialization I write the following:

0x80 to Configuration Register 4 (0x04)

0x00 to Configuration Register 3 (0x3F)

0x3F to Configuration Register 2 (0x01) (TACH-MODE = 1 for 4 wire fan)

0xB5 to Configuration Register 1 (0x00) (Software RPM mode, Start bit set)

I then set the rpm by writing the value (6,000,000 / rpm) to the TACH settings LBYTE and HBYTE registers (0x1E and 0x1F)

The fan should spin at 1500~6000 rpm (0~100% duty cycle) however no matter what rpm I set it to, it will not spin faster than 1500 rpm. The PWM output is always low (seen with oscilloscope) so it is always at 0% duty cycle.

I can read the DCY register and see that the duty cycle is not 0%, rather it goes up to 100% over time. The only thing that I have found online that may be part of the problem is this post: https://e2e.ti.com/support/sensors/f/1023/t/864879?tisearch=e2e-sitesearch&keymatch=amc6821 

On my AMC6821 the THERM pin is floating. Is this the problem or is there a software solution for this issue? I tried disabling THERMOVIE as well as all the other faults and interrupts but there was no difference.

Any advice would be appreciated.