{"id":54744,"date":"2020-01-03T00:00:00","date_gmt":"2020-01-02T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia"},"modified":"2020-02-18T14:02:47","modified_gmt":"2020-02-18T11:02:47","slug":"razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia","title":{"rendered":"D\u00e9veloppement d'une carte de test pour le K1986BE1QI (aviation)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/6bce6c863938180b4011cda910e962f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl y a quelques ann\u00e9es, j'ai d\u00e9couvert les microcontr\u00f4leurs russes de la soci\u00e9t\u00e9 Milandr. C'\u00e9tait en 2013, lorsque les ing\u00e9nieurs discutaient avec enthousiasme des premiers r\u00e9sultats du programme f\u00e9d\u00e9ral \"D\u00e9veloppement de la base \u00e9lectronique et de la radio\u00e9lectronique\" pour la p\u00e9riode 2008-2015. \u00c0 cette \u00e9poque, le contr\u00f4leur K1986\u0412\u04159x (c\u0153ur Cortex-M3) avait d\u00e9j\u00e0 \u00e9t\u00e9 lanc\u00e9, et le contr\u00f4leur 1986\u0412\u04151\u0422 (c\u0153ur Cortex-M1) venait tout juste d'appara\u00eetre. Ce dernier, dans un bo\u00eetier plastique LQFP-144, \u00e9tait d\u00e9sign\u00e9 dans la documentation comme K1986\u0412\u04151QI (aviation), tandis que sur la puce elle-m\u00eame, il portait la d\u00e9signation MDR32F1QI. Sur le site du fabricant, il porte le suffixe \"aviation\", car il dispose d'interfaces sp\u00e9cifiques \u00e0 l'a\u00e9ronautique (ARINC 429, MIL_STD_1553).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>\u00c9tonnamment, au moment de la diffusion de ces contr\u00f4leurs, la soci\u00e9t\u00e9 \"Milandr\" avait pr\u00e9par\u00e9 des kits de d\u00e9veloppement et une biblioth\u00e8que de sous-programmes pour travailler avec les p\u00e9riph\u00e9riques, \"mais sans aucune garantie ou engagement quant \u00e0 la correction de la biblioth\u00e8que\". La biblioth\u00e8que ressemble \u00e0 la Standard Peripheral Library de STMicroelectronics. En g\u00e9n\u00e9ral, tous les microcontr\u00f4leurs ARM construits sur le c\u0153ur Cortex-M ont beaucoup de points communs. Pour cette raison, la prise en main des nouveaux microcontr\u00f4leurs russes s'est faite rapidement. Et pour ceux qui achetaient les kits de d\u00e9veloppement de marque, un support technique \u00e9tait fourni tout au long de leur utilisation.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/c3861067bec2719a48bb520fb57890f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kit de d\u00e9veloppement pour le microcontr\u00f4leur 1986\u0412\u04151\u0422, &copy; Milandr<\/i><\/p>\n<p>Cependant, avec le temps, des \"maladies infantiles\" des nouvelles puces et biblioth\u00e8ques ont commenc\u00e9 \u00e0 se manifester. Les exemples de tests de programmes fonctionnaient sans probl\u00e8mes apparents, mais lors de modifications significatives, des pannes et des erreurs survenaient fr\u00e9quemment. Le premier \"signes avant-coureur\" dans ma pratique \u00e9taient des pannes inexpliqu\u00e9es du contr\u00f4leur CAN. Un an plus tard, un probl\u00e8me a \u00e9t\u00e9 d\u00e9couvert sur le contr\u00f4leur 1986\u0412\u04151\u0422 (aviation) de premi\u00e8re r\u00e9vision avec le module <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/MIL-STD-1553\">MKIO (canal multiplex\u00e9 d'\u00e9change d'information)<\/a><\/noindex>. En g\u00e9n\u00e9ral, toutes les r\u00e9visions de ces microcontr\u00f4leurs jusqu'en 2016 \u00e9taient de qualit\u00e9 limit\u00e9e. Beaucoup de temps et de nerfs ont \u00e9t\u00e9 consacr\u00e9s \u00e0 l'identification de ces probl\u00e8mes, dont la confirmation peut maintenant \u00eatre trouv\u00e9e dans les <noindex><a rel=\"nofollow\" href=\"https:\/\/ic.milandr.ru\/upload\/iblock\/352\/352a1573c08c406a94b976ed95fe4506.pdf\">listes d'erreurs (Errata)<\/a><\/noindex>.<\/p>\n<p>Une caract\u00e9ristique d\u00e9sagr\u00e9able \u00e9tait que travailler et r\u00e9soudre les erreurs devait se faire non pas sur des cartes de test, mais sur des cartes prototypes d'appareils destin\u00e9s \u00e0 la fabrication en s\u00e9rie. \u00c0 part le connecteur JTAG, il n'y avait g\u00e9n\u00e9ralement rien. Se connecter avec un analyseur logique \u00e9tait difficile et incommode, et il n'y avait g\u00e9n\u00e9ralement pas de LED ni d'\u00e9crans. Pour cette raison, l'id\u00e9e de cr\u00e9er ma propre carte de test m'est venue \u00e0 l'esprit.<\/p>\n<p>D'un c\u00f4t\u00e9, il existait sur le march\u00e9 des kits de test de marque, ainsi que d'excellentes cartes de la soci\u00e9t\u00e9 LDM-Systems de Zelenograd. D'un autre c\u00f4t\u00e9, les prix de ces produits sont sid\u00e9rants, et la fonctionnalit\u00e9 de base sans cartes d'extension ne correspond pas aux attentes. Une carte avec un contr\u00f4leur soud\u00e9 et un connecteur \u00e0 broches ne m'int\u00e9resse pas. En revanche, des cartes plus int\u00e9ressantes co\u00fbtent cher.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/2d9bbe972bf897ad96168533155ace8a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Carte de d\u00e9veloppement MILANDR LDM-HELPER-K1986BE1QI-FULL, &copy; LDM Systems <\/i><\/p>\n<p>La politique de prix et le marketing de la soci\u00e9t\u00e9 \u00ab Milandr \u00bb sont singuliers. Ainsi, il est possible d'obtenir gratuitement des \u00e9chantillons de certaines puces, mais cela n'est accessible qu'aux personnes morales et est associ\u00e9 \u00e0 un parcours bureaucratique. En g\u00e9n\u00e9ral, les puces en bo\u00eetier c\u00e9ramique sont pr\u00e9cieuses au sens propre et figur\u00e9. Par exemple, le contr\u00f4leur 1986\u0412\u04151\u0422 co\u00fbte \u00e0 Moscou entre 14 000 et 24 000 roubles. La puce de m\u00e9moire statique 1645\u0420\u04236\u0423 co\u00fbte \u00e0 partir de 15 000 roubles. Et ce bar\u00e8me de prix s'applique \u00e0 tous les produits. Au final, m\u00eame les instituts de recherche d'\u00c9tat avec des commandes d'\u00c9tat \u00e9conomisent et se d\u00e9tournent de tels prix. Les puces en bo\u00eetier plastique pour une utilisation civile sont consid\u00e9rablement moins ch\u00e8res, mais elles ne sont pas disponibles chez les fournisseurs populaires. De plus, la qualit\u00e9 des puces en plastique, \u00e0 mon avis, est inf\u00e9rieure \u00e0 celle des \u00ab dor\u00e9es \u00bb. Par exemple, je n'ai pas pu lancer le contr\u00f4leur K1986BE1QI \u00e0 une fr\u00e9quence de 128 MHz sans augmenter le param\u00e8tre de latence flash. Dans le m\u00eame temps, la temp\u00e9rature de ce contr\u00f4leur a grimp\u00e9 \u00e0 40-50\u00b0C. En revanche, le contr\u00f4leur 1986BE1T (\u00ab dor\u00e9 \u00bb) a d\u00e9marr\u00e9 \u00e0 128 MHz sans r\u00e9glages suppl\u00e9mentaires et est rest\u00e9 froid. Il est vraiment bon.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/6e1cc067feffd0f7d14f234928c6872a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Le microcontr\u00f4leur \u00ab dor\u00e9 \u00bb 1986BE1T, (c) Milandr<\/i><\/p>\n<p>J'ai eu de la chance de pouvoir acheter le microcontr\u00f4leur dans un bo\u00eetier en plastique \u00e0 la soci\u00e9t\u00e9 LDM Systems, et tous les sch\u00e9mas de circuits sont disponibles. Le probl\u00e8me est que sur la photo du contr\u00f4leur sur le site, on voit une \u00e9tiquette indiquant qu'il s'agit de la r\u00e9vision 4 de 2014, c'est-\u00e0-dire avec des d\u00e9fauts. J'ai longtemps r\u00e9fl\u00e9chi \u2013 acheter ou ne pas acheter. Cela a pris quelques ann\u00e9es... <\/p>\n<p>L'id\u00e9e de cr\u00e9er une carte de d\u00e9veloppement n'a jamais disparu. J'ai progressivement d\u00e9fini toutes les exigences et pens\u00e9 \u00e0 comment tout int\u00e9grer sur une seule carte pour la rendre compacte et peu co\u00fbteuse. Parall\u00e8lement, j'ai command\u00e9 les composants manquants chez des fournisseurs chinois. Je ne me d\u00e9p\u00eachais pas \u2013 je faisais tout pour moi-m\u00eame. Les fournisseurs chinois sont r\u00e9put\u00e9s pour leur d\u00e9sorganisation \u2013 j'ai d\u00fb commander la m\u00eame chose \u00e0 diff\u00e9rents endroits pour obtenir tout ce dont j'avais besoin. De plus, certaines puces de m\u00e9moire se sont r\u00e9v\u00e9l\u00e9es usag\u00e9es \u2013 visiblement extraites d'appareils cass\u00e9s. Cela m'a jou\u00e9 des tours plus tard.<\/p>\n<p>Acheter le microcontr\u00f4leur Milandr K1986BE1QI (aviation) n'est pas une t\u00e2che simple. Dans la m\u00eame boutique \u00ab Chip and Dip \u00bb, dans la section \u00ab Positions sur commande \u00bb, je n'ai trouv\u00e9 que le K1986BE92QI \u00e0 740 roubles, mais il ne me convenait pas. La seule option \u00e9tait d'acheter chez LDM-Systems une r\u00e9vision ancienne pour 2000 roubles. Ne trouvant pas d'alternative ailleurs, j'ai d\u00e9cid\u00e9 d'acheter ce qui \u00e9tait disponible. \u00c0 ma grande surprise, on m'a vendu un tout nouveau contr\u00f4leur, fabriqu\u00e9 en d\u00e9cembre 2018, r\u00e9vision 6+ (1820). Cependant, le site affichait toujours l'ancienne photo, et au moment de la r\u00e9daction de l'article, il n'y avait plus de contr\u00f4leur en stock...<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/f905fb0a07862f6a6c0c1f27c340c5a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Microcontr\u00f4leur K1986BE1QI (aviation) en emballage technologique, (c) Photo de l'auteur<\/i><\/p>\n<p>Caract\u00e9ristiques techniques principales de ma carte de d\u00e9veloppement <b>MDB1986<\/b> les suivantes :<\/p>\n<ul>\n<li> d\u00e9bogueur-programmateur int\u00e9gr\u00e9, compatible avec J-Link et CMSIS-DAP ;<\/li>\n<li> m\u00e9moire statique 4Mbit (256k x 16, 10 ns) ;<\/li>\n<li> puce m\u00e9moire flash 64Mbit, Winbond 25Q64FVSIG ;<\/li>\n<li> \u00e9metteur-r\u00e9cepteur de l'interface RS-232 avec lignes RTS et CTS ;<\/li>\n<li> interfaces et connecteurs pour Ethernet, USB, CAN ;<\/li>\n<li> contr\u00f4leur d'\u00e9cran 7 segments MAX7221 ;<\/li>\n<li> connecteur \u00e0 broches pour fonctionnement avec MKIO (MIL_STD_1553) et ARINC429 ;<\/li>\n<li> phototransistor Everlight PT17-21C ;<\/li>\n<li> cinq diodes \u00e9lectroluminescentes color\u00e9es, un bouton de r\u00e9initialisation et deux boutons personnalis\u00e9s ;<\/li>\n<li> alimentation via le port USB 5 volts ;<\/li>\n<li> dimensions de la carte imprim\u00e9e 100 x 80 mm<\/li>\n<\/ul>\n<p>\nJ'aimais les cartes de la s\u00e9rie STM-Discovery car elles int\u00e8grent un programmateur-d\u00e9bogueur \u2013 ST-Link. Le ST-Link officiel fonctionne uniquement avec les contr\u00f4leurs de la soci\u00e9t\u00e9 STMicroelectronics, mais il y a quelques ann\u00e9es, il a \u00e9t\u00e9 possible de mettre \u00e0 jour le firmware du ST-Link et d'obtenir le d\u00e9bogueur SEGGER J-Link OB (sur carte). Il existe l\u00e9galement une restriction sur l'utilisation de ce d\u00e9bogueur uniquement avec les cartes STMicroelectronics, mais en r\u00e9alit\u00e9, son potentiel n'est pas limit\u00e9. Ainsi, avec le J-Link OB, on peut avoir un programmateur-d\u00e9bogueur int\u00e9gr\u00e9 sur la carte de d\u00e9bogage. Je tiens \u00e0 noter que dans les produits \u00ab LDM-Systems \u00bb, un convertisseur CP2102 (Usb2Uart) est utilis\u00e9, qui ne peut que flasher.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/69b93aeba719b818c3ae8f1fcae45ac2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Les microcontr\u00f4leurs STM32F103C8T6, v\u00e9ritables ou non, (c) Photo de l'auteur<\/i><\/p>\n<p>Ainsi, il \u00e9tait n\u00e9cessaire d'acheter un STM32F103C8T6 original, car les firmwares officiels ne fonctionneront pas correctement avec un clone. J'avais des doutes \u00e0 ce sujet et j'ai d\u00e9cid\u00e9 d'essayer le contr\u00f4leur CS32F103C8T6 de la soci\u00e9t\u00e9 chinoise CKS. Je n'ai pas de reproches \u00e0 faire au contr\u00f4leur lui-m\u00eame, mais le firmware officiel ST-Link n'a pas fonctionn\u00e9. Le J-Link fonctionnait partiellement \u2013 le p\u00e9riph\u00e9rique USB \u00e9tait reconnu, mais il ne remplissait pas ses fonctions de programmateur et rappelait constamment qu'il \u00e9tait \u00ab d\u00e9fectueux \u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/f2b520deaf681a088b43dd62453ff99c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Erreur lors de l'utilisation du d\u00e9bogueur sur un contr\u00f4leur non original<\/i><\/p>\n<p>Je ne me suis pas arr\u00eat\u00e9 l\u00e0 et j'ai d'abord \u00e9crit un firmware pour faire clignoter une LED, puis j'ai impl\u00e9ment\u00e9 une demande IDCODE selon le protocole JTAG. Le programmateur ST-Link, que j'avais sur ma carte Discovery, et le programme ST-Link Utility ont flasher sans probl\u00e8me le CS32F103C8T6. Finalement, je me suis rendu compte que ma carte fonctionnait. \u00c0 ma grande joie, le contr\u00f4leur cible K1986\u0412\u04151QI (aviation) renvoyait avec entrain son IDCODE par la ligne TDO.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/73011a61aa316f779c6b9d27e13d5ea1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Oscilloscope de la ligne de signal TDO avec la r\u00e9ponse IDCODE cod\u00e9e, (c) Photo de l'auteur<\/i><\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/1a27b40eeb768ece0303d6ae9c4c0861.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Le port SWD a donc \u00e9t\u00e9 utile pour d\u00e9boguer le d\u00e9bogueur lui-m\u00eame et v\u00e9rifier l'IDCODE<\/i><\/p>\n<p>Il restait l'option du d\u00e9bogueur <noindex><a rel=\"nofollow\" href=\"https:\/\/arm-software.github.io\/CMSIS_5\/DAP\/html\/index.html\">CMSIS-DAP (Debug Access Port)<\/a><\/noindex>. Compiler un projet \u00e0 partir des sources ARM n'est pas simple, j'ai pris le projet de <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/x893\/\" class=\"user_link\">X893<\/a><\/noindex>, puis j'ai \u00e9galement essay\u00e9 le DAP42. Malheureusement, Keil uVision plantait et ne voulait pas fonctionner avec eux. Au final, j'ai remplac\u00e9 le microcontr\u00f4leur du d\u00e9bogueur par un STM32F103C8T6 officiel et je ne suis plus revenu \u00e0 cette question.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/1663ad2e63a8841e785fd0dd473ad395.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fonctionnement r\u00e9ussi du d\u00e9bogueur int\u00e9gr\u00e9 J-Link STLink V2<\/i><\/p>\n<p>Lorsque tous les composants cl\u00e9s de la future carte de d\u00e9bogage \u00e9taient disponibles, je me suis plong\u00e9 dans Eagle CAD et j'ai d\u00e9couvert qu'ils n'\u00e9taient pas dans la biblioth\u00e8que d'\u00e9l\u00e9ments. Je n'avais pas d'autre choix \u2013 j'ai d\u00fb les dessiner moi-m\u00eame. En m\u00eame temps, j'ai con\u00e7u des emplacements pour la m\u00e9moire, un connecteur HanRun pour l'Ethernet, et j'ai ajout\u00e9 des cadres pour les r\u00e9sistances et les condensateurs. Le fichier projet et la biblioth\u00e8que de composants peuvent \u00eatre trouv\u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/makbit\/MDB1986\">sur mon GitHub<\/a><\/noindex>.<\/p>\n<p><b class=\"spoiler_title\">Sch\u00e9ma de principe de la carte de d\u00e9bogage MDB1986<\/b><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/09a1ffed6589405f70ccc60fececbaaf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>La carte est aliment\u00e9e par une source de courant continu de 5 volts, obtenue \u00e0 partir du port USB. Il y a au total deux ports USB Type-B sur la carte. Un \u2013 pour le programmateur, l'autre \u2013 pour le contr\u00f4leur K1986BE1QI. La carte peut fonctionner \u00e0 partir de n'importe laquelle de ces sources ou des deux simultan\u00e9ment. Un r\u00e9glage de charge simple et une protection des lignes d'alimentation sont r\u00e9alis\u00e9s \u00e0 l'aide de diodes Schottky, sur le sch\u00e9ma D2 et D3 (SS24). On peut \u00e9galement voir sur le sch\u00e9ma des fusibles r\u00e9initialisables F1 et F2 de 500 mA. Les lignes de signal du port USB sont prot\u00e9g\u00e9es par un assemblage de diodes USBLC6-2SC6. <\/p>\n<p>Le sch\u00e9ma du d\u00e9bogueur-programmateur ST-Link est bien connu, et on peut le trouver dans la documentation des cartes STM32-Discovery et d'autres sources. Pour la premi\u00e8re programmation du clone ST-Link\/J-Link-OB\/DAP (au choix), j'ai sorti les lignes SWDIO (PA13), SWCLK (PA14), GND. Beaucoup utilisent le serial UART pour la programmation et doivent manipuler les cavaliers BOOT. Mais je pr\u00e9f\u00e8re le SWD, d'autant plus que ce protocole permet le d\u00e9bogage.<\/p>\n<p>Presque tous les composants de la carte sont aliment\u00e9s par 3,3 volts, qui proviennent du r\u00e9gulateur de tension AMS1117-3.3. Pour att\u00e9nuer les interf\u00e9rences \u00e9lectromagn\u00e9tiques et les pics de courant, des filtres LC constitu\u00e9s de condensateurs et de selfs de la s\u00e9rie BLM31PG sont utilis\u00e9s.<\/p>\n<p>Il convient de mentionner s\u00e9par\u00e9ment le pilote d'affichage \u00e0 7 segments MAX7221. Selon la sp\u00e9cification, la tension d'alimentation recommand\u00e9e se situe entre 4 et 5,5 volts, et le niveau de signal haut (logique 1) est d'au moins 3,5V (0,7 x VCC), lorsque l'alimentation est de 5V. Pour le contr\u00f4leur K1986BE1QI (a\u00e9ronautique), la sortie de logique 1 correspond \u00e0 une tension de 2,8 \u00e0 3,3V. Il est donc clair qu'il y a un d\u00e9calage de niveaux de signal, ce qui pourrait perturber son fonctionnement normal. J'ai d\u00e9cid\u00e9 de alimenter le MAX7221 avec 4V et de r\u00e9duire les niveaux de signal \u00e0 2,8V (0,7 x 4 = 2,8). Pour cela, une diode D4 (RS1A ou FR103) est install\u00e9e en s\u00e9rie dans le circuit d'alimentation du driver. Ainsi, la chute de tension est de 0,9V (diode Schottky 0,3V et diode 0,6V), et \u00e7a fonctionne tout bien.<\/p>\n<p>La plupart des ports du microcontr\u00f4leur K1986\u0412\u04151QI (a\u00e9ronautique) sont compatibles avec des signaux allant jusqu'\u00e0 5V. Ainsi, l'utilisation du CAN transceiver MCP2551, qui fonctionne \u00e9galement sous 5V, ne pose pas de probl\u00e8me. En tant que r\u00e9cepteur \u00e9metteur RS-232, le sch\u00e9ma indique le circuit int\u00e9gr\u00e9 MAX3232, mais en r\u00e9alit\u00e9, j'ai utilis\u00e9 le SN65C3232D de Texas Instruments, car il fonctionne sous 3,3V et offre une vitesse allant jusqu'\u00e0 1 Mbit\/s.<\/p>\n<p>La carte comporte 4 r\u00e9sonateurs \u00e0 quartz : un pour le d\u00e9bogueur (8 MHz) et trois pour le microcontr\u00f4leur K1986\u0412\u04151QI (a\u00e9ronautique) avec des fr\u00e9quences de 32,768 kHz, 16 MHz, et 25 MHz. Ce sont des composants n\u00e9cessaires, car les param\u00e8tres du g\u00e9n\u00e9rateur RC int\u00e9gr\u00e9 varient beaucoup, allant de 6 \u00e0 10 MHz. La fr\u00e9quence de 25 MHz est n\u00e9cessaire pour le fonctionnement du contr\u00f4leur Ethernet int\u00e9gr\u00e9. Il est indiqu\u00e9 sur le site de Milandr (peut-\u00eatre par erreur) que l'Ethernet est absent dans le bo\u00eetier en plastique. Mais nous nous baserons sur la sp\u00e9cification et les faits.<\/p>\n<p>Un des principaux incitatifs pour cr\u00e9er ma propre carte de d\u00e9bogage \u00e9tait la possibilit\u00e9 de travailler avec le bus syst\u00e8me externe EBC (contr\u00f4leur de bus externe), qui est en fait un port parall\u00e8le. Le microcontr\u00f4leur K1986\u0412\u04151QI (a\u00e9ronautique) permet de connecter et de travailler avec des puces m\u00e9moire externes et des dispositifs p\u00e9riph\u00e9riques, tels que des ADC, des FPGA, etc. Les capacit\u00e9s du bus syst\u00e8me externe sont assez \u00e9tendues \u2013 il est possible de travailler avec des RAM statiques 8 bits, 16 bits et 32 bits, des ROM et des NAND Flash. Pour la lecture\/\u00e9criture de donn\u00e9es 32 bits, le contr\u00f4leur peut automatiquement r\u00e9aliser 2 op\u00e9rations correspondantes pour des puces 16 bits, et pour des puces 8 bits \u2013 4 op\u00e9rations. Il est \u00e9vident qu'une op\u00e9ration d'entr\u00e9e\/sortie 32 bits sera ex\u00e9cut\u00e9e le plus rapidement avec un bus de donn\u00e9es 32 bits. Parmi les inconv\u00e9nients, on peut citer la n\u00e9cessit\u00e9 d'utiliser des donn\u00e9es 32 bits dans le programme, et la carte devra \u00eatre con\u00e7ue avec 32 pistes.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/121a0a0d85a861a9c1ad02048de7d941.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Circuits int\u00e9gr\u00e9s RAM statiques, d'occasion (devine lequel a un d\u00e9faut)<\/i><\/p>\n<p>Une solution \u00e9quilibr\u00e9e est l'utilisation de puces m\u00e9moire 16 bits. J'ai en ma possession des puces d'Integrated Silicon Solutions Inc. (ISSI IS61LV25616AL, 16 x 256k, 10 ns, 3.3V). Bien s\u00fbr, la soci\u00e9t\u00e9 \u00ab Milandr \u00bb a ses propres puces de m\u00e9moire statique. <noindex><a rel=\"nofollow\" href=\"https:\/\/ic.milandr.ru\/products\/mikroskhemy_pamyati\/\">s\u00e9rie 1645\u0420\u0423<\/a><\/noindex>, mais ils sont trop chers et inaccessibles. En alternative, il existe des mod\u00e8les compatibles de Samsung K6R4016V1D. J'avais d\u00e9j\u00e0 mentionn\u00e9 que les puces \u00e9taient d'occasion et l'\u00e9chantillon que j'ai install\u00e9 initialement montrait des pannes et des valeurs erratiques sur la 15\u00e8me ligne de donn\u00e9es. Cela a pris plusieurs jours pour identifier les erreurs mat\u00e9rielles, et plus le ressenti de satisfaction \u00e9tait grand lorsque j'ai remplac\u00e9 la puce d\u00e9fectueuse par une fonctionnelle. Quoi qu'il en soit, la vitesse de travail avec la m\u00e9moire externe laisse \u00e0 d\u00e9sirer. <\/p>\n<p><b class=\"spoiler_title\">Bus externe et mode StandAlone<\/b>Le microcontr\u00f4leur \u041a1986\u0412\u04151QI (a\u00e9ronautique) poss\u00e8de un mode StandAlone unique, qui est con\u00e7u pour un acc\u00e8s direct externe aux contr\u00f4leurs Ethernet et aux interfaces MIL_STD_1553 (MKIO) via le bus externe, avec le c\u0153ur en mode r\u00e9initialis\u00e9, c'est-\u00e0-dire inutilis\u00e9. Ce mode est pratique pour les processeurs et FPGA sans Ethernet et\/ou MKIO.<br \/>\nLe sch\u00e9ma de connexion est le suivant : <\/p>\n<ul>\n<li>bus de donn\u00e9es MCU(D0-D15) =&gt; SRAM(I\/O0-I\/O15),<\/li>\n<li>bus d'adresse MCU(A1-A18) =&gt; SRAM(A0-A17),<\/li>\n<li>contr\u00f4le MCU(nWR,nRD,PortC2) =&gt; SRAM(WE,OE,CE),<\/li>\n<li>SRAM(UB,LB) est connect\u00e9 ou mis \u00e0 la terre via une r\u00e9sistance.<\/li>\n<\/ul>\n<p>\nLa ligne CE est tir\u00e9e vers l'alimentation via une r\u00e9sistance, les broches de s\u00e9lection de byte MCU(BE0-BE3) ne sont pas utilis\u00e9es. Sous le spoiler, j'inclue le code d'initialisation des ports et du contr\u00f4leur de bus externe.<\/p>\n<p><b class=\"spoiler_title\">Initialisation des ports et du contr\u00f4leur EBC (contr\u00f4leur de bus externe)<\/b><\/p>\n<pre><code class=\"plaintext\">void SRAM_Init (void)\n{\n\tEBC_InitTypeDef          EBC_InitStruct = { 0 };\n\tEBC_MemRegionInitTypeDef EBC_MemRegionInitStruct = { 0 };\n\tPORT_InitTypeDef         initStruct = { 0 };\n\n\tRST_CLK_PCLKcmd (RST_CLK_PCLK_EBC, ENABLE);\n\n\tPORT_StructInit (&amp;initStruct);\n\t\/\/--------------------------------------------\/\/\n\t\/\/ DATA PA0..PA15 (D0..D15)                   \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_MODE      = PORT_MODE_DIGITAL;\n\tinitStruct.PORT_PD_SHM    = PORT_PD_SHM_ON;\n\tinitStruct.PORT_SPEED     = PORT_SPEED_FAST;\n\tinitStruct.PORT_FUNC      = PORT_FUNC_MAIN;\n\tinitStruct.PORT_Pin       = PORT_Pin_All;\n\tPORT_Init (MDR_PORTA, &amp;initStruct);\t\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Address PF3-PF15 (A0..A12), A0 - not used. \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_FUNC      = PORT_FUNC_ALTER;\n\tinitStruct.PORT_Pin       = PORT_Pin_4  | PORT_Pin_5  |\n\t                            PORT_Pin_6  | PORT_Pin_7  |\n\t                            PORT_Pin_8  | PORT_Pin_9  |\n\t\t\t\t\t\t\t\tPORT_Pin_10 | PORT_Pin_11 |\n\t                            PORT_Pin_12 | PORT_Pin_13 |\n\t\t\t\t\t\t\t\tPORT_Pin_14 | PORT_Pin_15;\n\tPORT_Init (MDR_PORTF, &amp;initStruct);\t\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Address PD3..PD0 (A13..A16)                \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_FUNC      = PORT_FUNC_OVERRID;\n\tinitStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1 |\n\t                            PORT_Pin_2 | PORT_Pin_3;\n\tPORT_Init (MDR_PORTD, &amp;initStruct);\t\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Address PE3, PE4 (A17, A18)                \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_FUNC      = PORT_FUNC_ALTER;\n\tinitStruct.PORT_Pin       = PORT_Pin_3 | PORT_Pin_4;\n\tPORT_Init (MDR_PORTE, &amp;initStruct);\t\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Control PC0,PC1 (nWE,nOE)                  \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_FUNC      = PORT_FUNC_MAIN;\n\tinitStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1;\n\tPORT_Init (MDR_PORTC, &amp;initStruct);\t\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Control PC2 (nCE)                          \/\/\n\t\/\/--------------------------------------------\/\/\n\tinitStruct.PORT_PD        = PORT_PD_DRIVER;\n\tinitStruct.PORT_OE        = PORT_OE_OUT;\n\tinitStruct.PORT_FUNC      = PORT_FUNC_PORT;\n\tinitStruct.PORT_Pin       = MDB_SRAM_CE;\n\tPORT_Init (MDR_PORTC, &amp;initStruct);\t\n\n\t\/\/--------------------------------------------\/\/\n\t\/\/ Initialize EBC controler                   \/\/\n\t\/\/--------------------------------------------\/\/\n\tEBC_DeInit();\n\tEBC_StructInit(&amp;EBC_InitStruct);\n\tEBC_InitStruct.EBC_Mode             = EBC_MODE_RAM;\n\tEBC_InitStruct.EBC_WaitState        = EBC_WAIT_STATE_3HCLK;\n\tEBC_InitStruct.EBC_DataAlignment    = EBC_EBC_DATA_ALIGNMENT_16;\n\tEBC_Init(&amp;EBC_InitStruct);\n\t\n\tEBC_MemRegionStructInit(&amp;EBC_MemRegionInitStruct);\n\tEBC_MemRegionInitStruct.WS_Active   = 2;\n\tEBC_MemRegionInitStruct.WS_Setup    = EBC_WS_SETUP_CYCLE_1HCLK;\n\tEBC_MemRegionInitStruct.WS_Hold     = EBC_WS_HOLD_CYCLE_1HCLK;\n\tEBC_MemRegionInitStruct.Enable_Tune = ENABLE;\n\tEBC_MemRegionInit (&amp;EBC_MemRegionInitStruct, EBC_MEM_REGION_60000000);\n\tEBC_MemRegionCMD(EBC_MEM_REGION_60000000, ENABLE);\n\n\t\/\/ Turn ON RAM (nCE)\n\tPORT_ResetBits (MDR_PORTC, MDB_SRAM_CE);\n}\n<\/code><\/pre>\n<p>\nLe microcontr\u00f4leur en bo\u00eetier LQFP-144 et la m\u00e9moire en bo\u00eetier TSOP-44 ont de nombreuses broches connect\u00e9es et occupent beaucoup d'espace sur le circuit imprim\u00e9. Fort de mon exp\u00e9rience dans la r\u00e9solution de probl\u00e8mes d'optimisation en \u00e9conomie, il m'est apparu \u00e9vident que ces circuits int\u00e9gr\u00e9s devaient \u00eatre plac\u00e9s sur la carte en priorit\u00e9. J'ai rencontr\u00e9 des avis \u00e9logieux dans diverses sources sur <noindex><a rel=\"nofollow\" href=\"https:\/\/www.eremex.ru\/products\/delta-design\/topor\/\">le logiciel de CAO TopoR (Topological Router)<\/a><\/noindex>. J'ai t\u00e9l\u00e9charg\u00e9 la version d'essai et j'ai pu exporter mon projet depuis Eagle CAD seulement apr\u00e8s avoir supprim\u00e9 presque tous les composants. Malheureusement, m\u00eame 10 \u00e9l\u00e9ments, le programme TopoR ne m'a pas aid\u00e9 \u00e0 les placer sur la carte. Au d\u00e9but, tous les composants \u00e9taient regroup\u00e9s dans un coin, puis dispers\u00e9s le long du bord. Cela ne m'a pas satisfait, et j'ai pass\u00e9 beaucoup de temps \u00e0 effectuer le routage manuellement dans l'environnement habituel d'Eagle CAD.<\/p>\n<p>Un \u00e9l\u00e9ment important du circuit imprim\u00e9 est la s\u00e9rigraphie. Sur la carte de test, il doit y avoir non seulement les \u00e9tiquettes des composants \u00e9lectroniques, mais \u00e9galement tous les connecteurs doivent \u00eatre \u00e9tiquet\u00e9s. Au verso de la carte, j'ai plac\u00e9 des tableaux de rappel avec les fonctions des ports du contr\u00f4leur (principal, alternatif, red\u00e9fini, effectif). J'ai command\u00e9 la fabrication des cartes imprim\u00e9es en Chine aupr\u00e8s de la c\u00e9l\u00e8bre entreprise PCBWay. Je ne vais pas faire de compliments, car la qualit\u00e9 est bonne. Ils peuvent faire mieux, avec des tol\u00e9rances plus serr\u00e9es, mais <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pcbway.com\/HighQualityOrderOnline.aspx\">cela a un co\u00fbt suppl\u00e9mentaire<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/cf7b60c6a2361614d18e4949c35ab583.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Les circuits imprim\u00e9s MDB1986 fabriqu\u00e9s, (c) Photo de l'auteur<\/i><\/p>\n<p>J'ai d\u00fb souder les composants \u00ab \u00e0 la main \u00bb avec un fer \u00e0 souder de 40 watts et de l'\u00e9tain POS-61, car je ne soude que rarement, 1-2 fois par an, et la p\u00e2te \u00e0 souder avait durci. J'ai \u00e9galement d\u00fb remplacer le contr\u00f4leur chinois CS32F103 par l'original STM32F103, puis remplacer la m\u00e9moire. Dans l'ensemble, je suis compl\u00e8tement satisfait du r\u00e9sultat, m\u00eame si je n'ai pas encore v\u00e9rifi\u00e9 le fonctionnement de RS-232 et CAN.<\/p>\n<p><img decoding=\"async\" alt=\"D\u00e9veloppement d&#039;une carte de test pour le K1986BE1QI (aviation)\" src=\"\/wp-content\/uploads\/2020\/01\/a3dc985a943623d5d07fb8e762468963.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>La carte de test MDB1986 en fonctionnement \u2014 elle \u00e9claire et chauffe, (c) Photo de l'auteur<\/i><\/p>\n<p>Sur le site Web de \u00ab Milandra \u00bb, on peut trouver suffisamment <noindex><a rel=\"nofollow\" href=\"https:\/\/edu.milandr.ru\/library\/\">de mat\u00e9riaux de formation pour l'\u00e9tude des contr\u00f4leurs<\/a><\/noindex> s\u00e9rie 1986BE9 (noyau Cortex-M3), mais pour le microcontr\u00f4leur K1986BE1QI (aviation), je ne vois rien de notable. En parcourant les documents publi\u00e9s, les manuels et les travaux pratiques pour les universit\u00e9s, je me r\u00e9jouis de voir que de nouvelles comp\u00e9tences sont d\u00e9velopp\u00e9es \u00e0 travers le pays pour travailler avec les contr\u00f4leurs russes. La plupart des mat\u00e9riaux p\u00e9dagogiques se concentrent sur les ports d'entr\u00e9e-sortie, les minuteries, les ADC, les DAC, SPI, UART. Diff\u00e9rents environnements de d\u00e9veloppement IDEs (Keil, IAR, CodeMaster) sont utilis\u00e9s. Parfois, la programmation se fait via les registres CMSIS, et d'autres fois, MDR Library est employ\u00e9. Il convient de mentionner la ressource <noindex><a rel=\"nofollow\" href=\"https:\/\/startmilandr.ru\/\">Start Milandr<\/a><\/noindex>, qui contient de nombreux articles de programmeurs praticiens. Et, bien s\u00fbr, il ne faut pas oublier le <noindex><a rel=\"nofollow\" href=\"https:\/\/forum.milandr.ru\/\">forum Milandr<\/a><\/noindex>.<\/p>\n<p><b class=\"spoiler_title\">Duma de Milandr<\/b>La micro\u00e9lectronique en Russie se d\u00e9veloppe, et dans ce processus, la soci\u00e9t\u00e9 \u00abMilandr\u00bb joue un r\u00f4le significatif. De nouveaux microcontr\u00f4leurs int\u00e9ressants \u00e9mergent, tels que le 1986BE81T et \u00ab\u00c9lectrosila\u00bb avec des interfaces SpaceWire et MKIO (identique \u00e0 celle du 1986BE1 et, peut-\u00eatre, avec les m\u00eames probl\u00e8mes), etc. Cependant, il est irr\u00e9aliste pour les simples \u00e9tudiants, enseignants et ing\u00e9nieurs civils d'acheter de telles puces. Ainsi, la communaut\u00e9 des ing\u00e9nieurs ne pourra pas rapidement identifier les erreurs et probl\u00e8mes de cette puce. Il me semble que dans un premier temps, il serait n\u00e9cessaire de produire des puces dans un bo\u00eetier en plastique, de les distribuer \u00e0 toutes les parties int\u00e9ress\u00e9es, puis, apr\u00e8s approbation par des sp\u00e9cialistes, de pr\u00e9parer une r\u00e9vision dans un bo\u00eetier en c\u00e9ramique m\u00e9tallique avec des protections contre tous les facteurs mena\u00e7ants. J'esp\u00e8re qu'\u00e0 l'avenir, nous serons TOUS ravis des nouveaux projets pr\u00e9sent\u00e9s lors des expositions.<br \/>\nLa carte de d\u00e9veloppement que j'ai con\u00e7ue peut \u00eatre reproduite, modifi\u00e9e et utilis\u00e9e par n'importe qui dans le cadre du processus d'apprentissage. Au d\u00e9part, j'ai r\u00e9alis\u00e9 cette carte pour moi, mais elle s'est av\u00e9r\u00e9e si bien faite que <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/makbit\/MDB1986\">j'ai d\u00e9cid\u00e9 de partager avec tout le monde<\/a><\/noindex>.<\/p>\n<p>K1986BE1QI (aviation) \u2013 c'est un contr\u00f4leur tr\u00e8s int\u00e9ressant avec des interfaces uniques, qui peut \u00eatre utilis\u00e9 dans les universit\u00e9s pour l'enseignement des \u00e9tudiants. Je pense qu'apr\u00e8s correction des erreurs identifi\u00e9es dans le contr\u00f4leur et passage des essais de certification, le contr\u00f4leur d\u00e9collera, au sens propre du terme !<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482716\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0441\u044f \u0441 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u043c\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u043c\u0438 \u0444\u0438\u0440\u043c\u044b \u041c\u0438\u043b\u0430\u043d\u0434\u0440. \u042d\u0442\u043e \u0431\u044b\u043b 2013 \u0433\u043e\u0434, \u043a\u043e\u0433\u0434\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0431\u0443\u0440\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0424\u0426\u041f \u00ab\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0438 \u0440\u0430\u0434\u0438\u043e\u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438\u00bb \u043d\u0430 2008-2015 \u0433\u043e\u0434\u044b. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u0431\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u041a1986\u0412\u04159x (\u044f\u0434\u0440\u043e Cortex-M3) \u0438 \u0442\u043e\u043b\u044c\u043a\u043e-\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 1986\u0412\u04151\u0422 (\u044f\u0434\u0440\u043e Cortex-M1). \u041e\u043d \u0436\u0435 \u0432 \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u043e\u0432\u043e\u043c \u043a\u043e\u0440\u043f\u0443\u0441\u0435 LQFP-144 \u0438\u043c\u0435\u043b \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-54744","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0441\u044f \u0441.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u041a1986\u0412\u04151QI (\u0430\u0432\u0438\u0430) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0441\u044f \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-02T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47D\u00e9veloppement d'une carte de d\u00e9veloppement pour K1986BE1QI (aviation) | ProHoster","description":"Il y a quelques ann\u00e9es, j'ai fait connaissance avec.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u041a1986\u0412\u04151QI (\u0430\u0432\u0438\u0430) | ProHoster","og:description":"\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0441\u044f \u0441.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/razrabotka-otladochnoj-platy-dlya-k1986ve1qi-avia","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-02T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54744","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 12:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:58:23","updated":"2026-01-24 12:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/54744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=54744"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/54744\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=54744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=54744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=54744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}