En tiempo real OS / LCD a bordo de Discovery $12


Un día tuve un profesor universitario a estudiantes de enseñar un truco matemático poderoso en EE101 - malla de análisis de circuito que creo.  Antes de que él empezó, dijo, "Hoy en día, mis alumnos, les doy un arma grande."  Captó nuestra atención y recuerdo la cita, pero lamentablemente, sería difícil a la malla de análisis hoy en día.

Hoy, mis lectores Instructible, ¡ dar armas grandes!

Para todos los programadores de software embebido de hardcore hot-shot, el tiempo paso hasta el siguiente nivel por aprender a usar un embebido en tiempo real OS en su próximo proyecto.  No sólo tienes un derecho preferente en tiempo real OS basado en prioridades, usted también consigue todas las golosinas que van junto con una en tiempo real encajado sistema operativo como: tareas, colas, semáforos binarios, contar semáforos, semáforos recursiva y exclusiones mutuas para la comunicación y sincronización entre tareas o entre tareas y las interrupciones.  Me da piel de gallina solo pensar en ello!  Todo el poder de este software viene a través de FreeRTOS que ha sido por mucho tiempo.

Oh, y el hardware que vamos a ejecutar esta en hace mi cabeza girar.  No estamos hablando de poco un micro Pic o Atmel.  No, no, vamos a ejecutar este sistema operativo en un nuevo 24MHz 32 Bit ARM® Cortex™-M3 de ST Micro.  La gente de ST Micro ha hecho una tabla de desarrollo, llamada el STM32 VL descubrimiento (VL es valor corto para línea), disponible para $12 dolares!  Probablemente están vendiendo la Junta en una pérdida.  Para la comparación, esta tabla es aproximadamente 1/3 el costo de un tablero estándar de Arduino.

El micro de STM32F100RBT6B de 24MHz que se utiliza en el tablero de descubrimiento es probablemente la más lenta que venden.  La mayoría de estos chips ejecuta mucho más rápido!  Sin embargo, la viruta sí mismo no es excesivamente cara - portadores de Digi-Key el chip de $3,50 en órdenes de más de 100 piezas.  Para $3,50 obtienes 128 k flash y 8 k de RAM - no EEPROM necesitan desde el micro puede escribir a su propio flash.

A continuación se muestran las especificaciones frente web page de Mouser para el chip de STM32F100RBT6B:

  • Base: ARM Cortex M3
  • Ancho de Bus de datos: 32 bits
  • Programa tipo de memoria: Flash
  • Tamaño de la memoria de programa: 128 KB
  • Tamaño de la RAM de datos: 8 KB
  • Tipo de interfaz: I2C, SPI, USART
  • Frecuencia de reloj máxima: 24 MHz
  • Número de E/s programables: 51
  • Número de temporizadores: 6
  • Tensión de alimentación: 2 V a 3,6 V
  • Temperatura máxima de funcionamiento: + 85 ° C
  • Paquete / caso: LQFP-64
  • 3 herramientas de desarrollo partido: EWARM, EWARM-BL, MDK-brazo, RL, ULINK2
  • Herramientas de desarrollo de proveedor: STM32100B-EVAL
  • Mínima temperatura de funcionamiento:-40 ° C
  • De la en-viruta ADC: 12 bits, 16 canales
  • On-Chip DAC: 12 bits, 2 canales

Acaso crees que el brazo no es bueno para pequeños proyectos, hice otra búsqueda en Digi-Key y dio vuelta encima de un chip de brazo incluso menos costoso de NXP.  El micro NXP (Digi-Key parte número 568-5142-ND) es otro chip ARM Cortex-M0.  Sin embargo, los funcionamientos de chip NXP a 50MHz (me estoy poniendo más gallina otra vez), tiene 8k de flash / 2k de RAM, IO 28 de 32 pines, I²C, SPI, USART para (tambor roll por favor) $1,46 @ 100pcs.  Me encanta la ley de Moore en acción.

Aprendizaje de esta materia tiene aplicación real en el mercado de trabajo.  Farfullar en sobre su última Arduino proyecto no va a conseguir mucha atención en una entrevista con un empleador.  Sin embargo, explicar cómo usted resolver un problema de inversión de prioridad en una incrustado en tiempo real que os va!  Confía en mí, me he entrevistado / contrató a un montón de programadores incrustados en los años como un ex empleado de Motorola.

Aquí hay un enlace para comprar el STM32 Discovery para $12 dólares de Mouser.  Comprar dos por si acaso - el coste de envío es una loco por lo que también podría llegar a dos.  Oh, y la pantalla LCD en el cuadro también viene de Mouser ($12,50 cada uno).

http://www.Mouser.com/stm32discovery/

El sistema operativo que vamos a utilizar se llama FreeRTOS y su dirección web se muestra a continuación.

http://www.FreeRTOS.org/

No se preocupe, usted puede utilizar este sistema operativo en su producto comercial sin exponer el código fuente.  El sistema operativo utiliza una licencia GPL modificada y también es libre de regalías.  Para un desglose completo de los términos de licencia aquí hay otro link:

http://www.FreeRTOS.org/index.html?http :// www.freertos.org/a00114.html

FreeRTOS en tiempo real OS ha sido de alrededor durante mucho tiempo y es muy estable.  El sistema operativo ha sido portado a diferentes 26 arquitecturas y está muy bien documentado.  Primero usé FreeRTOS en un producto de GM.  Mi código, juntada con FreeRTOS, es corriendo en decenas de miles de vehículos.  En aquellos días, usé FreeRTOS en un chip de Freescale Star12 (menos potente).  Creo sinceramente que usando FreeRTOS en ese proyecto guardado mi tocino.

Tener el sistema operativo capaz de funcionar en 26 diferentes arquitecturas, como dije antes, no significa tu atado a una pieza específica de hardware.  Me gusta la libertad de elección.  Si desea bucear, te sugiero comprar el libro "Usando el FreeRTOS en tiempo Real núcleo – una guía práctica".  La versión eBook es solamente $25 dólares - compra el libro ayuda al desarrollo de FreeRTOS demasiado.  Usted puede encontrar fácilmente el libro en FreeRTOS.org.  Nota, no tengo ningún interés financiero en FreeRTOS o ST - sólo me gusta tanto.

Para mantenerse en futuros desarrollos, que estoy trabajando en usted puede vincular siempre a mi canal RSS de mi sitio web.  Intento publicar pasos intermedios antes de reunir suficiente material para un instructible.  Mi dirección de sitio web (electrónica de potencia) se enumera a continuación:

pH-elec.com

Para el feed de RSS, añadir un marcador "en vivo" en:

www.pH-elec.com/RSS.XML

Artículos Relacionados

Movimiento sensible LCD en tiempo real reloj/alarma/temporizador (programa actualizado)

Movimiento sensible LCD en tiempo real reloj/alarma/temporizador (programa actualizado)

necesitaba un reloj para mi oficina en casa (donde me paso las mañanas del fin de semana construyendo robots y tal) y quería que encajen en la decoración de mi banco de trabajo electrónica. Me decidí a construir uno con todas las "entrañas" expu
Rastreador de vuelos en tiempo Real de ADS-B y dispositivo de monitorización utilizando Intel Edison

Rastreador de vuelos en tiempo Real de ADS-B y dispositivo de monitorización utilizando Intel Edison

Vigilancia dependiente automática-Broadcast (ADS-B) es un sistema de vigilancia satelital precisa. ADS-B utiliza tecnología GPS para determinar la ubicación de la aeronave, velocidad y otros datos y difunde que estaciones de información a una red de
Reloj en tiempo real con PIC18F452

Reloj en tiempo real con PIC18F452

Bienvenido a usted. Aquí estoy diseñado un reloj de tiempo Real utilizando el microcontrolador PIC18F452. Voy a explicar cómo diseñar el reloj en tiempo Real utilizando el microcontrolador PIC. RTC usando PIC18F452PIC es avance microcontrolador serie
Reloj de tiempo real utilizando AT89s52

Reloj de tiempo real utilizando AT89s52

WELCOME BACK, esto es shubham Trivedi y hoy voy a diseño de reloj en tiempo Real utilizando el microcontrolador At89s52. El microcontrolador AT89S52 es el corazón de este proyecto. DS1307 IC se utiliza como RTC. Necesaria de este IC DS1307 I2C interf
Monitor en tiempo real Web basado hogar energía uso

Monitor en tiempo real Web basado hogar energía uso

un monitor de uso de energía del hogar basado en la web en tiempo real detalles de este Instructable. El resultado final es un cuadro vivo de una página web que se actualiza cada 10 segundos con el uso de potencia instantánea para toda mi casa. La co
Reloj de tiempo Real de Arduino con alarma y sensores ambientales

Reloj de tiempo Real de Arduino con alarma y sensores ambientales

Reloj de Arduino, con respaldo de batería (reloj en tiempo real), tiempo, fecha, alarma, temperatura, humedad, presión, LCD, salida, entrada de teclado, dormir modo, blanco de iluminación (4 X) LED LCD con control de intensidadPaso 1: Lista de piezas
Arduino Aquaponics: reloj de tiempo Real parte I

Arduino Aquaponics: reloj de tiempo Real parte I

necesidad fundamental de AA de cualquier sistema de control es la capacidad de registrar el tiempo.  Como lo que somos conscientes, el Arduino tiene tres métodos que puede emplear:1. serie.  Varias veces superar el tiempo de la conexión en serie.2. e
Trazado de ECG en tiempo real de Pi frambuesa

Trazado de ECG en tiempo real de Pi frambuesa

trazado de ECG en tiempo real de Raspberry PiTL084 x3 tarjeta de señal de ECGFrambuesa Pi MCP3008 ECG señal lector y servidor webservidor Web de Apache tomcathttp://www.youtube.com/watch?v=sBC65qsSEkU&feature=youtu.beañadir a bordo: Junta de bricolaj
Noteu: Dispositivo de notificación en tiempo real USB

Noteu: Dispositivo de notificación en tiempo real USB

¿Qué es Noteu?Por favor haga clic abajo para visitar nuestra página de Kickstarter para obtener más información y si su interés para usted pre-ordenar un modelo de producción. https://www.Kickstarter.com/projects/Jackt/noteu-...Noteu es uno de los pr
Dispositivo de notificación en tiempo real USB

Dispositivo de notificación en tiempo real USB

¿Qué es Noteu?Por favor haga clic abajo para visitar nuestra página de Kickstarter para obtener más información y si su interés para usted pre-ordenar un modelo de producción.https://www.Kickstarter.com/projects/Jackt/noteu-u...Noteu es una de las pr
Monitor en tiempo real de BitCoin Price con matriz de LED Arduino y 1Sheeld

Monitor en tiempo real de BitCoin Price con matriz de LED Arduino y 1Sheeld

Básicamente, estos proyectos ilustran cómo actualizar el precio del BitCoin en USD en tiempo real y el precio que se muestra en una gran matriz de LED que hemos hackeado para dejarla comunicarse con Arduino en lugar de la PC.Hemos enfrentado algunos
Módulos de reloj en tiempo Real compatible con Arduino #5 (DS1307 y DS3231)

Módulos de reloj en tiempo Real compatible con Arduino #5 (DS1307 y DS3231)

Un módulo de reloj en tiempo Real (RTC) es que un RTC es un RTC. ¿Verdad? Mal!Mientras estos dos ECA muy común, compatible con Arduino un aspecto muy similar y están conectados a través del I2C (pronunciado ojo cuadrado, u ojo ojo) bus de comunicacio
Berlín reloj, Arduino Nano, DS1307 reloj en tiempo Real. 74HC595N 8 Bit Shift Register.

Berlín reloj, Arduino Nano, DS1307 reloj en tiempo Real. 74HC595N 8 Bit Shift Register.

Hace algún tiempo he querido construir un reloj de Berlín. ¿Realmente no sé por qué? Igual lo "diferente" a la hora.¿Cómo funciona?A partir de la parte inferior hay 4 amarillo enciende cada luz representa 1 minuto, así que si no hay ninguno en e
Montar un Kit de reloj de tiempo Real Adafruit DS1307

Montar un Kit de reloj de tiempo Real Adafruit DS1307

Sería justo decir que las industrias Adafruit ya ha hecho un gran trabajo de documentación de su Kit de reloj de tiempo Real DS1307. De hecho, sus instrucciones son mucho mejores que nada que tengo que ofrecer ya que incluye a todo tipo de archivos,