Maix Module Reset at ~3.6V

I’ve been working with a USB cabled connection from the start so I can view output in a terminal but I’m developing a battery powered application. I am now starting to work off a 1200mAh Li-Ion battery that I bought for development. The 500mAh one seemed to discharge quickly so that’s why I increased capacity.

With the battery fully charged I run for about an hour when I start noticing my app startup banner popping into view and then quickly disappearing as normal program output starts. It was doing this before with the smaller battery that comes with the GO but now it was happening with a much larger battery.

To investigate I hooked up a Rigol DP832 power supply and programmed it to output 5V initially with the intention of reducing the voltage to see when the module started misbehaving. I connected the power supply leads to the +5V and GND pins on my the Dock (I have several of these boards) and I connected my Picoscope 5443D MSO probes to the Dock pins: 5V (A-Blue), 3.3V (B-Red), 1.8V (C-Green) and RST (D-Yellow/Brown). With that setup I stepped the voltage down in 0.01V increments and everythig was fine until until I got to about 3.6V at which point the device started resetting. The following image demonstrates this behavior.

I am seeing this with both Dock boards but the 2nd board survives until ~3.4V. I have more Dock’s I can test as well as the GO board that I also have. The GO trips at 3.64V. RST is generated under the can on the M1 module so this must be happening internally to the module and not from something on the PCB.

A system that is designed to run on a 3.7V battery which resets when the supply voltage is only 3.65V isn’t very helpful. It really should be fine down to 3.3V as that voltage will be available from most 3.7V Li-Ion batteries up until it is nearly depleted, at which point the voltage crashes. Typical curves…


Source: https://www.richtek.com/battery-management/en/designing-liion.html

Can someone else check my findings to confirm what I am seeing. I would certainly like someone from Sipeed to look into this and provide comment.

Thanks for reading.

The M1 schematic has a power on reset (POR) block that uses a part with the designation SGM803T.
image
I looked for a datasheet but was unable to find it so if someone could post a link for that I would appreciate it. Hoping but not expecting to find it in English.

Hi, we use POR chip that reset when 3V3 come down to 3.08V
and dcdc chip often cost 0.3~0.5V voltage drop, so, when battery voltage down to 3.6V, it may case POR reset.
we can replace the POR chip to 2.93V version, and you can use at about 3.5V.
but we not suggest to use battery down to 3.5V, it may damage the battery.

at this moment, you can simply remove the POR chip to test

Thank you for the response. I don’t really have a lot of control over the use of the battery. It’s 3.9V when fully charged and gradually decays as energy is removed, which is normal.

Replacing the POR chip with something more voltage tolerant is a good idea. When might that be available?

I just realized that the POR circuit above has the RST output pulled up to 1.8V but I’m measuring 3V with my scope. Can you confirm that the current version of the POR circuit is as shown or does it use a higher voltage? Either I’m measuring RST at the wrong location (unlikely) or the schematic is wrong.

All this is under the can so I can’t get at it easily. Using hot air reflow to release the can reflows the solder for everything on the board so other parts can get disturbed.

Thank you

on which board you meansured 3V on RST? did you connect some other componet like serial port’s DTR/RTS on it?

I measured 3V on the Dock (checked 2 of my existing development boards). I get 1.8V on the GO that I have here (I only have one of those boards).

To be sure I just opened a brand new Dock, plugged it into USB and measured the voltage from GND (J12.13) to RST (J6.19) and I get ~3V.

I checked a 2nd brand-new Dock and I measured 3V on that as well.

Digging deeper I looked at the Dock schematic to see if anything might be pulling 1.8V up and I eventually discovered the reason. The CH340T chip sets RST based on DTR# and RTS#. By default this is 3.3V less the drop through Q1.
image
The CH340T isn’t present on the GO (BOOT & RST set by STM32 instead).

That explains why RST is normall at 3V on the Dock but 1.8V on the GO.

That’s fine but the high trip level for the SGM803-T POR chip is still an issue.

I did eventually find the SGM803 Datasheet … and I can see that there are additional reset voltage options including 2.63V (SGM803-R).

Presently the POR operates at 3.08V and that is when the supply voltage is at ~3.5V. If we used a POR chips with a 2.63V activiation level then this would give us 3.08-2.63=0.45V of additional voltage headroom to allow for battery decay.

If the battery is at 3.5V when the POR activates now then it will be at 3.5-0.45=3.05V if we have a 2.63V POR chip installed. 3.05V is right at the point when the batteries shown in the chart I shared earlier are about to collapse. At that point the battery is nearly empty and so this is a good time to shut it down.

So the next question to ask is whether allowing the 3.3V rail to decay to 2.63V is acceptable for normal use. The answer, based on an informative document prepared by National Instruments titled Digital States, Voltage Levels, and Logic Families, is yes. On page #6 we find:


From this image we see that VOH>2.4V is still valid so allowing the voltage to drop to 2.63V is within standards.

Based on this a revised M1 would include the 2.63V version of the SGM803, which would be the SGM803-R.

I will also point out that the Kendryte Datasheet recommends using a 1.8V POR chip (section 2.4, page 12). Resetting at 2.63V seems like a fair compromise.

I’ve spent enough time on this and I have to move on but I hope this analysis is helpful.