Thanks for replying.
Yes I have seen that note. And when the battery is not connected the VDD_3V3A does shutdown, but not when a battery is connected (A6 version). When I measure the voltage on VDD_3V3A after the ‘shutdown’, it is about 2.4V (it is 3.3V when ON). Is there a path for leakage back to that node that is keeping the voltage up?
The registers in the PMIC are the same for both board versions. I have not changed them from what comes with the BBB.
I used this method to test the shutdown:
Uboot example:
- Boot to the uboot prompt by pressing any key before the kernel boots
- Set the PMIC i2c status register to turn OFF when EN line goes down. (i2c, memory write, device 24, address A, value 0x80)
> i2c mw 24 A 80- Set the memory base to the RTC registers
> base 44e3e000- Enable PWR_ENABLE_EN bit (memory write, offset address 98, value in hex 0x00010000)
> mw 98 10000- Enable ALARM2 interrupt once (memory write, offset address 48, value in hex 0x00000010)
> mw 48 10- Copy over RTC current time to ALARM2 times for hour/day/month/year (memory copy, from address 8, to address 88, 4 times)
> cp 8 88 4- This next part is where it gets slightly more complicated because you are going to manually set the ALARM2 minutes to one or two minutes after the current time.
- Read the current seconds, minutes. This is easy to manually do because they are in BCD and not in hex. (memory display, address zero, 2 times)
> md 0 2
44e3e000: 00000008 00000011 (8 seconds, 11 minutes)- Write to the ALARM2 minutes (seconds should already be zero) (memory write, address 84, value 0x00000012)
> mw 84 12 (12 minutes)- Wait until the current time catches up to the ALARM2 time and the system will power down. If you took too long doing step 7.2 and the time has already passed, just do step 7.2 again.
- While you're waiting you can keep checking the current time ( this will show all 6 fields, second, minute, hour, day, month, year)
> md 0 6- And if you think you have passed your ALARM2 time you can compare above results with ALARM2 time. If so, go to step 7.2. If you went onto a new hour, you might have to start from step 6.
> md 80 6Thanks,
Brad
Did you look here?
The SYS_5V bus has the Battery supply, approx. 3.8V
How can I make sure “all rails are actually turned off via SW”?
I’ll go through the procedure and measure all the voltages and report back.
The SYS_5V bus has the Battery supply, approx. 3.8V
How can I make sure “all rails are actually turned off via SW”?
I’ll go through the procedure and measure all the voltages and report back.
Sent: Thursday, December 19, 2013 7:43 AM
To: Brad Andersen
Ok, here’s what I did:
No cape
Debug serial connected to desktop computer
1. Connect battery as designed
a. Batt+ to TP5
b. Batt+ to TP6
c. 10k between TP7 and TP8
d. Gnd to TP8
2. Connect +5V to power plug
3. Let BBB boot up
4. Login
5. Disconnect +5V
6. Dump PMIC registers (in order) (same for both boards)
a. 0xE2
b. 0x3E
c. 0
d. 0
e. 0xB1
f. 0x80
g. 0xB2
h. 0x01
i. 0
j. 0
k. 0x80
l. 0
m. 0x7F
n. 0x0C
o. 0x18
p. 0x02
q. 0x09
r. 0x06
s. 0x09
t. 0x38
u. 0x26
v. 0x3F
w. 0x7F
x. 0
y. 0x03
z. 0x15
aa. 0x5F
bb. 0x32
cc. 0x40
dd. 0x20
ee. 0
7. Shutdown –r now
8. Boot to Uboot prompt
9. “i2c mw 24 a 80” (set PMIC status register to turn OFF when PMIC_POWER_EN goes down)
10. “base 44e3e000”
11. “mw 98 10000”
12. “mw 48 10”
13. “cp 8 88 4”
14. “md 8 4”
15. “md 88 4” to check that the data transferred
16. “md 0 2”
17. “mw 84 xx”, time in future for Alarm2 to act
18. Wait for the shutdown
19. Measure voltages:
a. A6:
i. Vbatt = 4.03
ii. SYS_5V = 4.00
iii. VDD_5V = 0
iv. VDD_3V3B = 3.39
v. VDD_3V3A = 2.27
vi. VDDS_DDR = 0
vii. VDD_MPU = 0
viii. VDD_CORE = 0
ix. VDD_1V8 = 0.16
x. VRTC = 0.16
xi. VDD_3V3AUX = 0.16
b. A5C
i. Vbatt = 4.03
ii. SYS_5V = 4.03
iii. VDD_5V = 0
iv. VDD_3V3B = 0
v. VDD_3V3A = 0
vi. VDDS_DDR = 0
vii. VDD_MPU = 0
viii. VDD_CORE = 0
ix. VDD_1V8 = 0
x. VRTC = 0
xi. VDD_3V3AUX = 0
So those are my results. Any thoughts?
Does anyone know if there is a software solution to this issue? I haven't seen any changes in the recent hardware revisions to address this. We are currently planning on deploying a couple of dozen BBB and I would prefer not having to make hardware mods.
Terry
On Thursday, January 30, 2014 12:34:51 PM UTC-5, Brad Andersen wrote:An update:For the A6 (Beaglebone Black) version, I connected U4 pin 1 (enable) back to VDD_3V3AUX (same as A5C). It now shuts down correctly while on battery. This was verified on two A6 BBB.The mystery is what causes the VDD_3V3A to hang up on the A6 version when shutting down while on battery.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I've marked the PMIC sequencer "strobes" with vertical dashed lines, partially cut away when irrelevant or visually interfering with the signal plots. Unless noted otherwise, the interval between strobes is 1 ms.
As I mentioned, in off-state SYS is tied to BAT, and when DC-powered they hover around 1V for some reason (they'll drop if you try to drain power from either, but once you stop they bounce back to 1V). All regulated supplies are off. Once the PMIC has detected a wakeup event, it connects SYS to the DC power supply, asserts the wakeup signal, and the sequencer powers up the "always-on" supplies:
You seem to be talking about the BBB, correct?
My initial work was on BBW back in 2012 (prior to BBB release).
It sounds like BBB has similar issues to BBW with running on battery but
that the issues are slightly different.
Your original question is actually very easy to answer
If you take a BBW and cut the trace coming from U8 pin 5 (the LDO enable
line) and then wire U8 pin 5 to the PWR_LED net on page 2 of the
schematic, then the U8 LDO will shutdown correctly when on battery.
This fix was incorporated into BBB but apparently there are other problems, too.
For reference, I've not seen any failure of the am335x with this rework
when using a custom cape at my previous job. That's not saying there
isn't damage, just that I didn't see any.
I've captured the shutdown sequence on DC versus BAT power in more detail
Did you try any change in the EN pin of U4 (enable signal of 3V3B)?
I'm about to try SYS_RESETn (PMIC_PGOOD after U16), but I'm concerned about the 20ms turn on delay (plus 10ms due to the RC).The other option is to go back to use 3V3AUX, and add a 1k load resistor to reduce the discharge time.
I was considering that one because it's a 3.3V logic signal. PGOOD is a 1.8V signal and the EN pin of U4 has a minimum of 2V to consider it high.
my cape (it's actually more like a motherboard).
The reason I'm investigating these PMIC details is that I'm using a custom BBB for am industrial application, and we had a couple boards (BBB and custom one) fail. I recently found warnings in new BBBs to avoid "damage in the board".https://groups.google.com/forum/#!topic/beaglebone/CKuTbHepHYE
I will probably have to add an extra buffer to have PGOOD in 3.3V level