Accueil > Forum > contrôleurs SlimLine e Netsyst (LogicLab) > Connectez les périphériques I2C au bus d'extension SlimLine
- Ce sujet a 9 réponses, 6 participants et a été mis à jour pour la dernière fois il y a 4 ans da Sergio Bertana.
-
auteurPost
-
Juin 5, 2017 à 12: pm 07 #35657RubenPartecipante
J'ai besoin d'interface à un SlimLine un périphérique I2C fonctionnant sous 3.3V. J'aimerais savoir si c'est SlimLine a des résistances de tirage internes à 5V, ou si je peux utiliser des résistances de tirage externes à 3.3 Volts.
Juin 5, 2017 à 12: pm 15 #36634Sergio BertanaAdministrateur du forumLe bus d'extension de systèmes I2C SlimLine est à 5 Volts, le circuit interne a déjà les résistances de rappel pour les signaux d'horloge et de données. Si vous utilisez des appareils 5 Volts, vous pouvez les connecter directement au bus d'extension comme indiqué dans le Manuel de référence du matérielSi votre appareil 3.3 Volts tolère 5 Volts, vous pouvez le connecter directement, sinon vous devez utiliser un traducteur de niveau I2C (exemple un PCA9507) comme celui indiqué dans le manuel.
Février 16, 2018 à 10: 19 am #40030FabioPartecipanteDans un autre article, je me suis rendu compte que le bus d'extension I2C n'était pas compatible avec d'autres instruments que les cartes d'extension. Elsist. Pouvez-vous me donner des informations?
Février 17, 2018 à 7: 28 am #40031Sergio BertanaAdministrateur du forumLe bus d'extension système SlimLine et systèmes Netsyst est un bus I2C standard, il est donc possible d’interfacer tout appareil avec l’interface I2C. Le bus fonctionne à une fréquence de 400KHz. Les périphériques doivent donc prendre en charge cette fréquence de communication.
Dans la bibliothèque de fonctions supportée par LogicLab, il y a la fonction SysI2CWrRd (Extrait manuel) qui vous permet de lire et d'écrire des données sur les appareils connectés au bus. Dans le forum, vous trouverez plusieurs sujets qui traitent du sujet avec des exemples de projets pour la gestion de modules commerciaux. Dans ce sujet, un programme pour gérer un PIO PCF8574. en ce sujet un programme pour gérer l'écran LCD SainSmart compatible Arduino.
Probablement votre confusion est née de questo poste où nous avons affaire à l'argument opposé, à savoir la possibilité de gérer nos modules d'extension à partir d'un module CPU maître I2C propriétaire. Dans ce cas, même si le bus I2C est standard, le protocole de communication entre le CPU et les modules d'extension est une solution propriétaire pour laquelle nous ne fournissons pas les spécifications.
Février 23, 2018 à 12: pm 13 #39969StefanoPartecipanteJ'ai trouvé ce projet intéressant par rapport à un encodeur rotatif sur bus I2C. Il peut y avoir des contre-indications lors de son utilisation sur le bus d'extension SlimLine ? Plus comme une longueur maximale de connexions.
Février 28, 2018 à 3: pm 44 #39967Sergio BertanaAdministrateur du forumNous ne donnons pas une distance maximale pour le bus I2C, parmi les nôtres câbles d'extension vous pouvez également trouver le câble de 1 mètre. Bien sûr, ce sont des câbles terminaux, vous ne pouvez donc en utiliser qu'un à la fin du bloc de modules (tous interconnectés les uns avec les autres avec les câbles d'extension). , il est clair que dans un laboratoire où il n'y a pas de perturbations je peux beaucoup allonger le câble, alors que dans un environnement industriel (environnement où nos produits fonctionnent habituellement) je dois être beaucoup plus prudent (Sujet).
Octobre 11, 2019 à 2: pm 26 #50187Sergio.ghirardelliPartecipanteJ'ai téléchargé LogicLab, mais la fonction SysI2CWrRd il n'est pas présent dans les bibliothèques. J'ai vu qu'il fait partie de la bibliothèque XTarget_07_0, mais il n'est pas possible de le télécharger depuis le site. Est-il possible de le trouver d'une manière ou d'une autre?
Octobre 11, 2019 à 2: pm 33 #50192Sergio BertanaAdministrateur du forumToutes les fonctions objets et FB dont le nom commence par Sys, ils sont des objets système, donc ils sont embedded et donc inhérentes au système d'exploitation sont toujours disponibles.
Le fait qu’il soit indiqué XTarget_07_0 signifie qu’il était déjà disponible à partir de cette version de target; nous en sommes aujourd’hui à XTarget_12.
A voir si vous ouvrez la fenêtre des bibliothèques incorporées dans LogicLab <Ctrl-L> ou menu View -> Tool Windows -> Operators and blocks vous verrez que vous le trouvez. En positionnant la souris sur l'objet, vous pouvez le faire glisser dans le projet et avec l'objet sélectionné le bouton [F1] ouvre le manuel sur la page contextuelle.
Mars 27, 2020 à 10: 47 am #54305AlicePartecipanteJ'ai besoin de connecter plusieurs esclaves I2C qui partagent la même adresse (0x44) à la même SlimLine.
Je pensais utiliser un multiplexeur I2C comme le TCA9548A, auquel cependant je dois envoyer un octet avec l'adressage (1 bit haut de 0 à 7) pour spécifier le canal que j'utilise. Y a-t-il un moyen de faire ça? ou existe-t-il une alternative à l'utilisation du multiplexeur?
Mars 27, 2020 à 10: 52 am #54344Sergio BertanaAdministrateur du forumJe n'ai jamais utilisé de multiplexeurs I2C comme celui que vous mentionnez, mais en lisant la fiche technique, je semble comprendre que le multiplexeur utilise une adresse I2C pour sa gestion.
Donc pas de problème, exécutez une commande d'écriture de 1 octet sur l'adresse I2C du multiplexeur en indiquant le canal que vous souhaitez activer. A partir de ce moment, toutes les commandes I2C seront envoyées sur le canal adressé.
Alternatives ... Si les composants que vous utilisez ont une broche d'activation, vous pouvez tous les mettre en parallèle sur le bus I2C et vous devrez ensuite gérer (peut-être avec un PIO I2C) les différentes commandes d'activation.
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.