Está en la página 1de 10

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE INGENIERIA
LELT 304
LABORATORIO DE DISEÑO DE SISTEMAS DE CONTROL

INFORME N°1
INTRODUCCIÓN A LOS SISTEMAS DE COMPUTACIÓN

ESTUDIANTE: UNIV. PINTO QUINTANA ABEL ALEAJNDRO


CARRERA: ING. ELECTROMECÁNICA
DOCENTE: ING. MAXIMO OVALDO TORREZ HUANACU

La Paz – Bolivia
2022
Objetivos
Objetivo General
● Conocer la arquitectura fundamental de un sistema computacional, verificando las
posibilidades, su flexibilidad, su capacidad y sus limitantes en el procesamiento de
información.
Objetivo Secundarios
1. Reconocer la tecnología de construcción de un sistema de computación general
2. Conocer los términos utilizados en el área de la Electrónica Digital y Sistemas de
Computación
3. Caracterizar un Computador de Propósito General en la actualidad
4. Caracterizar una familia de sistemas embebidos
5. Caracterizar los procesadores y los elementos de almacenamiento de datos (memorias).

Procedimiento
1. Verificar la forma de almacenar un simple código en la memoria de Programa del
procesador de Arduino.
Crear un archivo, como el listado siguiente (en el software de desarrollo de Arduino)
Código N°1 Cod_01_01.ino
Una vez guardado ir al menú Archivo/Preferencias y habilitar salida de compilación como
se ve en la figura.

Compilar y finalmente buscar en la salida una línea Cod_01_01.hex

Abrir el archivo e identificar los campos de este tipo de archivos. y colorear


:100000000C9434000C9446000C9446000C9446006A
:100010000C9446000C9446000C9446000C94460048
:100020000C9446000C9446000C9446000C94460038
:100030000C9446000C9446000C9446000C94460028
:100040000C9448000C9446000C9446000C94460016
:100050000C9446000C9446000C9446000C94460008
:100060000C9446000C94460011241FBECFEFD8E03C
:10007000DEBFCDBF21E0A0E0B1E001C01D92A930FC
:10008000B207E1F70E9492000C94DC000C9400008F
:100090001F920F920FB60F9211242F933F938F93BD
:1000A0009F93AF93BF938091050190910601A0911A
:1000B0000701B09108013091040123E0230F2D378F
:1000C00058F50196A11DB11D2093040180930501EF
:1000D00090930601A0930701B0930801809100015D
:1000E00090910101A0910201B09103010196A11D1F
:1000F000B11D8093000190930101A0930201B09380
:100100000301BF91AF919F918F913F912F910F90DC
:100110000FBE0F901F90189526E8230F0296A11D81
:10012000B11DD2CF789484B5826084BD84B58160DE
:1001300084BD85B5826085BD85B5816085BD8091B2
:100140006E00816080936E0010928100809181002A
:100150008260809381008091810081608093810022
:10016000809180008160809380008091B1008460E4
:100170008093B1008091B00081608093B000809145
:100180007A00846080937A0080917A008260809304
:100190007A0080917A00816080937A0080917A0061
:1001A000806880937A001092C100C0E0D0E0209770
:0C01B000F1F30E940000FBCFF894FFCF99
:00000001FF

0 Código de inicio
0 Longitud
0 Dirección
0 Tipo de registro
0 Datos
0 Checksum

2. Formato de almacenamiento binario de un archivo *.mat.


Crear un archivo, como el listado siguiente (en el software de Matlab)
Abra el archivo example.mat por medio del alguno de los siguientes programas Hex
editor, HxD u otro visor de archivos.

3. Tiempo de ejecución de una instrucción


Crear un archivo, como el listado siguiente (en el software de Matlab)
verifique el tiempo que tarda en ejecutarse el código al habilitar la salida por consola,
eliminado el “;” de la segunda línea.
Tardó 6,90 segundos en ejecutarse
Crear un archivo, como el listado siguiente (en el software de Arduino)

verifique el tiempo que tarda en ejecutarse el código


Tardó 4,08 segundos en ejecutarse
4. Formato de almacenamiento
Crear un archivo, como el listado siguiente (en el software de Matlab)

5. Formato de almacenamiento
Crear un archivo, como el listado siguiente (en el software de Arduino)
Análisis de resultados
La ejecución de Matlab tiene un tiempo de 6,9 segundos y el programa Arduino tiene 4,08
segundos por lo tanto Arduino tiene un tiempo menor de ejecución respecto al Matlab,
además que Arduino tiene un mejor entendimiento en el momento de ejecutar el
programa de almacenamiento indicando el los bits que almacena

Investigación complementaria
1. Cuál es la capacidad de almacenamiento en bytes de un tipo específico de variable
en un software como Matlab. Explicando sus características.
Para saber el almacenamiento las funciones cast y typecast también son útiles para
cambiar ver entre distintos tipos de datos.
 cast — Cambia el tipo de datos subyacentes de una variable.
 typecast — Convierte tipos de datos sin cambiar los bits subyacentes.
MATLAB no muestra los dígitos en números binarios directamente, entonces debe
prestar atención a los tipos de datos al trabajar con operaciones bit por bit. Algunas
funciones devuelven los dígitos binarios como un vector de caracteres (dec2bin),
otras devuelven el número decimal (bitand) y otras devuelven un vector de los
mismos bits (bitget).

2. Cuál es la capacidad de almacenamiento en bytes de un tipo específico de variable


en un un entorno como lo es Arduino.
Se listan los tipos de datos comúnmente utilizados en el ambiente Arduino, con el tamaño
de memoria:
 boolean (8 bit)- lógico simple verdadero/falso.
 byte (8 bit)- número sin signo entre 0 y 255.
 char (8 bit)- número con signo, entre -128 y 127. En algunos casos el compilador
intentará interpretar este tipo de dato como un carácter, lo que puede generar
resultados inesperados.
 unsignedchar (8 bit)- lo mismo que ‘byte’; si es que eso es lo que necesitas,
deberías usar ‘byte’, para que el código sea más claro.
 word (16 bit)- número sin signo entre, 0 y 65535.
 unsignedint (16 bit)- lo mismoque ‘word’. Utiliza ‘word’ por simplicidad y
brevedad.
 int (16 bit)- número con signo, entre -32768 y 32767. Este tipo es el más usado
para variables de propósito general en Arduino, en los códigos de ejemplo que
vienen con el IDE.
 unsignedlong (32 bit)- número sin signo entre 0 y 4294967295. Este tipo se usa
comúnmente para almacenar el resultado de la función millis (), la cual retorna el
tiempo que el código actual ha estado corriendo, en milisegundos.
 long (32 bit)- número con signo, entre -2,147,483,648 y 2,147,483,647.
 float (32 bit)- número con signo, entre 3.4028235E38 y 3.4028235E38. El Punto
Flotante no es un tipo nativo en Arduino; el compilador debe realizar varios saltos
para poder hacerlo funcionar. Evítalo siempre que te sea posible. Hablaremos de
eso más tarde; En una fecha próxima se publicará un tutorial más riguroso en el
uso genérico de la matemática de punto decimal en Arduino.
3. Cuál es el formato de almacenamiento en memoria de los diferentes tipos de
variables, tomando como base Matlab (ARCHIVOS. MAT) y Arduino (Ram de
Arduino).
En Matlab difícilmente se puede hacer, aunque si se usa un Arduino yun, creas un
servidor, y subes los txt al servidor los podrías recoger con Matlab y tratarlos, crear
una interfaz. Otra idea podría ser, utiliza Linux recoges los datos con Python,
conectando Arduino por puerto serial, y con un programita con Python creas el txt, y
directamente los tratas con Matlab.

4. Determinar un procedimiento para determinar la velocidad de procesamiento en


un entorno de desarrollo como es Arduino.
El boceto básico es este:

int n;
void setup(){
  Serial.begin(115200);
  pinMode(13, OUTPUT);
}
void loop(){
  digitaWrite(13, !digitalRead(13)); 
  n++;
  if (millis() > 5000){
      Serial.println(n);       
      while (1);
  }
}
Bibliografía
 Velocidad de procesamiento https://forum.arduino.cc/t/medir-la-
velocidad-de-ciertas-instrucciones/612424
 Arduino https://www.arduino.cc/reference/en/
 Matlab https://la.mathworks.com/help/index.html

También podría gustarte