• Aprende más sobre el 16F887

    Este blog te explicara de manera más detallada algunas datos importantes sobre dicho integrado. Además de poder descargar su datasheet, para más info presiona aca

  • Herramienta MPLab

    ¿No sabes como iniciar un nuevo proyecto en MPLab?. Aqui te explicamos paso a paso como hacerlo, además de las lineas de instrucciones para cada microcontrolador, junto a enlaces para descargar el programa.

  • Herramienta de simulación Proteus

    Te indicamos una introducción al programa, junto a link de descargas para su versión mas reciente. Aprende a como simular Microcontroladores en este programa.

  • Aprende a programar en assembler

    Domina el lenguaje de Maquinas con este interactivo video y un ejercicio de suma, resta y multiplicacion, para saber como presiona aca.

Bus informatico, Pilas y Retardo

Bus informático y sus características.

En la informática existe un termino que se basa en un conjunto de conexiones físicas que se comparten entre múltiples componentes del hardware en un sistema con el fin de transmitir datos desde un punto hacia otro; esto se conoce como bus. Su función es reducir el número de rutas necesarias para transmitir información entre los componentes, ya que se usa un sólo canal de comunicación; por eso es que en algunas ocasiones se refiere a este canal como "Autopista de datos"

Un bus se caracteriza por la gran cantidad de información que puede enviar a la vez. Este volumen se suele expresar en bits y va definido por cada linea de física mediante las cuales la información se envía de manera simultanea; ejemplo, un cable de 32 lineas puede enviar hasta una cantidad máxima de 32 bits de información. 

Los bus suelen estar constituidos entre 50 a 100 lineas de información, las cuales se dividen en tres subconjuntos diferentes: bus de direcciones, que se basa en transportar las direcciones de memoria a la que el procesador requiere acceder, para poder leer o escribir datos; bus de datos, el encargado de transferir información tanto la del procesador como las que van siendo ingresadas en el; y bus de control, capaz de transportar y sincronizarse con los componentes del hardware mediante ordenes de control a través del procesador. 

Pilas informáticas (Stack) 

Se denomina pila informática a una lista que tiene una estructura capaz de almacenar una cierta cantidad de datos, la única formas de acceder a este registro es mediante un sistema que consiste en que el primer dato que entra es el ultimo en salir.  Esto quiere decir, que en una pila la primera información que encontraremos es el ultimo registro que se incorporo la pila (A esta variable o archivo se le denomina tope), por lo que si necesitamos algún otro dato que no este en este espacio de la estructura, se deberá ir extrayendo archivo por archivo hasta encontrar el necesario. Posee dos elementos básicos: Insertar elemento (Push) y extraer (Pop).


Stack Pointer (Puntero de la pila): Como su propio nombre indica es un registro apuntador a la posición de memoria donde se encuentra la pila. Su posición varia dependiendo del modelo del micro controlador, pero todos tienen la misma función: colocarse en cualquier espacio de la pila para facilitar los datos almacenados en dicho lugar. Inicialmente se coloca en los bancos de registros del integrado, y para mover dicho apuntador se debe hacer fuera (De manera recomendada) fuera de la zona de registro, mediante un comando en lenguaje ensamblador que suele ser el siguiente:

Usando como ejemplo la seria de micro controladores 8051

MOV SP, #30H; // Situar el puntero del stack en la posición 30H del integrado.

Nota: Para saber en que banco de posiciones desplazar el stack pointer, se debe consultar la datasheet del micro controlador a utilizar, donde suele decir las dimensiones de la pila.


 Retraso, Retardo o Delay

El retardo normalmente se ve representado como el diferencial de tiempo que se establece entre la señal de salida y de entrada de un dispositivo, en otras palabras es el tiempo que tarda una señal en producirse; en la electrónica se puede ver comúnmente en la carga de los condensadores cuando se requiere variar este valor para retrasar su carga; mientras que en la informática es el tiempo requerido que tarda en enviarse un paquete de datos. Existen diferentes tipos de retardo y alguno de estos son los siguientes:

  • Retrasos de Procesamiento: El tiempo requerido para analizar la cabeza de un paquete y decidir donde mandar el paquete
  • Retrasos de Fila de Espera: El tiempo que espera un paquete en transmitir, se suelen ver mucho en las re conexiones masivas de un sistema de información.
  • Retraso de Transmisión: El tiempo requerido para empujar todo los bits en un paquete al medio de transmisión en uso. Normalmente es lo que tarda una señal de comunicación en enviarse, se ve mucho en los cables de ethernet o en la red wi-fi. Este tiempo se mide en mili segundos (mS) y a mayor tiempo, el envió de datos se hace muchísimo más lento; lo que coloquialmente se conocer como "LAG".

Share:

Microcontrolador PIC16F887

Para entender un poco como funciona este integrado, debemos explicar en lo que se basa un microcontrolador con tecnología PIC (Peripheral Interface Controller). Basicamente, son dispositivos que realizan diferentes actividades al ser programados mediante un procesamiento de datos digitales (En otras palabras, programación en lenguaje de maquinas; Assembler). Dependiendo de las anchura del BUS de cada microcontrolador, estos pueden expresarse entre 8 y 16 bits (Esto tambien depende de su Gama)

El modelo 16f887 posee diferentes caracteristicas (o especificaciones) que permiten que su uso sea mucho mas versatil y facil de aprender para aquellas personas que esten ingresando en el area de la electronica digital. Las funciones principales de este integrado vienen definidas por ciertos parametros, explicados a continuacion.
  • Soporta modo de comunicación serial, posee dos pines para ello.
  • Amplia memoria para datos y programa.
  • La memoria del PIC se puede reconfigurar de manera electronica mediante su memoria denomidada FLASH. Lo que hace que este tipo de dispositivos sea reprogramable.
Como todos los instrumentos tanto electronicos, electricos, entre diversas areas, suelen tener especificaciones para su uso; esto facilita al diseño de muchos circuitos, dependiendo de lo que se requiera realizar. Alguna de esas especificaciones, o caracteristicas básicas son las siguientes:

- Arquitectura RISC.
  • El microcontrolador cuenta con solo 35 instrucciones diferentes 
  • Todas las instrucciones son uni-ciclo excepto por las de ramificación
- Frecuencia de operación 0-20 MHz
- Oscilador interno de alta precision
  • Calibrado de fábrica 
  • Rango de frecuencia de 8MHz a 31KHz seleccionado por software
- Voltaje de la fuente de alimentación de 2.0V a 5.5V
  • Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
- Ahorro de energía en el Modo de suspensión 
- Brown-out Reset (BOR) con opción para controlar por software 
- 35 pines de entrada/salida
  • alta corriente de fuente y de drenador para manejo de LED
  • resistencias pull-up programables individualmente por software 
  • interrupción al cambiar el estado del pin 
- Memoria ROM de 8K con tecnología FLASH 
  • El chip se puede re-programar hasta 100.000 veces 
- Opción de programación serial en el circuito 
  • El chip se puede programar incluso incorporado en el dispositivo destino. 
- 256 bytes de memoria EEPROM 
  • Los datos se pueden grabar más de 1.000.000 veces 
- 368 bytes de memoria RAM 
- Convertidor A/D: 
  • 14 canales 
  • resolución de 10 bits 
- 3 temporizadores/contadores independientes 
- Temporizador perro guardián 
- Módulo comparador analógico con 
  • Dos comparadores analógicos 
  • Referencia de voltaje fija (0.6V) 
  • Referencia de voltaje programable en el chip 
- Módulo PWM incorporado 
- Módulo USART mejorado 
  • Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0 
  • Auto detección de baudios 
- Puerto Serie Síncrono Maestro (MSSP) 
  • Soporta los modos SPI e I2C

Descripción de PINES.


La mayoria de los pines del microcontrolador PIC16F887 son multipropositos como se muestra en la figura anterior. Donde por ejemplo en el PIN2 se puede conectar tanto una entrada/salida digital (RA0) como una entrada analogica (AN0). Para un mejor entendimiento, se procede a incluir el siguiente video, que se basa en el proceso de identificación de pines.



Cabe destacar que existen otras especificaciones esenciales para entender de mejor manera el microcontrolador y como funciona sus rangos tanto de voltaje como de corriente. Para eso se estudia el datasheet que vendra anexado a continuación.

Share:

Bandera

En la programación existen variables que durante su ejecución adquieren uno de dos valores posibles; este tipo de variables se les conoce como Switch o Bandera. Sus caracteristicas van desde salir de un ciclo de iteración variable hasta comunicar información de una parte del diagrama hacia otra, para variar de esta manera  la secuencia de su ejecución.

Los valores de las banderas, suelen ser determinados por una numeración binaria, es decir, solo adquieren valores entre 0 y 1, siendo respectivamente el apagado (0) y el encendido (1) del mismo. Estos valores solo se alternaran si se cumplen ciertas condiciones excepcionales establecidas por el programador; la bandera perdera su efectividad si se prende y apaga en un mismo punto del diagrama en cuestión.


Para entender mejor como funcionan, usaremos el siguiente esquema:


El switch inicia apagado fuera del ciclo. Solo se enciende al cumplir con ciertas condiciones definidas en el comparador (If - Else) (En ningún proceso interno del ciclo de iteración, el switch o bandera se apagara).



Nota importante: Los interruptores suelen ubicarse en ciclos donde la toma de decisiones comienza luego de que cada una de las iteraciones de este proceso terminen.
Share:

Publicaciones Populares

Publicaciones Recientes