Closed pavel-kirienko closed 1 year ago
I think there should also be added an additional button for DCP reset to avoid endless fuss with connectors.
"Observe DCP disappear from the list of connected devices on the host." you mean device manager or ucvan gui? I'm trying to reproduce the error.
The USB device is detached from the host. It is not related to UAVCAN at all.
"Apply high-voltage power to the target (Myxa B0 in my case)." spin the motor?
No, just connect high voltage power supply. On my setup it is sufficient to trigger a failure.
I recorded this video for Alexander some time ago:
https://user-images.githubusercontent.com/3298404/127881942-90d8cda2-7a54-4f2c-a128-d2abc3533548.mp4
So one or all of those 4 devices should be disconnected if that error happens, right? Trying, hasn't happened yet.
Hmm. This is an EMI issue so I would expect it to be difficult to reproduce. Can you try longer USB cables? A USB hub or two? Longer DCP cable?
I don't think we have that long micro usb cable, I tried adding 2 extension cables. Works normally, Do we have longer DCP cable? Could be something with your USB hub/desktop?
Extensive testing shows that it is my computer to blame. Closing.
Apparently, we have the assembly problem of the one particular device. Let's try to reproduce the issue on the other devices
This is not an EMI problem, this is a schematics issue. The DCP starts the bootloader instead of launching the main firmware. It is designed to do so if the BOOT button is pressed at power on, so we should ensure that the button is routed correctly. Maybe its pin is left floating?
On the original Dronecode Probe design, the button pin is pulled up externally:
On Babel-Babel it is left floating:
The boards that are already manufactured should be patched with a jumpwire between SWITCH and VDD_3V3:
The DCP tends to occasionally freeze up when high-voltage power is applied to the target with Babel-Babel connected. Steps to reproduce:
It may take several attempts to reproduce the problem.
The issue affects none of the other three devices connected to Babel-Babel. The DCP can be brought back to life by physically re-connecting Babel-Babel to the host with the DCP port unplugged, and then plugging the DCP port back in.
I suggest equipping the DCP port with EMI mitigation measures, perhaps resistors or chokes. Also, increasing the decoupling capacitance on the MCU might help.