Configure el Dispositivo NI para que sea "Open-Drain (Open Collector)" o "Push-Pull (Active Drive)"

Actualizado el Jul 27, 2023

Ambiente

Hardware

  • USB-6000
  • USB-6501
  • USB-6001

Controlador

  • NI-DAQmx

¿Qué es el open-drain y el push-pull? Además, ¿cómo configuro las líneas de salida digital de mi dispositivo NI para que sean Open-Drain (Open Collector) o Push-Pull (Active Drive)?

Primero, debe consultar el manual de usuario de su dispositivo para asegurarse de que su dispositivo sea compatible con Open-Drain (Open Collector or sinking) o Push-Pull (Active Driver or Sourcing). El manual del usuario también debe contener el estado predeterminado para su dispositivo.

Nota: No todos los dispositivos NI-DAQ pueden configurarse como sinking or sourcing. La mayoría de los dispositivos enumerados como dispositivos digitales de sinking/sourcing bidireccionales deben conectarse de una manera particular para que funcionen como dispositivos de sourcing o de sinking, como se explica en el artículo: Configuración de los módulos NI 940x para salidas digitales de sinking o sourcing (en inglés). Consulte el manual de usuario de su dispositivo para obtener más información sobre el cableado correcto de las líneas digitales.

A continuación, vamos a explicar brevemente qué significa open-drain. El open-drain (MOSFET) o el open-collector (BJT) son circuitos que usan una única resistencia con una resistencia de bajada o de pull-up para hacer una transición de una línea digital entre una alta y una baja. Básicamente, el circuito tiene una resistencia entre el camino a tierra o el camino a 5V. Entonces, cuando el transistor está fuera de línea, la línea flotará hacia el voltaje alto o bajo.

Consideremos el caso de usar un BJT con una resistencia de pull-up. Durante un alto, hay 0V a la base del BJT. Esto causa un circuito abierto en el BJT que hace que la línea sea elevada por el pull-up a 5V. Con una carga de alta impedancia, debería ver un total de 5 V a través de la carga (el pull-up es 4.7k Ohm). Durante un mínimo, hay 5V generados a la base del BJT. Esto corta el circuito a tierra y hace que todo el flujo de corriente del circuito de pull-up fluya directamente a tierra. Esto le da el 0V a través de la carga.

El push-pull, también conocido como active-drive, funciona de manera bastante diferente. Este circuito utiliza dos transistores para determinar entre una lógica alta y una lógica baja. Para este sistema, normalmente hay dos BJT, uno de los cuales es un NPN y el otro es PNP. Echa un vistazo al siguiente esquema:

Como puede ver en el circuito Push-Pull, hay dos transistores que se utilizan para controlar la salida entre 5 V y tierra. Cuando Vin está bajo, el BJT inferior estará activado y el BJT superior estará desactivado, lo que resultará en 0V a través de la carga. Cuando Vin está alto, el BJT superior estará activado y el inferior estará desactivado, lo que dará como resultado 5 V a través de la carga.

Nota: El NI-USB 6008 siempre tiene un tipo de salida de open-drain y no se puede cambiar para push-pull.


Usando NI-DAQmx para cambiar a la operación Push-Pull


En LabVIEW puede usar un channel property node para configurar los distintos canales en un dispositivo. Después de colocar el DAQmx channel property node en el diagrama de bloques, haga clic en él y seleccione Digital Output»Output Drive Type como se muestra en el siguiente código de ejemplo.


Haga clic derecho en el nodo de entrada de la propiedad DO.OutputDriveType y vaya a Create»Constant. El término Open Collector es el equivalente a DAQmx de open-drain, y Active Drive es el equivalente a DAQmx de push-pull.

En LabVIEW, la propiedad de canal DO.OutputDriveType no estará visible a menos que el property node del canal DAQmx esté referenciado a un dispositivo que admita diferentes tipos de unidades de salida. Además, puede hacer clic con el botón derecho en la propiedad del canal DAQmx y elegir Select Filter..., y mostrar todos los atributos para ver la propiedad, incluso si no se proporciona la referencia del canal requerida.

Esta funcionalidad funcionará de la misma manera con LabWindows CVI, Microsoft Visual Studio y cualquier otro idioma que se pueda programar con los controladores NI-DAQmx. Para localizar la función requerida, busque el Output Drive Type en la ayuda de la API DAQmx.

Usando la base NI-DAQmx para cambiar a la operación Push-Pull


Si está utilizando NI-DAQmx Base, puede configurar esta propiedad en la NI-DAQmx Base Configuration Utility. No hay manera de establecer la configuración de la unidad de salida mediante programación en NI-DAQmx Base. La utilidad de configuración se puede encontrar en la carpeta NI-DAQmx Base (normalmente, disco duro »Aplicaciones» National Instruments »NI-DAQmx Base en una Mac, o / usr / local / natinst / nidaqmxbase / bin en Linux). Complete los siguientes pasos para cambiar la configuración de la unidad de salida:
  1. Seleccione Create a New Task.
  2. Elija Digital I/O como el tipo de tarea de adquisición y asigne un nombre a la tarea
  3. Después de crear la tarea, seleccione la pestaña Voltage.
  4. En la pestaña Voltage, hay una opción de DIO Voltage Level. Para open-drain, use la opción 0-5V. Para push-pull, use la opción 0-3.3V.

Additional Information

Cambiar esto para que no tenga que volver a configurarlo manualmente está relacionado con el parámetro Power-On States. Consulte el manual de su dispositivo para ver si es compatible con los estados de encendido programables.