INSTITUTO TECNOLÓGICO DE OAXACA
DEPARTAMENTO DE INGENIERIA ELECTRONICA

                        nicioBAJAR     


    QUE TENGAN UN BUEN INICIO DEL SEMESTRE Y LES DESEO QUE LO FINALICEN CON EXITO, MANTENGAN POR SIEMPRE SU ENTUSIASMO PARA SEGUIR FORMANDOSE COMO INGENIEROS.     Ing. MAPS

Inscribirse a Classroom
Class code:
apxl6wjq


REQUISITOS NECESARIOS PARA TENER EXITO AL CURSAR ESTA MATERIA

    * Haber cursado y aprobado el curso de Programación Estructurada (lenguaje C).
    * Haber cursado y aprobado la materia de Diseño Digital con Verilog, cumpliendo todos los objetivos.
    * Haber cursado y aprobado la materia de Diseño Digital con VHDL, cumpliendo todos los objetivos.
    * Dominar el manejo de los sistemas numericos: Binarios, hexadecimal y octal.
    * Dominar la teoría y práctica con los circuitos logicos combinacionales y secuenciales.
    * Read technical documents and understand videos in english (very, very important).
    * Contar con un pen drive de 32 GB minimo y crear el arbol de carpetas de la siguiente manera....ESTAS CARPETAS TENDRAN LA INFORMACION QUE SE DEBEN TENER A LA MANO PARA PROGRAMAR MICROCONTROLADORES ATMEL, EN ESPECIFICO EL ATmega 328p
:


 MATERIA_MICROCONTROLADORES_E5A        
    •    Software:
  • Codigos de ATMEL.
  •  Simulaciones en Proteus.
  • Tutoriales:
  •  Videos de apoyo.
  •  Sitios Web para proyectos.
  •  Tener computadora personal en casa y ser competente en su manejo.
  •  Contar con bata antiestatica, color; Blanca o azul.
  • Contar con un cuaderno único para la materia (dividalo en teoría y práctica). Su cuaderno con apuntes en forma será lo único que podran sacar en los examenes.
  •  Ser disciplinado en la puntualidad, tener orden en sus apuntes y material de clase.


Foreword
Introduction:

A microcontroller is a compact integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor (CPU), memory, input/output (I/O) ports and internal peripherals (like timers, ADCs, counters) on a single chip.

Sometimes referred to as an embedded controller or microcontroller unit (MCU); microcontrollers are found in vehicles, robots, office machines, medical devices, mobile radio transceivers, vending machines and home appliances, among other devices. They are essentially simple miniature personal computers (PCs) designed to control small features of a larger component, without a complex front-end operating system (OS).
A microcontrollers work in this way:
A microcontroller is embedded inside of a system to control a singular function in a device. It does this by interpreting data that receives from its I/O peripherals using its central processor processor (core). The temporary information that the microcontroller receives is stored in its data memory, where the processor accesses it and uses instructions stored in its program memory to process the stored and incoming data. It then uses its I/O peripherals to communicate and taket the appropriate action.

Microcontrollers are used in a wide array of systems and devices. Devices often utilize multiple microcontrollers that work together within the device to handle their respective tasks. For example, a car might have many microcontrollers that control various individual systems within, such as the anti-lock braking system, traction control, fuel injection or suspension control. All the microcontrollers communicate with each other to inform the correct actions. Some might communicate with a more complex central computer within the car, and others might only communicate with other microcontrollers. They send and receive data using their I/O ports and process that data to perform their designated tasks.
Elements of a microcontroller:

The main  elements of a microcontroller are:

    *  The processor (CPU, core): A processor can be thought of as the brain of the MCU. It processes and responds to various instructions that direct the microcontroller's function. This involves performing basic arithmetic, logic and I/O operations. It also performs data transfer operations, which communicate commands to other components in the larger embedded system.

    *  Memory: A microcontroller's memory is used to store the data that the processor receives and uses to respond to instructions that it's been programmed to carry out. A microcontroller has two main memory types:

    *  Program memory: which stores long-term information about the instructions that the CPU carries out. Program memory is non-volatile memory, meaning it holds information over time without needing a power source.

    *  Data memory: which is required for temporary data storage while the instructions are being executed. Data memory is volatile, meaning the data it holds is temporary and is only maintained if the device is connected to a power source.

    *  I/O ports: The input and output ports are the interface for the processor to the outside world. The input ports receive information and send it to the processor in the form of binary data. The processor receives that data and sends the necessary instructions to output devices that execute tasks external to the microcontroller.


The way all the main elements are connected and how they intechange data and instrucciones, is known as Harvare Architecture.



While the processor, memory and I/O ports are the defining elements of the microcontroller, there are other elements that are frequently included. The term Internal peripherals itself simply refers to supporting components that interface with the memory and processor. There are many supporting components that can be classified as internal peripherals.

Other supporting elements called internal periherals of a microcontroller include:

    *  Analog to Digital Converter (ADC): An ADC is a circuit that converts analog signals to digital signals. It allows the processor at the center of the microcontroller to interface with external analog devices, such as sensors.
    *  Digital to Analog Converter (DAC): A DAC performs the inverse function of an ADC and allows the processor at the center of the microcontroller to communicate its outgoing signals to external analog components.
    *  Timers: Works as a timer/counter and are one of the most important features in modern microcontrollers. They allow us to measure how long something.

    *  System bus: The system bus is the connective wire that links all components of the microcontroller together.
    *  Serial port: The serial port is one example of an I/O port that allows the microcontroller to connect to external components. It has a similar function to a USB or a parallel port but differs in the way it exchanges bits-

Objetivo del curso
    * Comprender el funcionamiento de los bloques de construcción de un MCU en general.
    * Comprender terminologías como; Sistemas embebidos, procesadores RISC y CISC.
    * Comprender las arquitectura y caracteristicas especiales del MCU ATmega328p de Atmel
    * Que el alumno aprenda a utilizar la herramienta IDE Microchip Studio v7.0
    * Crear aplicaciones en Lenguaje ensamblador y lenguaje C/C++
    * Implementar codigos en las tarjetas de desarrollo Arduino v R3/.
    * Crear aplicaciones con el MCU ESP32-S3


Descripción
 
Esta asignatura comprende cinco unidades fundamentales; en la primera unidad se encuentran los conceptos básicos de los microcontroladores, el alumno comprenderá como se organizan internamente estos dispositivos, como se comunican entre si las unidades internas y la función específica de cada uno de ellos. Será capaz de localizar información del dispositivo en su hoja de datos, cómo interpretarla y como seleccionar el microcontrolador más adecuado para una aplicación.   En la segunda unidad se define y se aplica la metodología para la programación de los microcontroladores con lenguaje ensamblador. Es de suma importancia la parte práctica de la materia ya que es la base para la solución de problemas prácticos de ingeniería electrónica. Por lo que se propone la realización de prácticas, que permitan dominar la configuración y programación de los microcontroladores, así como la realización de un proyecto integrador, que estimule la colaboración en el trabajo y la discusión entre los estudiantes, que le permitan resolver los retos que este trabajo implica. En esta unidad se inicia con el estudio de la arquitectura del uC Atmega 320 y se inicia su programacion en ensamblados C utilizando el IDE Microchip Studio.

En la tercera unidad se definen y se aplica la metodología para la programación de los microcontroladores con lenguaje C/C++. Se recomienda que se realicen programas híbridos que contengan sentencia en C y ensamblador. Se propone la realización de prácticas, que permitan dominar la configuración y programación de los microcontroladores, así como la realización de un proyecto integrador, que estimule la colaboración en el trabajo y la discusión entre los estudiantes para resolver los retos que este trabajo implica. En la cuarta unidad se estudian las interfaces de comunicación, que son de suma importancia ya que cualquier sistema digital, sea un equipo de medición, de control,etc., potencializa su uso al comunicarse mediante interfaces y protocolos con otros equipos. Por ello es indispensable que el alumno aprenda las formas en que un microcontrolador se puede comunicar con otros sistemas digitales, logrando así un valor agregado a la aplicación.
En la quinta unidad, se hace hincapié en que el alumno desarrolle una actividad integradora, utilizando como base de funcionamiento un microcontrolador. Con la intención de consolidar los conocimientos adquiridos, así como desarrollar su potencial creativo y emprendedor. Durante el desarrollo de las actividades programadas en la asignatura es muy importante que el estudiante aprenda a valorar las actividades que lleva particularmente a cabo y entienda que está construyendo su conocimiento, aprecie la importancia del mismo y los hábitos de trabajo; desarrolle la precisión, la curiosidad, la puntualidad, el entusiasmo, el interés, la tenacidad, la flexibilidad y la autonomía y en consecuencia actué de manera profesional.

Volver al principio

Temario


UNIDAD I: ARQUITECTURA INTERNA DEL MCU.

UNIDAD 2: EL MODELO DE PROGRAMACION DEL MCU EN LENGUAJE ENSAMBLADOR.

 UNIDAD 3:  EL MODELO DE PROGRAMACION DEL MCU EN LENGUAJE C .

UNIDAD 4:  INTERFASES DE COMUNICACION.

UNIDAD 5: DESARROLLO DE APLICACIONES CON MCUs.

FOR AVR MICROCONTROLLERS










 
FOR STM8 & STM32 MICROCONTROLLERS

1.- SOFTWARE TO DOWNLOAD:
ST Visual develop IDE for developing ST7 and STM8 applications.


FOR CORTEX M3 AND M4 PROCESSORS
1.- PAPER: ARM Cortex for beguinners.
2.- TEXT_BOOK: The Definitive Guide to ARM® Cortex®-M3 and M4 Processors.
3.- TEXT FOR SUPPORT:  Mastering STM32.
  • VIDEO LESSONS: ARM Programming tutorial. ( If you don't learn microcontrollers, is because you don´t want).

ARM® Cortex®-M Architecture Overview: Course from Microchip University

1.- Introduction to RISC architecture of ARM.
2.- ARM Architecture and instruction design philosophy.
3.- ARM Microcontroller block diagram.
4.- ARM Microcontroller memory controller and management.
5.- Data flow model an register set in ARM.
6.- Program status Register and modes in ARM.
7.- Pipeline in ARM microcontrollers.
8.- MOV  instruction set and barrel shifter in ARM.
9.- ARM Conditional instruction set.
10.-Thumb mode vs ARM mode instruction set.
11.- Arithmetic instructions in ARM.
12.- Logical instructions in ARM.
13.- Comparations instructions In ARM.
14.- Multiply instructions in ARM.
15.- Branch instructions in ARM_Part_1
16.- Branch instructions in ARM_Part 2
17.- Load store instructions set in ARM.
18.- Load store addressing mode in ARM.
19.- Using multiple register transfer in ARM.
20.- Stack push and pop operation in ARM.
21.- RISC and CISC architecture.
22.- Little endian vs big endian.
23.-
24.- ARM Exception handling and modes.
25.- ARM link register; LR and program counter, PC in exception mode.
26.- Exception mode priority level in ARM.


TEAMWORKS FOR FINAL PROJECT
















 







Ponderacion de la evaluacion.
 
Cada unidad se evalua de la siguiente manera

(P) Prácticas                                                 50%    
(C) Cuestionamientos (examen escrito)      20 % 
(T) Proyecto final                                         30%
    
Free Web Hosting