GNU/Linux >> Tutoriels Linux >  >> Linux

Port série Raspberry Pi

Je suis tout à fait convaincu que le problème est que le Pi n'a pas d'interface RS232, alors que l'écran en a.

Le Pi a une interface (LV-)UART, sa broche TX sort 0V pour un 0 logique et 3.3V pour un 1 logique . C'est assez facile à mettre en œuvre, puisque 3.3V est déjà disponible sur le Pi. Mais cela ne fonctionne que pour les communications sur un seul circuit imprimé ou au sein d'un seul appareil.

Pour la communication entre appareils sur de plus longues distances, un système moins sujet aux signaux parasites comme le RS232 est utilisé. Alors que la structure logique de la forme d'onde (débit binaire, synchronisation, démarrage, arrêt, parité et bits de données) est la même que pour UART, les niveaux de tension sont de -15 V à -3 V pour un 1 et +15V...+3V pour un 0 logique . Cela signifie qu'il n'y a pas seulement des tensions plus élevées (et négatives), leur sens est également inversé.

Donc, si l'écran attend des niveaux RS232 et obtient ces niveaux de 3,3 V du Pi, il ne reconnaît généralement pas les données, et si c'est le cas, ce ne sont souvent que des ordures.

Et bien sûr, si vous connectez RX et TX de la même interface, vous obtenez ce que vous attendez.

Mais :si la sortie RS232 TX n'est pas limitée en courant, cela pourrait même endommager votre Pi !

Il existe des cartes de conversion UART vers RS232, mais si vous aimez souder, les cartes ne contiennent qu'un MAX3232 (plus quatre condensateurs). Ce circuit intégré génère également les niveaux de tension supérieurs (et négatifs) à partir de la tension d'alimentation de 3,3 V du Pi.

Le plus courant est le MAX232 (devinez pourquoi il s'appelle ainsi), mais il est destiné à un fonctionnement en 5 V et non en 3,3 V.

Enfin, comme l'UART et le RS232 utilisent la même structure logique, il n'est souvent pas distingué entre les deux, notamment par les logiciels (programmeurs). Ils sont souvent simplement appelés "interface série", bien qu'il existe d'autres interfaces comme I²C et SPI, qui sont un type d'interface série, mais jamais considérées comme "l'interface série".


Le port série Raspberry Pi intégré utilise des niveaux de tension de 0 à 3,3 volts, comme décrit ici. Le convertisseur USB vers série et votre écran utiliseront des niveaux de tension RS232 de nominalement -15V à +15V, avec un minimum de -3V/+3V. Vous devez convertir entre ces deux niveaux.

Le port fonctionnera lorsqu'il sera rebouclé car les tensions de sortie et d'entrée sont compatibles.


Linux
  1. Port série virtuel pour Linux

  2. Comment puis-je surveiller les données sur un port série sous Linux ?

  3. Comment ouvrir le port série sous Linux sans changer de broche ?

  4. Comment ouvrir, lire et écrire à partir du port série en C ?

  5. Comment puis-je surveiller le trafic du port série ?

Comment trouver quel port série est utilisé ?

Linux - Comment trouver des processus utilisant le port série ?

Configurer un port série avec Virtualbox sur Ubuntu (OS invité :Windows Xp) ?

Créer une connexion de port série virtuel sur TCP

Comment savoir quel /dev/ttyS* est mon port série ?

Lire/écrire sur un port série sans racine ?