Data Español

31
5. proceso de datos 5.1. visión de conjunto 5.1.1. Diagrama de bloques La figura siguiente muestra el circuito de procesamiento de datos RFM69HW. Su función es interconectar los datos a / desde el modulador/demodulador y los puntos de acceso al uC (SPI y los pines DIO). También controla todos los registros de configuración. El circuito contiene varios bloques de control que se describen en los siguientes párrafos. El RFM69HW implementa varios modos de operación de datos, cada uno con su propia ruta de datos a través de la sección de procesamiento de datos. Dependiendo del modo de operación de datos seleccionado, algunos bloques de control son activos mientras que otros permanecen desactivados. 5.1.2. Modos de operación de datos El RFM69HW tiene dos modos de funcionamiento diferentes de datos seleccionables por el usuario: Modo continuo: cada bit transmitido o recibido se accede en tiempo real en el pin DIO2/DATA. Este modo se puede utilizar si el procesamiento de señal externa adecuada está disponible. El modo de paquetes (recomendado): único usuario proporciona / recupera bytes de carga útil desde / hasta el FIFO. El paquete se construye automáticamente con preámbulo, Sync palabra y opcional AES, CRC, y esquemas de codificación DC-libres La operación inversa se realiza en la recepción. La sobrecarga de procesamiento uC es por lo tanto, reduce significativamente en comparación con el modo continuo. Dependiendo de las características opcionales activadas (CRC, AES, etc) la longitud máxima de carga útil está limitada al tamaño de FIFO 255 bytes o ilimitado. Cada uno de estos modos de operación de datos se describe completamente en las siguientes secciones. 5.2. Descripción del bloque de control 5.2.1. SPI Interface La interfaz SPI da acceso al registro de configuración a través de un protocolo full-duplex síncrona correspondiente a CPOL = 0 y CPHA = 0 en la nomenclatura de Motorola / Freescale. Sólo se aplica la parte del esclavo. Tres modos de acceso a los registros están disponibles: Acceso único: un byte de la dirección seguida por un byte de datos se envían a un acceso de escritura, mientras que un byte de dirección se envía y un byte de lectura se recibió para el acceso de lectura. El pin NSS pasa a nivel bajo en el comienzo de la trama y se va de alta después del byte de datos.

description

DATA

Transcript of Data Español

  • 5. proceso de datos

    5.1. visin de conjunto

    5.1.1. Diagrama de bloques

    La figura siguiente muestra el circuito de procesamiento de datos RFM69HW. Su funcin es interconectar los datos a / desde el

    modulador/demodulador y los puntos de acceso al uC (SPI y los pines DIO). Tambin controla todos los registros de

    configuracin.

    El circuito contiene varios bloques de control que se describen en los siguientes prrafos.

    El RFM69HW implementa varios modos de operacin de datos, cada uno con su propia ruta de datos a travs de la seccin de

    procesamiento de datos. Dependiendo del modo de operacin de datos seleccionado, algunos bloques de control son activos

    mientras que otros permanecen desactivados.

    5.1.2. Modos de operacin de datos

    El RFM69HW tiene dos modos de funcionamiento diferentes de datos seleccionables por el usuario:

    Modo continuo: cada bit transmitido o recibido se accede en tiempo real en el pin DIO2/DATA. Este modo se puede

    utilizar si el procesamiento de seal externa adecuada est disponible.

    El modo de paquetes (recomendado): nico usuario proporciona / recupera bytes de carga til desde / hasta el FIFO. El

    paquete se construye automticamente con prembulo, Sync palabra y opcional AES, CRC, y esquemas de codificacin

    DC-libres La operacin inversa se realiza en la recepcin. La sobrecarga de procesamiento uC es por lo tanto, reduce

    significativamente en comparacin con el modo continuo. Dependiendo de las caractersticas opcionales activadas

    (CRC, AES, etc) la longitud mxima de carga til est limitada al tamao de FIFO 255 bytes o ilimitado.

    Cada uno de estos modos de operacin de datos se describe completamente en las siguientes secciones.

    5.2. Descripcin del bloque de control

    5.2.1. SPI Interface

    La interfaz SPI da acceso al registro de configuracin a travs de un protocolo full-duplex sncrona correspondiente a CPOL

    = 0 y CPHA = 0 en la nomenclatura de Motorola / Freescale. Slo se aplica la parte del esclavo.

    Tres modos de acceso a los registros estn disponibles:

    Acceso nico: un byte de la direccin seguida por un byte de datos se envan a un acceso de escritura, mientras que

    un byte de direccin se enva y un byte de lectura se recibi para el acceso de lectura. El pin NSS pasa a nivel bajo

    en el comienzo de la trama y se va de alta despus del byte de datos.

  • Acceso RFAGA: el byte de direccin es seguido por varios bytes de datos. La direccin se incrementa

    automticamente internamente entre cada byte de datos. Este modo est disponible para lectura y escritura

    accesos. El pasador de NSS pasa a nivel bajo en el inicio de la trama y permanecer bajo entre cada byte. Se va alto

    slo despus de la ltima transferencia de bytes.

    Acceso FIFO: si el byte de direccin corresponde a la direccin de la FIFO, a continuacin, tener xito byte de datos

    se dirigir a la FIFO. La direccin no se incrementa automticamente, pero se memoriza y no necesita ser

    transmitida entre cada byte de datos. El pin NSS pasa a nivel bajo en el inicio de la trama y permanecer bajo entre

    cada byte. Se va alto slo despus de la ltima transferencia de bytes.

    La figura siguiente muestra un tpico solo acceso SPI a un registro.

  • MOSI es generado por el maestro en el flanco de bajada de SCK y es muestreada por el esclavo (es decir, esta interfaz SPI) en el

    flanco de subida de SCK. MISO es generado por el esclavo en el flanco de bajada de SCK.

    La transferencia se inicia siempre por el pin NSS ir bajo. MISO es alta impedancia cuando NSS es alta.

    El primer byte es el byte de direccin. Est hecho de:

    WNR bits, que es 1 para acceso de escritura y 0 para el acceso de lectura

    7 bits de la direccin, MSB primero.

    El segundo byte es un byte de datos, ya sea enviado el MOSI por el maestro en caso de un acceso de escritura, o recibidos por

    el maestro en MISO en el caso de acceso de lectura. El byte de datos MSB se transmite primero.

    Bytes procedimiento podrn ser enviados en MOSI (para acceso de escritura) o recibidos en MISO (acceso de lectura) y sin

    aumento de NSS y re-envo de la direccin. En el modo FIFO, si la direccin es la direccin FIFO entonces los bytes sern escritos

    / ledos en la direccin FIFO. En el modo de rfaga, si la direccin no era la direccin de FIFO, entonces se incrementa

    automticamente en cada nueva byte recibido.

    Durante el acceso de escritura, el byte transferido desde el esclavo al maestro en la lnea MISO es el valor del registro escrito

    antes de la operacin de escritura.

    5.2.2. FIFO

    5.2.2.1. Informacin general y Shift Register (SR)

    En el modo de paquete de la operacin, ambos datos a transmitir y que se ha recibido se almacenan en una memoria FIFO

    configurable (First In First Out) del dispositivo. Se accede a travs de la interfaz SPI y proporciona varias interrupciones para la

    gestin de la transferencia.

    El FIFO es de 1 byte de ancho por lo tanto, slo realiza byte (en paralelo) operaciones, mientras que las funciones de

    demodulador en serie. Por tanto, un registro de desplazamiento se utiliza para conectar los dos dispositivos. En el modo de

    transmisin que toma bytes de la FIFO y les da salida en serie (MSB primero) en la tasa de bits programada para el modulador.

    Del mismo modo, en el registro de desplazamiento Rx consigue poco a los datos de bits de la demodulador y escribe ellos byte

    por byte de la memoria FIFO. Esto se ilustra en la figura a continuacin.

    Nota Cuando se cambia al modo Sleep, el FIFO slo se puede utilizar una vez que se establece el indicador ModeReady (cuasi

    inmediata de todos los modos excepto de Tx).

    5.2.2.2. Tamao

    El tamao de la FIFO est fijado a 66 bytes.

    5.2.2.3. Fuentes de interrupcin y banderas

    FifoNotEmpty: fuente de interrupcin FifoNotEmpty es baja cuando 0 bytes, es decir, toda FIFO, est vaco. De lo

    contrario, es alta. Tenga en cuenta que cuando se recuperan los datos de la FIFO, FifoNotEmpty se actualiza NSS flanco

    descendente, es decir, cuando FifoNotEmpty se actualiza a estado bajo la operacin de lectura iniciado actualmente

    ACOSTALnea

    ACOSTAResaltado

    ACOSTAResaltado

    ACOSTAResaltado

  • debe ser completado. En otras palabras, el estado FifoNotEmpty debe comprobarse despus de cada operacin de

    lectura de una decisin sobre el siguiente (FifoNotEmpty = 1: ms byte (s) para leer; FifoNotEmpty = 0: no hay ms que

    leer byte).

    FifoFull: fuente de interrupcin FifoFull es alta cuando el ltimo byte FIFO, es decir, todo el FIFO est lleno. De lo

    contrario, es baja.

    FifoOverrunFlag: FifoOverrunFlag se establece cuando un nuevo byte es escrito por el usuario (en el Tx o modos de

    espera) o el SR (modo inRx) mientras que el FIFO est llena. Los datos se pierde y la bandera debe ser autorizada por

    escrito a 1, nota que el FIFO tambin se borrar.

    PacketSent: fuente de interrupcin PacketSent sube cuando el ltimo bit de la SR se ha enviado.

    FifoLevel: Umbral puede ser programado por FifoThreshold en RegFifoThresh. Su comportamiento se ilustra en la

    siguiente figura.

    Nota

    interrupcin FifoLevel se actualiza slo despus de una operacin en la FIFO de lectura o escritura. Por lo tanto

    la interrupcin no puede ser actualizado dinmicamente con solo cambiar el parmetro FifoThreshold

    Interrupcin FifoLevel es vlida siempre y cuando no se produce FifoFull. Un FIFO vaca restablecer su

    funcionamiento normal

    5.2.2.4. FIFO Clearing

    Tabla resume a continuacin el estado de la memoria FIFO cuando se cambia entre los diferentes modos.

    5.2.3. Sync reconocimiento de palabras

    5.2.3.1. visin de conjunto

    Sync reconocimiento de palabras (tambin llamado reconocimiento de patrones) se activa ajustando SynCon en RegSyncConfig.

    El sincronizador de bits tambin se debe activar en el modo continuo (se realiza de forma automtica en el modo de paquetes).

  • Durante la comparacin de los datos demodulados, el primer bit recibido se compara con el bit 7 (MSB) de RegSyncValue1 y el

    ltimo bit recibido es comparado con el bit 0 (LSB) del ltimo byte cuya direccin est determinada por la longitud de la palabra

    de sincronizacin.

    Cuando se detecta la palabra de sincronizacin programado el usuario puede asumir que este paquete entrante es para el nodo

    y puede ser procesado en consecuencia.

    SyncAddressMatch se borra al salir de Rx o FIFO se vaca.

    5.2.3.2. Configuracin

    Tamao: Sync tamao de la palabra se puede ajustar de 1 a 8 bytes (es decir, de 8 a 64 bits) a travs SyncSize en

    RegSyncConfig. En el modo Packet este campo tambin se utiliza para la generacin de la palabra de sincronizacin en

    el modo Tx.

    tolerancia de error: El nmero de errores tolerados en el reconocimiento de la palabra de sincronizacin se puede

    ajustar de 0 a 7 bits a travs SyncTol.

    Valor: El valor de la palabra de sincronizacin se configura en SyncValue (63:0). En el modo Packet este campo

    tambin se utiliza para la generacin de la palabra de sincronizacin en el modo Tx.

    Nota Opciones SyncValue contienen bytes 0x00 No se permite

    5.2.4. Manejador de paquetes

    El controlador de paquete es el bloque utilizado en el modo de paquetes. Su funcionalidad se describe completamente en

    la seccin 5.5.

    5.2.5. Controlar

    Las configura el bloque de control y controla el comportamiento del chip completo acuerdo con los ajustes programados en

    los registros de configuracin.

    5.3. Digital IO pines Mapping

    Seis de propsito general pines IO estn disponibles en el RFM69HW, y su configuracin en el modo continuo o paquete se

    controlan a travs de RegDioMapping1 y RegDioMapping2.

  • Note Received Data is only shown on the Data signal between RxReady and PayloadReadys rising edges

    5.4. Modo Continuo

    5.4.1. Descripcin General

    Como se ilustra en la Figura 29, en el modo continuo los datos NRZ a (de) el modulador (de) se accede directamente por el

    uC en el pin DIO2/DATA bidireccional. El FIFO y packet handler (controlador de paquete) son por lo tanto inactivo.

  • 5.4.2. Tx Procesamiento

    En el modo Tx, un reloj sncrona de datos para un uC externo se proporciona en el pin DIO1/DCLK. De temporizacin del

    reloj con respecto a los datos se ilustra en la Figura 30. Los datos se muestrean internamente en el flanco ascendente de

    DCLK por lo que la UC puede cambiar el estado lgico en cualquier momento fuera de la atenuada configuracin /

    mantenimiento de zona.

    Nota Se requiere el uso de DCLK cuando la modulacin de la conformacin est activado (vase la seccin 3.3.5).

    5.4.3. Rx Processing

    Si el sincronizador de bit est desactivado, la salida del demodulador prima se hace directamente en la clavija DATA y no se

    proporciona ninguna seal DCLK.

    Por el contrario, si el sincronizador de bits est habilitado, los datos limpiados sncronas de reloj y se ponen a disposicin

    respectivamente en los pines DIO2/DATA y DIO1/DCLK. Los datos se muestrean en el flanco ascendente de DCLK y

    actualizado en el flanco descendente como se ilustra a continuacin.

  • Nota En el modo continuo, siempre se recomienda para permitir que el sincronizador de bits para limpiar la seal de datos,

    incluso si la seal DCLK no es utilizado por la UC (sincronizador de bits se activa automticamente en el modo de paquetes).

    5.5. Modo de paquetes

    5.5.1. Descripcin General

    En el modo de paquetes de los datos NRZ a (a) el modulador (de) que no se accede directamente por la UC, pero

    almacenan en el FIFO y se accede a travs de la interfaz SPI.

    Adems, el controlador de paquetes RFM69HW realiza varias tareas orientados a paquetes tales como prembulo de

    sincronizacin y la generacin de la palabra, el CRC clculo / verificacin, blanqueamiento / dewhitening de datos, la

    codificacin Manchester / decodificacin, filtrado de direccin, el cifrado / descifrado AES, etc Esto simplifica software y

    reduce gastos uC por la realizacin de estas tareas repetitivas dentro del propio chip de radiofrecuencia.

    Otra caracterstica importante es la capacidad para llenar y vaciar la FIFO en modo de Sleep/Stdby, asegurando el consumo

    de energa ptima y la adicin de una mayor flexibilidad para el software.

    Nota El sincronizador de bit se activa automticamente en el modo de paquetes.

    5.5.2. Paquete Formato

    5.5.2.1. Fija el tamao del formato Packet

    Se selecciona el formato de paquetes de longitud fija cuando PacketFormat bit se pone a 0 y PayloadLength se establece en

    un valor mayor que 0.

    En aplicaciones en las que la longitud del paquete se fija de antemano, este modo de operacin puede ser de inters para

    minimizar la sobrecarga de RF (sin campo de byte de longitud se requiere). Todos los nodos, si slo Tx, Rx slo, o Tx / Rx

    deben ser programados con el mismo valor de la longitud del paquete.

    La longitud de la carga til est limitada a 255 bytes si AES no est activado de lo contrario el mensaje se limita a 64 bytes

    (es decir, mximo 65 bytes de carga til si byte de direccin est activada).

  • La longitud programada en PayloadLength slo se refiere a la carga til que incluye el mensaje y el byte de direccin

    opcional. En este modo, la carga til debe contener al menos un byte, es decir, direccin o byte de mensaje.

    Un ejemplo de un paquete de longitud fija se muestra a continuacin. Contiene los siguientes campos:

    Preamble (1010...)

    Sync word (Network ID)

    Optional Address byte (Node ID)

    Message data

    Optional 2-bytes CRC checksum

    5.5.2.2. Variable Paquete Formato Largo

    Se selecciona el formato de paquetes de longitud variable cuando bit PacketFormat se pone a 1.

    Este modo es til en aplicaciones en las que la longitud del paquete no se conoce de antemano y puede variar con el

    tiempo. Es entonces necesario que el transmisor enve la informacin de longitud junto con cada paquete para que el

    receptor funcione correctamente.

    En este modo la longitud de la carga til, indicado por el byte de longitud, est dada por el primer byte de la memoria FIFO

    y est limitada a 255 bytes si AES no est activado, de lo contrario el mensaje se limita a 64 bytes (es decir, mximo 66

    bytes de carga til si byte de direcciones es activado). Tenga en cuenta que el propio byte de longitud no est incluido en su

    clculo. En este modo, la carga til debe contener al menos 2 bytes, es decir, longitud + direccin o mensaje de byte.

    Un ejemplo de un paquete de longitud variable que se muestra a continuacin. Contiene los siguientes campos:

    Preamble (1010...)

    Sync word (Network ID)

    Length byte

    Optional Address byte (Node ID)

    Message data

    Optional 2-bytes CRC checksum

    5.5.2.3. Ilimitado Paquete Formato Largo

  • Se selecciona el formato de paquetes de longitud ilimitada cuando el bit PacketFormat se pone a 0 y PayloadLength se

    establece en 0.

    El usuario puede entonces transmitir y recibir paquetes de longitud arbitraria y registro PayloadLength no se utiliza en los

    modos de Tx / Rx para contar la longitud de los bytes transmitidos / recibidos. Este modo es un reemplazo para el legado modo

    de bfer en RF63/RF64 transceptores.

    En Tx transmiten los datos en funcin del bit TxStartCondition. Por el lado de los Rx procesamiento de caractersticas como el

    filtrado de direcciones, codificacin Manchester y datos para blanquear los datos no estn disponibles si la longitud del patrn

    de sincronizacin se establece en cero (SynCon = 0). El llenado de la memoria FIFO en este caso puede ser controlado por el

    FifoFillCondition bits. La deteccin CRC en Rx Tampoco se admite en esta modalidad del controlador de paquetes, la generacin

    embargo CRC en Tx est en funcionamiento. Las interrupciones como CrcOk y PayloadReady no estn disponibles tampoco.

    Un paquete de longitud ilimitada muestra en est compuesto por los siguientes campos:

    Preamble (1010...).

    Sync word (Network ID).

    Optional Address byte (Node ID).

    Message data

    Optional 2-bytes CRC checksum (Tx only)

    5.5.3. Procesamiento de Tx (sin AES)

    En el modo Tx el packet handler (controlador de paquetes) construye dinmicamente el paquete mediante la realizacin de las

    siguientes operaciones en la carga til disponible en el FIFO:

    Agregar un nmero programable de bytes de prembulo

    Aadir una palabra de sincronizacin programable

    Opcionalmente clculo de CRC sobre campo de carga completa (longitud opcional byte + byte de direccin opcional +

    mensaje) andappending la 2 bytes de suma de comprobacin.

    Opcional codificacin DC-libre de los datos (Manchester o blanqueo)

    Slo se requiere la carga til (incluyendo campos de longitud de direccin facultativa) y ser proporcionada por el usuario en el

    FIFO.

    La transmisin de paquetes de datos es iniciada por el controlador de paquetes slo si el chip est en el modo Tx y la condicin

    de transmisin definido por TxStartCondition se cumple. Si la condicin de transmisin no se cumple, entonces el manejador de

    paquetes transmite una secuencia de prembulo hasta que se cumpla la condicin. Esto ocurre slo si la duracin del

    prembulo / = 0, de lo contrario, transmite un cero o uno hasta que la condicin se cumple para transmitir los paquetes de

    datos.

    La condicin de transmisin en s se define como:

    Si TxStartCondition = 1, el controlador de paquete espera hasta que el primer byte es escrito en la FIFO, entonces

    comienza a enviar el prembulo seguido de la palabra de sincronizacin y la carga til de usuario

  • Si TxStartCondition = 0, el controlador de paquete espera hasta que el nmero de bytes escritos en la FIFO es igual al

    nmero definido en RegFifoThresh + 1

    Si la condicin para la transmisin ya se cumpli, es decir la FIFO se rellen de sleep / Stdby entonces la transmisin de

    paquetes se inicia inmediatamente al permitir Tx

    5.5.4. Rx de procesamiento (sin AES)

    En el modo de Rx el controlador de paquetes extrae la carga til de usuario de la memoria FIFO mediante la realizacin de las

    operaciones siguientes:

    Recibir el prembulo y stripping (agotamiento) apagado

    Deteccin de la palabra de sincronizacin y stripping (agotamiento) apagado

    Opcional DC libre de decodificacin de los datos

    Opcionalmente comprobar el byte de direccin

    Opcionalmente comprobacin CRC y reflejando el resultado en CrcOk.

    Slo la carga til (incluyendo campos de longitud de direccin opcional y) se hace disponible en el FIFO.

    Cuando el modo de Rx est activado el demodulador recibe el prembulo seguido por la deteccin de la palabra de

    sincronizacin. Si el formato de paquetes de longitud fija est activada, entonces el nmero de bytes recibidos como la carga

    til est dada por el parmetro PayloadLength.

    En el modo de longitud variable, el primer byte recibido despus de la palabra de sincronizacin se interpreta como la longitud

    del paquete recibido. El contador de la longitud interna se inicializa a esta longitud recibido. El registro PayloadLength se

    establece en un valor que es mayor que la longitud mxima esperada del paquete recibido. Si la longitud recibida es mayor que

    la longitud mxima almacenada en el registro PayloadLength paquete se descarta lo contrario se recibe el paquete completo.

    Si la comprobacin de la direccin est activada, entonces el segundo byte recibido en caso de longitud variable y el primer

    byte en caso de longitud fija es el byte de direccin. Si la direccin coincide con la del campo NodeAddress, la recepcin de los

    datos contina de lo contrario, se ha detenido. La comprobacin de CRC se realiza si CrcOn = 1 y el resultado es disponible en

    CrcOk lo que indica que el CRC se ha realizado correctamente. Una interrupcin (PayloadReady) tambin se genera en DIO0 tan

    pronto como la carga til est disponible en el FIFO. La carga til disponible en el FIFO tambin se puede leer en el modo de

    SLEEP / Standby.

    Si la comprobacin de la direccin est activada, entonces el segundo byte recibido en caso de longitud variable y el primer

    byte en caso de longitud fija es el byte de direccin. Si la direccin coincide con la del campo NodeAddress, la recepcin de los

    datos contina de lo contrario, se ha detenido. La comprobacin de CRC se realiza si CrcOn = 1 y el resultado es disponible en

    CrcOk lo que indica que el CRC se ha realizado correctamente. Una interrupcin (PayloadReady) tambin se genera en DIO0 tan

    pronto como la carga til est disponible en el FIFO. La carga til disponible en el FIFO tambin se puede leer en el modo de

    SLEEPP / Standbyy.

    Si el CRC falla no se genera la interrupcin PayloadReady y la FIFO se borra. Esta funcin se puede anular mediante el

    establecimiento de CrcAutoClearOff = 1, lo que oblig a la disponibilidad de interrupcin PayloadReady y la carga til en el FIFO

    incluso si el CRC falla.

    5.5.5. AES

    AES es el cifrado de bloque de clave simtrica que proporciona las capacidades criptogrficas para el transceptor. El sistema

    propuesto puede funcionar con teclas fijas largas de 128 bits. La clave fija se almacena en un solo escribir registro de

    configuracin de usuario de 16 bytes, lo que mantiene su valor en modo de suspensin.

    Como se muestra en la Figura 33 y la Figura 34 por encima de la parte de mensaje del paquete puede ser cifrados y descifrados

    con la cifra 128 - clave de cifrado almacenada en la configuracin registra.

    5.5.5.1. Tx Procesamiento

    1. El usuario introduce los datos a transmitir en la FIFO en modo Stdby/Sleep y da la orden de transmisin.

  • 2. El comando Tx la mquina de estado manejador de paquetes se hace cargo del control y Si el cifrado est activado, el

    mensaje dentro de la FIFO se lee en bloques de 16 bytes (rellena con 0s si es necesario), cifra y se almacena de nuevo a

    FIFO. Todo este proceso se realiza en modo Tx antes de activar la mquina de estado de manejo de paquetes. Slo la

    parte de mensaje del paquete est cifrada y prembulo, palabra de sincronizacin, byte de longitud, direccin de byte y

    el CRC no se cifran.

    3. Una vez que el cifrado se realiza el manejo de paquetes de mquina de estado est habilitada para transmitir los

    datos.

    5.5.5.2. Rx Processing

    1. Los datos recibidos se almacenan en la memoria FIFO, La direccin, interrumpe CRC se generan como de costumbre,

    debido a que estos parmetros no eran cifrada.

    2. Una vez que el paquete completo se ha recibido. Los datos se leen desde la FIFO, descifrado y escrito de nuevo a

    FIFO. La interrupcin PayloadReady se emite una vez que el descifrado de datos est listo en el FIFO para la lectura a

    travs de la interfaz SPI.

    El cifrado / descifrado AES no se pueden utilizar en la marcha es decir, durante la transmisin y recepcin de datos. As, cuando

    se habilita el cifrado / descifrado AES, la FIFO acta como un buffer simple. Este buffer se llena antes de iniciar cualquier

    transmisin. Los datos en el bfer se encripta antes de comenzar la transmisin. En el lado de recepcin el descifrado slo se

    inicia una vez que el paquete completo ha sido recibido en el buffer.

    El proceso de cifrado / descifrado tarda aproximadamente 7,0 uS por bloque de 16 bytes. As, para un mximo de 4 bloques (es

    decir, 64 bytes) que puede tomar hasta 28 uS para completar las operaciones criptogrficas.

    El lado de recepcin ve el tiempo de descifrado AES como un retardo secuencial antes la interrupcin PayloadReady est

    disponible.

    El lado Tx ve el tiempo de cifrado AES como un retraso en la puesta en marcha secuencial de la cadena de Tx, por lo tanto el

    tiempo de inicio de la Tx aumentar de acuerdo con la longitud de los datos.

    En el modo de longitud fija la parte del mensaje de la carga til que puede ser cifrado / descifrado puede ser de 64 bytes de

    longitud. Si el filtrado de direcciones est habilitada, la longitud de la carga til debe ser al mximo de 65 bytes en este caso.

    En el modo de longitud variable el tamao mximo de mensaje que se puede cifrar / descifrar es tambin 64 bytes cuando filtro

    de direcciones est desactivado, de lo contrario es de 48 bytes. Por lo tanto, incluyendo byte de longitud, la longitud de la carga

    til es mximo 65 o 50 bytes (este ltimo cuando el filtrado de direcciones est activado).

    Si se espera que el filtrado de direcciones y luego AddressFiltering debe estar habilitado en el lado del transmisor y para

    prevenir la direccin de byte a cifrar.

    Crc check being performed on encrypted data, CrcOk interrupt will occur "decryption time" before PayloadReady interrupt.

    5.5.6. Manejo de paquetes grandes

    Cuando la longitud de carga til excede el tamao FIFO (66 bytes) ya sea en formato de paquetes de longitud fija, variable o

    ilimitada, adems de PacketSent en Tx y PayloadReady o CrcOk en Rx, las interrupciones / banderas FIFO pueden ser utilizados

    como se describe a continuacin:

    Por Tx:

    FIFO puede ser previamente llenada en SLEEPP / Standbyy pero debe ser rellenado "en - la marcha" durante Tx con el

    resto de la carga til.

    1) Prellenado FIFO (en SLEEPP / Standbyy primera o directamente en el modo Tx) hasta FifoThreshold o FifoFull se

    establece

  • 2) En el Tx, espere FifoThreshold o FifoNotEmpty para borrar (es decir FIFO est casi vaco)

    3) Escribir bytes en el FIFO hasta que se establece FifoThreshold o FifoFull.

    4) Contine con el paso 2 hasta que el mensaje ha sido escrita a la FIFO (PacketSent se disparar cuando el ltimo bit

    del paquete ha sido enviado).

    Por Rx:

    FIFO debe ser sin llenar "en la marcha" durante Rx para evitar FIFO desbordamiento.

    1) Comience a leer bytes de la FIFO cuando FifoNotEmpty o FifoThreshold convierte establecidos.

    2) Suspender la lectura de la FIFO si FifoNotEmpty libera antes de haber ledo todos los bytes del mensaje

    3) Siga el paso 1 hasta PayloadReady o CrcOk incendios

    4) Leer todos los restantes bytes de la FIFO en modo Rx o SLEEPP / Standbyy

    Nota: el cifrado AES no es factible en paquetes grandes, ya que todos los bytes de carga til necesitan estar en la FIFO, al

    mismo tiempo para realizar el cifrado

    5.5.7.2. Basado en direcciones

    Filtrado de direcciones se pueden activar a travs de los bits AddressFiltering. Se aade otro nivel de filtrado, por encima de la

    palabra de sincronizacin (es decir Sync debe coincidir con el primero), por lo general til en una red de mltiples nodos en un

    identificador de red se comparte entre todos los nodos (Sync palabra) y cada nodo tiene su propio ID (direccin).

    Dos opciones de filtrado basado en direcciones estn disponibles:

  • En el modo de paquetes de longitud variable, PayloadLength debe ser programado con la longitud mxima de carga permitida.

    Si byte de longitud recibida es menor que este valor mximo, entonces el paquete es aceptado y procesado, de lo contrario se

    descarta.

    Tenga en cuenta que la longitud de byte recibido, como parte de la carga til, no se quit el paquete y se pone a disposicin

    en el FIFO.

    Para desactivar esta funcin, el usuario debe establecer el valor de la PayloadLength a 255.

    5.5.7.4. CRC Based

    La comprobacin de CRC se habilita estableciendo CrcOn poco en RegPacketConfig1. Se utiliza para verificar la integridad del

    mensaje.

  • Manchester codificacin / decodificacin se activa si DcFree = 01 y slo se puede utilizar en el modo de paquetes. Los datos

    NRZ se convierte en cdigo Manchester mediante la codificacin de '1 'como "10" y '0' como "01".

    En este caso, la tasa mxima de chip es la tasa de bits mxima dada en la seccin de especificaciones y la tasa de bits real es la

    mitad de la velocidad de chip.

    Manchester codificacin y decodificacin slo se aplica a la carga til y el checksum CRC mientras prembulo y palabra de

    sincronizacin se guardan NRZ. Sin embargo, la velocidad de chip de prembulo de CRC es el mismo y definido por el bitrate en

    RegBitRate (Chip Rate = Tasa de bits NRZ = 2 x Bit Rate Manchester).

    Manchester codificacin / decodificacin por lo tanto se hace transparente para el usuario, que todava proporciona / recupera

    datos NRZ a / desde la memoria FIFO

    5.5.8.2. Whitening Data

    Otra tcnica llamada whitening o aleatorizacin se utiliza ampliamente para aleatorizar los datos de usuario antes de la

    transmisin de radio. Los datos son whitenedd usando una secuencia aleatoria en el lado de Tx y de-whitened en el lado Rx

    usando la misma secuencia. En comparacin con la tcnica de Manchester tiene la ventaja de mantener tasa es decir, tasa de

    bits real NRZ datos no se reduce a la mitad.

    El proceso whitening / de-whitening se activa si DcFree = 10. Un LFSR de 9 bits se utiliza para generar una secuencia aleatoria.

    La carga til y de 2-byte de suma de comprobacin CRC es XOR a continuacin, con esta secuencia al azar como se muestra a

    continuacin. Los datos son de-whitened en el lado receptor aplicndole una operacin XOR con la misma secuencia aleatoria.

    Payload whitening / de-whitening ello, se hace transparente para el usuario, que todava proporciona / recupera datos NRZ a /

    desde el FIFO.

  • 6. Configuration and Status Registers

    6.1. General Description

    Table 23 Registers Summary

    Address

    Register Name

    Reset

    (built-in)

    Default

    (recom

    mended)

    Description

    0x00 RegFifo 0x00 FIFO read/write access

    0x01 RegOpMode 0x04 Operating modes of the transceiver

    0x02 RegDataModul 0x00 Data operation mode and Modulation settings

    0x03 RegBitrateMsb 0x1A Bit Rate setting, Most Significant Bits

    0x04 RegBitrateLsb 0x0B Bit Rate setting, Least Significant Bits

    0x05 RegFdevMsb 0x00 Frequency Deviation setting, Most Significant Bits

    0x06 RegFdevLsb 0x52 Frequency Deviation setting, Least Significant Bits

    0x07 RegFrfMsb 0xE4 RF Carrier Frequency, Most Significant Bits

    0x08 RegFrfMid 0xC0 RF Carrier Frequency, Intermediate Bits

    0x09 RegFrfLsb 0x00 RF Carrier Frequency, Least Significant Bits

    0x0A RegOsc1 0x41 RC Oscillators Settings

    0x0B RegAfcCtrl 0x00 AFC control in low modulation index situations

    0x0C Reserved0C 0x02 -

    0x0D RegListen1 0x92 Listen Mode settings

    0x0E RegListen2 0xF5 Listen Mode Idle duration

    0x0F RegListen3 0x20 Listen Mode Rx duration

    0x10 RegVersion 0x24

    0x11 RegPaLevel 0x9F PA selection and Output Power control

    0x12 RegPaRamp 0x09 Control of the PA ramp time in FSK mode

    0x13 RegOcp 0x1A Over Current Protection control

    0x14 Reserved14 0x40

    -

    0x15 Reserved15 0xB0

    -

    0x16 Reserved16 0x7B

    -

    0x17 Reserved17 0x9B -

    0x18 RegLna 0x08

    0x88

    LNA settings

    0x19 RegRxBw 0x86

    0x55

    Channel Filter BW Control

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 60

  • RFM69HW

    Address

    Register Name

    Reset

    (built-in)

    Default

    (recom

    mended)

    Description

    0x1A RegAfcBw 0x8A

    0x8B

    Channel Filter BW control during the AFC routine

    0x1B RegOokPeak 0x40 OOK demodulator selection and control in peak mode

    0x1C RegOokAvg 0x80 Average threshold control of the OOK demodulator

    0x1D RegOokFix 0x06 Fixed threshold control of the OOK demodulator

    0x1E RegAfcFei 0x10 AFC and FEI control and status

    0x1F RegAfcMsb 0x00 MSB of the frequency correction of the AFC

    0x20 RegAfcLsb 0x00 LSB of the frequency correction of the AFC

    0x21 RegFeiMsb 0x00 MSB of the calculated frequency error

    0x22 RegFeiLsb 0x00 LSB of the calculated frequency error

    0x23 RegRssiConfig 0x02 RSSI-related settings

    0x24 RegRssiValue 0xFF RSSI value in dBm

    0x25 RegDioMapping1 0x00 Mapping of pins DIO0 to DIO3

    0x26 RegDioMapping2 0x05

    0x07

    Mapping of pins DIO4 and DIO5, ClkOut frequency

    0x27 RegIrqFlags1 0x80 Status register: PLL Lock state, Timeout, RSSI > Threshold...

    0x28 RegIrqFlags2 0x00 Status register: FIFO handling flags...

    0x29 RegRssiThresh 0xFF

    0xE4

    RSSI Threshold control

    0x2A RegRxTimeout1 0x00 Timeout duration between Rx request and RSSI detection

    0x2B RegRxTimeout2 0x00 Timeout duration between RSSI detection and PayloadReady

    0x2C RegPreambleMsb 0x00 Preamble length, MSB

    0x2D RegPreambleLsb 0x03 Preamble length, LSB

    0x2E RegSyncConfig 0x98 Sync Word Recognition control

    0x2F-0x36 RegSyncValue1-8 0x00

    0x01

    Sync Word bytes, 1 through 8

    0x37 RegPacketConfig1 0x10 Packet mode settings

    0x38 RegPayloadLength 0x40 Payload length setting

    0x39 RegNodeAdrs 0x00 Node address

    0x3A RegBroadcastAdrs 0x00 Broadcast address

    0x3B RegAutoModes 0x00 Auto modes settings

    0x3C RegFifoThresh 0x0F

    0x8F

    Fifo threshold, Tx start condition

    0x3D RegPacketConfig2 0x02 Packet mode settings

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 61

  • RFM69HW

    Address

    Register Name

    Reset

    (built-in)

    Default

    (recom

    mended)

    Description

    0x3E-0x4D RegAesKey1-16 0x00 16 bytes of the cypher key

    0x4E RegTemp1 0x01 Temperature Sensor control

    0x4F RegTemp2 0x00 Temperature readout

    0x58 RegTestLna 0x1B Sensitivity boost

    0x5A RegTestPa1 0x55 High Power PA settings

    0x5C RegTestPa2 0x70 High Power PA settings

    0x6F RegTestDagc 0x00

    0x30

    Fading Margin Improvement

    0x71 RegTestAfc 0x00 AFC offset for low modulation index AFC

    0x50 + RegTest - Internal test registers

    Note - Reset values are automatically refreshed in the chip at Power On Reset

    - Default values are recommended register values, optimizing the device operation

    - Registers for which the Default value differs from the Reset value are denoted by a * in the tables of section 6

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 62

  • RFM69HW

    6.2. Common Configuration Registers

    Table 24 Common Configuration Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    RegFifo

    (0x00) 7-0 Fifo rw 0x00 FIFO data input/output

    RegOpMode

    (0x01) 7 SequencerOff rw 0 Controls the automatic Sequencer (see section 4.2 ):

    0 Operating mode as selected with Mode bits in RegOpMode is automatically reached with the Sequencer

    1 Mode is forced by the user 6 ListenOn rw 0 Enables Listen mode, should be enabled whilst in

    Standby mode:

    0 Off (see section 4.3) 1 On

    5 ListenAbort w 0 Aborts Listen mode when set together with ListenOn=0 See section 4.3.4 for details

    Always reads 0. 4-2 Mode rw 001 Transceivers operating modes:

    000 Sleep mode (SLEEP) 001 Standby mode (STDBY) 010 Frequency Synthesizer mode (FS) 011 Transmitter mode (TX) 100 Receiver mode (RX) others reserved Reads the value corresponding to the current chip mode

    1-0 - r 00 unused

    RegDataModul

    (0x02) 7 - r 0 unused

    6-5 DataMode rw 00 Data processing mode: 00 Packet mode 01 reserved 10 Continuous mode with bit synchronizer 11 Continuous mode without bit synchronizer

    4-3 ModulationType rw 00 Modulation scheme: 00 FSK 01 OOK 10 - 11 reserved

    2 - r 0 unused 1-0 ModulationShaping rw 00 Data shaping:

    in FSK:

    00 no shaping 01 Gaussian filter, BT = 1.0 10 Gaussian filter, BT = 0.5 11 Gaussian filter, BT = 0.3 in OOK:

    00 no shaping 01 filtering with fcutoff = BR 10 filtering with fcutoff = 2*BR 11 reserved

    RegBitrateMsb

    (0x03) 7-0 BitRate(15:8) rw 0x1a MSB of Bit Rate (Chip Rate when Manchester encoding is

    enabled)

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 63

  • RFM69HW

    RegBitrateLsb

    (0x04) 7-0 BitRate(7:0) rw 0x0b LSB of Bit Rate (Chip Rate if Manchester encoding is

    enabled)

    Bi tR ate = --------F----

    X----

    O-----

    S---C----------

    Bit Rate(15,0)

    Default value: 4.8 kb/s

    RegFdevMsb

    (0x05) 7-6 - r 00 unused 5-0 Fdev(13:8) rw 000000 MSB of the frequency deviation

    RegFdevLsb

    (0x06) 7-0 Fdev(7:0) rw 0x52 LSB of the frequency deviation

    Fdev = Fste p Fdev (15,0)

    Default value: 5 kHz

    RegFrfMsb

    (0x07) 7-0 Frf(23:16) rw 0xe4 MSB of the RF carrier frequency

    RegFrfMid

    (0x08) 7-0 Frf(15:8) rw 0xc0 Middle byte of the RF carrier frequency

    RegFrfLsb

    (0x09) 7-0 Frf(7:0) rw 0x00 LSB of the RF carrier frequency

    Frf = Fste p Frf 23;0

    Default value: Frf = 915 MHz (32 MHz XO)

    RegOsc1

    (0x0A) 7 RcCalStart w 0 Triggers the calibration of the RC oscillator when set.

    Always reads 0. RC calibration must be triggered in

    Standby mode. 6 RcCalDone r 1 0 RC calibration in progress

    1 RC calibration is over 5-0 - r 000001 unused

    RegAfcCtrl

    (0x0B) 7-6 - r 00 unused 5 AfcLowBetaOn rw 0 Improved AFC routine for signals with modulation index

    lower than 2. Refer to section 3.4.16 for details

    0 Standard AFC routine 1 Improved AFC routine

    4-0 - r 00000 unused

    Reserved0C

    (0x0C) 7-0 - r 0x02 unused

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 64

  • RegListen1

    (0x0D) 7-6 ListenResolIdle rw 10 Resolution of Listen mode Idle time (calibrated RC osc):

    00 reserved 01 64 us 10 4.1 ms 11 262 ms

    5-4 ListenResolRx rw 01 Resolution of Listen mode Rx time (calibrated RC osc): 00 reserved 01 64 us 10 4.1 ms 11 262 ms

    3 ListenCriteria rw 0 Criteria for packet acceptance in Listen mode: 0 signal strength is above RssiThreshold 1 signal strength is above RssiThreshold and SyncAddress matched

    2-1 ListenEnd rw 01 Action taken after acceptance of a packet in Listen mode: 00 chip stays in Rx mode. Listen mode stops and must be disabled (see section 4.3).

    01 chip stays in Rx mode until PayloadReady or Timeout interrupt occurs. It then goes to the mode defined

    by Mode. Listen mode stops and must be disabled (see

    section 4.3).

    10 chip stays in Rx mode until PayloadReady or Timeout interrupt occurs. Listen mode then resumes in

    Idle state. FIFO content is lost at next Rx wakeup.

    11 Reserved 0 - r 0 unused

    RegListen2

    (0x0E) 7-0 ListenCoefIdle rw 0xf5 Duration of the Idle phase in Listen mode.

    t ListenIdle = ListenCoefIdle ListenResolIdle

    RegListen3

    (0x0F)

    7-0 ListenCoefRx rw 0x20 Duration of the Rx phase in Listen mode (startup time included, see section 4.2.3)

    t ListenRx = ListenCoefRx ListenResolRx

    RegVersion

    (0x10)

    7-0

    Version

    r

    0x24

    Version code of the chip. Bits 7-4 give the full revision

    RFM69HW

    number; bits 3-0 give the metal mask revision number.

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 65

  • RFM69HW

    6.3. Transmitter Registers

    Table 25 Transmitter Registers

    Name

    (Address)

    Bits Variable Name Mode Default Value

    Description

    RegPaLevel

    (0x11)

    RegPaRamp

    7 Pa0On * rw 1 Enables PA0, connected to RFIO and LNA

    6 Pa1On * rw 0 Enables PA1, on PA_BOOST pin

    5 Pa2On * rw 0 Enables PA2, on PA_BOOST pin

    4-0 OutputPower rw 11111 Output power setting, with 1 dB steps

    Pout = -18 + OutputPower [dBm] , with PA0

    Pout = -18 + OutputPower [dBm] , with PA1**

    Pout = -14+ OutputPower [dBm] , with PA1 and PA2**

    Pout = -11 + OutputPower [dBm] , with PA1 and PA2, and

    high Power PA settings (refer to section 3.3.7)**

    7-4 - r 0000 unused

    (0x12) 3-0 PaRamp rw 1001 Rise/Fall time of ramp up/down in FSK

    0000 3.4 ms 0001 2 ms 0010 1 ms 0011 500 us 0100 250 us 0101 125 us 0110 100 us 0111 62 us 1000 50 us 1001 40 us 1010 31 us 1011 25 us 1100 20 us 1101 15 us 1110 12 us 1111 10 us

    RegOcp

    (0x13)

    7-5 - r 000 unused

    4 OcpOn rw 1 Enables overload current protection (OCP) for the PA:

    0 OCP disabled 1 OCP enabled

    3-0 OcpTrim rw 1010 Trimming of OCP current:

    Imax = 45 + 5 OcpTrim mA

    95 mA OCP by default

    Note *Power Amplifier truth table is available in Table 10

    ** Only the16 upper values of OutputPower are accessible

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 66

  • ----- -----------------

    RFM69HW

    6.4. Receiver Registers

    Table 26 Receiver Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    Reserved14

    (0x14) 7-0 - r 0x40 unused

    Reserved15

    (0x15) 7-0 - r 0xB0 unused

    Reserved16

    (0x16) 7-0 - r 0x7B unused

    Reserved17

    (0x17) 7-0 - r 0x9B unused

    RegLna

    (0x18) 7 LnaZin rw 1

    * LNAs input impedance

    0 50 ohms 1 200 ohms

    6 - r 0 unused 5-3 LnaCurrentGain r 001 Current LNA gain, set either manually, or by the AGC 2-0 LnaGainSelect rw 000 LNA gain setting:

    000 gain set by the internal AGC loop 001 G1 = highest gain 010 G2 = highest gain 6 dB 011 G3 = highest gain 12 dB 100 G4 = highest gain 24 dB 101 G5 = highest gain 36 dB 110 G6 = highest gain 48 dB 111 reserved

    RegRxBw

    (0x19) 7-5 DccFreq rw 010

    * Cut-off frequency of the DC offset canceller (DCC):

    ~4% of the RxBw by default

    4-3 RxBwMant rw 10 *

    Channel filter bandwidth control:

    00 RxBwMant = 16 10 RxBwMant = 24 01 RxBwMant = 20 11 reserved

    2-0 RxBwExp rw 101 *

    Channel filter bandwidth control:

    FSK Mode:

    RxB w = ------------------------F----

    X----

    O----

    S----

    C-------------------------

    Rx BwMant 2RxBwExp + 2

    OOK Mode:

    RxB w = ------------------------F----

    X----

    O----

    S----

    C-------------------------

    Rx BwMant 2RxBwExp + 3

    See Table 14 for tabulated values

    RegAfcBw

    (0x1A) 7-5 DccFreqAfc rw 100 DccFreq parameter used during the AFC 4-3 RxBwMantAfc rw 01 RxBwMant parameter used during the AFC 2-0 RxBwExpAfc rw 011 * RxBwExp parameter used during the AFC

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 67

  • RFM69HW

    RegOokPeak

    (0x1B) 7-6 OokThreshType rw 01 Selects type of threshold in the OOK data slicer:

    00 fixed 10 average 01 peak 11 reserved

    5-3 OokPeakTheshStep rw 000 Size of each decrement of the RSSI threshold in the OOK demodulator:

    000 0.5 dB 001 1.0 dB 010 1.5 dB 011 2.0 dB 100 3.0 dB 101 4.0 dB 110 5.0 dB 111 6.0 dB

    2-0 OokPeakThreshDec rw 000 Period of decrement of the RSSI threshold in the OOK demodulator:

    000 once per chip 001 once every 2 chips 010 once every 4 chips 011 once every 8 chips 100 twice in each chip 101 4 times in each chip 110 8 times in each chip 111 16 times in each chip

    RegOokAvg

    (0x1C) 7-6 OokAverageThreshFilt rw 10 Filter coefficients in average mode of the OOK

    demodulator:

    00 fC chip rate / 32. 01 fC chip rate / 8.

    10 fC chip rate / 4. 11 fC chip rate / 2. 5-0 - r 000000 unused

    RegOokFix

    (0x1D) 7-0 OokFixedThresh rw 0110

    (6dB) Fixed threshold value (in dB) in the OOK demodulator.

    Used when OokThresType = 00

    RegAfcFei

    (0x1E) 7 - r 0 unused 6 FeiDone r 0 0 FEI is on-going

    1 FEI finished 5 FeiStart w 0 Triggers a FEI measurement when set. Always reads 0. 4 AfcDone r 1 0 AFC is on-going

    1 AFC has finished 3 AfcAutoclearOn rw 0 Only valid if AfcAutoOn is set

    0 AFC register is not cleared before a new AFC phase 1 AFC register is cleared before a new AFC phase

    2 AfcAutoOn rw 0 0 AFC is performed each time AfcStart is set 1 AFC is performed each time Rx mode is entered

    1 AfcClear w 0 Clears the AfcValue if set in Rx mode. Always reads 0 0 AfcStart w 0 Triggers an AFC when set. Always reads 0.

    RegAfcMsb

    (0x1F) 7-0 AfcValue(15:8) r 0x00 MSB of the AfcValue, 2s complement format

    RegAfcLsb

    (0x20) 7-0 AfcValue(7:0) r 0x00 LSB of the AfcValue, 2s complement format

    Frequency correction = AfcValue x Fstep

    RegFeiMsb

    (0x21) 7-0 FeiValue(15:8) r - MSB of the measured frequency offset, 2s complement

    RegFeiLsb

    (0x22) 7-0 FeiValue(7:0) r - LSB of the measured frequency offset, 2s complement

    Frequency error = FeiValue x Fstep

    RegRssiConfig

    (0x23) 7-2 - r 000000 unused 1 RssiDone r 1 0 RSSI is on-going

    1 RSSI sampling is finished, result available 0 RssiStart w 0 Trigger a RSSI measurement when set. Always reads 0.

    RegRssiValue

    (0x24) 7-0 RssiValue r 0xFF Absolute value of the RSSI in dBm, 0.5dB steps.

    RSSI = -RssiValue/2 [dBm]

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 68

  • RFM69HW

    6.5. IRQ and Pin Mapping Registers

    Table 27 IRQ and Pin Mapping Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    RegDioMapping1

    (0x25) 7-6 Dio0Mapping rw 00

    Mapping of pins DIO0 to DIO5

    See Table 21 for mapping in Continuous mode

    See Table 22 for mapping in Packet mode

    5-4 Dio1Mapping rw 00 3-2 Dio2Mapping rw 00 1-0 Dio3Mapping rw 00

    RegDioMapping2

    (0x26) 7-6 Dio4Mapping rw 00 5-4 Dio5Mapping rw 00 3 - r 0 unused

    2-0 ClkOut rw 111 *

    Selects CLKOUT frequency:

    000 FXOSC 001 FXOSC / 2 010 FXOSC / 4 011 FXOSC / 8 100 FXOSC / 16 101 FXOSC / 32 110 RC (automatically enabled) 111 OFF

    RegIrqFlags1

    (0x27) 7 ModeReady r 1 Set when the operation mode requested in Mode, is ready

    - Sleep: Entering Sleep mode

    - Standby: XO is running

    - FS: PLL is locked

    - Rx: RSSI sampling starts

    - Tx: PA ramp-up completed

    Cleared when changing operating mode. 6 RxReady r 0 Set in Rx mode, after RSSI, AGC and AFC.

    Cleared when leaving Rx. 5 TxReady r 0 Set in Tx mode, after PA ramp-up.

    Cleared when leaving Tx. 4 PllLock r 0 Set (in FS, Rx or Tx) when the PLL is locked.

    Cleared when it is not. 3 Rssi rwc 0 Set in Rx when the RssiValue exceeds RssiThreshold.

    Cleared when leaving Rx. 2 Timeout r 0 Set when a timeout occurs (see TimeoutRxStart and

    TimeoutRssiThresh)

    Cleared when leaving Rx or FIFO is emptied. 1 AutoMode r 0 Set when entering Intermediate mode.

    Cleared when exiting Intermediate mode.

    Please note that in Sleep mode a small delay can be

    observed between AutoMode interrupt and the

    corresponding enter/exit condition. 0 SyncAddressMatch r/rwc 0 Set when Sync and Address (if enabled) are detected.

    Cleared when leaving Rx or FIFO is emptied.

    This bit is read only in Packet mode, rwc in Continuous

    mode

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

    Page 69

  • RFM69HW

    RegIrqFlags2

    (0x28) 7 FifoFull r 0 Set when FIFO is full (i.e. contains 66 bytes), else

    cleared. 6 FifoNotEmpty r 0 Set when FIFO contains at least one byte, else cleared 5 FifoLevel r 0 Set when the number of bytes in the FIFO strictly exceeds

    FifoThreshold, else cleared. 4 FifoOverrun rwc 0 Set when FIFO overrun occurs. (except in Sleep mode)

    Flag(s) and FIFO are cleared when this bit is set. The

    FIFO then becomes immediately available for the next

    transmission / reception. 3 PacketSent r 0 Set in Tx when the complete packet has been sent.

    Cleared when exiting Tx. 2 PayloadReady r 0 Set in Rx when the payload is ready (i.e. last byte

    received and CRC, if enabled and CrcAutoClearOff is

    cleared, is Ok). Cleared when FIFO is empty. 1 CrcOk r 0 Set in Rx when the CRC of the payload is Ok. Cleared

    when FIFO is empty. 0 - r 0 unused

    RegRssiThresh

    (0x29) 7-0 RssiThreshold rw 0xE4

    * RSSI trigger level for Rssi interrupt :

    - RssiThreshold / 2 [dBm]

    RegRxTimeout1

    (0x2A) 7-0 TimeoutRxStart rw 0x00 Timeout interrupt is generated TimeoutRxStart*16*Tbit

    after switching to Rx mode if Rssi interrupt doesnt occur

    (i.e. RssiValue > RssiThreshold)

    0x00: TimeoutRxStart is disabled

    RegRxTimeout2

    (0x2B) 7-0 TimeoutRssiThresh rw 0x00 Timeout interrupt is generated TimeoutRssiThresh*16*Tbit

    after Rssi interrupt if PayloadReady interrupt doesnt

    occur.

    0x00: TimeoutRssiThresh is disabled

    Page 70

    Tel: + 86- 755-82973805 Fax: + 86- 755-82973550 E-mail: [email protected] ht tp:/ / www.hoperf.com

  • RFM69HW

    6.6. Packet Engine Registers

    Table 28 Packet Engine Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    RegPreambleMsb

    (0x2c) 7-0 PreambleSize(15:8) rw 0x00 Size of the preamble to be sent (from TxStartCondition

    fulfilled). (MSB byte)

    RegPreambleLsb

    (0x2d) 7-0 PreambleSize(7:0) rw 0x03 Size of the preamble to be sent (from TxStartCondition

    fulfilled). (LSB byte)

    RegSyncConfig

    (0x2e) 7 SyncOn rw 1 Enables the Sync word generation and detection:

    0 Off 1 On

    6 FifoFillCondition rw 0 FIFO filling condition: 0 if SyncAddress interrupt occurs 1 as long as FifoFillCondition is set

    5-3 SyncSize rw 011 Size of the Sync word: (SyncSize + 1) bytes

    2-0 SyncTol rw 000 Number of tolerated bit errors in Sync word

    RegSyncValue1

    (0x2f) 7-0 SyncValue(63:56) rw 0x01

    * 1st byte of Sync word. (MSB byte)

    Used if SyncOn is set.

    RegSyncValue2

    (0x30) 7-0 SyncValue(55:48) rw 0x01

    * 2nd byte of Sync word

    Used if SyncOn is set and (SyncSize +1) >= 2.

    RegSyncValue3

    (0x31) 7-0 SyncValue(47:40) rw 0x01

    * 3rd byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) >= 3.

    RegSyncValue4

    (0x32) 7-0 SyncValue(39:32) rw 0x01

    * 4th byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) >= 4.

    RegSyncValue5

    (0x33) 7-0 SyncValue(31:24) rw 0x01

    * 5th byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) >= 5.

    RegSyncValue6

    (0x34) 7-0 SyncValue(23:16) rw 0x01

    * 6th byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) >= 6.

    RegSyncValue7

    (0x35) 7-0 SyncValue(15:8) rw 0x01

    * 7th byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) >= 7.

    RegSyncValue8

    (0x36) 7-0 SyncValue(7:0) rw 0x01

    * 8th byte of Sync word.

    Used if SyncOn is set and (SyncSize +1) = 8.

    Page 71

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

  • RFM69HW

    RegPacketConfig1

    (0x37) 7 PacketFormat rw 0 Defines the packet format used:

    0 Fixed length 1 Variable length

    6-5 DcFree rw 00 Defines DC-free encoding/decoding performed: 00 None (Off) 01 Manchester 10 Whitening 11 reserved

    4 CrcOn rw 1 Enables CRC calculation/check (Tx/Rx): 0 Off 1 On

    3 CrcAutoClearOff rw 0 Defines the behavior of the packet handler when CRC check fails:

    0 Clear FIFO and restart new packet reception. No PayloadReady interrupt issued.

    1 Do not clear FIFO. PayloadReady interrupt issued. 2-1 AddressFiltering rw 00 Defines address based filtering in Rx:

    00 None (Off) 01 Address field must match NodeAddress 10 Address field must match NodeAddress or BroadcastAddress

    11 reserved 0 - rw 0 unused

    RegPayloadLength

    (0x38) 7-0 PayloadLength rw 0x40 If PacketFormat = 0 (fixed), payload length.

    If PacketFormat = 1 (variable), max length in Rx, not used

    in Tx.

    RegNodeAdrs

    (0x39) 7-0 NodeAddress rw 0x00 Node address used in address filtering.

    RegBroadcastAdrs

    (0x3A) 7-0 BroadcastAddress rw 0x00 Broadcast address used in address filtering.

    RegAutoModes

    (0x3B) 7-5 EnterCondition rw 000 Interrupt condition for entering the intermediate mode:

    000 None (AutoModes Off) 001 Rising edge of FifoNotEmpty 010 Rising edge of FifoLevel 011 Rising edge of CrcOk 100 Rising edge of PayloadReady 101 Rising edge of SyncAddress 110 Rising edge of PacketSent 111 Falling edge of FifoNotEmpty (i.e. FIFO empty)

    4-2 ExitCondition rw 000 Interrupt condition for exiting the intermediate mode: 000 None (AutoModes Off) 001 Falling edge of FifoNotEmpty (i.e. FIFO empty) 010 Rising edge of FifoLevel or Timeout 011 Rising edge of CrcOk or Timeout 100 Rising edge of PayloadReady or Timeout 101 Rising edge of SyncAddress or Timeout 110 Rising edge of PacketSent 111 Rising edge of Timeout

    1-0 IntermediateMode rw 00 Intermediate mode: 00 Sleep mode (SLEEP) 01 Standby mode (STDBY) 10 Receiver mode (RX) 11 Transmitter mode (TX)

    Page 72

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

  • RFM69HW

    RegFifoThresh

    (0x3C) 7 TxStartCondition rw 1

    * Defines the condition to start packet transmission :

    0 FifoLevel (i.e. the number of bytes in the FIFO exceeds FifoThreshold)

    1 FifoNotEmpty (i.e. at least one byte in the FIFO) 6-0 FifoThreshold rw 0001111 Used to trigger FifoLevel interrupt.

    RegPacketConfig2

    (0x3D) 7-4 InterPacketRxDelay rw 0000 After PayloadReady occurred, defines the delay between

    FIFO empty and the start of a new RSSI phase for next

    packet. Must match the transmitters PA ramp-down time. - Tdelay = 0 if InterpacketRxDelay >= 12

    - Tdelay = (2InterpacketRxDelay) / BitRate otherwise 3 - rw 0 unused 2 RestartRx w 0 Forces the Receiver in WAIT mode, in Continuous Rx

    mode.

    Always reads 0. 1 AutoRxRestartOn rw 1 Enables automatic Rx restart (RSSI phase) after

    PayloadReady occurred and packet has been completely

    read from FIFO:

    0 Off. RestartRx can be used. 1 On. Rx automatically restarted after InterPacketRxDelay.

    0 AesOn rw 0 Enable the AES encryption/decryption: 0 Off 1 On (payload limited to 66 bytes maximum)

    RegAesKey1

    (0x3E) 7-0 AesKey(127:120) w 0x00 1st byte of cipher key (MSB byte)

    RegAesKey2

    (0x3F) 7-0 AesKey(119:112) w 0x00 2nd byte of cipher key

    RegAesKey3

    (0x40) 7-0 AesKey(111:104) w 0x00 3rd byte of cipher key

    RegAesKey4

    (0x41) 7-0 AesKey(103:96) w 0x00 4th byte of cipher key

    RegAesKey5

    (0x42) 7-0 AesKey(95:88) w 0x00 5th byte of cipher key

    RegAesKey6

    (0x43) 7-0 AesKey(87:80) w 0x00 6th byte of cipher key

    RegAesKey7

    (0x44) 7-0 AesKey(79:72) w 0x00 7th byte of cipher key

    RegAesKey8

    (0x45) 7-0 AesKey(71:64) w 0x00 8th byte of cipher key

    RegAesKey9

    (0x46) 7-0 AesKey(63:56) w 0x00 9th byte of cipher key

    RegAesKey10

    (0x47) 7-0 AesKey(55:48) w 0x00 10th byte of cipher key

    RegAesKey11

    (0x48) 7-0 AesKey(47:40) w 0x00 11th byte of cipher key

    RegAesKey12

    (0x49) 7-0 AesKey(39:32) w 0x00 12th byte of cipher key

    RegAesKey13

    (0x4A) 7-0 AesKey(31:24) w 0x00 13th byte of cipher key

    Page 73

    Tel: + 86-755-82973805 Fax: + 86- 755-82973550 E- mail: [email protected] ht t p:/ / www.hoperf.com

  • RFM69HW

    RegAesKey1

    4 (0x4B) 7-0 AesKey(23:16) w 0x00 14th byte of cipher key

    RegAesKey1

    5 (0x4C) 7-0 AesKey(15:8) w 0x00 15th byte of cipher key

    RegAesKey1

    6 (0x4D) 7-0 AesKey(7:0) w 0x00 16th byte of cipher key (LSB byte)

    6.7. Temperature Sensor Registers

    Table 29 Temperature Sensor Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    RegTemp

    1 (0x4E) 7-4 - r 0000 unused 3 TempMeasStart w 0 Triggers the temperature measurement when set.

    Always

    reads 0. 2 TempMeasRunning r 0 Set to 1 while the temperature measurement is running.

    Toggles back to 0 when the measurement has

    completed. The receiver can not be used while

    measuring temperature 1-0 - r 01 unused

    RegTemp

    2 (0x4F) 7-0 TempValue r - Measured temperature

    -1C per Lsb

    Needs calibration for accuracy

    6.8. Test Registers

    Table 30 Test Registers

    Name

    (Address) Bits Variable Name Mode Default

    Value Description

    RegTestLna

    (0x58) 7-0 SensitivityBoost rw 0x1B High sensitivity or normal sensitivity mode:

    0x1B Normal mode 0x2D High sensitivity mode

    RegTestPa1

    (0x5A) 7-0 Pa20dBm1 rw 0x55 Set to 0x5D for +20 dBm operation on PA_BOOST.

    0x55 Normal mode and Rx mode 0x5D +20 dBm mode Revert to 0x55 when receiving or using PA0

    RegTestPa2

    (0x5C) 7-0 Pa20dBm2 rw 0x70 Set to 0x7C for +20 dBm operation on PA_BOOST

    0x70 Normal mode and Rx mode 0x7C +20 dBm mode Revert to 0x70 when receiving or using PA0

  • RegTestDagc

    (0x6F) 7-0 ContinuousDagc rw 0x30

    * Fading Margin Improvement, refer to 3.4.4

    0x00 Normal mode 0x20 Improved margin, use if AfcLowBetaOn=1 0x30 Improved margin, use if AfcLowBetaOn=0

    RegTestAfc

    (0x71) 7-0 LowBetaAfcOffset rw 0x00 AFC offset set for low modulation index systems,

    used if

    AfcLowBetaOn=1.

    Offset = LowBetaAfcOffset x 488 Hz