Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SESIÓN 8. RADIOFRECUENCIA
Trabajo previo:
Conocimientos teóricos:
Recomendaciones:
E8.1. Escriba un programa en lenguaje C que envíe por la UART del PIC18F458 hacia
el transceiver nRF401 de Nordic un mensaje cada segundo con los datos adquiridos
(temperatura NTC y tensión de alimentación) por el conversor A/D del
microcontrolador. El mensaje tendrá que contener 4 bytes de datos (2 bytes de
temperatura y 2 bytes de tensión de alimentación). Se enviará primero el byte más
significativo (MSB) de cada variable y después el byte menos significativo (LSB),
utilizando el formato Motorola. Importante, cada grupo tendrá un identificador propio
para el mensaje (desde el 0x01 hasta el 0x06). Como preámbulo se recomienda utilizar
el carácter 0x55 seguido del carácter 0xFF. Tras el preámbulo se enviará el identificador
de la placa (0x01-0x06). Finalmente se enviarán los 4 bytes de datos, junto con un byte
de checksum afirmado y un byte de checksum negado. El checksum se debe calcular
con todos los bytes de la trama recibida.
Para utilizar el transceiver nRF401 de Nordic es necesario controlar una serie de señales
digitales de control del módulo y la UART del microcontrolador PIC18F458. Se
recomienda añadir las siguientes definiciones de hardware en el código C.
#define CS LATCbits.LATC4 // (0) -> 433,93 MHz (1) -> 434,33 MHz
#define POWER_UP LATDbits.LATD3 // Enable de la placa de RF
#define TXEN LATDbits.LATD2 // Enable Tx (1), Rx (0)
Es necesario configurar los puertos del PIC18F458 para que las líneas de control CS,
POWER_UP y TXEN sean pines de salida. Se recomienda utilizar la siguiente
configuración:
PORTC = 0x00;
PORTD = 0x00;
CMCON = 0x07; // Comparadores OFF, para disponer de puertos totalmente digitales I/O
TRISA = 0xFF; // Entradas
TRISB = 0b11111000; // Entradas, excepto RB2 = TX-CAN, Leds (RB0-RB1)
TRISC = 0b10000000; // Salidas, excepto RC7 = RX-UART
TRISD = 0b11110011; // Entradas, excepto RD2 (TXEN), RD3 (POWER_UP)
TRISE = 0xFF; // Entradas
Módulo RF401 en modo transmisión
Es necesario, tal y cómo dice el datasheet del módulo nRF401 de Nordic, realizar los
siguientes pasos, antes de entrar en el bucle infinito de control:
Una vez inicializado el módulo, sólo es necesario emplear la UART para transmitir
caracteres. Se recomienda utilizar 8 bits de datos y 19200bauds.
Es necesario, tal y cómo dice el datasheet del módulo nRF401 de Nordic, realizar los
siguientes pasos, antes de entrar en el bucle infinito de control: