10
votes

Pourquoi GPIOS est-il utilisé?

Je cherche autour de [en vain] pour de bonnes liens / sources pour aider à comprendre GPIOS et pourquoi ils sont utilisés dans des systèmes embarqués. Quelqu'un peut-il s'il vous plaît me signaler?


4 commentaires

Que voulez-vous savoir que ce n'est pas couvert par la page Wikipedia?


electronics.stackexchange.com/questions


@Anon: Eh bien, pour commencer, pourquoi est-il utilisé au lieu de fournir des broches dédiées au microprocesseur?


Le même processeur intégré est utilisé pour de nombreux systèmes intégrés différents - la production d'un million de processeurs d'un type est beaucoup moins cher que de cent mille chacun de dix processeurs différents. Les épingles IO des usages généraux rendent beaucoup plus facile à repuposer pour diverses utilisations.


4 Réponses :


21
votes

Dans tout système utile, la CPU doit avoir un moyen d'interagir avec le monde extérieur - que ce soit des lumières ou des sons présentés à l'utilisateur ou aux signaux électriques utilisés pour communiquer avec d'autres parties du système. Une broche GPIO (entrée d'entrée / sortie) GPIO vous permet d'obtenir une entrée pour votre programme de l'extérieur de la CPU ou de fournir une sortie à l'utilisateur.

Certaines utilisations pour GPIOS en tant qu'entrées:

  • Le bouton de détection appuie sur
  • Recevez des demandes d'interruption d'appareils externes

    Certaines utilisations pour GPIOS en tant que sorties:

    • clignoter une LED
    • SOUND UN BONZZER
    • Contrôle de la puissance pour les périphériques externes

      Un bon cas pour un GPIO bidirectionnel ou un ensemble de GPIOS peut être de "bit-bang" un protocole que votre SOC ne fournit pas de manière natale. Vous pouvez rouler votre propre spi ou i 2 C interface, par exemple.


0 commentaires

7
votes

La raison pour laquelle vous ne pouvez pas trouver une réponse est probablement parce que si vous savez quel système intégré est et fait, voire quelque chose sur les systèmes électroniques numériques, la réponse est plutôt trop évidente pour écrire! C'est-à-dire que si vous obtenez aussi loin que vous mettez en œuvre un système embarqué de travail, vous devez déjà savoir ce qu'ils sont.

Les broches GPIO sont au minimum, deux I / O logique numérique d'état. Dans la plupart des cas, certains ou tous peuvent également être des sources d'interruption. Ces interruptions peuvent avoir des options pour augmenter, tomber, dual bord ou déclenchement de niveau.

Sur certaines cibles Les broches GPIO peuvent avoir des circuits de sortie configurables pour permettre, par exemple, des pull-ups externes à omettre, ou d'autoriser la connexion à des périphériques nécessitant des sorties à collecteur ouvert, et même dans certains cas, même pour fournir un filtrage de haute bruit de fréquence et problèmes.


0 commentaires

4
votes

Dans la plupart des systèmes embarqués, un processeur sera finalement responsable de la détection de l'état de divers périphériques qui traduisent des stimuli externes aux tensions logiques au niveau numérique (par exemple, lorsqu'un bouton est poussé, une broche ira faible; sinon il va s'asseoir ), et contrôler les périphériques qui traduisent des tensions de niveau de logique directement en action (par exemple, lorsqu'un code PIN est élevé, une lumière continuera; une fois faible, cela va s'éteindre). Auparavant que les transformateurs n'avaient pas d'E / S à usage général, mais devraient utiliser un bus partagé communiquer avec des périphériques pouvant traiter les demandes d'E / S et définir ou signaler l'état des circuits externes. Bien que cette approche n'ait pas été entièrement sans avantages (un processeur pouvait surveiller ou contrôler des milliers de circuits sur un bus partagé), il était gênant dans de nombreuses applications du monde réel.

Bien qu'il soit possible pour un processeur de contrôler n'importe quel nombre d'entrées et de sorties à l'aide d'un bus SPI à quatre fils ou même d'un bus I2C à deux fils, le nombre de signaux qu'un processeur devra surveiller ou contrôlera. suffisamment petit qu'il est plus facile de simplement inclure le circuit pour surveiller ou contrôler certains signaux directement sur la puce elle-même. Bien que le matériel d'interfacturation dédié aura souvent des goupilles uniquement des sorties ou des entrées (la personne qui choisit les puces d'interface matérielle saura savoir combien de signaux doivent être surveillés et combien de personnes doivent être contrôlées), une famille de processeur particulière peut être utilisée. dans certaines applications qui nécessitent, par exemple 4 entrées et 28 sorties et autres applications nécessitant 28 entrées et 4 sorties. Au lieu de demander que différentes parties soient utilisées dans des applications avec des soldes différents entre les entrées et les sorties, il est plus simple de simplement avoir une partie avec des entrées pouvant être configurées en tant qu'entrées ou sorties, au besoin.


0 commentaires

2
votes

Je pense que vous l'avez à l'envers. GPIO est la valeur par défaut dans l'électronique. C'est un code PIN, un signal, qui peut être programmé. Tout est composé de ceux-ci. Pour un processeur, les périphériques dédiés sont un cas particulier, ils sont des extras pour quand vous savez que vous souhaitez une fonction plus limitée.

Dans une perspective des fabricants de puces, vous ne savez souvent pas exactement ce que l'utilisateur a besoin pour que vous ne puissiez pas faire les périphériques exacts sur votre puce. Vous faites des génériques à la place. De nombreuses applications sont si rares qu'il n'y a pas de marché pour une puce spécifique. La seule chose que vous pouvez faire est d'utiliser GPIO ou de créer vous-même un quincaillerie spécifique. En outre, toutes les épingles (non utilisées ou potentiellement inutilisées) méritent d'être transformées en GPIO car cela rend la pièce encore plus générique et réutilisable. Générique et réutilisable est très presque tout le point de copeaux programmables, sinon vous feriez des ASIC.

Certaines applications particulièrement appropriées:

  • Pièces de réinitialisation (chips) dans un système
  • interface pour commutateurs, claviers, feux (tout ce qu'ils ont est un code PIN / signal!)
  • Contrôler des charges avec des relais ou des commutateurs semi-fondotor (On-Off)
    • solénoïde, moteur, chauffage, vanne ...
    • Obtenez des interruptions de signaux simples
      • thermostats, interrupteurs de fin de course, détecteurs de niveau, périphériques d'alarme ...

        BTW, l'hélice de Parallaxe n'a pratiquement rien que des broches GPIO. Les périphériques sont fabriqués dans des logiciels. Cela fonctionne très bien pour de nombreuses utilisations.


0 commentaires