domingo, 18 de marzo de 2012

La familia Discovery

Los fabricantes de Microcontroladores acostumbran a vender placas basadas en sus dispositivos que permiten evaluar el comportamiento de éstos. La compañia STMicroelectronics dispone de múltiples placas entrenadoras, pero, entre todas ellas, la familia Discovery se caracteriza por su bajo precio. Todas las placas de la serie Discovery se hallan por debajo del precio del famoso Arduino y, algunas de ellas lo superan funcionalmente en múltiples aspectos. Como todo pro suele tener un contra, la programación de estas placas está lejos de la gran simplicidad que aporta Arduino.

La serie Discovery tiene 5 placas actualmente. Dos de ellas corresponden a la serie de microcontroladores de 8 bits STM8, mientras que los tres restantes pertenecen a la serie de procesadores ARM Cortex de 32 bits STM32.

Empezaremos por las placas de 8 bits.


STM8S Discovery

La placa STM8S Discovery está basada en el Microcontrolador de 8 bits STM8S105 de la familia STM8S. El chip dispone de 32kB de memoria Flash, 2kB de RAM y 1kB de memória EEPROM de datos. Con un precio que no llega a 10€, es la placa mas barata de la serie Discovery.



Los periféricos que incluye la placa son muy sencillos. Apenas un LED controlable por software y un pulsador sensible al tacto. Precisamente por ello la placa dispone de numerosas líneas libres que permiten conectar con los periféricos internos del Microcontrolador (ADC, Timers y comunicaciones SPI, I2C y USART) o sus líneas de I/O Digital (GPIO).

La placa está dividida en dos partes. La parte principal, a la derecha en la figura anterior, contiene el Microcontrolador, sus dos periféricos, un cristal de cuarzo de 16MHz y una pequeña zona de prototipado que incluye una huella para un chip en formato SMD SO16.
La segunda parte, a la izquierda en la figura anterior, contiene un emulador/programador ST-Link que permite programar el microcontrolador usando un interfaz SWIM. El emulador se conecta al PC de desarrollo usando un conector USB de tipo B y opera empleando un microcrocontrolador de 32 bits STM32F103 preprogramado. El programador ST-Link se puede emplear para programar no sólo el microcontrolador de 8 bits sino cualquier otro microcontrolador de ST compatible con el interfaz SWIM. 
La placa se puede partir en dos separando físicamente sus dos partes, separando el emulador/programador ST-Link del resto de la placa. Después de separarlas, se puede seguir usando de manera conjunta usando los conectores de comunicación que disponen.

Las líneas de entrada/salida del microcontrolador están disponibles en 4 conectores que lo rodean. En total hay un máximo de 32 líneas que pueden usarse como I/O digital. Una de ellas está compartida con el LED de usuario y 3 más, hasta un total de 35, están disponibles si se desactiva el pulsador táctil que incluye la placa.




STM8L Discovery

Esta placa STM8L Discovery es el segundo peldaño en la serie. Está basada en el Microcontrolador de 8 bits de bajo consumo STM8L152 de la famila de baja potencia STM8L. Igual que en caso anterior, el microcontrolador dispone de 32kB de memoria Flash, 2kB de RAM y 1kB de memória EEPROM de datos. Con un precio ligeramente por encima de 10€, apenas supera en precio la otra placa de 8 bits de la serie Discovery.



La placa incorpora dos leds programables, un pulsador de usuario y un display LCD Alfanumérico de 6 carácteres. Teniendo en cuenta que la placa incorpora también un cristal de cuarzo de 32768 Hz, resulta ser el entorno ideal para diseñar aplicaciones sencillas de bajo coste que requieren de un reloj de tiempo real.
Adicionalmente la placa incorpora el hardware necesario para que el microcontrolador pueda medir la potencia consumida. Este elemento se ha incorporado en la placa para demostrar el bajo consumo de su procesador.

Igual que la placa anterior, ésta incorpora también un interfaz ST-Link de programación/emulación basado en un STM32F103 preprogramado, sólo que, en este caso, el interfaz ST-Link no se puede separar de la placa del microcontrolador principal.

Debido a que el LCD que incorpora la placa ocupa una buena parte de las líneas de I/O disponibles en el microcontrolador (24 Segmentos con 4 comunes), el número de líneas de I/O adicionales disponibles está bastante limitado, reduciéndose a 6, de las cuales 3 están compartidas con el pulsador y los dos leds de usuario, uno verde y otro azul. Si necesitamos más líneas de I/O, se puede desactivar el circuito de medida de corriente quitando 3 puentes de soldadura teniéndose acceso a 3 líneas de I/O adicionales.


STM32 VL Discovery

La placa STM32 VL Discovery es la primera de 32 bits de la familia Discovery. Esta placa contiene un microcontrolador STM32F100 de la familia STM32F1 que contiene un núcleo ARM Cortex-M3. La memoria disponible es de 128 kB de flash de programa y 8kB de RAM. Con un precio de poco más de 11€, se dispone de un sistema de 32 bits apenas un par de euros por encima de la placa de 8 bits más sencilla de la familia.



La placa incorpora dos leds programables y un pulsador de usuario. La ausencia de periféricos externos integrados en la placa hace que queden 42 líneas de I/O disponibles.
Dentro de la placa se hallan también dos osciladores de cuarzo en torno al procesador principal, uno a 8 MHz que permite, usando el PLL interno del procesador, operar a una frecuencia máxima de 24 MHz, y otro de 32768 Hz que permite disponer de una base de tiempos para el reloj de tiempo real. De hecho, esta placa es un tanto especial porque incorpora, en realidad 3 cristales de cuarzo. Dos para el procesador principal y uno más para el procesador del interfaz de programación/emulación ST-Link.

El microcontrolador de esta placa incorpora ya un conjunto de periféricos internos bastante completo: 7 Timers de 16 bits con capacidad de generación de PWM. Un convertidor A/D de 12 bits y 16 canales. Dos convertidores DAC de 12 bits. Dos interfaces I2C, dos SPI y tres USARTs.


STM32 L Discovery

Igual que en la familia de 8 bits teníamos dos placas, una (STM8S) con pocos periféricos y muchas líneas de I/O y otra (STM8L) con LCD y medida de corriente que dejaba pocas líneas de expansión libre, en la serie de 32 bits hay 2 placas equivalentes. La primera, comentada anteriormente (STM32 VL) sería una versión con esteroides de la STM8S, mientras que la placa STM32 L Discovery sería la hermana grande de la STM8L. Algo por encima de 15 €, es un 50% más cara que su hermana de 8 bits.
Esta placa incorpora un microcontrolador STM32L152 de la família baja potencia STM32L1 basado, igual que la placa anterior, en un núcleo ARM Cortex-M3. La memoria disponibles es de 128 kB de flash de programa, 16 kB de RAM y 4kB de EEPROM de datos.


La placa incorpora diversos periféricos externos: 2 Leds de usuario, un pulsador de usuario, un display LCD alfanumérico de 6 carácteres (el mismo de la placa STM8L), un área táctil que puede operar como una zona lineal o 4 pulsadores independientes y un circuito de medida del consumo de corriente.
El hecho de que hayan tantos periféricos externos deja pocas líneas de I/O libres. En concreto se disponen de 8 líneas, tres compartidas con los leds y el pulsador, que pueden subir a 10 si se desactiva el circuito de medida de corriente.

Como en las otras placas, se incorpora un programador/emulador integrado, pero en este caso es ST-Link/V2 aunque también basado en un STM32F103.
Igual que en la placa STM8L, disponemos también de un reloj de cuarzo de 32768 Hz por lo que, añadido al LCD, hace a esta placa una buena candidata para aplicaciones de temporización que requieren de un RTC de tiempo real.


STM 32F4 Discovery

La placa STM32F4 Discovery es la última incorporación a la familia Discovery y es un importante salto adelante respecto a las otras placas. Incorpora un procesador STM32F407 de la família de altas prestaciones STM32F4 con núcleo ARM Cortex-M4 capaz de trabajar a 168 MHz  y que incorpora una FPU y funcionalidades de DSP. Lo acompaña 1Mb de memoria flash y 192 kB de RAM. Todo ello por prácticamente el mismo precio que la placa STM32L anterior.



La placa está bastante servida también de periféricos y es, con mucho, la más potente de la serie. Incorpora 4 leds y un pulsador de usuario, un acelerómetro MEMS, un micrófono MEMS, un DAC de audio con etapa de salida en clase D y un puerto USB OTG. Pese a los periféricos disponibles, la placa dispone también de múltiples líneas de I/O digital libres. Igual que la placa STM32L, disponemos también un interfaz de programación/emulación ST-Link/V2.

El conjunto de placas de la serie discovery constituye una alternativa de bajo precio, y en el caso de STM32 mucha más potencia, a proyectos basados en Arduino, pero eso sí, con bastante mayor dificultad de uso.

En proximos artículos hablaré sobre la programación de estas placas.









No hay comentarios:

Publicar un comentario en la entrada