Estoy en las primeras etapas de diseño de una placa de desarrollo en torno a la gama de chips PSoC 3 y 5 de Cypress Semiconductor. Al igual que el Arduino, me gustaría que la experiencia de programación fuera muy fácil, y eso significa poder programarlo e interactuar con él sin tener que comprar un cable de programación separado.
Me decidí tentativamente por una solución similar a la de Arduino: incrustar una MCU menos potente con soporte USB integrado en la placa, y hacer que la MCU actúe como una interfaz USB para el procesador principal. Sin embargo, a diferencia de Arduino, me gustaría que la comunicación MCU actúe como programador a través de la interfaz SWD (Serial Wire Debug).
Teniendo esto en cuenta, necesito una MCU que cumpla con los siguientes requisitos:
- Dos U (S) ARTs, uno que puede usarse para SWD, uno como un UART normal para la comunicación definida por el usuario con la MCU principal.
- Interfaz USB nativa de velocidad completa.
- Barato en pequeñas y medianas cantidades (~ 100).
- Idealmente, no se requiere un cristal externo para la operación USB.
- Idealmente, disponible en un paquete que se puede vender a mano. Definitivamente no es BGA, preferiblemente no QFN.
Las grandes bonificaciones serían si se trata de una arquitectura con una cadena de herramientas OSS bien soportada o una curva de aprendizaje superficial. Aún mejor (pero menos probable) sería si ya existiera un código de ejemplo para implementar un programador SWD o JTAG en esa plataforma.
Mis candidatos actuales son ATMega8U2, que cumple con la mayoría de los requisitos, pero no es tan barato como me gustaría y requiere un cristal externo, y el C8051T623, que es barato y cumple con los requisitos, pero parece que tiene soporte limitado de herramientas y no es una arquitectura con la que estoy familiarizado. (Editar: parece que ahora no está en existencia, lo que más o menos lo descarta).
¿Alguien puede recomendar una MCU que cumpla con estos requisitos?