Comment repérer efficacement une personne à moindre coût ?
14,90 € TTC
p. 04 Le nouveau microcontrôleur ESP32-P4 : unique en son genre
p. 16 NFC + i2c : du sans-contact simple pour vos projets
p. 32 Murmurons à l'oreille de nos cartes SIM
p. 56 Domotique : détecter une présence
p. 68 Ajouter un contrôleur USB périphérique à vos SBC
p. 88 Sonder un signal différentiel avec un oscilloscope
p. 98 Ethernet à la loupe : de la couche physique au décodage des trames
Une bonne affaire... qui n’en est pas une !
Il y a quelques semaines, au détour d’un post X, je découvre la carte PCIe YPCB-00388-1P1 de TiferKing [1] équipée d’un monstrueux FPGA Xilinx Kintex7 XC7K480T et vendue sur eBay pour moins de 80 €, port inclus (cherchez juste « XC7K480T », il y a des vendeurs et des offres à foison). On parle ici de quelque 470000 éléments logiques (LE), 380 E/S et de ~34 Mb de mémoire embarquée. À ce prix, c’est une affaire de rêve, d’autant que le support LiteX pointait déjà le bout du nez.
Forcément, naïf et inconscient je saute sur l’occasion, attend patiemment une dizaine de jours et réceptionne la carte sans dommage. Je jongle avec les fichiers permettant d’inclure le support de la carte dans la suite Vivado (Standard), et teste le tout pour me heurter à un étrange message d’erreur « No parts matched ‘xc7k480t-ffg1156-2’ ». J’insiste, fouille, creuse, suis les messages de forum d’utilisateurs peinant à ajouter le support d’une carte, pour finalement me rendre compte que le problème n’est absolument pas technique, non !
Voyez-vous, le monde des FPGA est pervers et trompeur. Car l’édition gratuite de Vivado ne supporte pas tous les modèles de FPGA AMD/Xilinx et dans le cas du Kintex 7, le support se limite aux XC7K70T et aux XC7K160T, et c’est tout. Pour pouvoir utiliser un XC7K480T, bien plus gros, puissant, performant et coûteux, vous devez utiliser Vivado Enterprise Edition à quelque 4395 $ (ou vous satisfaire de 30 jours d’essais) !
Mais quel esprit malade a eu cette fumeuse idée ? Et selon quel principe ? Celui selon lequel le client a assez de budget pour jouer avec des gros FPGA et donc peut débourser encore plus pour pouvoir s’en servir ? Je ne suis pas un révolutionnaire communiste hurlant que tout doit être gratuit et partagé, ne vous méprenez pas, l’open source et/ou la gratuité est un choix que chacun fait ou ne fait pas. C’est la logique commerciale qui m’échappe. Pourquoi cette barrière ? Pourquoi un XC7K160T à 160K LE, oui, et un XC7K480T à 480K LE, non ? Quel génie du marketing s’est dit « pour ces FPGA là, les gros, laissons seulement 30 jours pour évaluer le produit, pas plus » ?
Je suis peut-être très susceptible et allergique à ce genre de pratique, mais voyez-vous, si j’avais 4395 $ de plus à dépenser pour cette carte, je les utiliserai pour aider le projet openXC7 [2], certainement pas pour légitimer ce genre de pratiques commerciales incohérentes...
Denis Bodor
[1] https://www.tiferking.cn/index.php/2024/12/19/650/
[2] https://github.com/openXC7
Né en 2014, Hackable est un bimestriel destiné aux professionnels et particuliers souhaitant découvrir et progresser dans les domaines de l’électronique numérique et de l’embarqué. Il fournit un contenu riche orienté vers une audience désireuse de bénéficier d'une veille technologique différente et résolument pratique. Le contenu du magazine est conçu de manière à permettre une mise en pratique directe des connaissances acquises et apprendre tout en faisant.
Qu'il s'agisse de simple confort ou de sécurité, la capacité à détecter une personne ou un mouvement est une part importante d'un système domotique. L'idée ne date pas d'hier avec des dispositifs d'éclairage automatique, intérieur ou extérieur, mais l'utilisation de concert avec une installation comme Home Assistant apporte une tout autre dimension et offre une infinité de possibilités. Cependant, à la base de toute scénarisation, même complexe, se trouve le capteur lui-même et nous allons voir que tous ne se valent pas...
La famille de MCU Espressif Systems est déjà bien étoffée et, entre le « simple » ESP32, les « vieux » ESP8266 et toutes les déclinaisons intermédiaires à base de cœurs Tensilica Xtensa (ESP32-S*) ou de RISC-V (ESP32-C*), nous avons de quoi faire. L'ESP32-P4 cependant est très différent et adresse des besoins qui vont bien au-delà de ceux satisfaits par les autres modules et MCU de la famille. Nous avons là une « bête », mettant l'accent sur la performance et la richesse en fonctionnalités.
Dans cet article, nous explorons la transmission Ethernet au niveau de la couche physique, en nous intéressant en particulier à l’observation et à l’analyse des signaux électriques transmis sur le câble. À l’aide d’oscilloscopes et d’outils logiciels, nous allons visualiser les trames et décoder les données échangées selon les protocoles 10BASE-T et 100BASE-TX (Fast Ethernet). Nous commencerons par 10BASE-T, qui repose sur un codage Manchester assez simple. Nous verrons comment observer ces signaux et en extraire les octets bruts à l’aide du langage Python. Nous poursuivrons avec 100BASE-TX, où l’encodage devient plus sophistiqué avec le 4B/5B, le scrambling et l’encodage MLT-3, qui réduit efficacement la bande passante nécessaire. Enfin, nous évoquerons 1000BASE-T (Gigabit Ethernet), qui introduit encore plus de complexité avec la transmission sur les quatre paires de fils simultanément, l’utilisation du codage PAM-5 et de systèmes de correction d’erreurs. Bien que nous ne décodions pas directement ces signaux Gigabit, nous verrons comment les principes physiques évoluent à mesure que les débits augmentent.