Estoy construyendo una placa que controla los controladores de motores paso a paso externos que tienen optoaisladores (con resistencias integradas, están diseñadas para funcionar con 5 V y consumir 13 mA en sus entradas). Como las tarjetas externas están conectadas a través de cables que pueden desconectarse o cortocircuitarse accidentalmente, me gustaría verificar que haya un LED conectado en el otro lado. Las señales se generan desde un FPGA, por lo que tengo un poco de flexibilidad en la implementación.
Idea 1: IC del controlador LED de 16 salidas con corriente constante y detección de fallas
Esto integra todo en un solo paquete, pero parece que todos estos CI necesitan que los datos se desplacen en serie (lo que reduce la cantidad de E / S requeridas, pero agrega complejidad en el diseño de FPGA). Parecen detectar fallos solo cuando el canal está activo, lo que probablemente sea lo suficientemente bueno, pero podría mejorarse. No estoy seguro de qué tan bien detectan fallas si hay una resistencia en serie.
Idea 2: Controlador de 16 canales, Medición de corriente de alta impedancia, Comparadores
Un controlador emite una señal de 0 o 7V, una caída de 2V en una resistencia en serie, luego el voltaje se compara con 6V y 4V. Por encima de 6 V, la conexión parece estar abierta, por debajo de 4 V, la conexión parece estar en cortocircuito. La resistencia en serie protege al conductor.
Lógica bastante simple, detecta fallas mientras el LED está encendido. El inconveniente es que requiere 48 pines IO en el FPGA y 32 comparadores (pero deberían existir bancos de comparadores) para una condición de error que esencialmente nunca debería ocurrir.
Idea 3: "Open-Collector"
Un colega sugirió un sistema de colector abierto, donde correría los pines IO esencialmente en modo bidireccional, y manejaría 0V o iría a Z alto, a la cual la corriente fluiría hacia el LED a través de una resistencia pull-up, sin embargo Todavía no he entendido bien cómo podría detectar una conexión rota de esta manera (los cortocircuitos son fáciles: al no presionar hacia abajo, puedo configurar el IO en el modo de entrada y verificar que esté alto). Las conexiones rotas son más probables que los cortocircuitos en el cableado.
¿Existen enfoques más simples sobre cómo podría controlar 16 optoaisladores y detectar fallas de cableado en el camino hacia ellos?