Diferencia entre revisiones de «Embedded Sytems»

De Proyectos
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Sin resumen de edición
 
(No se muestran 12 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
Embedded Systems<br/>
Embedded Systems<br/>
[[C2 - Conceptos Fundamentales]]<br/>
[[C2 - Conceptos Fundamentales]]<br/>
<br/>
[[C4 - Lógica Digital]]<br/>
[[C4 - Lógica Digital]]<br/>
<br/>
[[C5 - Introducción a C]]<br/>
[[C5 - Introducción a C]]<br/>
[[C6 - Microcontroller Ports]]<br/>
[[C7 - Design and Development Process]]<br>
[[C10 - Finite State Machine]]<br>
[[C11 - UART: The serial interface]]<br>
[[C12 - Interrupts]]<br>
<br/>
<br/>


Línea 12: Línea 15:
<br/>
<br/>
[http://www.utm.mx/~fsantiag/Micros.htm http://www.utm.mx/~fsantiag/Micros.htm]<br/>
[http://www.utm.mx/~fsantiag/Micros.htm http://www.utm.mx/~fsantiag/Micros.htm]<br/>
<br/>
[[File: arm_cortex_m.gif]]<br/>
Imagen Cortex-M ARM (CPU, Memoria, Perifericos, ...)<br/>
<br/>
*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
<br/>
<br/>
Imagen CPU Cortex-M4 ARM<br/>
Imagen CPU Cortex-M4 ARM<br/>
Línea 37: Línea 33:
*Decodificación
*Decodificación
*Ejecució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
<br/>
<br/>
= C5 - Introducción a C =
== C5.0.-Introduction - Flow Charts ==
<br/>
<b>Flow Charts</b><br/>
<br/>
= C6 - Microcontroller Ports =
== C6.1 - TM4C123 Launchpad I/O Ports ==
<br/>
[[File: c6-tm4c123-ports.gif | 694px]]<br/>
<br/>
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
<br/>
<br/>
TABLA 6.1<br/>
<br/>
*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)
<br/>
[[File: C6-launchpad.jpg]]<br/>
<br/>
*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.
<br/>
<br/>
[[File: c6-esq-launchpad.gif | 800px]]<br/>
<br/>
<br/>
*Los pines PA1 y PA0 se utilizan como puerto serial para conectar el debugger al PC
Recursos
*Los pines PD4 y PD5 se utilizan para el USB
*https://www.smashwords.com/books/view/302372 - Libro en castellano de desarrollo en ARM M3 de Sergio R. Caprile
*Los pines de PC3 a PC0 son para el debugger JTAG
*http://www.sase.com.ar/2012/files/2012/09/Pres_ARMando.pdf - Presentacion pdf resumen arm de Sergio R. Caprile
*El pin PB6 se conecta al PD0 mediante un resistor (R9)
*http://mymoviestorrent.com/e-books/90968-the-designers-guide-to-the-cortex-m-processor-family-a-tutorial-approach.html - The Designer's Guide to the Cortex-M Processor Family - A Tutorial Approach -
*El pin PB7 se conecta al PD1 mediante un resistor (R10)
*http://users.ece.utexas.edu/~valvano/embed/toc1.htm - Aprendizaje C para ARM de J.Valvano
*Para usar los 4 pines individualmente se ha de desoldar el resistor R9 y R10
*http://www.forosdeelectronica.com/f24/empezar-microcontroladores-arm-55856/index2.html - Discusion sobre ARM. Interesante, hablan de placas de desarrollo y de las diferentes marcas que hacen ARM
*La placa tiene dos switches de logica negativa y requieren que se active la resistencia pull-up interna
*https://www.youtube.com/user/valenciaupv/search?query=arm - Canal youtube de Universidad Politecnica Valencia
*La placa tiene 3 leds de colores de logica positiva (PF3-PF1)

Revisión actual - 19:41 6 abr 2015

Embedded Systems
C2 - Conceptos Fundamentales
C4 - Lógica Digital
C5 - Introducción a C
C6 - Microcontroller Ports
C7 - Design and Development Process
C10 - Finite State Machine
C11 - UART: The serial interface
C12 - Interrupts

Información Complementaria

Recursos

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

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



Recursos