domingo, 10 de septiembre de 2017

Placa de desarrollo de dspic30F4011 y dspic30F4012

Hola a todos, en esta ocasión quiero compartir con ustedes una placa para desarrollo de proyectos con DSPIC30F4011 y DSPIC30F4012 con el objetivo de facilitar las conexiones necesarias mínimas para poder realizar aplicaciones con estos microcontroladores.

El diseño de la placa fué realizado en Altium Designer y pensado para ser construido utilizando una sola capa y con componentes through hole.  Además se tomó en cuenta para el diseño que existen componentes comunes en las tiendas de electrónica locales, por lo que se utilizaron componentes como LM7805, MAX232, etc.

Figura 1. Placa de desarrollo para dspic30F4011 y dspic30F4012

miércoles, 4 de enero de 2017

Tutorial MPLABX XC8 parte 3: Crear librerías–librería UART para PIC16F628A


Hola amigos, en este tutorial veremos cómo crear librerías para el manejo de módulos externos, específicamente para la comunicación serial asíncrona revisada en el tutorial anterior.

¿Qué es una librería?

Cuando realizamos varios proyectos con microcontroladores, nos damos cuenta que ciertas actividades son repetitivas.  Por ejemplo, al momento de enviar un dato por el USART siempre iniciamos el puerto, cargamos enviamos el ASCII y revisamos si la bandera de envío está activada (como se observó en el tutorial anterior); o cuando leemos el dato de un conversor analógico digital siempre se inicializa el conversor, se carga el valor en binario y se lo convierte a un tipo de dato que sea procesable o se pueda visualizar de mejor manera.  Así, una librería es una porción de código que puede reutilizarse en todo proyecto y permite realizar actividades repetitivas evitando que escribamos todo nuevamente.
De manera simple, una librería es código que se adiciona al proyecto.  En el caso del ejemplo de hoy todo será en un archivo de encabezado.


domingo, 7 de agosto de 2016

Reseña/evaluación: Analizador lógico Open bench logic sniffer

Cuando trabajamos con protocolos de comunicación como RS232, SPI, I2C, etc., y todo funciona como lo programamos, no tenemos ningún problema… el microcontrolador envía un dato como “hola” a otro dispositivo, el cual lo recibe como debe, tomamos un café para regocijarnos por nuestro logro, lo mostramos a nuestros amigos, profesores, esposa o a quién le interese y enterramos el proyecto en el olvido. 

Pero cuando enviamos el dato y el dispositivo de recepción no hace lo que queremos, en ese momento empieza lo interesante: noches enteras de programación, el consumo de café sube exponencialmente… todo, pero no nos damos por vencidos, para eso somos electrónicos.

En estos momentos de caos es cuando una herramienta llamada analizador lógico llega para ayudarnos como un enviado del cielo. Un analizador lógico es un instrumento que nos permite capturar múltiples señales eléctricas de un sistema o un circuito digital.  Es similar a un osciloscopio, con la diferencia de que su diseño es basado para trabajar con señales digitales (ceros y unos).

En esta entrada hablaremos del “Open Bench Logic Sniffer” (OLS), un analizador lógico de Dangerous Prototypes, el cual puede adquirirse por unos $50 USD.

Open Workbench
Figura 1.  Open Bench Logic Sniffer

domingo, 7 de septiembre de 2014

Tutorial MPLABX XC8 parte 2: configuración del módulo UART asíncrono sin interrupción


Saludos:

En esta entrada vamos a configurar el módulo USART del microcontrolador PIC16F628A con el objetivo de implementar la comunicación serial entre el micro y el computador.  Si bien este tema es un poco más avanzado, es muy importante utilizarlo pues con esto lograremos una interfaz de depuración para los demás tutoriales, por ejemplo cuando se utilize el conversor analógico-digital, podemos ver el resultado de la conversión en el puerto serial sin la necesidad de utilizar un LCD.

Específicamente realizaremos la configuración de módulo USART como un transmisor asíncrono, es decir, enviará datos al computador pero no podrá recibirlos.

jueves, 4 de septiembre de 2014

Prueba con Windows Live Writer




Ayer viví una pequeña pesadilla, pues pasé casi 3 horas escribiendo una entrada para el tutorial de MplabX, y mientras ingresaba un código con este link algo pasó, se borró todo el trabajo realizado y antes que me de cuenta, el autograbado de blogger entró en acción… así que me quedé con una página en blanco….¡Gracias Blogger!

viernes, 29 de agosto de 2014

Tutorial FPGA en VHDL: Parte 3, Encoder de prioridad

Saludos. Continuando con el tutorial de VHDL vamos a implementar encoder de prioridad, con el objetivo de utilizar la condición "when-else".

Programa a realizar

El encoder de prioridad a implementar debe cumplir con la siguiente tabla de verdad:


Por lo tanto tenemos un vector "r" de ingreso con 4 bits, y un vector "pcode" de salida con 3 bits.

miércoles, 9 de julio de 2014

Tutorial MPLABX XC8 parte 1: Crear un proyecto y "hola mundo"

Saludos:

Tomando un descanso de la programación de FPGAs, he decidido hacer un tutorial de microcontroladores.  En esta serie abarcaré la programación de microcontroladores PIC serie 16 (16F628A y 16F877A), con el objetivo de ganar un poco de experiencia y utilizar estos conocimientos para la programación de la serie dsPIC.

Este tutorial está pensado para los que ya saben qué es un microcontrolador, y han trabajado antes en ensamblador para PIC, por lo que algunos criterios básicos se obviarán.

Pero primero:

¿Por qué trabajar en MPLABX?

Decidí programar en MPLABX por las siguientes razones: