Post Go back to editing

all MAX14912 outputs in push-pull and parallel mode switch @duty=30% while INPUT is always high.

Category: Hardware
Product Number: MAX14912

Dear All,

I am a newbie. 

I have a problem on my prototype with MAX14912 devices onboard. My schematic is below, following MAX14912EVKIT schematic.

I use external Vdd=24V to supply the device, using V5=5Volts and VL=3,3V, too. I use the device with push-pull outputs and parallel mode.

So: PUSHPL =3V3; EN=3V3: SRIAL =0;BUKEN=0, to set the wished functional mode. I kept the SPI port for diagnosis only.

I drive IN1...IN8 with a 3V3 microcontroller and I observe the outputs OUT1...OUT8 with a load of about 3,3mA each one. ...A little load to lite on just a led for each outputs.

The problem is the following.

If INx=0V the output OUTx is correctly near 0V, as written on datasheet.

If INx=3V3 (fixed) I observe OUTx output switch between 24V and 0V with a duty of about 30%.

Please, could explain me how could I get a stable 24Vdc output while input is 3V3 ?

Thank you very much for your availability.

Best Regards, Davide.

  • Hi Davide,
    Have you tried to remove the pull-up and pull-down diode from one of the channels? Do you see the same behavior on that channel?

    Regards,
    Yuriy

  • Dear Yuriy,

    The answer is yes in both cases.

    Please, focus on my path... I think to go near the solution.

    I just get the last MAX14912PMB card from a distributor. I modified it to seem like what I need on my card. Please look at the below figure.

    To shorten the description of my tests, please consider the fact that I put PULL-UPs and PULL-DOWNs on all I/Os that required it.
    I have successfully tested the functionality of the MAX14912 on the board on the IN2/OUT2 and IN7/OUT7 outputs.
    So, it means that my design error is in the buck-controller part.
    On the MAX14912PMB board, BUKEN=24V while on mine BUKEN = 0V ...since I don't use it!!!

    So, the only differences are reduced to just the Lx which I don't mount on my board.

    I ask you, therefore: if BUKEN=0V, can pin#9 = Lx be floating? Or does it MUST be connected to 5V anyway (in my case the voltage is external and is created with an external buck)?
    I left Lx floating. In the MAX14912 manual there are no indications whatsoever regarding the case of not mounting the external L (see page 19 of the manual).

    Thank you. Greetings, Davide.

  • Hi David,
    if BUKEN=0V and V5=5V from an external source, the Lx pin can be left floating. The buck controller has no effect on the circuitry if it is disabled. You can try to remove the inductor and provide 5V to V5 pin on the PMB board and check if it is still working.

    Regards,
    Yuriy

  • Hi David,

    Are you able to solve this issue or it is still opened? Please let me know.

    Regards,

    Yuriy

  • Dear Yuriyk1,

    I received the MAX14912 EVK. I positivly checked all behaviours I would replicated on my board. But the behaviour I detect on my board is not feasible on the EVKIT.

    Since I am not able to explain myself the behaviour on my board (since there are not any short circuit in the board when the card was turned off), I need to investigate what the MAX14912 registers contain in the devices on my board. To do this, I need to replicate the command mode protocol when SRIAL=0,PP=1,EN=1, following table 8 of page 26 of the datasheet.

    Please note the right protocol used from Analog Devices to investigate the device is not really explained.

    I was forced to obtain the correct log investigation protocol by extrapolation from your software (log window). I don't think the correct investigation procedure is written anywhere. Especially the need to repeat the request to get the logs information on the second request of the same type.

    Apart from this, unfortunately I have to recognize that if I query EVKIT from USB the register 5 always shows the result 0xA4, while if I query it from "external SPI" (made with another custom circuit), the result is 0x24. It seems that the watch-dog does not create problems in the second case....

    One more doubt about the possible mismatch description used in your software (EVKIT v1.11) and table 9 (FAULT SUMMARY) on page 31 of the datasheet.

    If I'm not mistaken, in Analog Device's software (EVKIT v1.11) the register #7 is referred to TABLE 7 on page 29 of the datasheet, too. In this case the description refers that any bit of register 7 emphatizes an OUT-overvoltage-detection. In table 9 at page 31, the last row is named "Short circuit". I think it would explain that if there is at least one OUT channel with a short circuit, the FAULT* pin goes low, BUT -at the same time- it refers to REG7.

    What does this mean? 

    If a short circuit has detected on OUTx, the pin FAULT* goes low ....AND do the x-bit of the REG7 goes high, too? (So, It seems any bit of register number 7 carry both informations about overvoltage output AND overcurrent output. Is it correct, please?)

    Thank you very much for your availability.

    Best Regards, Davide.

  • As conclusion of my investigation about MAX14912, I finish to check the SPI state on my board in the following condition (how I already written): SRIAL=0; PP=1; EN=1; IN1=...=IN8= 0; BUKEN=0; V5=5V external and 3V3 external.

    At startup, I detected the default value (0x00) on registers 1,2,3,4,5,7. The register 6 is equal to 0x07, while its value detected over MAX14912EVK on USB was 0xA4 and the same register (always on EVKIT, too) is 0x24 if checked by external SPI (different from Analog Devices test program). These behaviours I think were compatible with the different bias conditions.

    On my board, if I force any input to "1" , the associated output goes to "1" with a duty about 30%, but while the FAULT* pin is always "1" (as is the internal output mos does not turned on), the MAX14912 internal register may emphatize the fault condition answering to 0x30+0x00 command, with a values "1" on correponding bits.

    For example, if IN1=1; IN2=...IN8=0; writing on SPI the "Read-Real-Time Status" command , the MAX14912 answers 0x10 sometimes (as is when the physical output goes "0" instead the correct "1" value.......I suppose). Since the real-time status is not always "1", it is possible to read a "0x00" value in the same condition. This is acceptable as written in the datasheet. Despite this correct/acceptable behaviour, I expected that the global FAULT* signal would also go to "0" for the times foreseen by the datasheet.

    I apreciate your answer.

    Regards, Davide.

  • Davide,

    After power up the board, try to read register 6 two times sending command 0xA0+0x06. All IN_ pins should be 0. After second SPI transaction you should get 0x0000.
    Command 0xA0 is a read command 0x20 with Z MSB=1.  MSB=1 clears all fault conditions from the previous operation. If you don't get 0x0000 after second SPI transaction, then something wrong with your setup. If register 6 still equal to 0x07 this means that the respecting V5 and VDD are below undervoltage thresholds. Double check the power on your board.
    Let me know if you can successfully pass this step. Then we can try the next step.

    Regards, Yuriy

  • Dear YuriyK1,

    Sorry, I forgotten to write back to you. I am perfectly able to reset Register 6. After the reset (0xA6+0x20), the 6th register is resetted to default value 0x00 (as is, no condition of error are present).

    Regards, Davide.

  • Ok, when you are able to read 0x00 from register 6 try to set one of the IN_ pin, for example IN1, to high. Does the OUT1 become 24V? If you still see the 30% oscillation, what you read from register 6?

    Regards, Yuriy

  • Dear YuriyK1,

    After boot and reset I read on register 6 the "0x00" value. This is the right condition to start the test. Please note, after reset, all registers are "0x00". (Since register 6 before reset was "0x40", I am sure to communicate in the right way with the device).

    After this, I put IN1=1 and the OUT1 oscillates with 30% of duty, as usual in my experience. Please note I could put to "1" any INput and I will gotten the corrispondent OUTput pin with 30% of duty.

    The register 6 (investigated with 0x20+0x00 bytes) shows the value "0x00" when read, as if no error were present. Please note I investigate about any 1000 milliseconds cycle. Again, all registers have the default value (after reset) of "0x00".

    ***********

    Please note, it was only with Real-time-status command I could read the fail(s) ("1" bit value) on channel(s) as I aspected. This correct "fail flag" was not always asserted. I think it happened when the MAX14912 detected the difference between the output at 0 voltage while the input was at logic one, as is the about 66% of the duty cycle .

    ************

    Regards, Davide.