 Ok, donc, nous allons commencer l'introduction de l'USB. Quand je dis introduction, ce n'est pas que nous voulons juste introduire le topic, mais que nous voulons essayer de voir toute la théorie de l'USB. Donc, vous savez quoi est l'USB ? Ok, la première réponse est, allez-y, et vous verrez. D'accord, tout le monde expérimente ça. Vous avez toujours l'air de pleurer sur quelque chose comme ça. J'ai déjà discuté avec vous votre projet. Et donc, nous allons y aller. Donc, l'USB pour l'Université Serial Bus. C'est à dire que vous n'avez que l'un d'entre vous. C'est à dire que vous n'avez que l'un d'entre vous, alors que vous n'avez pas de trafic mixé, ou quelque chose comme ça sur la ligne. Ok ? Donc, juste un sum-up de ceci. C'est applicable. Je pense que tout le monde l'a compris. C'est assez simple. Le protocole est Serial. Pôle et host centric. Host, c'est à dire que dans l'USB Network, c'est à dire que toutes les choses qui sont connectées ensemble, vous avez seulement un host. Et l'host est un master. C'est un host qui est en train de poursuivre les différents dispositifs. Un dispositif ne peut parler de lui-même comme ça. Ok ? C'est à dire que ça, c'est vraiment les architectures. Et ça expliquerait après comment le protocole fonctionne. Il y a des billets de billets. Donc, c'est de 1,5 megabytes à 20 000. Avec STM32, nous sommes juste là, avec 480 megabytes. C'est ce que nous appelons l'Eye Speed. Donc, nous verrons 3 différents speeds. Le low speed, le full speed et l'Eye Speed. Je ne sais pas pour vous, mais pour moi, j'ai toujours mixé l'Eye Speed, le full speed, parce que le nom est un peu confusé. Mais c'est comme ça. Le low speed est 1,5. Le 12, c'était un full speed et l'Eye Speed était 480 megabytes. Max length de quelques câbles, 5 mètres. Vous pouvez essayer une longue, mais il y a un sens que ce n'est pas fonctionnel. Mais ok. Le maximum voltage sans power delivery, c'est 5 volts. Et le current est en général 0,5. Et 0,1, c'est quand vous plait. D'abord, c'est commencé. Et après, il peut négager pour avoir plus de power si besoin. C'est la devise. 5 volts pour le chargé. Et la devise, c'est de 100 watts sur une delivery USB type C. Donc je vous ai déjà donné un couple de mots sur ça. C'est assez spécifique pour ça. Vous pouvez aller vers 20 volts et 5 ampères sur ça. Donc vous pouvez pouvoir un laptop. On va avoir un couple de travail sur ça. Le maximum nombre de devises, 127. Pas 28, parce qu'il y a une adresse avec ce livre pour la connexion. C'est une adresse 0. Ce n'est pas de l'un de la devise. Donc c'est la limitation de tous les réseaux. Le nombre de pin que vous avez besoin pour le USB, c'est 4 ou 5. Généralement, 4. 1 pour le supply. 2 pour le data. Et la topologie, c'est un star. On va voir ce qu'il y a après. Le centre d'un star est toujours un hub. Je vais juste expliquer ce qu'il y a après. La histoire, un petit peu. Nous pouvons voir les différents trades, les différents USB qui peuvent être adressés. Pour nous, c'est juste limité à celui-ci, le USB 2.0. Aujourd'hui, c'est celui qu'on peut adresser. C'est juste un appel. La organisation USB. C'est très important pour vous. Vous pouvez trouver toutes les documentations, toutes les spécifications pour les cables, les différentes voltages, les protocoles, toutes les détails. Mais il y a aussi des outils. Par exemple, il y a des outils pour faire le test électrique. Je pense que c'était vous qui êtes intéressés. Les outils sont valables et toutes les détails sont là aussi. C'est aussi sur ces côtés que vous pouvez demander de l'ID. Vous verrez qu'à un dispositif, quand vous avez créé, vous avez embêté un l'ID sur le produit. Et si vous voulez avoir l'USB logo sur votre produit, vous devez acheter un l'ID. Si vous n'avez qu'une logo, vous voulez juste utiliser votre STM32, vous pouvez nous demander de vous donner un l'ID. Mais nous allons discuter sur ces lettres. Donc, c'est vraiment un site qui va, pour sûr, obtenir des documentations et d'informations. Sur la poste topologie, il y a des stars, c'est-à-dire qu'on a un centre, un hub et on a tout autour de lui. Comme je l'ai dit, nous avons seulement un hub pour toutes les networks et dans ce hub, il y a ce qu'on appelle le root hub. C'est-à-dire que nous pouvons avoir un centre de star ici avec un dispositif. Et nous avons un dispositif spécial, qui pourrait être hub. Et sur le centre de cet hub, il y a beaucoup de dispositifs. C'est ok pour les stars topologie, pas si compliquant, je pense. Donc, un maximum de dispositifs 127, comme je l'ai dit, pensez sur une chose, un hub est un dispositif. C'est-à-dire qu'un adresse est un livre pour cela. Donc, quand je dis 170 des dispositifs, je dirais que 117 des choses sont connectées à l'host. Un maximum de dispositifs 125 en série. C'est-à-dire que si vous avez plus, la dernière ne va pas être reconnée, et qu'il va être indolée. Mais franchement, ce n'est pas très souvent que vous connectez beaucoup de choses ensemble. Parce que depuis que c'était un bus serial, c'est-à-dire que l'un de ces banquets est shared pour tout le monde qui commence par l'host. Donc, si vous voulez avoir des performances, mais dépendant, parfois vous pouvez avoir beaucoup de choses. Mais vous pouvez avoir plus que 7 connexions ensemble. C'est une limitation différente. Le câble de l'air, j'ai déjà dit ça. Pour les tailles, on a un host avec un hub root, un dispositif connecté, puis un hub, puis un autre hub, un dispositif et quelque chose comme ça. Je pense que c'est assez simple. La limitation de 5 hubs, le hub root n'est pas contenu. C'est à dire que vous avez 1, 2, 3, 4, 5 et puis le dispositif. Mais non plus. Le dernier dispositif n'est pas un hub, comme vous le savez pour sûr. Ok, ce sont les layers physiques. Alors maintenant, j'ai tout le temps à préparer. Et je veux débarquer. Si vous mettez un oscilloscope sur le pin, ce sera vraiment compliqué de voir ce que sont les données. Pourquoi ? C'est parce que les données sont encodées. On la revient. On la revient. Vous avez des données. Je vais juste déterrer. Mais pour vous dire, si vous avez des issues, c'est pas avec un oscilloscope que vous débarquez. Vous devez avoir des tools pour décoller dynamiquement. Un oscilloscope a l' Capabilité d'en faire, mais pas tous. Et on vous offre un USB analyser. Je vais ramener un. et vous verrez qu'il y a des outils pour analyser les trafics sur la ligne. Donc, oui, c'est assez différent. Je n'ai oublié de dire ça. Nous avons 2 pins de data. D plus et D minus. Et ils sont en opposé. C'est à dire que quand le 1 est en 1, le 0 est en 0. C'est juste un encodement différent entre la ligne de bourse. C'est bien pour tout le monde. Donc, c'est juste un truc de bourse. C'est juste d'installer le 1 à 0 après le 6 consecutive 1. C'est juste de vous donner l'information. Ce n'est pas quelque chose qu'on fera toujours. Si vous regardez juste un peu et après un peu, vous avez un très grand trouble. Mais c'est juste d'assurer que si vous mettez un oscilloscope, ce que vous voyez est ce genre de choses qui seront encodées après. C'est assez compliqué. Le non-return to 0 inverted, si vous ne le savez pas. C'est juste de tourner le voltage quand vous allez au point. Et vous gardez le même voltage quand vous avez un 0. Donc ici, c'est juste un simple. J'ai un 1. Je tourne le niveau. Puis j'ai un 0. Je garde le même niveau. C'est juste de vous expliquer que c'est encodé sur la ligne. Maintenant, sur le point électrique. Alors, on va parler de ces 4 pins. Un pour le VEBUS. Donc, ce sera le power, 5V, le ground. Et le data plus et le data minus. Donc, il y a des conventions de couleur wire. Mais, attention à ce. Il semble que nous avons déjà reçu un câble de Chine où les couleurs n'étaient pas les bonnes. Vous pouvez voir ce qu'on expect. Si vous regardez le data, ce n'est pas important. Mais le VEBUS sur un autre pin peut être détruire les portes, pour sûr. Donc, attention à ce moment. C'est bien juste de vérifier si vous faites un clic par vous-même. Juste si vous cliquez sur un oscilloscope, vous verrez ce genre de niveau. Parce que c'est un voltage avec différents paires. Donc, sur le plus, quand vous êtes sur le ground, sur le 0, vous serrez sur Twitter 3 et sur le D1. D minus, place. Sur le timing. Donc, vous avez vu que nous avons seulement un data link. Il n'y a pas de link pour le cloc. Donc, c'est vraiment important que nous avons l'accuréité du timing sur le device, sur le HOS. Donc, vous avez un constrain sur le cloc de l'IP sur les portes. Ok. C'est vraiment, je dirais, une grosse constrain. Et si vous n'y mettez pas ce constrain, ça ne fonctionne pas. Ou ça ne fonctionne pas très bien. Donc, c'est vraiment quelque chose que vous devez prendre dans un constrain. Pour les capables de high speed sur les portes, vous avez ce requinement d'avoir une vitesse du timing jusqu'à 500 ppm. Et pour la full speed, qui est à 12 megabits, sa vitesse serait 2050 ppm. Donc, cette accuracy de cloc est vraiment, vraiment proche. Et nous avons déjà parlé de l'électriquale test. Cette test électriquale, qui est à 2 soys clocking, c'est la plus importante. C'est vraiment important. Et on verra que, sur notre produit, parfois, nous pouvons utiliser nos oscillateurs internals pour faire ça. Sur des cas spécifiques, dans un chip spécifique, nous avons un système de recouverte à l'électriquale. C'est à dire qu'on a un oscillateur internal qui pourrait acheter ça. Mais ce n'est pas possible pour toutes les configurations, nous le verrons après. Nous avons un oscillateur internal connecté sur notre STM32. J'ai juste insisté un petit peu sur ça, parce que nous avons beaucoup de demandes sur ça, parce que certains customers ont un problème sur l'issue des oscillateurs qui le mettent. Ce qui n'a pas le droit avec ces récréments. Pour les mécanismes, j'ai insisté que dans le passé, je dirais que nous avons des définitions qui prévent vous de connecter deux oscillateurs ensemble, ou deux oscillateurs ensemble. Je pense que si vous vous souvenez d'un type de connecteur que vous pouvez voir sur le printemps, et vous êtes sûrs que vous avez connecté le câble dans la bonne façon, avec un oscillateur et un câble. Mais ça change un petit peu avec ce qu'on appelle le OTG, parce que nous pouvons changer, je dirais, le rôle de oscillateur et le câble dynamiquement, et c'est la fin de la fin. Il y a 4 pièces, mais je dis ok, il y a parfois 1 plus. En ce cas, c'était l'ID pin. Ça vous permet de changer le rôle entre l'host et le dévice. Si vous inquiétez ce que c'est pour, vous avez une idée, un exemple. Tout le monde a une ici, sûr. Juste votre téléphone. Votre téléphone peut être utilisé comme un USB-key d'un dévice, mais il peut aussi vérifier un dévice du plug et un USB-key. Il peut être le host, celui qui requiert de l'information et parfois, il peut donner de l'information. C'est de la qualité. C'est ce que j'ai dit un petit peu sur ce qu'on appelle le généreur de l'œil. Donc, pour faire ceci, vous devez faire beaucoup de measurement avec un oscilloscope, puis utilisez les outils que vous avez de l'USB-ORG et vous devez générer ces figures. Ces figures sont typiquement faits de beaucoup de measurement et vérifiez comment long il s'agit d'aller de 0 à 3,3 volts sur des pannes différentes. Par exemple, ici, il existe un petit peu de voltage. Vous devez également vérifier les temps pour aller en haut et en bas. C'est vraiment le moyen de vérifier que votre hardware est correct. Donc, quand on parle de la certification, je ne m'en souviens pas votre nom, Jolano. Alors, vous devez faire beaucoup de measurement avec un oscilloscope, puis vous avez un outil de l'USB-ORG et vous devez générer ces curves. Et avec ça, vous devez assurer que vous mettez les requérements de l'USB. C'est-à-dire que vous devez communiquer avec un device d'USB ou d'USB-ORG. Ok, donc, maintenant, on va commencer d'aller beaucoup plus en détails. Ne vous affairez pas de cette array. N'oubliez pas, ce n'est pas possible dans 5 minutes ou vous êtes géniaux. Donc, juste pour vous dire que la diffusion 1 est ça. Et ensuite, vous pouvez voir que nous avons un DAT-HG, un K-State. Donc, le G-State et le K-State seront les niveaux qui résultent dans l'oncoling de la ligne de bourse. Et ils sont switchés de la vitesse et de la vitesse complète. C'est un point différent. Juste pour vous donner de l'information, ça va vous aider à comprendre le next slide. Ok, n'oubliez pas le reste. Je dirais comment c'est encodé sur la ligne, quel est le symbole, si c'est dans notre description du protocole. Ne vous inquiètez pas de ça. On va sur un device host un device host, sorry. On va parler d'abord de la vitesse basse et de la configuration de la vitesse complète. Donc, ici, nous avons les wires. Et nous sommes connectés ensemble. Sur l'autre côté, il y a deux registres de bourse qui font la ligne 0. Ok? Ceci, en définition, devrait être comme ça. Sur l'autre côté, selon si vous êtes dans la vitesse basse ou dans la vitesse complète, vous aurez des registres sur l'une de la ligne. Si votre device est en vitesse basse, vous aurez une pull-up sur le déminus. C'est un moyen pour le host de savoir si c'est une vitesse basse ou une vitesse complète en front de lui. Ok? C'est vraiment une configuration de Hardware ou un setup hardware qui définit si vous êtes en vitesse basse ou en vitesse complète. Si je suis en vitesse basse vous aurez une pull-up sur le déminus. C'est vraiment basique. C'est ok pour tout le monde. Il n'y a pas de magie là-bas. Donc maintenant, on va voir ce que je dirais symboliser dans les deux côtés. Tout d'abord, nous allons avoir un transmittage. C'est un moyen d'améliorer la ligne bourse pour mettre une ligne 0 sur une ligne 1. Mais on va pas parler de ligne 0 sur une ligne 1. Mais on va parler de la ligne G sur la ligne 1. Vous vous souvenez de la ligne G ou de la ligne K. C'est juste un 0 dans la vitesse basse un 0 dans la vitesse basse c'est la ligne G. Donc ici, c'est un moyen d'améliorer les deux côtés. Nous avons un spécial avec une ligne 0 qui permet de mettre une ligne 0 sur une ligne bourse. Dans ce cas, si la ligne bourse est à 0 c'est utilisé pour l'exemple pour dire que je suis là-bas ou quelque chose comme ça. Ensuite, nous avons besoin de recevoir le state. Donc nous avons des recevres différenciaux. C'est pour détecter une ligne différenciée de 1 ou une ligne différenciée de 0. Et ensuite, nous avons besoin de savoir ce que sont les niveaux de chaque ligne. Parce que si vous faites un set de 1 et 0, c'est-à-dire que vous portez la ligne bourse à 0, vous devez détecter. Il ne peut pas être détecté par celui-là. Parce qu'il va interpréter la ligne différenciée. Donc vous devez utiliser celui-là pour donner l'information sur le plus et sur le moins. C'est ok pour tout le monde pour tous les différents blocs qui sont là-bas. Juste symboliser comment on va faire le niveau de ligne et comment on peut écouter ça. Encore, tout sera basé par les hardwares et vous n'avez pas besoin de le délire. Donc maintenant, let's see what's happened in the hydra, that's mean we just connected two gaz, what are the different levels we've got? We're on low speed. Do you remember in low speed where is the pull-up? Here we've got a de-minus And here we see the different levels. That means we have an high level on the de-minus, low level on the Whoa. Sorry, les couleurs ne sont pas... ok. Donc, vous avez un 0 sur le plus bas, un 1 sur le plus bas. Donc vous pouvez voir que c'est interprété en G state. Donc, nous sommes en bas speed et nous avons un G state. Parce que le G state est defini en 1 sur le plus bas, et un 0 sur le plus bas. C'est la valeur défaut. C'est à dire que quand nous avons connecté les deux, grâce à ce plus bas sur le plus bas sur le plus bas sur le plus bas sur le plus bas sur le plus bas, c'était un niveau défaut. Ok, pour vous ? Allez-y pour le plus bas. Donc, cette fois-ci, le plus bas est dans le plus bas. Et vous avez un sur le plus bas et un 0 sur le plus bas. Nous avons encore trouvé ce qu'on appelle le G state dans le plus bas. Ok, maintenant, nous allons juste parler de car state en G state. Et dépendant d'où vous êtes dans le plus bas, ou si vous êtes dans le plus bas, vous pouvez juste switcher la valeur sur la ligne. C'est juste une convention pour discuter ensemble. Donc, le G state dans la ligne. Ok. Et ce qu'on appelle le car state, quand nous sommes en G state, nous sommes en défaut. Si vous n'étendez pas les transceivers, alors la ligne d'hôte va conduire à la ligne 21, donc la ligne d'héminus. Et ensuite, nous allons avoir un cas state qui pourrait être visible sur le bus. Juste d'expliquer que, après, quand vous avez le plus bas et le plus bas, vous utilisez les transceivers pour mettre le niveau de ce que vous voulez vendre. Avez-vous perdu quelqu'un ? Ne vous hésitez, je veux dire... Non ? Ok, sur la connexion. Donc, par défaut, nous sommes en connexion. Nous avons cette pull-up, nous avons des informations là-bas. Comment nous détectons que nous sommes connectés ? Quand nous sommes connectés, nous pouvons trouver le pull-up qui est juste un set. Donc, nous avons un G state qui est sur l'hôte. Donc, nous détectons que le dévice est connecté. Comment le dévice sait que c'est connecté ? C'est connecté par le bus. Parce qu'il a reçu 5 volts sur l'autre pin, ce qui n'est pas symbolisé ici. C'est la façon dont notre dévice détecte qu'il a connecté à l'hôte. Ou peut-être qu'il est self-power, c'est-à-dire qu'il est poweré par ce bus, ou qu'il pourrait avoir un external power. Donc, c'est dépendant. Donc, c'est le connect de la pull-up. Je ne sais pas, donc, sur le connect, sur l'autre side, si vous vous connectez, vous avez 2 levaux à 0. C'est une façon pour l'hôte d'understand que le dévice a été connecté. Donc, c'est vraiment basique, juste sur les levaux. Sur 3 sets. Donc, il y a une possibilité pour l'hôte de dire que le dévice resets. C'est-à-dire qu'il commence de la première fois. Réalisez-vous. Faites tout ce que vous voulez. Le 3 sets pour votre dévice. Ce sera fait par les deux lignes à 0. C'est une violation du niveau différentiel que nous avons discuté ensemble. Et, en tant que nous détectons ce niveau pour plus de 10 secondes, le dévice sait qu'il faut le reset. Juste de ne pas que l'hôte ait les capacités de dire que le dévice resets. Détendez-vous à l'hôte. Ok, c'est un peu compliqué. Tout d'abord, nous avons toujours connecté à la fin de l'hôte. Et si le dévice a la capacité d'aller à l'hôte, il va faire des tests protocoliques avec l'hôte. C'est-à-dire qu'il va dire à l'hôte, ok, je vais essayer de parler plus vite. Et à l'hôte, on va dire ok, vous voulez parler plus vite, on va essayer de faire ça. C'est une chose spéciale que c'est la forme spéciale et la check, un peu compliquée, je dirais. On comprend souvent que l'hôte est complètement différente plus que par voltage. Donc ici, je dirais c'est un peu plus compliqué. Le transceiver est dupliqué. C'est-à-dire que vous avez un transceiver spécial quand vous êtes en high speed. Vous avez un receiver spécial pour l'high speed 1, parce que c'est en current. Donc vous avez ce genre de choses. Donc il reste le même pour détecter si vous êtes en high speed. Et puis, alors vous êtes en high speed. Et puis le dévice dit ok, je vais essayer de parler avec vous en high speed. Et puis sur l'autre côté, l'hôte va détecter ce niveau et elle va aussi essayer de vendre un cas state en high speed. Et après, il y a un genre de switch que vous devez vérifier si ça marche. Si ça ne marche pas, il va falloir dans l'hôte en full speed ou en low speed. Donc, vous devez juste garder en compte cette capacité pour aller en high speed. C'est une réquestion du dévice. Dès qu'on a eu ces capacités, vous voulez faire ça, d'un point de vue hardware et l'hôte a juste testé. C'est ok pour tout le monde ? Ok. USB Type-C et Power Delivery. Donc, juste un couple de mots. Et nous avons un spécial délicaté sur ce que vous pouvez voir. Vous pouvez voir le nombre de pins. Mais nous avons encore notre déploiement plus ou moins ici. Nous avons encore notre véber sur le terrain. Mais nous avons beaucoup d'autres pins. Ce n'est pas adressé par notre producte STM32 aujourd'hui. Nous avons un GZero qui arrive avec l'hôte Power Delivery. Cela signifie qu'il y a des pins qui ont besoin d'aide pour négocier la Power Delivery. Le GZero ne pas faire cette Power Delivery, pour sûr. Nous n'avons pas pu générer un 5V avec nos microcontrollers. Ce n'est pas magique. Mais nous pouvons utiliser un peu d'aide pour avoir cette Power Delivery. Donc, c'est quelque chose de nouveau. Sur le UTG, j'ai déjà donné vous un petit mot sur ça. Nous avons un additionnel pin qui vous permet de changer le rôle de l'hôte. Ce n'est pas supporté par notre software libraire. C'est-à-dire, si vous voulez remplir un peu de mécanismes, vous devez développer l'hôte ou demander à quelqu'un d'autre pour vous aider. Nous sommes capables de notre hardware. Mais pas de software.