Preliminar 1 del prototipo cliente del PFC

Después de un tiempo sin dedicarle todas las horas que se merece ya he creado la primera placa de circuito, y aun es preliminar porque no están contemplados los componentes que pueden ser necesarios para su puesta en funcionamiento. ¿Que es lo que está contemplado entonces?
– Todos los componentes necesarios para un sistema ya funcionando en su etapa de trabajo.

Es como un coche sin asientos, cristales o motor de arranque. …

También falta por desarrollar la antena, que intentare que sea integrada en la PCB.

Para saber que componentes se necesitarán debo comenzar la fase de programación y ver cuales son los requerimientos de esta. Comenzaré con un gráfico que describa los pasos necesarios para llegar a la etapa de trabajo.

Programación
Desarrollaré los elementos necesarios para la primera etapa:

Como se ve, en esta etapa los requerimientos existen ciertos requerimientos tanto de software como de hardware.

  • Software: Usaré el AVRStudio 4.18. Las razones: es gratuito, contiene todo lo necesario para programar y depurar y es el recomendado por el fabricante del microcontrolador.
  • Programador USB-JTAG ICE: Usaré el siguiente:

    Razones: es barato (unos 15€) y lo más importante, ya dispongo de el.
  • Puerto JTAG en la MCU. Esta será la primera modificación que habrá que hacer en la placa. El puerto JTAG dispone de 10 pines. Realmente es un puerto SPI que trabaja junto a otros pines.

    Los pines 3.3V y GND van conectados a la fuente de alimentación del sistema.
    TCK: Test Clock. Lleva la señal de reloj, es el pin 3 de la MCU.
    TDO: Test Data Output. Devuelve datos de la MCU. Pin 5.
    TMS: Test Mode Select. Se usa para moverse a través de los registros. Pin 4.
    TDI: Test Data Input. Entrada de datos en serie. Pin 6.
    RST: No es necesaria en esta MCU.Inicialización
    Este paso es estrictamente software. Se han de ajustar los parámetros de la MCU escribiendo los datos en los registros correspondientes.
    Configuración del SPI:
  • Habilitar el SPI poniendo el ‘Power Reduction SPI’ bit a 0 en registro PRR0.
  • Configurar el puerto SPI como maestro. Se hace a través de los registros DDR_SPI y SPCR. En el registro SPCR también se configura el orden de los datos (bit mas/menos significante primero), la interrupción SPI y el reloj, que deberá ser como máximo de 1 Mhz.
  • Activar el bit de un puerto para usarlo como CHIP SELECT (CS), también llamado Slave Select (SS). Este bit activará el chip de la MPU.
  • Configurar las frecuencias y demás parámetros de la MPU. PROBLEMAS: NO HAY DOCUMENTACIÓN SOBRE ELLO EN EL DATASHEET.

Establecimiento de la conexión
En este paso se buscarán los nodos o servidores y se almacenarán para realizar la comunicación. Quizás será necesario poner algún pulsador para hacer interactiva la selección de los módulos. Pero eso se verá mas adelante.

Ejecución del programa

El programa que debe ejecutar cada cliente es muy simple: debe recolectar la información de la MPU, almacenarla en el búffer de transmisión ZigBee y esperar la indicación del servidor para transmitirle los datos. Si en algún momento el búffer está lleno los datos se guardaran en una estructura FIFO, y en cuanto se transmitan los datos del búffer, este se volverá a llenar con el contenido de la FIFO. De esta forma no se perderá ningún dato de la MPU.

Errores y flujo del programa
Dado que el microcontrolador no dispone de pantalla, lo mas adecuado para saber como se desarrolla el funcionamiento del mismo es acoplar un semáforo LED al circuito. Conjuntamente con el semáforo se implementará un código de pulsos donde, por ejemplo, 2 pulsos del LED rojo significarían que no se ha podido establecer la conexión con el servidor, 3 pulsos significarían que la memoria esta llena o 1 pulso verde indicaría cada paquete de datos que se envía satisfactoriamente al servidor.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s