el 10-04-2011 12:30 PM
Hola amigos de NI
Estoy intentando construir una señal prbs en labview 2009 para poder sacarla mediante una tarjeta, cualquiera de las siguientes: pci 6221 37 pins, pci 6025E o usb6008, (no se si sea posible). Me interesa sacar esta señal para poderla reproducir mediante el uso de un relevador.
Desconozco si sea posible programarla y como podria comenzar a construirla
Les adjunto una imagen del diagrama de la señal prbs que me interesa.
Saludos!
el 10-10-2011 12:04 PM
Hola Merit que problema estas teniendo al generar tu señal? En general lo que necesitas para lograr esto es utilizar shift registers, mediante estos puedes pasar el valor de una iteración a otra y funcionan como un retraso, este retraso lo puedes utilizar para generar el comportamiento que estas buscando.
Ahora el principio básica de manejar la salida con las tarjetas que tienes lo puedes hacer incluso con la 6008 la única consideración que tienes que tener es que la salida de esta es temporizada por software lo que puede hacer que tu señal no dure lo mismo entre cada escritura, también lo mas rápido que lo puedes temporizar es 1ms , con la 6221 esta tiene salidas digitales correlacionadas que puedes escribir hasta 1Mhz.
Saludos
el 10-10-2011 07:05 PM
Hola!
Si mira, estoy tratando de construir esa señal empleando shift registers pero tengo dificultades para construirla, se que no es dificil por que estuve viendo un tutorial sobre linear systems que esta en su pagina, sin embargo no puedo echarlo andar. Ojala pudieras echarme la mano construyendo ese pequeño ejemplo para asi poderme dar una idea.
Gracias por tu ayuda!
el 10-25-2011 08:27 AM
Hola Benjamin
Gracias por tu pronta respuesta. Entonces de acuerdo a lo que me dices lo mas indicado es construir mi señal con los shift registers y despues que este lista mandarla por una salida digital?. Lo anterior por las razones que me comentas. He estado construyendo mi señal sin embargo no obtengo lo que espero, podrias mandarme un ejemplo en labview con un shift register??
saludos!!
el 10-26-2011 09:58 AM
Hola Merit que problema te está generando? Una cosa importante es inicializar tus shift registers para tu ejemplo en particular por lo menos uno de los shift registers debe de estar inicializado con un verdadero, o no te va a generar ninguna señal. También tienes que controlar la ejecución de tu ciclo ya que si no va a correr a la velocidad máxima de tu sistema, y no vas a ver tu señal.
Ahora dependiendo de qué tarjeta estés utilizando para generar los datos, puedes usar la temporización de la tarjeta para controlar el ciclo o controlar el tiempo como en este caso con un wait, en el cual el periodo mínimo del ciclo es de 1ms.
Te agrego un ejemplo sencillo para la señal que pusiste. Un shift register lo puedes expandir para generar retrasos adicionales y lo mismo puedes hacer con los feedback nodes. Para configurar el feedback node puedes dar click derecho en propiedades y decir cuánto retraso agregar (en este caso la dirección del Shift register esta cambiada para que se entienda mas fácil, por default están viendo en la otra dirección.
Saludos
el 10-26-2011 11:27 AM
hola Benjamin
Podrias por favor enviarme el programa en la version 9 de labview? pues tuve problemas para abrirla.
Saludos!
el 10-26-2011 11:31 AM
Hola Merit aquí esta en versión 9 por eso también agregue la imagen por si tenias problemas, esa imagen le puedes hacer drag and drop a LabVIEW y te agrega el código.
Saludos
el 10-27-2011 10:07 AM
Hola Benjamin!
Gracias por el codigo, ya lo corri y corrio sin ningun problema. Ahora mi pregunta es: ¿como hacer que esa señal salga por una salida digital o analogica. ya que me interesa observarla con un osciloscopio?.
Saludos!
el 10-27-2011 10:52 AM
Hola Merit ahí depende de hardware estés utilizando, si estas usando una de nuestras tarjetas de adquisición de datos podrías usar el vi de DAQ Assistant, o ver los ejemplos en Help >> Find Examples , en task selecciona Hardware Input Output>>DAQmx>>Digital Generation
También este tutorial te puede ser de utilidad:
Complete Data Acquisition Tutorial
Saludos
el 10-28-2011 12:15 PM
Hola Benjamin!
Gracias por la infomacion que me enviste. Estoy empleando una tarjeta 6221 de 37 pines. El ejemplo que me enviaste lo estuve tratando de adaptar al ejemplo que viene en <help> <find examples> <hardware input and output> <digital generation> <Write Dig Chan-Ext Clk>. Sin embargo no tengo idea como hacer el arreglo de valores que me arroja la rutina que me enviaste y ese mismo arreglo sacarlo por la salida digital.
Tambien estuve revisando un documento de sistemas lineales que manejan en su pagina y algunos ejemplos no los puedo correr como indican en las figuras, especialmente hablando de los ciclos while. No se si ese tutorial que te menciono y te adjunto podria ayudarme a implementar la aplicacion que estoy intentando construir. Surge mi duda por que en mi caso estoy manejando valores digitales.
Saludos!