▷ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2022 PAO1)

  • ➡️ #EmbeddedSystems #ARM #Python #CProgrammingLanguage #AVR #Esp32 #Espressif #IoT #CyberPhysicalSystem #SensorNetwork #WirelessSensorNetwork #Processor #Arduino #RaspberryPi #FreeRTOS
  • ⭐ https://github.com/vasanza/EmbeddedSystems


CAPÍTULO 1 (25%)

Problema #1A: (5%) ¿Cuáles de las siguientes afirmaciones son correctas referente a la historia los Sistemas Ciber - físicos (CPS)?

  1. Mark Weiser. creó el término “informática ubicua”.
  2. El uso cada vez menos frecuente en nuestra vida cotidiana de los dispositivos informáticos dio lugar a los términos "informática generalizada" e "inteligencia ambiental".
  3. La miniaturización física de las computadoras también permitió la integración del procesamiento de información.
  4. Un Sistema Embebidos (SE) no es un sistema computacional diseñado para realizar una o algunas tareas específicas.
  5. Este sistema computacional no es el producto final, sino una parte dedicada "incorporada" de un sistema más grande que a menudo incluye partes electrónicas y mecánicas adicionales.

Problema #1B: (5%) ¿Cuáles de las siguientes afirmaciones son correctas referente a la historia los Sistemas Ciber - físicos (CPS)?

  1. Dado que un Sistema Embebido (SE) está dedicado a tareas específicas, su diseño puede optimizarse para reducir los costos.
  2. Lee et Al. Indica que un “Sistemas Ciber-Físicos" (CPS) es todo aquel dispositivo que no es capaz de integra capacidades de computación, almacenamiento y comunicación para controlar e interactuar con un proceso físico.
  3. Creciente auge por la reducción de costos y tamaños de los SE, permitiendo no solo conectarlos sino tambien con la capacidad de actuar en función de los datos que generan o reciben.
  4. Actualmente existen menos dispositivos o SE conectados a diferentes redes capaces de captar información e interactuar con otros dispositivos.

Problema #2A: (5%) ¿Cuáles de las siguientes afirmaciones son correctas referente a los sistemas IoT?

  1. Giusto et Al. menciona respecto al término IoT: "Describe la presencia dominante de una variedad de dispositivos, como sensores, actuadores y teléfonos móviles, que, a través de esquemas de direccionamiento únicos, pueden interactuar y cooperar entre sí para alcanzar objetivos comunes ".
  2. Se espera que Internet de las cosas permita la comunicación entre muy pocos dispositivos en el mundo.
  3. La primera revolución industrial se basó en la introducción de equipos de producción mecánicos impulsados por agua y la energía de vapor.
  4. La segunda revolución industrial se basó en el uso de electrónica e informática (IT) para promover la producción automatizada.
  5. La tercera revolución industrial se basó en la producción en masa que se alcanza gracias al concepto de división de tareas y el uso de energía eléctrica.

Problema #2B: (5%) ¿Cuáles de los siguientes enunciados son descripciones de los desafíos que deben superar los Sistemas Ciber - físicos (CPS)?

  1. Una razón clave para la necesidad de ser confiable es que estos sistemas están directamente conectados al entorno físico y tienen un impacto inmediato en ese entorno.
  2. Un CPS es fiable si los destinatarios previstos solo pueden acceder a la información.
  3. Un CPS es seguro si está protegido contra daños causados por ataques que se originan desde fuera del sistema.
  4. Un CPS posee confidencialidad si previene el mal funcionamiento de los sistemas como resultado de componentes defectuosos.
  5. Muchos CPS deben cumplir las restricciones en tiempo real. 

Problema #3A: (15%) Belwafi et Al., escribió el paper titulado “A novel embedded implementation based on adaptive filter bank for brain-computer interface systems” en donde desarrolla un Brain Computer Interface (BCI) basado en filtrado dinámico de señales EEG adquiridas desde un sistema OPENBCI basado en FPGA.El sistema integra los siguientes componentes:

  • La versión más rápida del caché de datos Nios-II, con un tamaño de 64 KB y un caché de instrucciones de 4 KB.
  • Un temporizador para medir el tiempo de ejecución, con un contador de 32 bits, y el tiempo de espera es de 10 µs.
  • JTAG UART para establecer comunicación entre Eclipse y la placa Stratix-IV.
  • Memoria DDR2 con 1 GB de tamaño, conectada al diseño del sistema a través de un controlador DDR2.
  • Acceso directo a memoria (DMA) para transferir datos de manera eficiente, leer y escribir datos en el espacio máximo asignado por la fuente o el destino.
  • Memoria en chip con un tamaño de 4 KB para sincronizar la transferencia de datos entre el origen y el destino a través del Interfaz DMA.
  • WOLA Windowing IP.
  • GPIO (UART) para establecer la comunicación entre el FPGA y el sistema de adquisición (OpenBCI) para validar el sistema EBCI de acuerdo con el enfoque en línea.
  • El sistema utiliza un bloque PLL para poder generar diferentes rangos de frecuencias que necesitan los filtros.

Se pide realizar el diseño de bloques fundamentales del sistema completo.

Respuesta:

Problema #3B: (15%) M Li et Al., escribió el paper titulado “The Design of IP Core for LCD Controller Based on SOPC” en donde desarrolla un controlador para pantalla LCD utilizando un solo procesador NIOSii como se describe a continuación:

  • El SOPC (System on Processor Chip) tiene una pantalla LCD que se conecta con el controlador LCD, la SDRAM se conecta con el controlador SDRAM y la comunicación de los dos controladores con el procesador NIOS II a través de la interfaz mapeada de memoria Avalon (Avalon-MM).
  • El control de múltiples relojes generados por el mismo PLL puede generar relojes con diferentes frecuencias o fases.
  • El componente Avalon ALTPLL agregado en Qsys puede generar cinco relojes diferentes como máximo, pero solo se necesitan dos salidas en este diseño.
  • De acuerdo con el principio de funcionamiento de SDRAM, se sabe que los relojes que ingresan a la SDRAM y al controlador SDRAM deben tener la misma frecuencia y tener una cierta diferencia de fase para garantizar la lectura y escritura correcta de los datos.
  • En este diseño, la entrada al controlador SDRAM y SDRAM es una señal de reloj bidireccional con una misma frecuencia de 100MHz y una diferencia de fase de 90 °. Y clk_100m2 exporta para el reloj de SDRAM, clk_50m es el reloj del sistema. Necesitamos configurar el sistema de procesador NIOS II, seleccionar y configurar los periféricos e IP, luego conectar los módulos periféricos, generar el sistema, diseñar el módulo de nivel superior en el software Quartus II, asignar los pines y compilarlos completamente, y descargar si se compila correctamente, el modelo del chip FPGA en esta placa de desarrollo es EP4CE10F17C8.

Se pide realizar el diseño de bloques fundamentales del sistema completo.

Respuesta:

CAPÍTULO 2 (15%)

Problema #4A: (5%) ¿Cuáles de los siguientes enunciados referentes a los sistemas Multicore, son correctos?

  1. En este modelo, hay una memoria compartida común (grande) para todos los procesadores
  2. Diferentes núcleos ejecutan diferentes hilos (instrucciones múltiples), operando en diferentes partes de la memoria (datos múltiples).
  3. Todos los núcleos comparten la misma memoria.
  4. Cada procesador tiene su propia (pequeña) memoria local, y su contenido no se replica en ningún otro lugar.

Problema #4B: (5%) ¿Cuáles de los siguientes enunciados referentes a los sistemas Multiprocessor, son correctos?

  1. En este modelo, hay una memoria compartida común (grande) para todos los procesadores.
  2. Diferentes núcleos ejecutan diferentes hilos (instrucciones múltiples), operando en diferentes partes de la memoria (datos múltiples).
  3. Todos los núcleos comparten la misma memoria.
  4. Cada procesador tiene su propia (pequeña) memoria local, y su contenido no se replica en ningún otro lugar.

Problema #5: (5%) Indique cuáles de las siguientes afirmaciones referentes a las FPGA son correctas:

  1. Las siglas FPGA significan “Field-Programmable Gate Array”.
  2. No permiten hacen cualquier función lógica.
  3. No son configurables y tienen solo bajas velocidades de funcionamiento.
  4. Permiten un paralelismo masivo y tienen una alta cantidad de I/O.

Problema #6: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la arquitectura del AVR ATmega328P son ciertas?

  1. El microcontrolador ATmega328P tiene en su arquitectura un procesador multicore, una memoria SRAM de datos, una memoria FLASH para instrucciones, una memoria EEPROM para datos no volátiles almacenados en tiempo de ejecución y periféricos adicionales.
  2. El microcontrolador ATmega328P tiene en su arquitectura un procesador Single-core, una memoria SRAM de datos, una memoria FLAH para instrucciones, una memoria EEPROM para datos no volátiles almacenados en tiempo de ejecución y periféricos adicionales.
  3. La arquitectura del ATmega328P está diseñada bajo el concepto de la Arquitectura Harvard.
  4. La arquitectura del ATmega328P está diseñada bajo el concepto de la Von Neumann.
  5. AVR es una familia de microcontroladores desarrollada desde 1996 por Atmel, adquirido por Microchip en el 2016.
  6. AVR es una familia de microcontroladores desarrollada desde 1996 por Microchip, adquirido por Atmel en el 2016.

CAPÍTULO 3 (20%)

Problema #7A: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria SRAM del AVR ATmega328P son ciertas?

  1. Es una memoria volátil con capacidad de 2K Bytes, de los cuales 0.5K Bytes son usados por el bootloader.
  2. Es una memoria no volátil de código de programa tiene una capacidad de 32K Bytes y puede ser utilizada para almacenar datos de forma permanente, los mismos que pueden ser leídos y modificados constantemente durante la ejecución de un programa.
  3. Es una memoria modificable en tiempo de ejecución y no tiene límites de ciclos de escritura y lectura.
  4. Es una memoria modificable en tiempo de compilación y no tiene límites de ciclos de escritura y lectura.
  5. Las direcciones de memoria que no están usadas están cargadas con valores 0XFF por default.
  6. Las direcciones de memoria que no están usadas están cargadas con valores 0X00 por default.

Problema #7B: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria SRAM del AVR ATmega328P son ciertas?

  1. Es una memoria volátil con capacidad de 32K Bytes, de los cuales 0.5K Bytes son usados por el bootloader.
  2. Es una memoria no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura en esta memoria tarda 3,3 ms para ser completado y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  3. Desde la dirección de memoria 0X00 hasta la 0XFF, están reservadas para 32 registros, registros I/O y Registros Ext I/O.
  4. La única forma de acceder a los datos almacenados es usando punteros.
  5. Se puede especificar las direcciones de almacenamiento.
  6. Memoria preferiblemente usada para almacenar grandes textos y datos no modificables.

Problema #8A: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria FLASH del AVR ATmega328P son ciertas?

  1. Es una memoria no volátil de código de programa tiene una capacidad de 32K Bytes y puede ser utilizada para almacenar datos de forma permanente, los mismos que pueden ser leídos y modificados constantemente durante la ejecución de un programa.
  2. Es una memoria no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura en esta memoria tarda 3,3 ms para ser completado y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  3. Es una memoria modificable en tiempo de ejecución y la cantidad máxima de ciclos de escritura / borrado es de 10.000 ciclos.
  4. Es una memoria modificable en tiempo de compilación y la cantidad máxima de ciclos de escritura / borrado es de 10.000 ciclos.
  5. Las direcciones de memoria que no están usadas están cargadas con valores 0XFF por default.
  6. Las direcciones de memoria que no están usadas están cargadas con valores 0X00 por default.

Problema #8B: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria FLASH del AVR ATmega328P son ciertas?

  1. Es una memoria no volátil de código de programa tiene una capacidad de 32K Bytes, de los cuales 0.5K Bytes son usados por el bootloader.
  2. Es una memoria no volátil de código de programa tiene una capacidad de 2K Bytes, de los cuales 0.5K Bytes son usados por el bootloader.
  3. Es una memoria no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura en esta memoria tarda 3,3 ms para ser completado y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  4. La única forma de acceder a los datos almacenados es usando punteros.
  5. Memoria preferiblemente usada para almacenar grandes textos y datos no modificables.
  6. Las direcciones de memoria que no están usadas están cargadas con valores 0X00 por default.

Problema #9A: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria EEPROM del AVR ATmega328P son ciertas?

  1. Es una memoria no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura en esta memoria tarda 3,3 ms para ser completado.
  2. Es una memoria no volátil de código de programa tiene una capacidad de 32K Bytes y puede ser utilizada para almacenar datos de forma permanente, los mismos que pueden ser leídos y modificados constantemente durante la ejecución de un programa.
  3. Es una memoria modificable en tiempo de ejecución y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  4. Es una memoria modificable en tiempo de compilación y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  5. Las direcciones de memoria que no están usadas están cargadas con valores 0XFF por default.
  6. Las direcciones de memoria que no están usadas están cargadas con valores 0X00 por default.

Problema #9B: (5%) ¿Cuáles de las siguientes afirmaciones referentes a la memoria EEPROM del AVR ATmega328P son ciertas?

  1. Desde la dirección de memoria 0X00 hasta la 0XFF, están reservadas para 32 registros, registros I/O y Registros Ext I/O.
  2. Para usar los datos almacenados, primero se requiere copiarlos en memoria SRAM.
  3. Es una memoria no volátil es de una capacidad de 1024 Bytes, además, el proceso de escritura en esta memoria tarda 3,3 ms para ser completado y la cantidad máxima de ciclos de escritura / borrado es de 100.000 ciclos.
  4. Es una memoria volátil con capacidad de 2K Bytes, de los cuales 0.5K Bytes son usados por el bootloader.
  5. Memoria preferiblemente usada para almacenar grandes textos y datos no modificables.
  6. Memoria preferiblemente usada para almacenar datos de configuración no volátiles.

Problema #10A: (5%) ¿Cuáles de las siguientes afirmaciones referentes a los comandos GNU/Linux son ciertas?

  1. El comando “df -h” permite enlistar los archivos de la carpeta actual.
  2. El comando “sudo reboot” permite reiniciar el sistema.
  3. El comando “history -c” permite limpiar historial de comandos.
  4. El comando “date” permite limpiar historial de comandos.
  5. El comando “ls” permite enlistar los archivos de la carpeta actual.
  6. El comando “sudo shutdown -h now” permite reiniciar el sistema.

Problema #10B: (5%) ¿Cuáles de las siguientes afirmaciones referentes a los comandos GNU/Linux son ciertas?

  1. El comando “rmdir dir” permite crear carpeta de nombre prueba.
  2. El comando “rm fixhero.x” permite eliminar un fichero.
  3. El comando “vcgencmd measure_temp” permite consultar la temperatura del Sistema.
  4. El comando “sudo mkdir prueba” permite crear carpeta de nombre prueba.
  5. El comando “ifconfig” permite eliminar un fichero.
  6. El comando “rmdir -p dir” permite consultar la temperatura del Sistema.

CAPÍTULO 4 (40%)

Problema #11A: (5%) ¿Cuáles de las siguientes afirmaciones de los registros de configuración del ADC del AVR ATmega328P son ciertos?

  1. Del registro ADMUX, los bits 7 (REFS1) y 6 (REFS0) son para elegir la tensión de referencia de la cual dependerá la resolución para el módulo convertidor analógico, por ejemplo: con el valor “01” el bloque ADC utiliza como voltaje de referencia la alimentación Vcc del microcontrolador.
  2. Del registro ADMUX, el bit 5 (ADLAR) es para elegir la justificación del número de 10 bits que representa la tensión analógica convertida a digital. Con un valor de “0” en el bit ADLAR, se configura una justificación hacia la izquierda.
  3. Del registro ADMUX, los bits del 3 (MUX3) al 0 (MUX0), permiten elegir la entrada analógica a utilizar. Por ejemplo, con un valor “ADMUX = 0B01000001” se está seleccionando el ADC1.
  4. Del registro ADCSRA, los bits 2 (ADPS2) al 0 (ADPS0) es para elegir el pre-escalador a utilizar para obtener la frecuencia de trabajo del convertidor ADC. Por ejemplo, con un valor “ADCSRA = 0B00000111”, el pre-escalador es 32.
  5. Del registro ADCSRB, el funcionamiento de los bits 2 (ADTS2) al 0 (ADTS0) mediante la combinación de estos bits se elige cual será el evento que haga que el convertidor analógico se habilite correctamente. Por ejemplo, con un valor “ADCSRB = 0B00000000”, la conversión ADC se configura en modo “Free running mode”.

Problema #11B: (5%) ¿Cuáles de las siguientes afirmaciones de los registros de configuración del ADC del AVR ATmega328P son ciertos?

  1. Del registro ADMUX, los bits 7 (REFS1) y 6 (REFS0) son para elegir la tensión de referencia de la cual dependerá la resolución para el módulo convertidor analógico, por ejemplo: con el valor “01” el bloque ADC utiliza como voltaje de referencia el voltaje interno de 1.1 voltios.
  2. Del registro ADMUX,el bit 5 (ADLAR) es para elegir la justificación del número de 10 bits que representa la tensión analógica convertida a digital. Con un valor de “0” en el bit ADLAR, se configura una justificación hacia la derecha.
  3. Del registro ADMUX, los bits del 3 (MUX3) al 0 (MUX0), permiten elegir la entrada analógica a utilizar. Por ejemplo, con un valor “ADMUX = 0B01000001” se está seleccionando el ADC2.
  4. Del registro ADCSRA, el bit 5 (ADATE) en 1 para habilitar la opción de activación automática por alguna señal que será elegida de acuerdo con el registro ADCSRB.
  5. Del registro ADCSRA, los bits 2 (ADPS2) al 0 (ADPS0) es para elegir el pre-escalador a utilizar para obtener la frecuencia de trabajo del convertidor ADC. Por ejemplo, con un valor “ADCSRA = 0B00000101”, el pre-escalador es 32.

Problema #12: (5%) ¿Cuál es el orden correcto de las tareas básicas que ejecuta el procesador durante Interruption Services Routine (ISR)?

  1. Ninguna de las opciones.
  2. Suspender la ejecución del programa actual y guardar el estado actual del sistema, transferir el control a una rutina especial y restaurar el estado del sistema.
  3. Optimizar el estado del sistema, transferir el control a una rutina especial y reanudar la ejecución normal del programa.
  4. Suspender la ejecución del programa actual, manejar la excepción y guardar el estado actual del sistema.

Problema #13A: (5%) ¿Cuáles de las siguientes afirmaciones corresponden a la condición de re-arranque del protocolo de comunicación Inter-Integrated Circuit (I2C)?

  1. La genera un maestro y con ello reinicia el bus.
  2. Todos los datos están formados por 8 bits y la trasmisión comienza con el bit de más peso.
  3. Si el receptor no pone la línea SDA a nivel bajo, el emisor detecta un nivel alto y aborta la transferencia de información.
  4. Todo byte debe ir acompañado de un bit de reconocimiento ACK.
  5. Entre un byte y el siguiente puede haber un tiempo ‘t’ de espera para que uno de los dispositivos realice las operaciones que corresponda.
  6. Se compone de una condición de parada seguida de una condición de arranque.
  7. El maestro genera un pulso se reloj, y el receptor pone a nivel bajo la línea SDA durante dicho pulso.

Problema #13B: (5%) ¿Cuáles de las siguientes afirmaciones corresponden a la transferencia de información del protocolo de comunicación Inter-Integrated Circuit (I2C)?

  1. Si el receptor no pone la línea SDA a nivel bajo, el emisor detecta un nivel alto y aborta la transferencia de información.
  2. Todos los datos están formados por 8 bits y la trasmisión comienza con el bit de más peso.
  3. La genera un maestro y con ello reinicia el bus.
  4. Entre un byte y el siguiente puede haber un tiempo ‘t’ de espera para que uno de los dispositivos realice las operaciones que corresponda.
  5. Todo byte debe ir acompañado de un bit de reconocimiento ACK.
  6. El maestro genera un pulso se reloj, y el receptor pone a nivel bajo la línea SDA durante dicho pulso.
  7. El dato es válido cuando la señal SCL está a nivel alto.

 Problema #14A: (5%) ¿Cuáles de las siguientes afirmaciones corresponden a la validación del protocolo de comunicación Inter-Integrated Circuit (I2C)?

  1. Todos los datos están formados por 8 bits y la trasmisión comienza con el bit de más peso.4
  2. Es obligatorio, valida la trasferencia de un byte y se envía en el siguiente pulso, como “9º bit”.
  3. Se compone de una condición de parada seguida de una condición de arranque.
  4. El maestro genera un pulso se reloj, y el receptor pone a nivel bajo la línea SDA durante dicho pulso.
  5. El dato es válido cuando la señal SCL está a nivel alto.
  6. Si el receptor no pone la línea SDA a nivel bajo, el emisor detecta un nivel alto y aborta la transferencia de información.
  7. Entre un byte y el siguiente puede haber un tiempo ‘t’ de espera para que uno de los dispositivos realice las operaciones que corresponda.

Problema #14B: (5%) ¿Cuáles de las siguientes afirmaciones corresponden a la condición de parada del protocolo de comunicación Inter-Integrated Circuit (I2C)?

  1. La genera un maestro y con ella ocupa el bus e indica que va a comenzar una trasmisión de datos.
  2. Los esclavos la detectan y se ponen a la escucha.
  3. La genera el maestro y con ella libera el bus e indica que se ha finalizado la trasmisión de datos.
  4. SDA se pone a nivel bajo cuando SCL está a nivel alto.
  5. Todo byte debe ir acompañado de un bit de reconocimiento ACK.
  6. Cuando nadie transmite, las líneas SDA y SCL están a nivel alto entonces el bus está libre.
  7. SDA se pone a nivel alto cuando SCL está a nivel alto.

Problema #15A: (10%) El siguiente bloque convertidor analógico digital (ADC) de 10 bits de resolución, se tiene un voltaje de referencia de 10Vcc. ¿cuáles de las siguientes afirmaciones son correctas?

  1. Con un voltaje de entrada (Vin) de 2,5 [V], la salida del convertidor ADC nos da un valor aproximado a 512.
  2. Si la salida del convertidor ADC es de 127, entonces el voltaje presente en la entrada (Vin) es aproximadamente 0,62 [V].
  3. Si la salida del convertidor ADC es de 512, entonces el voltaje presente en la entrada (Vin) es aproximadamente 6 [V].
  4. Si la salida del convertidor ADC es de 200, entonces el voltaje presente en la entrada (Vin) es aproximadamente 1,95 [V].
  5. Si la salida del convertidor ADC es de 1023, entonces el voltaje presente en la entrada (Vin) es 10 [V]. 

Problema #15B: (10%) El siguiente bloque convertidor analógico digital (ADC) de 10 bits de resolución, se tiene un voltaje de referencia de 10Vcc. ¿cuáles de las siguientes afirmaciones son correctas?

  1. Con un voltaje de entrada (Vin) de 2,5 [V], la salida del convertidor ADC nos da un valor aproximado a 512.
  2. Si la salida del convertidor ADC es de 127, entonces el voltaje presente en la entrada (Vin) es aproximadamente 0,62 [V].
  3. Con un voltaje de entrada (Vin) de 7,5 [V], la salida del convertidor ADC nos da un valor aproximado a 800.
  4. Si la salida del convertidor ADC es de 1000, entonces el voltaje presente en la entrada (Vin) es aproximadamente 9,77 [V].
  5. Si la salida del convertidor ADC es de 512, entonces el voltaje presente en la entrada (Vin) es aproximadamente 5 [V].

Problema #16: (5%) ¿Cuáles de las siguientes afirmaciones de los registros de configuración del AVR ATmega328P son ciertos?

  1. El registro DDRB (Port B Data Direction Register) permite configurar cada uno de los pines del puerto B como entrada o salida. Con un valor de 1 se configura como salida el bit correspondiente a cada pin, de igual forma, con un valor de 0 se configuran como entradas.
  2. El registro DDRB (Port B Data Direction Register) permite configurar cada uno de los pines del puerto B como entrada o salida. Con un valor de 1 se configura como entrada el bit correspondiente a cada pin, de igual forma, con un valor de 0 se configuran como salidas.
  3. El registro PORTC (Port C Data Register) permite leer el valor digital presente en los pines correspondientes a los bits del puerto que han sido configurados como entradas previamente con el registro DDRC.
  4. El registro PORTC (Port C Data Register) permite setear un valor digital en los pines correspondientes a los bits del puerto que han sido configurados como salidas previamente con el registro DDRC.
  5. Los bits 7 y 6 (COM2A1, COM2A0) del registro TCCR2A (Timer/Counter Control Register A) controlan el comportamiento del pin de comparación de salida (OC2A). Si se configuran uno o ambos COM2A1: 0 bits, la salida OC2A anula la funcionalidad del puerto normal del pin de E / S al que está conectado. Sin embargo, tenga en cuenta que el bit de registro de dirección de datos (DDR) correspondiente al pin OC2A debe establecerse para habilitar el controlador de salida.
  6. Los bits 5 y 4 (COM2B1, COM2B0) del registro TCCR2A (Timer/Counter Control Register A) controlan el comportamiento del pin de comparación de salida (OC2B). Si se configuran uno o ambos COM2B1: 0 bits, la salida OC2B anula la funcionalidad normal del puerto del pin de E / S al que está conectado. Sin embargo, tenga en cuenta que el bit de registro de dirección de datos (DDR) correspondiente al pin OC2B debe establecerse para habilitar el controlador de salida.
  7. El temporizador / contador (TCNT0) y los registros de comparación de salida (OCR0A y OCR0B) son registros de 10 bits.
  8. El registro de comparación de salida con doble búfer (OCR2A y OCR2B) se compara con el valor del temporizador / contador en todo momento. El generador de forma de onda puede utilizar el resultado de la comparación para generar una salida PWM o de frecuencia variable en los pines de comparación de salida (OC2A y OC2B).

Problema #17: (5%) La siguiente gráfica corresponde al diagrama de tiempo al transmitir un dato usando el protocolo de comunicación RS-232, agregar los textos en las cajas de comentarios:

 

Respuesta:

 

Leer temas relacionados:


Comentarios

Popular Posts

▷ Especificaciones del módulo ESP32

▷ #ESP32 - REAL-TIME CLOCK #RTC INTERNO

▷ #ESP32 - SINCRONIZAR RTC INTERNO CON SERVIDOR NTP

▷ #ESP32 - Display OLED 128x64

▷ #ESP32 - Over-The-Air programming #OTA

▷ #ESP32 - #MQTT (Introducción)

▷ PROTEUS PCB DESIGN

▷ #ESP32 - INSTALAR LIBRERIAS DESDE GESTOR LIBRERIAS ARDUINO

▷ SISTEMAS EMBEBIDOS, PROYECTOS PROPUESTOS (2021 PAO1)

▷ Artificial Intelligence #AI based on #FPGA