Autor Tema: USB 2.0  (Leído 4563 veces)

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

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
USB 2.0
« en: 15 de Febrero de 2015, 10:19:01 »
Buenas tardes foreros, lo primero es deciros que si consideráis que este no es el lugar adecuado para este post por favor decirmelo y con gusto pondré en otro sitio.

he decidido dar un paso mas en la comunicación USB y hacer otra cosa que no sea la típica USB cdc con un puerto COM virtual, me estoy haciendo una placa con USB OTG y 2.0, la placa cuenta de momento con un pic32MZ2048ECM, y estoy barajando los distintos dispositivos para implementarlo. Como soy un poco (bastante) novato en cualquier otro tipo de comunicación USB que no sea la cdc, a ver si podrías darme unos consejos de como hacerlo, o algunos tutoriales, que PHY utilizar? o utilizar mejor un ULTI+? como utilizarlas correctamente, a la hora de programarlo en el PC que dificultades hay? he visto dispositivos como por ejemplo ISP1705AET (pero creo que esta obsoleto) o USB3300
¿ya puestos a calentarme la cabeza debería buscar un PHY USB 3.0?

muchas gracias y un saludo

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #1 en: 15 de Febrero de 2015, 11:16:09 »
También quería ver si alguien sabia como conectar el PHY, como por ejemplo el USB3300, al microcontrolador, el ULPI BUS por así decirlo, ya que algunos microcontroladores como los de st si tienen esta clase de bus pero los de microchip o mas en concreto el PIC32MZ no las tiene, esto quiere decir que no podemos implementar USB2.0? no creo que eso sea asi.

gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #2 en: 15 de Febrero de 2015, 17:02:35 »
Hola, ¿qué aplicación necesitas cumplir?

El ULPI te servirá para convertir datos seriales USB 2.0 a datos en paralelo. No es necesario que lo implementes si el PIC32 que elegiste ya tiene el transceiver USB implementado internamente.

Saludos.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #3 en: 15 de Febrero de 2015, 18:26:53 »
Gracias por contestar

La aplicación que debo cumplir es la visualización de datos en el PC para formar gráficas, lo mas rapidamente posible para que se aproxime a tiempo real.
por lo tanto quiero implementar el USB 2.0 a 480mb/s no he visto ningún microcontrolador que tenga el transceiver para el High speed, salvo los de cypress, pero no quiero utilizar esos micros, que suelen tener un núcleo de 8051.

La verdad es que me he quedado a cuadros cuando he visto que los nuevos microcontroladores en concreto el que quiero utilizar, el PIC32MZ2048ECM no tiene implementado un bus para un PHY por ULPI, solo puedes implementarlo mediante UTMI que en mi opinión esta bastante anticuado y requiere muchos pines, ademas la competencia como los STM32 tienen implementados un bus para ULPI.

Supongo que si quiero utilizar este micro no me queda mas remedio que implementarlo por un IC que sea UTMI verdad?

gracias de antemano

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #4 en: 15 de Febrero de 2015, 19:17:01 »
Hola, no sé cuántas terminales tiene tu PIC, pero parece que todos los de la familia tienen USB PHY integrado. Checa la datasheet.

http://ww1.microchip.com/downloads/en/DeviceDoc/60001191C.pdf

Checa la errata. No podrás usar el POSC de tu PIC si tienes la revisión A4 para atrás. Sin POSC se te complicará usar USB.

http://ww1.microchip.com/downloads/en/DeviceDoc/60001191C.pdf

Debes calcular la velocidad de transferencia que necesitas de datos y a partir de eso podrás elegir una clase USB que se adapte a tu aplicación.
« Última modificación: 15 de Febrero de 2015, 19:19:06 por migsantiago »

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #5 en: 15 de Febrero de 2015, 21:12:38 »
Vaya, que estupidez, pensé que la parte de la izquierda de la imagen el "USB 2.0 HS PHY" era un transceiver externo al microprocesador,  :?, XD por favor no me llameis tonto xd, venia de revisar los Datasheet de ST y en sus micros de gama alta veo esto:

"It integrates the transceivers for full-speed operation (12 MB/s) and features a UTMI low-pin interface (ULPI) for high-speed operation (480 MB/s). When using the USB OTG HS in HS mode, an external PHY device connected to the ULPI is required"

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/DM00116941.pdf

este fragmento lo he sacado del microprocesador STM32F7 con un ARM CORTEX M7, al ver esto y luego el de PIC me confundi.

Yo quejandome del los nuevos microcontroladores de PIC y resulta que en el aspecto del USB le gana a un ARM CORTEX M7, lo siento migsantiago estabas intentando decirme que el PIC tiene el HS 2.0 integrado y no lo veía.

Una vez resuelta esta duda, me decanto por el PIC32MZ, ahora me queda aclararme un poco con el tema de la programación por parte del PC, con un puerto COM virtual es muy sencillo pero con el USB 2.0 no tengo ni idea de por donde empezar, por otra parte hasta ahora he estado programano en c# para mis aplicaciones visuales y me estoy cambiando (o al menos eso quiero) pasarme a QT con C++.

Algún consejo? algún tutorial o documento? pensais que hago bien pasandome a QT? de nuevo muchas gracias sobre todo a ti migsantiago


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: USB 2.0
« Respuesta #6 en: 16 de Febrero de 2015, 01:31:09 »
Citar
Yo quejandome del los nuevos microcontroladores de PIC y resulta que en el aspecto del USB le gana a un ARM CORTEX M7

El nucleo es distinto a los perifericos asi como el PIC32 utiliza el MIPS... no tienen nada que ver uno con otro.
Seguro que debe haber algun micro con nucleo cortex y USB 3.0 inclusive eso depende ya del fabricante y no del nucleo

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #7 en: 16 de Febrero de 2015, 12:45:23 »
Algún consejo? algún tutorial o documento? pensais que hago bien pasandome a QT? de nuevo muchas gracias sobre todo a ti migsantiago

Sobre tutoriales, Microchip tiene las Microchip Application Libraries y Harmony para que eches a andar tu PIC32.

http://www.microchip.com/pagehandler/en-us/devtools/mla/home.html
http://www.microchip.com/pagehandler/en_us/devtools/mplabharmony/home.html

Sobre QT, es bueno para programar aplicaciones que corran en cualquier SO, pero del driver USB para cada SO no te escapas. Necesitarás echarlo andar de forma diferente en cada SO.

Sí, se me hacía raro que comentaras lo del ULPI. Normalmente se usa en micros o procesadores con un pinout muy grande que permitan agregar el ULPI. Yo usé el USB83340 de SMSC-Microchip porque teníamos que agregar otro USB Host en High Speed a un iMX25 de Freescale, pero porque había muchas terminales disponibles y lo necesitábamos ya que el primer host ya estaba siendo usado. En el caso de los PIC32 ya traen HS integrado hasta donde sé.

Sobre USB 3.0, creo que para graficar cosas está más que sobrado... incluso USB 2.0 a HS creo que está sobrado. Necesitas calcular tu tasa de datos para ver realmente qué necesitas usar.
« Última modificación: 16 de Febrero de 2015, 12:50:04 por migsantiago »

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #8 en: 16 de Febrero de 2015, 17:16:06 »
veo que tienes una gran experiencia en microcontroladores de muchos fabricantes migsantiago, asi que te voy a hacer una pregunta que me lleva tiempo rondando la cabeza.

Siempre he utilizado los microcontroladores PIC como principales para mis proyectos especiamente los PIC32 y PIC18, sobre todo los 32, y como todo en esta vida hay cosas que me gustan y cosas que no, ultimamente me defraundan un poco mas de la cuenta, por ejemplo hace un tiempo abrí un post, con un problema que me habia encontrado con los nuevos compiladores el xc32 v1.33 que compila muy mal el código, de acuerdo que es la versión free, pero los PIC32MX2xx y 1xx de 16 y 32 kb se quedan basicamente inservibles  no puedes meter nada de código en ellos, un proyecto vacio le incluyes el usb cdc por harmony y ya no entra el código, el bootloader por msd, solo el bootloader ya no entra, y un programa simple con 8 funciones !!8¡¡ ya no me entraba.

por otra parte lo que me gusta de microchip es su documentación por lo general bastante completa y detallada, y harmony también es muy bueno para ahorrar tiempo, (quitando sus todavia fallos).

mi experiencia con otros microcontroladores se reduce a los perifericos simples nada complejo.

entonces querría preguntarte si me recomiendas portar a STM32 por ejemplo, a ARM, lo que me hecha un poco para atrás es su documentación, y que por ejemplo que el coocox que es su ide gratuito no suele tener las versiones mas nuevas de microcontroladores.

muchas gracias de antemano, un saludo

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #9 en: 16 de Febrero de 2015, 20:34:03 »
Te quedo mal Juaperser, no he usado muchos USB en varios micros. No conozco la arquitectura STM32 por lo que no puedo darte una byena recomendación.

Hoy en día todos los proveedores ya dan código listo para usar. El que no lo hace no vende. Saben que no podemos perder tiempo implementando APIs que ellos nos pueden dar.

No creo que se puedan portar las APIs USB de Microchip a otras marcas... tal vez sólo unas secciones, pero no creo que valga la pena. Es mejor decidir qué necesitas de USB y elegir a partir de ello.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #10 en: 17 de Febrero de 2015, 03:56:46 »
ok no te preocupes muchas gracias, mi duda esta en que me viene muy bien el USB de microchip por que tiene el PHY de USB HS integrado y me viene muy bien el DSP por hardware de STM32, espero que con las librerias DSP por software sea suficiente. Por cierto he leido que ARM ha comprado muchas licencias de MIPS para los que os interese, no se si sera verdad

http://www.chw.net/2012/11/mips-es-adquirida-por-arm-patentes-e-imagination-technologies-negocio/

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #11 en: 17 de Febrero de 2015, 10:41:00 »
Checa la datasheet del PIC32MZ, creo que también trae DSP.  ;-)

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #12 en: 17 de Febrero de 2015, 15:18:16 »
si y no, ciertamente tiene un DSP pero no es un DSP que trabaje con punto flotante, esta optimizado para realizar operaciones matemáticas con pocos ciclos, en un seminario de microchip que impartieron el año pasado y pude ir de invitado, lo comente y me confirmaron que no trabaja con punto flotante si no con coma fija, después de eso intento ignorarme un poco ya que él intentaba vender los micros y a mi lo que me interesaba era saber los puntos flacos xd, por cierto, en marzo vuelvo a estar invitado al seminario de microchip y el bug del silicio que comentas en uno de tus post, el error del cristal externo, va a ser el primer punto del día, me voy a encargar de ello jeje.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: USB 2.0
« Respuesta #13 en: 17 de Febrero de 2015, 21:19:42 »
Qué bien que lo mencionas. Entonces es un DSP como los de los dsPIC33, que también son de punto fijo.

jajaj sí, pregúntales que por qué la errata tiene más de 50 issues en el silicio... ¿qué se creen?  :mrgreen:

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: USB 2.0
« Respuesta #14 en: 18 de Febrero de 2015, 04:05:21 »
Madre mia 50 pff, este tio me va a coger un asco considerable por que ya le di mucho el coñazo con su integrado MCP39F501 donde no tienen (o tenían) ejemplos, ademas de que los documentos estaban llenos de erratas hasta en las cuentas matemáticas y en los ejemplos. y el consumo de memoria de los nuevos compiladores que dejan inservibles casi a los micros de 16Kb y 32Kb, vamos que no puedes usar las harmony con ellos, sobre todo con el de 16Kb, eso también es de primer punto, por que en las charlas no hacen mas que intentar que te pases a los PIC32, que en las gamas mas bajas son muy baratos.


 

anything