PIC18F14K50: MSSP-SPI

Explicación de cómo utilizar el MSSP del PIC18F14K50 con el protocolo SPI y algunos ejemplos como: Memorias Winbond W25QXX, nRF24L01+ 2.4GHz, DAC TLC56XX y SD en modo RAW.

Para continuar leyendo da click en el siguiente dibujo o en el link inferior para abrir el PDF.

Da click en la imagen de ISSUU o da click en este link para ver el PDF.

PIC18F14K50: EUSART (SERIAL)

El módulo EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter) se utiliza para protocolos de comunicación en serie como: RS-232, RS-485 y LIN (Local Interconnect Network) 2.0.

Para continuar leyendo da click en el siguiente dibujo o en el link inferior para abrir el PDF.

Da click en la imagen de ISSUU o da click en este link para ver el PDF.

SE – uC: Puertos de Entrada y Salida (IO Ports)

SE – uC: El Cargador de Arranque (Boot Loader)

El cargador de arranque o en inglés Boot Loader (BL) es un programa (firmware) que va alojado en el uC, permitiendo reprogramar el uC sin necesidad de un costoso programador especial, facilitando las pruebas y actualizaciones del dispositivo. El uC utiliza el BL para comunicarse con un programa especializado que se encuentra en una computadora y recibir el firmware al que se desea actualizar.

La carga del nuevo programa se puede realizar por alguno de los periféricos de comunicación con las que cuentan los uC como: I/O Pin, Serial (RS-232), CAN, Ethernet, USB, etc.

Las ventajas de utilizar un BL son:

  • No se requiere de un programador especial
  • Carga más rápida el firmware nuevo (Si se utiliza un periférico de alta velocidad como USB)
  • No se requiere retirar el uC de la tablilla para ser reprogramado
  • El firmware puede ser actualizado hasta por el cliente final si así se requiere
  • El BL no se borra, escribe o modifica durante la carga del firmware nuevo

Las desventajas son:

  • Solo la primera vez se requiere de un programador especial para cargar el BL
  • El BL ocupa memoria de programa
  • Depende en que región se encuentre alojado puede requiere una reubicación de los vectores de interrupción

Actualmente existen muchos BL para PIC18, la mayoría de uso libre y otros con algún costo. En la siguiente tabla se muestra una comparativa entre algunos BL libres.

Continuar leyendo…

SE – uC: Organización De Memoria Del PIC18F14K50

Este uC tiene los siguientes tipos de memoria:

  • Memoria de programa (Program Memory):
    En esta memoria flash se almacena el código del programa que se ejecutara (Software o Firmware), también se pueden almacenar datos o tablas. Esta memoria se puede escribir durante la ejecución del programa.
  • Pila LIFO (Stack):
    Esta pila LIFO sirve para almacenar y recuperar las direcciones de memoria de programa en cada salto que se realice durante la ejecución del programa (CALL, RCALL, RETURN, RETFIE, RETLW).
  • Memoria de datos (Data Memory):
    Esta memoria se utiliza para almacenar las variables y datos temporales necesarios por el programa y el usuario. Esta memoria es volátil, lo que significa que se pierden los datos una vez apagado el uC.
  • Memoria de configuración (Configuration Memory):
    Esta memoria se utiliza para configurar algunos aspectos iniciales del uC como el oscilador, la velocidad, activación y desactivación de algunos periféricos, etc.

Memoria De Programa (Program Memory) y Pila LIFO (Stack):

Todos los uC PIC18 tienen un PC (Program Counter) de 21 bits, el cual puede acceder a 2 MB de memoria de programa, pero si se lee arriba de la cantidad de memoria implementada regresara cero (NOP). Este uC tiene implementada 16 KB o 8K Words (0000h-3FFFh) de memoria de programa. La función del PC consiste en apuntar a la dirección de memoria de programa de la siguiente instrucción que debe buscar para ejecutar.
Continuar leyendo…