¿Cómo transmitir un tamaño de paquete mayor a 64 bytes a través del chip cc2500?

1

Estoy conectando el chip cc2500 al controlador PIC18F67K67 en el lado del dispositivo de destino. Mi lado del host tiene un chip cc2511 que recibe datos.

Tengo que transmitir un paquete de tamaño de 247 bytes desde cc2500 a cc2511.

Mi pregunta es cómo transmitir un compilador de datos de 64 bytes (tamaño FIFO) de cc2500 a cc2511 ???

Leí la hoja de datos de ambos dispositivos pero no recibo ayuda de ellos.

    
pregunta shail korat

2 respuestas

7

Para transmitir más de 64 bytes, básicamente tiene que llenar el FIFO con el primer fragmento de 64 bytes, luego verificar el vaciado de FIFO de TX. Coloque la radio en modo TX y, a medida que se transmite, el TX FIFO se vaciará a medida que se envían los bytes. Una vez que alcanza un umbral (marca de agua), rellena el resto de la FIFO con más bytes de paquetes.

Para detectar el bloqueo FIFO, debe configurar el dispositivo correctamente para enviar paquetes grandes así como la marca de agua y luego:

1) Encueste el dispositivo para ver el número de bytes en el TX FIFO 2) Configure una de las interrupciones GDO para que se active cuando se alcance la marca de agua.

Eche un vistazo a this y la Nota de la aplicación AN049 , que debería tener un ejemplo de cómo hacer esto.

    
respondido por el Gustavo Litovsky
1

EDIT

Parece que interpreté mal la pregunta, pero como Gustavo cree que valdría la pena dejarla, lo haré. No estoy realmente seguro de si el problema es la mala interpretación de los paquetes de radio por parte del OP o si es la FIFO con la que no se está llevando a cabo. De todos modos, sé amable si me he perdido la marca en esto.

Por lo general, un transmisor y receptor de radio tiene un tamaño de paquete limitado debido a la probabilidad de errores de datos: cuanto más pequeño sea el paquete, menor será la probabilidad de error. El receptor debe poder detectar un error utilizando el valor de verificación de error adjunto. Si se detecta un error, el receptor vuelve a solicitar el paquete.

Si el paquete era "largo", hay una mayor probabilidad de error y demorará más en retransmitir el paquete.

Esto es un "dilema" al diseñar un sistema de paquetes de radio. Los paquetes largos son más propensos a errores y tardan más tiempo en retransmitirse, por lo que la velocidad efectiva de datos de carga útil es más lenta. Por otro lado, un paquete corto o pequeño es ineficiente porque necesita un montón de bits (llamado preámbulo) que permiten que el detector del receptor se bloquee y necesita un CRC (o errores de comprobación de errores adjuntos).

Una vez que se determina el tamaño del paquete, la transmisión (por ejemplo) de un archivo de 1MByte no tiene nada que ver con el tamaño del paquete de la radio, sino cómo se elige integrar un mayor nivel de control en su protocolo, permítame decirlo nuevamente. esto no tiene nada que ver con el tamaño del paquete de la radio.

Intentar "secuestrar" el pequeño paquete transmitido por la radio para hacer la vida más fácil está bien, pero si necesita transmitir algo más grande, debe aplicar un protocolo de nivel superior para que el extremo receptor pueda juntar el archivo de 1 Mbyte y entender cuando el archivo se recibe completamente.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas