Inicio > Foro > controladores SlimLine e Netsyst (LogicLab) > Conecte dispositivos I2C al bus de expansión SlimLine
- Este tema tiene 9 respuestas, 6 participantes y se actualizó por última vez Hace años 4 da Sergio Bertana.
-
autorPublicación
-
Junio 5, 2017 en 12: 07 pm #35657Rubenpartícipe
Necesito interactuar con uno SlimLine un dispositivo I2C que funciona en 3.3V. Me gustaría saber si es SlimLine tiene resistencias pull-up internas en 5V, o si puedo usar resistencias pull-up externas a 3.3 Volts.
Junio 5, 2017 en 12: 15 pm #36634Sergio BertanaAdministrador del foroEl bus de expansión de sistemas I2C SlimLine está a 5 Voltios, el circuito interno ya tiene las resistencias pull-up para las señales de Reloj y Datos. Si utiliza dispositivos de 5 voltios, puede conectarlos directamente al bus de expansión como se muestra en la Manual de referencia de hardwareSi su dispositivo de 3.3 Voltios es tolerante a 5 Voltios puede conectarlo directamente, de lo contrario debe usar un traductor de nivel I2C (Ejemplo un PCA9507) como el indicado en el manual.
Febrero 16, 2018 en 10: 19 am #40030FabiopartícipeEn otro post me di cuenta de que el bus de expansión I2C no era compatible con otros instrumentos que las tarjetas de expansión Elsist. ¿Me puede dar alguna información?
Febrero 17, 2018 en 7: 28 am #40031Sergio BertanaAdministrador del foroEl bus de expansión del sistema SlimLine y sistemas Netsyst es un bus I2C estándar, por lo que es posible interconectar cualquier dispositivo con la interfaz I2C. El bus funciona con una frecuencia de 400KHz, por lo que los dispositivos deben admitir esta frecuencia de comunicación.
En la biblioteca de funciones admitida por LogicLab está la función SysI2CWrRd (Extracto manual) que le permite leer y escribir datos en los dispositivos conectados al bus. En el foro encontrarás varios temas que tratan el tema con proyectos de ejemplo para la gestión de módulos comerciales. En este tema, un programa para administrar un PIO PCF8574. en este tema un programa para administrar la pantalla LCD SainSmart compatible con Arduino.
Probablemente tu confusión nació de questo mensaje en lo que se refiere al argumento contrario, a saber, la posibilidad de gestionar nuestros módulos de expansión desde un módulo de CPU I2C maestro propietario. En este caso, incluso si el bus I2C es estándar, el protocolo de comunicación entre la CPU y los módulos de expansión es una solución propietaria para la cual no proporcionamos las especificaciones.
Febrero 23, 2018 en 12: 13 pm #39969StefanopartícipeEncontré este interesante proyecto relativo a un codificador rotatorio en el bus I2C. Puede haber contraindicaciones al usarlo en el bus de expansión SlimLine ? Más como una longitud máxima de conexiones.
Febrero 28, 2018 en 3: 44 pm #39967Sergio BertanaAdministrador del foroNo damos una distancia máxima para el bus I2C, entre los nuestros cables de expansión también puedes encontrar el cable de 1 metro. Por supuesto, estos son cables terminales, por lo que solo puede usar 1 al final del bloque de módulos (todos interconectados entre sí con los cables de extensión). Dicho esto, la distancia depende mucho del "ruido" eléctrico en el que se encuentre el cable del bus. , está claro que en un laboratorio donde no hay perturbaciones puedo alargar mucho el cable, mientras que en un entorno industrial (Entorno donde suelen operar nuestros productos) tengo que tener mucho más cuidado (Tema).
Octubre 11, 2019 en 2: 26 pm #50187Sergio.ghirardellipartícipeDescargué LogicLab, pero la función SysI2CWrRd no está presente en las bibliotecas. Vi que es parte de la biblioteca XTarget_07_0, pero no es posible descargarlo del sitio. ¿Es posible encontrarlo de alguna manera?
Octubre 11, 2019 en 2: 33 pm #50192Sergio BertanaAdministrador del foroTodas las funciones de objetos y FB cuyo nombre comienza con Sys, son objetos del sistema, por lo que son embedded y por lo tanto ser inherente al sistema operativo siempre están disponibles.
El hecho de que se indique XTarget_07_0, significa que ya estaba disponible desde esa versión de destino, hoy estamos en XTarget_12.
Para verlo si abre la ventana de las bibliotecas integradas en LogicLab <Ctrl-L> o menú View -> Tool Windows -> Operators and blocks verás que lo encuentras. Posicionando el ratón sobre el objeto puedes arrastrarlo al proyecto y con el objeto seleccionado el botón [F1] abre el manual en la página contextual.
Marzo 27, 2020 en 10: 47 am #54305AliciapartícipeNecesito conectar varios esclavos I2C que comparten la misma dirección (0x44) a la misma SlimLine.
Estaba pensando en usar un multiplexor I2C como el TCA9548A, al que sin embargo tengo que enviar un byte con el direccionamiento (1 bit alto de 0 a 7) para especificar qué canal estoy usando. ¿Hay alguna forma de hacer esto? ¿O existe una alternativa al uso del multiplexor?
Marzo 27, 2020 en 10: 52 am #54344Sergio BertanaAdministrador del foroNunca he usado multiplexores I2C como el que usted menciona, pero al leer la hoja de datos parece que entiendo que el multiplexor usa una dirección I2C para su gestión.
Así que no hay problema, ejecute un comando de escritura de 1 byte en la dirección I2C del multiplexor que indique qué canal desea activar. A partir de este momento, todos los comandos I2C saldrán por el canal direccionado.
Alternativas ... Si los componentes que utiliza tienen un pin de habilitación, puede ponerlos en paralelo en el bus I2C y luego tendrá que administrar (tal vez con un PIO I2C) los distintos comandos de habilitación.
-
autorPublicación
- Debe iniciar sesión para responder a este tema.