The form-factor build of UnIC came back and it was time to bring it up. Luckily - for this story at least - they came back with all but the FPGA put on the board.

This meant that I could test and experiment with the power supplies without risking expensive components.
So experiment I did. I've hooked up a bench power supply and set to to 5V with a very low current limit. Turned it on… no smoke. The current consumption was 2mA. Or at least that's what the supply told me; it's at the very limits of its display capabilities, so let's just say a few mA. All good signs.
There are two major supply voltages on this board: 1.2V for the FPGA core and 3.3V for I/O:

There is also the FET bias voltage, somewhere around 4.2-4.5V, though I call it +5V on the schematic. (Mostly because in KiCAD 7 it's not all that easy to create custom supply names. KiKCAD 8 is better in that regard.)

All of them measured OK, except for the 3.3V. It came back a little low, at 3.08V.
As you can see above, this supply is generated by a buck converter. On the development board, the first iteration of this design, I've used this very same buck converter, but there it had the role of generating the 1.2V core voltage. I've moved it around to supply the I/O because I realized that it's probably the higher-current of the two rails after taking into consideration all the non-FPGA loads on it. There's even a note about that on the scrap of the schematic I included. In other words it was a tested supply, albeit at a different role. So what gives?
Further investigation showed that the feedback pin was also a little low: ~0.7 instead of the expected 0.8V. This means two things: I didn't screw up the voltage divider and that the supply is not in regulation. However, it is switching! Confirmed with a scope, it was doing it's thing. So why wouldn't it be capable of reaching 3.3V?
Poring through the schematic, there were two places where I diverged from the recommended setup: I used a 2.2uF boost capacitor instead of the recommended 100nF one and I used a 10uH main inductor instead of a 3.3uH one. None of these should have caused regulation issues, but you know, you never know…
Root cause
It was time to dig deeper. I decided to create an artificial load for the supply. It came in the form of a 51ohm resistor in series with a switch. I know, very complicated… At any rate, it should do the job of being a ~60mA switchable load, so I can see how the regulator responds to load steps.

Here, on the left side, you see my UnIC board, on the right the artificial load. The DVM shows nothing, as the contraption is not powered yet. However, when I turned the thing on, nothing changed. The rail collapsed. That's not good, of course but after reviewing my setup I realized that I didn't adjust the current limit on the bench supply. It was still set to ~5mA.
After some knob twiddling action, the supply started working again. Well, working maybe too strong a word, it came up to about 2.7V. Now while 3.1V was maybe acceptable, 2.7 certainly isn't and the fact that it's so load-current dependent isn't either. It's as if the regulator isn't regulating. But, but, but! It's switching, it's doing it's thing! It's not dead dead. It behaves almost as an LDO would if it wasn't given enough voltage drop to work with: it appears to follow the input voltage with a certain drop on it.
Side-note: the way the UnIC power supplies work is unconventional: they go through a pair of diodes. These diodes drop a current-dependent voltage on them. So the input to the DC-DC is actually dropping by a few hundred mV between the no-load and the 60mA load case. Here's a somewhat simplified view of the power subsystem, showing these diodes:
Another phenomena that I noticed and couldn't really place: the DC-DC was constantly switching even in the no-load situation. That's not right: it should go into power-save mode and turn off for a significant amount of time (this is called pulse-frequency-modulation or PFM mode in the datasheet). Some supplies allow for controlling whether this mode is engaged or not, but not this little fellow.
All these clues seem to point in a direction that the supply for some reason can't reach it's output voltage and thus never enters normal operating mode. The fact that the output voltage followed the drop on the input voltage is especially a strong indicator. This theory can be tested: I can increase the input voltage. The AP62150 regulator I've selected can work all the way up to 18V, so it's not like I'm going to damage anything.
With that in mind, I've changed the input voltage to about 6V, and look at that!

The output voltage stabilized at 3.3V! It also didn't depend on load currents anymore. Furthermore the controller did enter PFM mode in the no-load configuration.

Well, this is good news and bad news. The good news is that I know what's going on: the controller can't maintain a 3.3V output voltage with as little as ~4.2V of input voltage. It needs more than a volt of drop. That is probably related to the maximum duty-cycle it's willing to operate at. This is not documented in the datasheet or if it is, I missed it. I also didn't notice it before, because I was setting it to a 1.2V output voltage, which offers plenty of room to work with.
The bad news is that as-is, this circuit is not really usable. I'll have to find something that I can bolt in either as a temporary or as a permanent replacement to make forward progress. And bolt into this tiny piece of PCB at that.
And the moral? That if it is not tested, it doesn't work. Even if you thought you knew a component, once you put it in a situation that you haven't seen it in before, you can't trust it.
Coda
After spending a rather substantial amount of time on DigiKey, I have found an interesting replacement: the TPS562242 from TI. This is a part that specifically mentions a mode of operation where the drop across the regulator is minimized by lowering the switching frequency. Even better, it is pin-compatible with the regulator I've used in the design. Both the switching frequency and the reference voltages are the same too, so it truly is a drop-in replacement.
I have also figured out how I should have known this all along: manufacturers document the minimum off- and on-times in the their datasheet as well as the switching frequency. These together can be used to determine the minimum and maximum duty-cycle, and consequently the minimum and maximum voltage drop the regulator can maintain.
Let's work through my old part selection for learning purposes:

The datasheet documents a 1.3MHz switching frequency and a minimum off-time of 200ns. The 1.3MHz corresponds to 770ns cycle time, so if 200ns of that would need to be spend 'off', that's a maximum 74% duty cycle. That duty cycle can sustain a 3.3V output voltage only from an input voltage of 4.45V or higher. Which is - after the diode drops - is too high. I'm measuring a 4.24V input voltage with no load and 3.92V with the 60mA load. Running the numbers backwards, the 4.24V input voltage at 74% duty cycle would result in a 3.13V output. The 3.92V input would turn into a 2.9V output. I'm measuring about 100-200mV lower, but the math largely adds up.
Let's repeat the same for the newly selected part:

What's not reported here (but described elsewhere) is that the switching frequency can drop to as low as 700kHz, if needed. The minimum off-time is reported as 110ns. Taking these, we get a 92% maximum duty cycle. With this duty cycle, the part should be able to maintain 3.3V output with an input voltage all the way down to 3.6V, which (even if those 100-200mV differences manifest here as well) should be a comfortable margin.
Will this work? I really hope so, but I'm waiting for the parts to show up. If they do, it will be a bullet narrowly dodged: finding a pin-compatible direct replacement with just the right characteristics (and for roughly the same price too) is really lucky. Sticking it on the PCB is going to be torture though: the package is 1.7x1.7mm, below the resolution of my aging eyes. I'll report back when they show up and I have a chance to work them into the board.
One eternity later
The parts from TI showed up in a few days, but I couldn't get around putting them in the board for another few days.
Replacing the component wasn't fun, but eventually I succeeded in ripping out this tiny monster and putting the new one in its place.
Lights, camera, action!

That's good news, what does the scope say?

Excellent! This is with 60mA load, and 4.9V input voltage (at the power supply, before the diode-drops). You can see the reported frequency at around 600kHz, which is even lower than what the datasheet promises. So, maybe not that excellent, but still functional. Of course, as expected, with no load, we enter cycle-skipping mode:

Final words and credits
I'm not convinced this is the solution I will settle with. The problem appears to be that my application is somewhat strange: on the low-end, I want to be able to generate 3.3V out of something less than 4, and doing that at a few hundred mA. That is LDO territory, except perhaps for battery powered devices. Still, there are switchers that can do that, ones that can even go up to 100% duty-cycle if needed. Those are 5V only devices though. On the other end of the spectrum, I want to be able to operate all the way up to 12V inputs. This is of course DC-DC level drop, but devices designed for these applications assume relatively decent difference between input and output. So, maybe I'll settle for 5V only operation and use an LDO? Or perhaps use one of the very high-current (5A!) variants such as the TPS565242. Overkill for sure, but it can get up to 98% duty cycle, while still supporting 12V input voltages.
Finally, a word from our sponsor: PCBWay. This company, that specializes in PCB manufacturing and assembly, helped me on this project. This was the first time I've used their assembly services, something I've written about in a different post. They - in my experience - provide high quality products with short turn-around time and fast shipment. I had excellent interactions with their support team who helped get through the DFM process. So, recommended. try them out!

Leave a comment
Comments are reviewed before they are published, so yours will not show up right away.
You can use
**strong**and*italic*text,`code`, and lists (lines starting with-or1.). Everything else, HTML included, is shown as it was typed.