LabView - Enviar datos en forma serie a un DAC serie con Lab

   
Vista:

Enviar datos en forma serie a un DAC serie con Lab

Publicado por Federico (3 intervenciones) el 08/07/2008 23:08:41
Hola a todos:
Necesito escribir datos digitales a un conversor digiat/analógico (DAC) cuya entrada de datos digitales es serie. Se necesitan tres señales para esto: una es el dato, y dos son de control (reloj y carga de dato). El DAC es el TLC5620CN. No puedo usar el puerto RS232 dado que se utiliza para otra cosa. El dato digital a escribir en el DAC se obtiene de un controlador PID.
Estoy usando Labview 5.1 qe corre en un windows 95 sobre un AMD K6. No tengo ninguna placa especial. Solo una Placa de Entradas/Salidas (E/S) digitales que está en un slot ISA (EISA) de la PC. Para obtener un bit uso la función ouport.vi. Con dicha función escribo 8 bits al mismo tiempo en una dirección de memoria que corresponde a la placa de E/S. Por lo que se podrían usar 3 de los 8 bits para obtener las tres señales que comandan al DAC.
Resumiendo, la idea general es:
1) Tengo la salida del controlador PID, la cual es una variable del tipo entero.
2) Debo obtener la representación binaria de la salida entera del PID. La representación binaria debería tener 8 bits, que es el tipo de dato que manejará el DAC.
3) Una vez obtenido el número binario a escribir en el DAC, deberé enviar bit a bit dicho número en forma serie escribiendo en la salida usando la función ouport.vi. Deberé usar 8 veces seguidas dicha función para enviar los 8 bits de la salida del PID.

¿Es posible realizar esta idea general? Puedo realizar el paso 2) usando la función "number to boolean array". ¿Pero cómo puedo lograr el paso 3)? Si tengo un array de bits booleanos, ¿cómo puedo enviarlos bit a bit en forma controlada a través de la placa E/S? Hay funciones de manipulación de datos como "swap bytes", "shift with carry", pero trabajan con variables enteras, no con array de bits.
Quizás haya alguna otra forma de realizar esto que no me doy cuenta.
¿Alguien podría ayudarme con esto, por favor?
Muchas gracias,
fgf
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder