Autor Tema: USB y Labview  (Leído 26808 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: USB y Labview
« Respuesta #15 en: 23 de Junio de 2006, 21:39:17 »
Disculparte J1M nunca, tu eres una de las personas que mas ayuda en este foro y que mejor proyectos presenta, y por esa duda pues estaba viendo la forma de evitarlo con todo yo voy a seguir trabajando en eso y ahi te cuento que sucedio

Saludos :wink:
Casi me maté pero ahora estoy de nuevo vivo

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: USB y Labview
« Respuesta #16 en: 02 de Julio de 2006, 22:13:13 »
Hola chicos ... He estado revisando de nuevo la información de USB y he estado divagando de por que al ser un dispositivo que puede llegar a trabajar a 248 MB... la aplicación que realizaste, J1M, esta lenta por mas que le he movido al time out a 1 ms.. y le incorpore un LCD tarda un buen.

Leí en algún documento:
The
Bulk transfer is best suited for bursts of data which may not be time critical, but are error
intolerant.


Isochronous transfers are specifically designed for time sensitive, high bandwidth transfers;

Interrupt transfers, unlike the other pipes, generate an internal flag signaling that a
particular peripheral requires attention. All other transfers immediately push data onto the
bus if there’s room.


Y he revisado las librerías y es claro que pueden editarse la cantidad de BYTES, así como el tipo de comunicación a otra. Sin embargo, hay que editar el archivo,  PicUSB.h , para también cambiar las enumeraciones de los pipes. Y además en las librería,  MPUSBAPI Library Version 1.00, cambiarlas  de tal forma que correspondan todo lo anterior que menciono ( ya sea en Labview o en C#). Que tan factible es esta idea?


Cabria la posibilidad de cambiar en el programa que propones Jaime, PicUSB solo la cantidad de BYTES.  Una forma eficaz de demostrar que no es problema de labview seria conseguir el oscope.exe de la tarjeta de prueba de USB Prototype board. de CCS. Sin embargo no puedo encontrarlo.

Por otra parte cual es la maxima cantidad de BYTES que pueden mandarse por cada "Trama" encontre que:

When communicating with the microcontroller, the data packet structure is a maximum 64
bytes long, with 5 bytes of overhead reserved for the firmware instruction set. See
MCHPFSUSB, the example project from Microchip for more details.


Por cierto toda esta interesante informacion la saque de(Esta en ingles :s):

http://zoo.cs.yale.edu/classes/cs490/05-06b/brown.grober.savvides.pdf

Para las personas que no tienen  muy checado el protocolo esta muy bien el enfoque queda ya que no se mete en cosas muy pesadas.


VAMOS ESPAÑA SON MIS FOVORITOS PARA SER GANADORES EN EL MUNDIAL !!![/b]
« Última modificación: 03 de Julio de 2006, 02:11:50 por pantera »
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: USB y Labview
« Respuesta #17 en: 03 de Julio de 2006, 11:43:04 »
HOla de nuevo!!!

Despuede de leer esa informacion se me vino a la mente revisar el codigo de J1M La cosa es que el codigo tiene un par de detalles insignificantes pero. Simplemente cambie en la parte del modo de SUMA. LLegando todo directamente a un Build Array y quite en los SubVI el Frame cero ya que me parecia que eran innecesarios pero bueno la cosa ya jala mas rapido. Aderi un LCD al codigo de J1M para ver la velocidad de actualizacion en el micro y comparala visualmente con el de J1M.

Si ubiera un retardo pues minimo ya no es persectible.


La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: USB y Labview
« Respuesta #18 en: 03 de Julio de 2006, 15:51:57 »
pantera, en este mismo post, en la primera página, la última respuesta, tiene un par de links q te pueden ser de utilidad con respecto a las dudas q comentas en tú anterior post.

El ejemplo en labview realmente está lejos de estar optimizado, era una primera toma de contacto con el programilla en cuestión, de todas formas, por eliminar el frame cero no deberías obtener más velocidad, si acaso podrías tener algún problema en el caso de ejecutar el programa sin tener el dispositivo conectado... pero tampoco... es más algo purista que útil. Si va más rápido quizá sea por ese 'build array' q comentas, q relamente no se a q te refieres :S

Ten encuenta que cada vez q mandes algo en paquetes separados, se tendrán q abrir los pipes, enviar un paquete y cerrar los pipes, eso no es óptimo... una forma mejor de hacer esto sería, abrir pipes, enviar mediante un bucle for todos los paquetes (de 64bytes) q tengas q enviar y cerrar los pipes. Así ganaras algo de tiempo.

Otra forma para ganar o para optimizar la cosa es como comentan en el post ese que te digo (aún no lo he probado) engañando al micro para que reciba mas de 64bytes.

Por último hay otra forma y es hacerse uno su propio driver, ya q el de microchip está preparado para transmisión bulk y con un solo pipe, con lo cuál la velocidad máxima q se puede obtener está muy lejos de la velocidad teórica q debería poderse alcanzar. Espero pelearme un poco con este asunto en verano y hacer q el micro se despeine un poco! ahora tengo q acabar los examenes :p

saludos!

Desconectado pantera

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: USB y Labview
« Respuesta #19 en: 03 de Julio de 2006, 18:23:49 »
Gracias J1M pues que cacharro que este tan limitado la comunicacion pero haber que se soluciona en el futuro

Pues no habia podido subir el archivo en labview  antes, Pero ahi esta ....




http://www.geocities.com/jeoart_1982/S4020016.JPG
« Última modificación: 03 de Agosto de 2006, 19:21:13 por pantera »
La música es sinónimo de libertad, de tocar lo que quieras y como quieras, siempre que sea bueno y tenga pasión, que la música sea el alimento del amor y del alma.

        :-)El Rock es Cultura :-)

Desconectado Osolong

  • PIC10
  • *
  • Mensajes: 1
Re: USB y Labview
« Respuesta #20 en: 22 de Mayo de 2007, 01:25:06 »
Hola.
Soy nuevo en esto de USB. Hice el ejemplo de J1M con el 18F2550 de PicUSB y funciona perfecto.
He estado intentando utilizar labview para comunicarme con el PIC utilizando el DLL de microchip, pero cómo llaman a las funciones desde Labview?? Con un CIN o con un Call Library??
Podrian pasarme el programa con el que lo hacen??
Por adelantado, gracias!!

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: USB y Labview
« Respuesta #21 en: 23 de Mayo de 2007, 20:21:23 »
Pantera sera posible que conviertas el archivo para poder abrirlo con el lab view 7.1? Gracias, pasa que no tengo el 8 para instalarlo

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: USB y Labview
« Respuesta #22 en: 24 de Mayo de 2007, 03:52:21 »
Tengo un problema similar al de El_Guitre. Un amigo con Labview 7 quiere abrir el proyectillo, y yo no puedo exportarselo a esta versión ya que tengo la 8.2.1 y solo me deja hacer retrocompatibilidad para la 8.0 (a veces las cosas no se piensan bien del todo!). La cuestión es que si alguien tiene el 8.0 sería posible realizarla para la versión 7.0, el proyectillo en cuestión es el que subí a la página:
http://www.hobbypic.com/images/stories/articulos/comunicacion/picusbstuff/PicUSB_Labview.rar

Si alguien puede hacerlo, me haría un gran favor, gracias!!

Desconectado Arbolito

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 893
Re: USB y Labview
« Respuesta #23 en: 31 de Mayo de 2007, 15:44:04 »
Aca lo dejo en labview 8.0, no si es esto lo que nesecitabas J1M

Saludos
Existo, aunque pienses que no pienso

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: USB y Labview
« Respuesta #24 en: 31 de Mayo de 2007, 18:07:57 »
Si, es eso, muchisimas gracias Arbolito :)

He encontrado también en la propia página de Labview un link para descargar el programa completo (sin CD de drivers) en versión evaluación (aunque da la posibildad de ponerle código de registro... ...) Os lo dejo por si os pudiera interesar, son 575Mb

ftp://labview8.ni.com/evaluation/labview/pc/labview_821.exe

saludos!

Desconectado Arbolito

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 893
Re: USB y Labview
« Respuesta #25 en: 31 de Mayo de 2007, 18:46:39 »
No hay porque   8)

Uff ya es hora que retome lo del USB me e quedado en el tiempo  :D

Saludos.

PD: Por cierto si pedis la demo te envian el CD a tu casa yo pedi el de la vercion 8.2 y me la enviaron sin problemas.
Existo, aunque pienses que no pienso

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: USB y Labview
« Respuesta #26 en: 12 de Junio de 2007, 21:34:13 »
Qué tal, ¿alguien podría hacerme el gran favor de colgar el código para Labview 7? Yo cuento con la versión 7.1, aunque de cualquier forma, estoy descargando la evaluación de la 8 :P.

Recientemente estoy usando LabView, por ahora estoy trabajando en probar la comunicación USB con las diferentes herramientas que utilizamos en la escuela, me he basado en el proyecto de J1M y por ahora he recreado su aplicación (la que está en C#) usando:
  • C/C++ con la mpusbapi.
  • C++ con libusb-win32.
  • Matlab, tuve problemas para cargar la DLL directamente (tanto la de Microchip como la de libusb-win32), al final opté por utilizar la interfaz mex (la otra alternativa es usar CDC).
Y ahora me gustaría simplemente hacer unas pruebas con LabView (no voy a desarrollar ninguna aplicación por el momento, sólo estoy probando con las herramientas más comunes utilizadas por aquí para desarrollo de proyectos :D).

Si no puede nadie, ya me daré de topes por mi cuenta ;), gracias de antemano.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado luna84

  • PIC10
  • *
  • Mensajes: 2
Re: USB y Labview
« Respuesta #27 en: 03 de Julio de 2007, 23:31:06 »
hola!
soy nueva en el foro y he estado leyendo algunas opiniones acerca de conectar usb a labview puesto q etoy haciendo un proyecto donde necesito conectar una tarjeta de adquisicion de datos q yo he fabricado a labview por usb pero se me ha presentado un problema y quisira q porfavor me ayuden. me he basado en el proyecto diseñado por J1M acerca del pic con usb q por cierto muchas gracias por tan valiosos aportes pues me ha servido mucho para introducirme en el tema, y como ahora lo q requiero es conectarlo a labview tengo un problema en la parte en q instalo el dispositivo con el archivo .inf y es q me pide q ubique a "mchpusb.sys" que esta en el ejmplo q proone J1M pero si no estoy equivocada este hace parte de microchip y pues asi no lo logro detectar con VISAIC. les agradezco su ayuda y toda la informacion q me puedan brindar. :-)

Desconectado fcoronah

  • PIC10
  • *
  • Mensajes: 2
Re: USB y Labview
« Respuesta #28 en: 19 de Julio de 2007, 14:57:56 »
Hola a todos:

He leido este tema, la verdad esta muy interesante. Yo estoy trabjando es un proyecto de este tipo, no se si me puedan mandar los archivos para el Labview 7.0 Express. Y el tutorial que mensionan.  Mi correo es coronah_f@hotmail.com.  Gracias

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB y Labview
« Respuesta #29 en: 24 de Febrero de 2009, 18:42:59 »
Vaya pues creo q anduve un poco bastante ekivocado con la respuesta anterior... parece ser que efectivamente como comentabas desde el principio... la dll o mejor dicho, el driver suministrado por microchip tiene ese 'defecto'... que como mucho pueden transferir 64KB/S (64B/mS) por canal (supongo q esto se refiere a 'pipe'), en este post lo comentan:
http://forum.microchip.com/tm.aspx?m=92884
Parece q la solución pasa por hacerse uno su propio driver ó hacer una transmisión con buffer 'Ping Pong' (se doblaría 128B/mS):
http://forum.microchip.com/tm.aspx?m=88264
ó engañando un poco al driver... http://forum.microchip.com/tm.aspx?m=165751 (parece interesante...)

saludos y disculpa por la confusión ;)

Hola

Estoy estudiando y leyendo sobre USB aquí en el foro y me entero de que la velocidad al usar 1 endpoint en CCS puede ser de hasta 64kB/s.

Se pueden obtener 12Mbps con los 15 Endpoints, y según mis cálculos, con un solo Endpoint se obtendrían 12/15 Mbps, es decir, 0.8Mbps. Si esto se convierte a bytes entonces, 0.1MBps.

0.1MBps equivalen a 100kBps, que es superior a los 64kBps que mencionan. ¿A qué se debe?

Otra duda, no entiendo cómo funciona el modo Ping-Pong Buffering. ¿Alguien podría explicármelo de forma sencilla?  :oops: ¿Se puede implementar ese modo en CCS para mejorar la velocidad de transmisión?

Gracias.