Recientemente he estado trabajando con los microcontroladores ARM como el de la LPCXpresso LPC1114, en estos días he querido avanzar un poco mas y aprovechando que en mi universidad han creado un grupo de investigación en microelectrónica del cual yo soy miembro he propuesto la creación de una tarjeta de desarrollo basada en un microcontrolador ARM, luego de presentar la idea esta fue aprobada y llegaron días de arduo trabajo.
Para comenzar se debía seleccionar un microcontrolador que fuera mas potente que un LPC1114 (Cortex-M0) y económico, así que apele a uno de los mejores amigos que tiene un estudiante cuando necesita un chip gratis, Texas Instruments. Estuve buscando un rato entre la cantidad de microcontroladores ARM que fabrica Texas y encontré los de la gama 3000 y 5000, vi que los de la gama S3000 no estaban en el programa de muestras de Texas pero los de la S5000 si. Estuve revisando algunos chips y luego de descartar algunos (por no estar en el programa de muestras o por tener un encapsulado difícil de soldar a mano) la elección fue el LM3S5732, habían algunos otros pero este me convenció por sus prestaciones en memoria.
Ahora venia el diseño de una PCB en donde montar el chip para comenzar a sacarle el jugo, para saber que tipo de PCB se debía diseñar era necesario recordar las características de el microcontrolador, estas son:
- Procesador ARM Cortex-M3 a 50MHz.
- Debug via JTAG.
- Memoria Flash de 128Kb.
- Memoria SRAM de 64Kb.
- Memoria ROM con Bootloader y StellarisWare Software.
- 33 GPIOs.
- Timers de 32bits.
- ADC de 10bits.
- 2 Puertos UART con soporte IrDa.
- Puerto SSI (SPI).
- 2 Puertos I²C, velocidad estándar de 100Kbps y máxima de 400Kbps.
- Puerto CAN 2.0, velocidad superior a 1Mps.
- Puerto USB 2.0, velocidad entre 1.5Mbps y 12Mbps, host USB.
Viendo esto se sabe que no puede ser cualquier placa, debe estar diseñada de manera que sin muchas modificaciones se pueda aprovechar todo el potencial de este chip. Luego de unos días de trabajo nació "Coconut Board" (Diseñada por Palma).
La tarjeta tiene:
- Conector Jack-DC, para alimentacion externa.
- Conector Mini-USB (Modo Device).
- Conector USB-A (Modo Host).
- Reguladores de voltaje a 5V y 3.3V de 800mA cada uno.
- Jumper para selección de la fuente de alimentación.
- Pulsadores Reset, Wake y de usuario.
- Leds de encendido, hibernación y de usuario.
- Conector de voltajes.
- Conector JTAG.
- Conector para los GPIOs.
- Conector de puertos análogos.
- Conector para tarjeta MicroSD.
Esta semana el grupo envió el diseño a Seeed Studio, así que en unos 20 días las PCBs estarán llegando a mi casa. Luego del ensamble y las primeras pruebas liberaremos el esquema, un pequeño manual y un programa básico para probar el funcionamiento de la tarjeta.
Mas info:
Coconut Board (ARM Cortex-M3).
Si tienes alguna inquietud no dudes en comentar.
Para comenzar se debía seleccionar un microcontrolador que fuera mas potente que un LPC1114 (Cortex-M0) y económico, así que apele a uno de los mejores amigos que tiene un estudiante cuando necesita un chip gratis, Texas Instruments. Estuve buscando un rato entre la cantidad de microcontroladores ARM que fabrica Texas y encontré los de la gama 3000 y 5000, vi que los de la gama S3000 no estaban en el programa de muestras de Texas pero los de la S5000 si. Estuve revisando algunos chips y luego de descartar algunos (por no estar en el programa de muestras o por tener un encapsulado difícil de soldar a mano) la elección fue el LM3S5732, habían algunos otros pero este me convenció por sus prestaciones en memoria.
Ahora venia el diseño de una PCB en donde montar el chip para comenzar a sacarle el jugo, para saber que tipo de PCB se debía diseñar era necesario recordar las características de el microcontrolador, estas son:
- Procesador ARM Cortex-M3 a 50MHz.
- Debug via JTAG.
- Memoria Flash de 128Kb.
- Memoria SRAM de 64Kb.
- Memoria ROM con Bootloader y StellarisWare Software.
- 33 GPIOs.
- Timers de 32bits.
- ADC de 10bits.
- 2 Puertos UART con soporte IrDa.
- Puerto SSI (SPI).
- 2 Puertos I²C, velocidad estándar de 100Kbps y máxima de 400Kbps.
- Puerto CAN 2.0, velocidad superior a 1Mps.
- Puerto USB 2.0, velocidad entre 1.5Mbps y 12Mbps, host USB.
Viendo esto se sabe que no puede ser cualquier placa, debe estar diseñada de manera que sin muchas modificaciones se pueda aprovechar todo el potencial de este chip. Luego de unos días de trabajo nació "Coconut Board" (Diseñada por Palma).
La tarjeta tiene:
- Conector Jack-DC, para alimentacion externa.
- Conector Mini-USB (Modo Device).
- Conector USB-A (Modo Host).
- Reguladores de voltaje a 5V y 3.3V de 800mA cada uno.
- Jumper para selección de la fuente de alimentación.
- Pulsadores Reset, Wake y de usuario.
- Leds de encendido, hibernación y de usuario.
- Conector de voltajes.
- Conector JTAG.
- Conector para los GPIOs.
- Conector de puertos análogos.
- Conector para tarjeta MicroSD.
Esta semana el grupo envió el diseño a Seeed Studio, así que en unos 20 días las PCBs estarán llegando a mi casa. Luego del ensamble y las primeras pruebas liberaremos el esquema, un pequeño manual y un programa básico para probar el funcionamiento de la tarjeta.
Mas info:
Coconut Board (ARM Cortex-M3).
Si tienes alguna inquietud no dudes en comentar.