Todo sobre sistemas embebidos
eBook - ePub

Todo sobre sistemas embebidos

Arquitectura, programación y diseño de aplicaciones prácticas con el PIC18F

Sergio Salas Arriarán

Compartir libro
  1. 609 páginas
  2. Spanish
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Todo sobre sistemas embebidos

Arquitectura, programación y diseño de aplicaciones prácticas con el PIC18F

Sergio Salas Arriarán

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

Todo sobre sistemas embebidos es una guía teórica y práctica para el aprendizaje de la metodología de programación y diseño de aplicaciones con sistemas embebidos de 8 bits de CPU, específicamente tomando como modelo el microcontrolador PIC18F4550 de la marca Microchip.El libro trata de enfocar aquellos aspectos que son de suma importancia conocer para el diseño y desarrollo de hardware basado en sistemas embebidos: entender la arquitectura del microcontrolador, conocer las herramientas de desarrollo disponibles en el mercado y la Internet para el diseño de firmware, dominio del lenguaje ensamblador, dominio de un lenguaje de alto nivel como el ANSI C. También se busca explicar el funcionamiento de los módulos periféricos internos del microcontrolador y ejemplos de diseño de hardware y firmware de diversas aplicaciones reales.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Todo sobre sistemas embebidos un PDF/ePUB en línea?
Sí, puedes acceder a Todo sobre sistemas embebidos de Sergio Salas Arriarán en formato PDF o ePUB, así como a otros libros populares de Naturwissenschaften y Mechanik. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Capítulo 1. Conceptos básicos

Para la correcta comprensión del contenido del presente capítulo y de los capítulos siguientes, es necesario tener en claro ciertos conceptos básicos acerca de los sistemas de numeración utilizados en la electrónica digital (básicamente, el sistema binario y el hexadecimal), los tipos de operaciones matemáticas relacionadas con estas bases numéricas y las diversas interpretaciones que se pueden obtener de las cifras binarias.

1.1 Definiciones básicas

A continuación se presenta una serie de conceptos importantes sobre electrónica digital; los tipos de base numérica binaria, decimal y hexadecimal; los métodos aritméticos para obtener los cambios de base, operaciones lógicas y aritméticas en estos sistemas numéricos; y los formatos de numeración BCD y ASCII, que son sumamente utilizados en las aplicaciones con sistemas embebidos.

1.1.1 El sistema de numeración binario y hexadecimal

En el mundo de los dispositivos lógicos digitales, las operaciones realizadas siempre involucran patrones numéricos en formato binario. La unidad mínima de este formato es el bit. Un bit se representa por dos niveles o estados lógicos: ‘1’ o ‘0’. Normalmente, un nivel ‘1’ lógico viene a estar físicamente representado por una magnitud en voltios, y el nivel ‘0’, en otra magnitud de voltaje. Por ejemplo, en la tecnología TTL1, el nivel lógico ‘1’ se encuentra determinado en el rango entre 2 V y 5.5 V, mientras que el nivel ‘0’ está entre 0V y 0.8 V. Cualquier nivel de voltaje fuera de este rango (entre 0.8 y 2 V) es considerado como un estado indeterminado o ‘X’, con el cual será imposible realizar operaciones lógicas a nivel digital.
Las cifras binarias, por lo general, no se componen de un solo bit. Normalmente, están compuestas por una cantidad múltiplo de ocho bits. En el gráfico 1.1 se muestran los tipos de arreglos binarios más utilizados en la electrónica digital.
Gráfico 1.1. Arreglos binarios más comunes usados en la electrónica digital
Tamaño
Valor mínimo y máximo
Denominación
1 bit
0 – 1
Bit
4 bits
0000 – 1111
Nibble
8 bits
0000 0000 – 1111 1111
Byte
16 bits
0000 0000 0000 0000 –
1111 1111 1111 1111
Word
32 bits
0000 0000 0000 0000
0000 0000 0000 0000 –
1111 1111 1111 1111
1111 1111 1111 1111
Double Word
Elaboración propia.
Una cifra binaria posee la siguiente nomenclatura: (código binario)2, donde el subíndice 2 indica la base. Por ejemplo, la cifra 010100002 es un byte con un valor equivalente al número 80 en base decimal (base 10). La nomenclatura para la base hexadecimal se representa antecediendo un 0x sobre el código hexadecimal. Por ejemplo, la cifra mostrada se puede representar como 0x50 en la base hexadecimal. El bit ubicado en el extremo derecho de la cifra en base binaria es conocido como el bit LSB2 y representa el valor menos significativo. De la misma manera, el bit del extremo izquierdo es considerado el bit MSB3 o más significativo. Al igual que en el sistema de numeración decimal, una cifra ubicada en la posición de las centenas o millares (izquierda) presenta mayor significancia que una cifra ubicada en la posición de las decenas o unidades (derecha).
En el sistema binario, la base numérica utilizada es 2. Esto significa que cada bit puede estar representado únicamente por dos cifras: ‘0’ o ‘1’. La posición del bit dentro de la cifra especifica un valor formado por la cifra 2 elevado a una potencia y multiplicado por el valor del bit (‘0’ o ‘1’). El valor de dicha potencia es la posición del bit en la cifra. Por ejemplo, si se observa el* gráfico 1.2, en el byte de la figura, el bit LSB tiene un aporte de 20 (ya que 0 es la posición menos significativa), mientras que el bit MSB aporta con 27. Esto implica que el valor de la cifra es el siguiente:
valor = 27 × 0 + 26 × 1 + 25 × 0 + 24 × 1 + 23 × 0 + 22 × 0 + 21 × 0 + 20 × 0
Como se puede observar, el valor obtenido es 64+16 = 80, cifra equivalente en base decimal. Conforme se agreguen más dígitos binarios a esta cifra, el exponente de la base binaria se incrementará en uno. Por ejemplo, si una cifra binaria posee 11 bits, el bit MSB tendrá un peso equivalente de 210.
Al igual que en el caso de las cifras decimales, donde existen prefijos como kilo (103), Mega (106) o Giga (109), entre otros que son usados para abreviar magnitudes elevadas, existen también los mismos prefijos para definir grandes magnitudes en cifras binarias formadas por longitudes con base en 8 bits (1 byte). Es así que para el sistema binario:
1 kB (Se pronuncia un kilo byte) = 210 bytes o 1024 bytes
1 MB (Se pronuncia un mega byte) = 210 kB o 1024 kB
1 GB (Se pronuncia un giga byte) = 210 MB o 1024 MB
Gráfico 1.2. Ejemplo sobre los pesos de cada bit de una cifra binaria
Image
Elaboración propia.
Al igual que en el sistema de numeración binario, se emplean otros sistemas numéricos para representar cifras en otras bases. Uno de los más usados en la programación de sistemas embebidos es la base hexadecimal4. En ella cada cifra tiene un peso, dependiendo de una potencia en base 16. En este sistema existen 16 cifras diferentes (valores de 0 a 15) para representar una magnitud. Por ejemplo, para las cifras del 0 al 9 se utilizan los mismos dígitos que en el sistema decimal. Para completar los 6 dígitos restantes se utilizan letras del alfabeto, como el siguiente caso:
Image
En el número hexadecimal mostrado en el gráfico 1.3, cada cifra representa un nibble, dado que se tienen 16 posibles valores diferentes y esto equivale a una combinación de 4 bits (24 estados). Cada dígito representa una potencia de 16, según su posición en la cifra. En el ejemplo, el valor decimal equivalente del número hexadecimal mostrado es el siguiente:
valor = 163 × 10 + 162 × 3 + 162 × 4 + 160 × 12
De esta manera, el valor decimal equivalente es 40 960 + 768 + 64 + 12 = 41 804. Como se puede observar, esta cifra pudo haber sido representada en el sistema binario con el siguiente código: 10100011010011002, lo cual habría resultado en una cifra más larga, al estar conformada por 16 dígitos. En cambio, en el sistema hexadecimal se utilizan únicamente 4 dígitos para representar la misma cifra numérica, lo cual permite abreviar valores de magnitudes muy extensas.
El sistema de numeración hexadecimal es el preferido cuando se quiere representar magnitudes superiores a 28 y, al mismo tiempo, se desea mantener la visualización del código binario. Esto permite obtener una mejor comprensión del orden de la cifra sin perder de vista su forma a nivel binario (ya que es fácilmente visible el código binario a partir de cada nibble o dígito hexadecimal).
Gráfico 1.3. Ejemplo sobre los pesos de cada cifra hexadecimal
Image
Elaboración propia.

1.1.2 Conversiones entre bases

La base decimal es el formato más utilizado por los seres humanos para interpretar las cifras numéricas que operan diariamente para sus tareas cotidianas. Las personas comunes y corrientes han aprendido a realizar operaciones aritméticas en base a este sistema de numeración. Entonces, la pregunta que cae por su propio peso es la siguiente: «¿por qué el programador debe conocer otros sistemas de numeración, como el binario y el hexadecimal?» La respuesta a esta pregunta es obvia: porque al programar un sistema embebido no se debe pensar como seres humanos sino como un computador, y el sistema de numeración utilizado por estas máquinas es, por naturaleza, el binario.
Durante la programación de un sistema embebido no es necesario que el programador realice las conversiones de bases en el código ingresado. Para el software d...

Índice