2016-02-08 01:47 PM
Hi,
I am using STM32F10x controllers in a number of projects and have been programming these with ST-Link/V2 for a couple of years now with no issues at all. I just received a couple of ST-Link/V2-ISOL. These are supposedly drop-in compatible, but both do not successfully connect to the target. The Windows Device manager shows either of the ST-Link devices connected, so the USB driver should not be an issue. There is no issue with the board, as I can swap the ST-Link and ISOL back and forth, the ST-Link having no issues and the ISOL just not connecting. I am using SWD through the 20 pin connector, not JTAG. Is there any difference between the two programmers that I should be aware of, that might cause this. I can't find anything in the documentation that would give me a hint what might be wrong. Thanks for any ideas.2016-02-08 04:05 PM
SWD uses a bidirectional data pin, not sure how that's handled with the isolation, and can't find a schematic for reference. JTAG has known input and output pins.
2016-02-10 06:55 AM
Hmm, good point. I'll try to find out more on that. Though you would hope that they wouldn't advertise this as virtually identical to the non-isolated version if SWD would not work. That would be a major difference. Technically it would be quite solvable though. There are also adapters included to run SWD of the 20 pin connector... Just to make that clear also, I am using the 20 pin connector in both cases, so same interface cable. Really nothing is different in the two setups but the ST-Link adapter...
2016-02-11 03:07 AM
Do you have VAPP (MCU VDD) (Pin1&2) and GND connected on your board?
Theisolated
part of the St-link/V2-ISOL need to get his power from the target board.2016-02-11 06:36 AM
Edje,
good idea. Pin 1 and 2 are not in fact there to supply the isolated side with power. They only supply the target side of the front end level translator with power to ensure that the interface signals are at a compatible level with the target. This is needed both for the isolated and non-isolated version. Of course they are connected in my setup. However, your suggestion prompted me to try connecting the 3.3V pin (pin 19) to the target voltage (3.3V in my case) even though the documentation says not to connect this. This pin did indeed not have 3.3V on it, so I thought your idea might apply here. Alas it made no difference. In this context I should mention that the dongle gets noticeably warm in one corner, suggesting that it contains a DC/DC converter to supply the isolated side with power. Meanwhile my suspicion goes into a different direction. I examined the error log that is generated by the latest version of the ST-Link Utility. This indicates that the target voltage is very low and varies a lot and after thinking a bit about it, the UI suggests that not being able to detect the target voltage is the reason the connection fails. This is of course not true, the target voltage is a solid and stable 3.3V. So, the whole thing looks like a floating A/D converter pin in the ST-Link/V2-ISOL! This would make sense, since measuring analog voltages across an isolation barrier is a non trivial and costly exercise. I wouldn't expect such a feature in a device of this kind and price range. This is particularly true, since the target voltage is not a vital parameter. Thus at this point I think that the utility should just ignore the target voltage and attempt to talk to the target anyway. There seems to be no way to distinguish the two types of V2, so the utility would need some sort of configuration option to ignore this. Searching high and low, I can't find anything. I also looked inside the ini file for anything suggestive, but no luck...2016-02-11 06:46 AM
Can't you open it and take some pictures?
I'm curious whats inside. Can't find any schematic etc. Find it hard to believe that they ''forgot'' to do something with the target voltage.2016-02-11 08:07 AM
I am with you on that. It would be hard to believe. I rather suspect that there is a perfectly valid way of dealing with this situation. It's just not documented or buried where it's totally obvious once you know...
I am tempted to bust it open to find the analog pin that's used to sense the target voltage, just to satisfy curiosity on this point. But I want to be in a position to return it for a refund if I can't get it to work. Once I start getting physical with it that is out of the question. Also, I don't know if the two halves are held together with a screw under the label or if they just snap together.2016-02-11 08:56 AM
So much for the V2 and V2-ISOL being fully compatible and the documentation being reliable. The short of it is that I got it working.
The longer version has to do with my programming cable and the ST-Link documentation. I just couldn't stand it any longer and busted one of the V2-ISOLs open to see what's in there. First of all I am surprised to find they actually invested in a linear analog opto coupler. That's generous and truly allows for measuring the target voltage across the isolation barrier. On the other hand I can only see pins 12, 18 and 20 connected to GND. The documentation says that pins 4, 6, 8, 10, 12, 14, 16, 18 and 20 are all GND. Maybe other pins are connected to GND as well underneath the header where I can't see it, but I doubt it as the connections are very conveniently made directly to the GND plane on the bottom side. While the documentation recommends connecting all GND pins, it clearly says that connecting a single one is sufficient. Anyway, my harness happens to use pin 4 for GND connection, ending up with a floating GND! Just jumpering to one of the true GND pins makes it work.