Personalmente nunca me gustaron los uC de Microchip más allá de los 18F y algún que otro 24. Siempre me incliné hacia los ARM, sean de ST, TI o NXP.
Justamente hoy estaba viendo qué placas de desarrollo ofrece Microchip para la familia PIC32, y veo que es una placa extremadamente básica, que sinceramente no sirve para prácticamente nada, excepto compres algún módulo de expansión, el cual, por supuesto, utiliza un conector extremadamente pequeño y raro, lo suficientemente raro como para que uno no pueda conectarle fácilmente un pinheader y prescindir de alguna de sus placas de expansión.
La placa de desarrollo para PIC32 (código DM320001) en la página de Microchip vale 50 USD (60USD en Elemon Argentina) y la placa de expansión IO (código DM320002) 72USD en la página de Microchip y casi 100USD en Elemon Argentina.
Vamos con la placa de desarrollo para PIC32:
PIC32 Starter KitComo se puede apreciar, no trae prácticamente NADA. Tiene para on-board debugging un 18LF4550 y el uC principal es un PIC32MX360F512L. Fuera de eso, lo único que trae es conector USB para poder programarla/debugguear, el regulador de voltaje, circuitería básica para que funcionen los uC, y un puñado de LEDs y pulsadores. Es decir, cero puertos de comunicación. Todos los pines del uC están mapeados a un conector que se encuentra en la otra cara, que es prácticamente imposible de conseguir y montar en algo casero. Pero claro, para eso tenemos la placa de expansión IO, la cual por sólo 72USD adicionales, nos dará:
Starter Kit I/O Expansion BoardCaiganse de culo! Qué barbaridad de componentes por 72USD!
A ver si lo revisamos juntos. Trae:
1) Regulador de voltaje (porque el manual de la placa principal explica muy bien que la placa sólo acepta alimentación mediante el USB);
2) Conector JTAG, ya que la placa principal NO TIENE?

Es decir que si no tienes este módulo de expansión a la placa principal hay que programarla y debugguearla si o si mediante el USB, pasando claro por el 18LF4550, soft de PC, etc, etc para poder hacerlo;
3) Microchip Tools ¿? No tengo ni idea qué es eso, no logro encontrar info pero ya arrancamos pobre si se trata de un puerto de sólo 2 cables montado físicamente sobre lo que parece ser un conector RJ11..
4) Un conector TRACE, que si no me equivoco requiere de comprar aparte el MPLAB REAL ICE para que sirva de algo y es para emular en tiempo real mediante el MPLAB?
5) 2 PICtail Plus Daughter Cards! Sí! Para que puedas seguir comprandole más extensiones y recién ahí poder hacer algo!!
6) Finalmente, los conectores para poder mapear los pines del uC principal a un par de pinheaders.
Ahora, la pregunta es, vale 72 USD esto? Todos los componentes son completamente básicos + un PCB que debería haber estado en la placa principal a mi parecer.
Finalmente, mi opinión es que sólo con la placa principal no puedes hacer prácticamente nada, excepto te interese poder presionar un par de pulsadores y encender un par de LEDs. Para poder recién tener acceso a los pines del uC (y sólo a eso) hay que pagar 72 USD más y obtener la placa de expansión IO. Es decir, hay que gastar
122 USD para poder recién ahí tener acceso a poder soldarle los pinheaders y poco más.
Los invito a que vean la diferencia de prestación, no sólo desde el uC, sino también en precios. En TI, ya que estamos hablando de Cortex-M4, tenemos:
Tiva C Series TM4C LaunchPad Evaluation Board (EK-TM4C123GXL)La cual cuesta
13 USD (tengo un modelo muy similar a este, y la pague 5 USD, sí, 5 USD, ya que era la oferta del lanzamiento).
Ahora, si la comparamos con la placa de desarrollo de Microchip para PIC32, la diferencia se hace notable.
Trae 2 uC, por lo general suelen ser el mísmo modelo, sólo que el primero es el dedicado a programar/debugguear y el otro es el llamado Target, es decir, el que nosotros programaremos. Trae dos conectores USB, uno para el programador y otro para que usemos nosotros del uC target a gusto. Trae un par de LEDs, entre ellos un RGB que por defecto cuando alimentamos la placa de fábrica, hace un barrido de colores RGB de ejemplo y nos permite mediante los pulsadores cambiar el color actual ,etc. Y lo más importante, TRAE los pinheaders ya soldados listos para poder utilizar los pines i/o más importantes del uC.
En cuanto a NXP, tenemos la queridísima LPCXpresso (de las cuales poseo la LPC114,LPC1343 y LPC1768), por ejemplo tomemos la LPCXpresso 1769, que vale
27 USD:
LPCXpresso 1769Que al igual que la placa de TI puede ser separada (cortando la placa físicamente o tan solo cortando un puñado de pistas) y de esa manera pudiendo aprovechar la parte del programador/debugguer para programar muchos micros mediante el JTAG.
La LPCXpresso trae además, la posibilidad de soldarle pinheaders directamente para acceder a la mayoría de sus pines I/o más importantes, además de traer un CHIP ETHERNET PHY, que con tan solo conectar a un Magjack, nos permite tener lista la capa física para dotarla de conectividad ethernet 10/100 y una memoria EEPROM para poder almacenar datos fuera del uC.
Ahora, si comparamos los tres uC:
| Característica |
Microchip PIC32MX360F512L |
TI TM4C123GH6PM |
NXP LPC1769FBD100,551 |
Notas adicionales |
| Precio |
4.70 USD |
4.52 USD |
6.11 USD |
Basado en precios de Microchip, TI y NXP en cantidades de 1k |
| Core |
32-bit MIPS M4K Core |
ARM Cortex-M4F (Thumb + Thumb-2) |
ARM Cortex-M3 (Thumb + Thumb-2) |
El ARM de TI posee FPU (Floating Point Unit) |
| Frecuencia máxima(Mhz) |
80 |
80 |
120 |
|
| DMIPS |
1.56 DMIPS/MHz |
1.25 DMIPS/MHz |
1.25 DMIPS/Mhz |
|
| Alimentación única |
Sí(2.3-3.6V) |
Sí(?-3.6V) |
Sí(2.4-3.6V) |
|
| ROM |
512+12kB |
256kB |
512kB |
|
| RAM |
32kB |
32kB |
64kB |
|
| Pins |
100 |
64 |
100 |
|
| I/O Pins |
85 |
43 |
70 |
|
| Timers |
5x16b |
6x16/32b + 6x32/64b |
4x32b |
|
| Capture |
5 |
24 |
8 |
|
| Compare/PWM |
2 |
2 analógicos + 24 digitales |
10 digitales |
|
| UART |
2 |
8 |
4 |
|
| SPI |
2 |
4 |
2 |
|
| I2C |
2 |
6 |
3 |
|
| Máximas interrupciones externas |
5 |
43 (todos los pines) |
13 |
|
| PMP16 |
Si |
No |
No |
Paralell Master Port |
| Canales DMA |
4 |
20 |
8 |
|
| USB |
No |
USB 2.0 Full Speed Host/Device/OTG |
USB 2.0 Full Speed Host/Device/OTG |
|
| ADC |
10-bit, 16 canales, 1MSPS |
12-bit, 12 canales, 1MSPS |
12-bit, 8 canales, 0.2MSPS |
|
| RTC |
Si |
Si |
Si |
|
| CAN |
No |
2 |
2 |
|
| MAC Ethernet |
No |
No |
Si, 10/100Mbps |
|
Recuerden que esta es sólo mi opinión y dista infinitamente de la verdad absoluta.
¿Cuál es su opinión?
Saludos!