Embedded Sytems

De Proyectos
Ir a la navegación Ir a la búsqueda

Embedded Systems
C2 - Conceptos Fundamentales

C4 - Lógica Digital

C5 - Introducción a C

Información Complementaria

Recursos

http://www.utm.mx/~fsantiag/Micros.htm


Imagen Cortex-M ARM (CPU, Memoria, Perifericos, ...)

  • Arquitectura Harvard. ICode bus conecta con la ROM y System bus conecta con la RAM
  • NVIC se encarga d elas interrupciones
  • Algunos perifericos internos se conectan directamente con el procesador por el bus PPB


Imagen CPU Cortex-M4 ARM

Imagen Memoria Cortex-M4 ARM

Tipos CPU:

  • CISC (Complex Instruction Set Computers)
    • Hardware complejo y un bajo rendimiento
    • Demasiadas instrucciones con diferentes tamaños y formatos, que pueden ocupar varios bytes
  • RISC (Reduced Instruction Set Computers)
    • Hardware es simple y resuelve pocas instrucciones. Alto rendimiento.
    • Pocas instrucciones y generalmente del mismo tamaño



Tareas CPU (FALTA MAS INFO):

  • Atrapar la instrucción
  • Decodificación
  • Ejecución

Tipos de memoria:

  • Memoria de Código
    • Es en la que se almacena el programa
    • Es no volátil
    • Es la comunmente llamada ROM, y la tecnologia flash es una de las utilizadas para almacenar la ROM
      • La memoria flash se borra mediante impulsos eléctricos. Es una sucesora de la EEPROM
  • Memoria de Datos
    • Es la que almacena las variables del programa
    • Es volátil
    • Es la comunmente llamada RAM. La tecnologia que se utiliza para los microcontroladores es la SRAM
    • También nos podemos encontrar con microcontroladores que ademas tienen memoria EEPROM para guardar datos cuando se corta la electricidad

Sistema de memoria:

  • Arquitectura Von Neumann
    • La Memoria de Código y la de Datos comparten el Bus hacia la CPU
  • Arquitectura Harvard
    • Hay un bus para la Memoria de Código y otro bus para la Memori de datos




C5 - Introducción a C

C5.0.-Introduction - Flow Charts


Flow Charts

C6 - Microcontroller Ports

C6.1 - TM4C123 Launchpad I/O Ports




En la imagen de arriba se ven los 43 puertos del TM4C123:

  • 8 puesrtos UART
  • 4 puertos SSI
  • 4 puertos I2C
  • 2 convertidores ADC de 12bits
  • 12 timers
  • 1 puerto CAN
  • 1 puerto USB
  • 16 puertos PWM

Los pines se pueden configurar como:

  • digital I/O
  • analog input
  • timer I/O
  • serial I/O



TABLA 6.1

  • En el registro GPIOPCTL se configuran las funciones altrenativas de los pines (0 significa que se configura el pine como un puerto I/O normal).
  • Los pines que van de PC3-PC0 no salen en la tabla porque estan reservados para el debugger JTAG y no se pueden usar como puertos I/O normales.
  • Algunas funciones altrenativas solo pueden estar en un pin determinado y otras pueden estar en varios pines (por ejemplo CAN0Rx puede estar mapeado en los pines PB4, PE4 o PF0)




  • Esta es la placa Tiva LaunchPad basada en el chip LM4F120H5QR o TM4C123GH6PM.
  • Incluye integrado un In-Circuit Debug Interface (ICDI) que nos permite programar y hacer debug al controlador.
  • Un puerto USB sirve para el ICDI y el otro para desarrollar aplicaciones que se comuniquen por usb.
  • El switch de power permite que la placa se alimente por el usb del ICDI o por el otro USB.




  • Los pines PA1 y PA0 se utilizan como puerto serial para conectar el debugger al PC
  • Los pines PD4 y PD5 se utilizan para el USB
  • Los pines de PC3 a PC0 son para el debugger JTAG
  • El pin PB6 se conecta al PD0 mediante un resistor (R9)
  • El pin PB7 se conecta al PD1 mediante un resistor (R10)
  • Para usar los 4 pines individualmente se ha de desoldar el resistor R9 y R10
  • La placa tiene dos switches de logica negativa y requieren que se active la resistencia pull-up interna
  • La placa tiene 3 leds de colores de logica positiva (PF3-PF1)