Reset Generators TPS3825 vs MCP1319 - Page 1
Forum section: electronics / general

author: drtaylor
author_rank: Regular Contributor
timestamp: September 30, 2023, 06:34:00 pm
content: I have a design that I specified a TPS3825-50DBVT that works just fine when programming the ATMEGA2560 MCU. I also specified the MCP1319T-46LE/OT as a second source. I only was tasked with finding alternate sources for the old BOM. The MCP1319 sees to be an exact replacement. However, the MCU won't program on boards fitted with the MCP1319, and do just fine with the TPS3825. I assume the CM is using some ATMEL in circuit programmer. The CM is some distance from me, so I am unable to probe the board. I'm posting this just to see if anyone knows of any problems subbing the MCP1319 for the TPS3825, Scanning the data sheets, I cannot see any reason why it wouldn't work.I have attached the screen shot from the programmer that indicates the error.

author: SiliconWizard
author_rank: Super Contributor
timestamp: September 30, 2023, 10:47:35 pm
content: It's really hard to tell indeed without probing.Both references seem to have almost the exact same characteristics (same threshold, same reset delay, both totem pole output, same pin-out...)The only characteristic that appears to differ a bit are the low- and high-level output voltage: 0.4V max, 0.8*VDD min for the TPS3825 vs. 0.3V max, VDD-0.7 min for the MCP1319.At 5V, that would be: 4.0V min for the high-level for the TPS3825 vs. 4.3V min for the MCP1319. Not sure it should make any difference here, but maybe something to look at.Another potential explanation and more severe issue would be if the MCP reference that was populated was mistakenly not the MCP1319 but another MCP13xx variant, which would for instance make the RST output inverted.

author: drtaylor
author_rank: Regular Contributor
timestamp: September 30, 2023, 11:13:39 pm
content: Thanks for your reply. I have a hard time believing the output voltages vary enough to make a difference, but thank you for your analysis. I also confirmed they purchased the correct version of the MCP1319. Tried both the -44 and -46 variant...didn't make a difference. Yeah, I thought they might have bought the MCP1319M instead of the MCP1319T. But, with new parts bought just to confirm the right parts are there, no improvement. I've read over the data sheets several times looking for a clue why the MCP1319 doesn't work. I am going to try to get a hold of a Microchip Technical support person to see if they have a clue. But I suspect the Atmel Programmer is not well supported now that Microchip bought Atmel.

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 01, 2023, 08:07:28 pm
content: After thinking about it some more, how is the programmer connected to the MCU on this board?Isn't the programmer supposed to be able to control the reset line? In which case, using a supervisor IC with a totem-pole output would be a definite problem and programming working would be luck - possibly explained by the TPS IC having a higher output impedance than the MCP, thus the programmer managing to control the reset line in one case and not in another.But that was just an additional thought, maybe this is not how your board is wired or how the Atmel programmer works.

author: drtaylor
author_rank: Regular Contributor
timestamp: October 01, 2023, 10:57:03 pm
content: SiliconWizard, you're onto something. In the schematic, the reset generator pin1 is hooked directly to the MCU pin 30, reset line of the MCU and was net named "MPURESET". There is no air line indicator that it goes anywhere else. But when I examined the programming connector, there is a pin labeled MPURESET there, so I have to assume that the programmer indeed hooks up to Pin1 of the reset generator. Very poor practice from whoever designed this (wasn't me, I just was tasked with improving the BOM). It should have been an open drain part!So I think you are entirely right. The TPS part has a weaker totem pole output which allows the programmer to take it over. They definitely should have used a open drain output, with a resistor to pull it up. So if I change the part to a MCP1319M which has an internal pull-up and is open drain, it will probably work.The high level output current on the MCP part can drive 2.5mA to the rated voltage. The TPS part is only rated at 120uA. What do you want to bet that the output pin on the programmer reset line has enough oomph to overwhelm this, but not the MCP1319 at 2.5mA.The low level output current on the MCP part can drive 4mA to the rated voltage. The TPS part is rated at 3mA. Probably not the issue.So it would be easy to conclude that the programmer can't drive the output low while the MCP1319 part is driving it high, which will occur after the reset timer times out (200ms). That's probably the problem. Both parts have similar output while driving low.I will contact the CM with this. It is a plausible explanation. However, it won't help all the boards they have already built. I think it might work to jumper the /MR input to the programmer reset pin. So thank you very much SiliconWizard for making me look more carefully at the programming header. It also helped that the CM sent me a schematic that I could read. The one I got from the client was so fuzzy I could not read the net names.And dear EEVblog designers: Please make sure that air lines are placed on the schematic for any net not directly shown as connected. As I said, the reset generator looked like it only went to the MCU reset line. Once I was able to read the net name, it seemed clear that this line also hooked to the programming header. For anyone who cares, I will add to this thread when I am able to prove that this indeed was the problem.

author: drtaylor
author_rank: Regular Contributor
timestamp: October 07, 2023, 08:41:45 pm
content: Solved! The open drain MCP1319MT solved this problem. The original designer depended (whether accidentally or by design) on the fact that the TPS3825 has a weak, 150uA high output. The Atmel programmer can overwhelm this amount of current and pull the reset line to logic zero. The MCP1319T has a strong high output that prevented the programmer from reseting the MCU, so it failed programming. This design would be better with an open drain reset output. Fortunately for me, the MCP1319MT has a pull-up resistor built in, and is able to replace the TPS3825 with no needed added pull-up. As far as I can tell, only the MCP1319MT is a pin for pin replacement of the TPS3825, at least in this application that clearly did not need a push-pull output.Thanks again to Silicon Wizard for his help in figuring this out.

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 07, 2023, 08:54:34 pm
content: Glad that was the issue and thanks for the follow-up. The MCP1319MT having an internal pull-up is a good reference to know. Most of the voltage supervisors/reset ICs I've run into with an OD output did not have an internal PU.Now the one thing to maybe check is the characteristics of this internal pull-up. If it's a very weak pull-up, ideally it might still be a good idea to add an external pull-up in the 10k range or slightly lower to make the circuit less prone to potential spurious resets due to EMI. Maybe it's not necessary here, but always something to consider. Note that if there is a capacitor between the reset line and ground, that will mitigate this issue.Edit: While what I pointed out above is to be considered in general, I just checked the DS of the MCP1319 and the internal pull-up on the /RST output is typ. 4k7, so that looks pretty good. The MCP1319 has a /MR input though, with also an internal pull-up, but a typ. 52k resistance, so maybe a bit on the high side. As the /MR input can trigger a reset, would be worth considering what I said above for this pin in particular. If it was already tied to an external pull-up resi. or maybe even directly to Vdd, then there's nothing more to consider.