Saltar al contenido

Coconut Board – ARM Cortex-M3

Recientemente he estado trabajando con los microcontroladores ARM como el de la LPCXpresso LPC1114, en estos días he querido avanzar un poco más 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 trabajo.

Para comenzar se debía seleccionar un microcontrolador que fuera más 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 sí. 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ía 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 qué tipo de PCB se debía diseñar era necesario recordar las características del microcontrolador, estas son:

  • Procesador ARM Cortex-M3 a 50MHz
  • Debug vía JTAG
  • Memoria Flash de 128KB
  • Memoria SRAM de 64KB
  • Memoria ROM con Bootloader y StellarisWare Software
  • 33 GPIOs
  • Timers de 32 bits
  • ADC de 10 bits
  • 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”.

La tarjeta tiene:

  • Conector Jack-DC, para alimentación 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 analógicos
  • 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.

Más información:
Coconut Board (ARM Cortex-M3)

10 comentarios en «Coconut Board – ARM Cortex-M3»

    1. Hola Gus, Seeed Studio hace pedidos de 10, 50 y 100 impresos, con tamaños desde 5×5 hasta 20×20. Las placas que mandamos a hacer aun no han llegado, pero tan pronto como lleguen haré una entrada con un pequeño análisis de la calidad, acabado y todo eso.

      1. Hola Palma gracias por la info.

        Interesante la posibilidad de hacer pedidos en pequeña cantidad, te informo que también me ha parecido interesante este micro y he pedido tres muestras a TI y ya me llegaron, hoy hice unas pruebas con el encapsulado LQFP 64 con el metodo de la plancha para realizar la PCB y los resultados no estuvieron nada man, la idea es realizar una placa de entrenamiento parecida a la mostrada en esta pagina http://www.sistemasembebidos.com.ar/cms/index.php?option=com_content&view=article&id=59:placa-de-desarrollo-basada-en-lm3s5732-de-ti&catid=38:microcontroladores-prog-devices&Itemid=41

        Pero de momento no he encontrado un software que me permita escribir código C para este micro en la pagina de TI la información es mucha pero al mismo tiempo confusa agradezco la información que me puedas brindar al respecto.

        Excelente diseño de la PCB te quedo de lujo.

        Gracias y éxitos con el grupo de investigación.

        1. Gus, que bien que te hayas animado con los ARM. Con respecto al software he estado buscando pero la principal solución seria usar el IAR, el problema seria la licencia. Por otro lado encontré una herramienta que se basa en un compilador distribuido por TI pero que necesita algunas modificaciones para trabajarlo en un buen entorno gráfico, hasta este momento no he tenido oportunidad de probarla porque las placas no han llegado de china.
          Esta semana estuve diseñando una placa mas sencilla que utiliza una LM3S611 para poder ir probando dicha herramienta, cuando tenga resultados los publicare en el blog.

    1. Hola Juani, para programar este micro debes utilizar un programador JTAG que soporte este tipo de micros. Otra opción que tienes es programarlo vía serial utilizando una especie de bootloader que se encuentra precargado en la ROM.

  1. Hola PALMA, escribo simplemente para preguntarte que tal ha ido el montaje y prueba (si es que ya has recibido las placas, claro 😉

    Espero tu respuesta y muchas gracias por tus aportes.

    1. Hola, las placas llegaron a principios de octubre y por las mismas fechas arme una, pero las pruebas han estado retrasadas por cosas de tiempo (proyectos de la universidad y trabajo) el único programa que he probado en la placa es el que enciende el led. Ahora que estoy en vacaciones espero aprovechar el tiempo para probar varios programas y compartir algo de la documentación.
      Saludos

  2. Hola, espero que aun siga activo este foro. Pues pedí el mismo micro que usas, y ya me esta llegando, también quiero hacer una placa como la de sistemasembebidos.ar y quiero que me salga barato, asi que no pienso comprar un programador JTAG por que he leido lo complicado de las IDE’s y todo el asunto. Pero este micro tiene el bootloader en la ROM asi que queria preguntarte si lo has usado (lei los documentos de TI y tengo idea de algunas cosas)

Deja un comentario