Hi, Habr! I would like to talk about the creation of the XFR-L3 “KYRNN” debug board for the STM32F4 series MK:

It uses components with quality in orders that exceed everything that is on such devices, as well as some of what is often lacking for many evalboards in general. The file of the board with the scheme is available for download - welcome everyone under cat.
Now there are a lot of ARM-based debugging boards, especially for STM32 - the availability of these stones and related documentation, an abundance of examples of programs, the presence of IDE sets and a fairly adequate price. Whoever did not make the boards for them - there are, among other things, variations of the well-known Arduino, which are based on the mentioned microcontrollers. Massively available options for devices based on MCs from different STM32 families (both commercial and amateur), with a rather different set of functions (from bare board with headers, to samples with screens, cameras, various sensors, etc.) and in various form factors. And it is logical to ask: KYRNN, is that yet another board? Before answering this question, a few words about how commercial evalboards are made, what they are, their amateur radio and some related moments.
')
Probably, many of those who once felt the need for a debugging board for a particular platform, noticed an extraordinary similarity of such products from completely different manufacturers. If you didn’t notice, then here’s a small hint - they really are in many ways similar: picking up several boards with more or less matching functions (for example, Ethernet + RS232 + USB + SD + a pair of accelerometer-type sensors) will be as if they are different minor revisions of one device . At the same time, partnumbers of components (or being direct replacements / analogues), switching circuits and, of course, operational characteristics, which will be discussed a bit later, will most likely coincide.
From this phenomenon of surprising similarity, a completely reasonable question arises about yet another board, since its relevance increases only slightly slower than the inadequate increase in the number of Asian (especially Chinese) debugs and their clones. It would seem, well, even if they are almost the same, what's wrong with that? The catch is that the overwhelming number of evalboards on absolutely any platform (except MilSpec / RadHard / Space and some RF devices) are made of many of the lowest grade components (not counting the stone itself), although at the very least allowing this platform to run (as comrades of a certain category like to say on this score: “Well, somehow it worked, it means everything is fine”). Capitalism in its pure form - you need to "do it cheaply", so again, noname Asian components are used, whose origin and quality are often not known to Asians themselves. Surprisingly abnormal switching circuits of various kinds of microcircuits (for example, powering on epaper displays) are often used — some samples are striking in that they generally work. In essence, such devices allow limited play with the target platform in a rather narrow range of operating conditions (without EFT / ESD, at room temperature, that is, in fact only in a laboratory environment), while the implementation of the board often does not give the opportunity to experience some of the key Stone capabilities (for example, the absence of some interfaces like CAN - but with an abundance of RS232, or an Ethernet implementation through an interface converter instead of a normal PHY).
Of course, it is worth mentioning the wiring of such boards: when I come across the next section, in which the earth is stretched by loops across the board with narrow paths, the power circuits are separated by “tracks” - and the components and vias from these circuits are connected through thermal barriers, USB is spread out on a two-layer not diffpars and many similar phenomena from the specified semantic series, I understand that I could write a small book (pages 100-200) about all the tricks of the curve, poor and frankly crap layout, which are classics, standard In fact, in evalboard-ah (and in quite a few commercial and even industrial grade devices). The exception, perhaps, are the boards for the top FPGAs - also imperfect, but from the above point of view, head and shoulders above other similar devices. Completing the picture is the fact that some such evalboards are made in Cadence Allegro - a powerful CAD system in which you can design the most complex boards. A funny sight: a poor arrangement, scary components and footprints, a nasty layout, but the high-speed signals are surprisingly well divorced and the alignment is done (the last two points are one of the foundations of the “strength” of Allegro packages).
You can still write a lot about these miracle phenomena, but this will be a completely different article and therefore we will return to the topic of debugging for STM32 and the XFR-L3 “KYRNN” itself. The implemented functional set (including for comparison) is taken as follows: USB + Ethernet + CAN + RS485 + usD. A few words about the implementation of each of them:
USB - taken from the stone itself (in this case it is STM32F439VGT6, while the signal lines are protected by two ESD5V3U1U-02LRH. A power supply switch MAX14575 with filters and a suppressor is also supplied, the connector costs 65100516121.
Ethernet - implemented on the TLK106, enabled via MII. In addition to the PHY itself, it allows diagnostics of the cable using TDR. Protected by assemblies LC03-3.3, connector 7498111001.
RS485 - MAX13451E is responsible for it, which allows you to terminate the line with different resistances, invert channels and many other things. Protected by SMA6J suppressors and TBU-CA assemblies, connector 09551666817741.
CAN - made on the MAX13041, a fairly successful and reliable transceiver. Protected by SMA6J suppressors and TBU-CA assemblies, connector 09551666817741.
SD - derived from the very stone. It is worth assembling IP4252CZ16-8 with filters and suppressors, socket 0475790001.
In addition, there is an external MRAM MR25H256 - an extremely reliable kind of memory that can be used both as RAM and as ROM. Power, designed for stabilized + 12V, organized on two LD1086. For MK installed external watchdog STWD100.
In essence, this is a project of an industrial-grade device on premium-class components operating in the industrial temperature range and having fairly reliable sets of protection. Although the hardware set is quite starting from a certain point of view, nevertheless, its implementation is head and shoulders above all that is offered in the vast majority of debugs (and KYRNN is positioned exactly as an evalboard).
I want to emphasize several important points:
- components are selected only top and expensive, they can not be replaced;
- Footprints on many of them also exclude the installation of something that does not fit into the ideology of this board;
- performance first, even if it requires toughening production standards (as it happened for example with IP4252CZ16-8).
At this point, it is logical to go to the actual layout of the board. It was created using Altium Designer 15 and PCB Library Expert PRO 2015, for which I fortunately have licenses. Below are layered screenshots:






The board is made on a standard 4-layer stack, which is especially logical due to the presence of USB and Ethernet, which, of course, are separated by diffpars - while the suppressors from all interfaces have their own ground, which is not connected to the signal one (this ground must always be connected). All the power supply circuits are separated polygonally, for the main supply voltages corresponding polygons in the layers of the board are allocated, thermal barriers are completely absent. Components with diffparami located on one side, most of the signal paths are on the opposite. Techniques were taken from typical debugs, although the situation was somewhat spoiled by IP4252CZ16-8, whose case is designed for a "different" board. All connectors are designed for surface mounting, including DB9 for CAN and RS-485. The total size of the board is 105x74mm.
A little 3D:



"KYRNN" as it is easy to understand - not arduino and not regular debugging. Of course, this is never the ideal PCB design, but a project with a special ideology (performance first) and quite specific solutions taken from specialized industrial applications. The project is not positioned as a “response” and even more so as a replacement for “ordinary” evalboard, but it is, without false modesty, their much more advanced, secure, reliable and high-quality option - while, of course, it is focused on a fairly narrow audience, interested in solving / working out tasks with a level other than "just playing with a stone."
I must say that this is not the last board made with this key. “KYRNN” is the basic version of a series of devices that will have many other interesting features (isolated interfaces, high-end measuring chips for 2 and 3 phase power, eInk displays, Qi, and much more) - some of them will be in the public domain like “KYRNN ".
Anticipating a series of questions:
1. The name is made on the basis of our own naming conventions system.
2. What has been said about the current approach to creating evalboards is not a manifesto or a call for something to change, on the contrary, in its current form, it is perfect for the tasks “to make a cheap board for everyone.” All my criticism of "normal" debugs applies only to specialized tasks for which this board is designed.
3. The set of files in the archive is more than enough to make any production documentation for the plant and make minor modifications - it was not planned to lay more opportunities.
4. Footprints are called “simple”, without IPC naming conventions, so that hams and just beginners can figure them out.
A board file, a diagram in PDF, BOM and STEP model are available for
download . If someone can find errors, please kindly inform them.
Happy New Year, everyone!