Objetivos
Material requerido.
Paciencia y 20 minutos de sobra. |
FTDI, USB y la comunicación serie
Hemos dedicado varias sesiones a hablar u a usar el interface FTDI para que nuestros Arduinos y PCs se comuniquen a través del USB por la puerta serie (UART)
Es un adaptador sencillo aunque necesita del uso de varios cables adaptadores, y puede pasar como un sistema barato de comunicarnos sin necesidad de grandes complicaciones, y cualquier electrónica que necesite acceder al USB usará alguno de los chips que gestionan la comunicación USB UART , para evitar el engorro que la gestión del USB supone, que es enorme.
Los Arduinos oficiales utilizan un conjunto de chips integrados dedicados a esta operación y son motivo de varias historias relativas a la conversión de UART a USB (Universal Asynchronous Receiver Transmitter) y viceversa, pero en general el grado de satisfacción ha sido alto y los chips de FTDI funcionan bastante bien y no se les puede pedir más.
La familia de integrados FTDI FT232, es la base de toda la conversión de USB a UART y viceversa en Arduino y en cientos de otros productos, y sus chips se han vendido por millones para soportar precisamente una electrónica sencilla que incorporara esta utilidad de comunicación.
FTDI controla la patente y tiene la política de licenciarla a quienes lo requieran previo paso por caja claro, y entre ellos se encuentra ATMEL, el fabricante de los chips que dan vida a nuestros Arduinos, y sus chips estan en las tarjetas oficiales.
FTDI, que es un fabricante americano (Creo), estaba hasta el moño de que fabricantes indocumentados, le sacaran chips duplicados, violando sus patentes sin pasar por caja, por lo que decidió ya hace algún tiempo pasar al ataque.
En un movimiento legítimo de defensa de sus intereses, decidió modificar sus drivers de Windows y OSX, bloqueando a todas estas copia piratas de sus chips el acceso, hasta el punto de que solo sus propios chips oficiales legales podían usarlos.
No hay nada que objetar a este movimiento, que es comprensible y no se puede acusar a nadie de defender intereses legítimos. El problema es que los Arduinos oficiales también utilizan el conjunto de chips de este fabricante y el precio de los mismos han subido sensiblemente a consecuencia del movimiento al grito de el que lo quiera… que lo pague.
Pero el problema ha sido que muchos productos falsificados dejaron de funcionar haciendo daño, básicamente a usuarios de buena fe que ignoraban haber comprado productos falsos, y a los que naturalmente todos dejaron tirados. Había que buscar una solución y el mercado naturalmente presento una,
La familia CH340G
Como los productos Arduino son Open Source (No así la marca) los fabricantes chinos decidieron cambiar de estrategia y utilizar otra familia de chips que hicieran las mismas funciones que los de FTI para gestionar el USB y presentaron un sustituto llamado CH340G.
Rediseñaron la distribución de los chips de USB en la placa y adaptaron los Arduinos a estos nuevos chips, produciendo nuevas familias con completa compatibilidad pero diferente chipset en lo que a comunicaciones USB se refiere.
Como el corazón de estos Arduinos son los mismos procesadores de ATMEL con la misma estructura y la única diferencia es el chip de control del USB que está diseñado por hardware para encargarse de todo y devolver vía puerta serie el resultado, no hay diferencias objetivas de funcionamiento.
Y mientras que los chips de FTDI cuestan como 3$ por cada instalación, los CH340G se consiguen por unos 20 céntimos en cuanto compras 100, ¿Y adivináis que ha pasado?
Pues efectivamente, que toda la fabricación china se ha pasado en bloque a estos chips y más de un fabricante Americano o Europeo les ha seguido, porque al final la pasta manda.
En estas imágenes podéis apreciar los dos tipos de chip, y como es bastante fácil diferenciarlos:
He visto por internet que hay varias invitaciones a la guerra santa en defensa de una u otra postura, lo que me parece bastante absurdo, y personalmente prefiero adoptar una actitud (Uno ya esta mayor para tonterías) mucho más pragmática.
Si un fabricante decide defender su derecho limitando el acceso a los demás, hay que aceptarlo, porque es razonable, y si la competencia oferta algo equivalente en mejores condiciones pues también, que cada cual decida donde se saca la billetera cuando compra.
Por lo que nos atañe a los que somos aficionados a Arduino, tengo que decir que la mayor parte de las tarjetas que van apareciendo incorporan el nuevo conjunto de chips con el CH340G por razones de precio y no tengo especial interés en defender el negocio de fabricantes ajenos, lo que me interesa es el precio, sino me afecta a la calidad y esa es la cuestión en la que me gustaría centrarme ahora.
¿Son los chips de FTDI mejor o peor que los del CH340G?
Aparentemente, los dos chips soportan correctamente la funciones de gestionar el USB a serie sin que haya oído ningún problema al respecto. Las velocidades y funcionalidades son similares y por tanto es más una cuestión de gusto…y de precio.
Los nuevos chips CH340G tienen un inconveniente práctico y es que ni Windows ni OSX lo soportan oficialmente a día de hoy y para activarlo hay que instalar un driver, Aquí lo tenéis:
Linux soporta ya de forma nativa el chip por lo que no es necesario instalar nada si tu distro está medianamente actualizada, pero Windows y OSX tienen poco interés en apoyar a chipsets chinos y lo ignoran con esa elegancia habitual en ellos.
No se trata de que sea mejor o peor sino de que los fabricantes americanos prefieren evitarlo (De nuevo hay interesas comerciales) y el IDE de Arduino sigue hasta la fecha la misma política por lo que no soporta los Arduinos que incluyen estos chips…por ahora.
Pero basta con instalar el driver una vez y puedes olvidarte del problema. Tus Arduinos funcionan a las mil maravillas, sin excepción y no podrás diferenciar los que usan un chip o el otro.
Una vez que instales el driver y enchufes tu flamante nuevo Arduino con CH340G en Windows, si vas a Administrador de dispositivos, deberías ver algo asi:
En mi experiencia y después de un año de tener instalado el driver, tengo que decir que no he notado diferencias de los Arduinos con uno y otro chipset y por eso la contienda me resulta absurda, y no me pienso involucrar en una lucha comercial entre empresas en competencia.
Por lo que a mí respecta, si alguien me proporciona una solución al problema a una fracción del coste que venía pagando hasta ahora, le daré las gracias a los anteriores y me cambiaré alegremente de bando sin dejar de sonreír.He comprobado que los Arduinos clónicos han bajado sensiblemente de precio y una de las razones ha sido el chip USB.
He utilizado conscientemente en muchos tutoriales un Arduino UNO clónico con este chip sin tener ningún problema y recientemente un comprador de la tienda me avisó de que los Arduino MEGA de que disponemos no son reconocidos por el IDE, precisamente por usar el CH340G
Como hace ya mucho que yo instalé el driver, ni me había enterado siquiera de esto, porque los uso rutinariamente y sin sorpresas, pero me ha perecido conveniente advertiros del tema para que cada uno tome su decisión.
De hecho en la tienda Prometec que yo sepa hay varios productos que incluyen este chip CH340G y necesitan el driver, que son al menos un Arduino UNO, un MEGA y un adaptador FTDI a USB.
En cuanto saque un rato espero poner una nota en los productos que lo incluyen para que nadie se lleve a engaño o se considere injustamente sometido a fraude.
Pero, para cerrar el tema y por si sirve de algo, yo personalmente llevo mucho tiempo usando productos con el CH340G sin tener queja ni de su funcionamiento ni tampoco de compatibilidad con ningún programa o hardware que lo incluya, y a plena satisfacción, y si de paso me puedo ahorrar unos euritos …pues no seré yo quien diga que no.
Resumen de la sesión