CC1120 no recibe una actualización de software

Nota: solo lea si tiene experiencia en el uso de módulos CC1120 de Texas Instruments anteriormente.

Estoy usando esta placa de desarrollo de Texas Instruments con un módulo CC1120 conectado.

He estado usando el software de prueba TrxEB RF PER (Rev. C) y he podido transmitir paquetes a otro módulo en el modo RX Sniff con éxito. Sin embargo, hoy actualicé al software Ejemplos de software CC112x (Rev. E) que me permite ingresar directamente al modo RX Sniff (hay una aplicación separada para él) en lugar de tener que navegar por un menú. Ambos firmware se pueden encontrar aquí (desplácese hacia abajo hasta la sección Software).

Nota: el firmware Rev. E es un poco difícil de compilar debido a su jerarquía de carpetas, he subido una versión más limpia aquí .

El transmisor funciona bien y puedo ver transmisiones a 868 MHz usando un analizador de espectro de laboratorio, sin embargo, los paquetes no aparecen en el extremo del receptor.

Anteriormente tuve problemas para transmitir a altas frecuencias, así que cambié a 434 MHz en el firmware Rev. C (que tenía un menú). Sin embargo, debo cambiar algunos registros para hacer lo mismo en el firmware Rev. E.

He estado buscando y los registros que controlan la frecuencia de transmisión parecen estar controlados por el siguiente conjunto de valores:

    //Register Settings for different frequency bands.
    static uint8 freqSettings[5][3] = 
    { 
      {0x69,0xF1,0xFF}, // 169.5125 MHz
      {0x6C,0x80,0x00}, // 434 MHz
      {0x6C,0x80,0x00}, // 868 MHz   
      {0x72,0x60,0x00}, // 915 MHz
      {0x77,0x60,0x00}  // 955 MHz
    };

Me sorprende que 434 MHz y 868 MHz usen los mismos valores (estos valores son del firmware Rev. C. Luego está esto:

    //Band select setting for LO divider
    static uint8 cc112xFsCfgs[5] = 
    {
      0x0A, // 169 MHz 
      0x04, // 434 MHz  
      0x02, // 868 MHz 
      0x02, // 915 MHz 
      0x02, // 955 MHz   
    };

Desafortunadamente, el registro que controla esta matriz es CC112X_FS_CFGel que está configurado 0x12de forma predeterminada en el firmware más nuevo, un valor que no coincide ni con 434 MHz ni con 868 MHz.

¿Alguien que haya podido transmitir con éxito a una frecuencia diferente usando el módulo inalámbrico CC1120?

No he usado esta placa de desarrollo, pero en su lugar he usado módulos CC1120 conectados a través de CCDebugger a una computadora que ejecuta el software SmartRFStudio. SmartRFStudio le dará todos los valores de los registros para cada configuración posible (incluso la hoja de datos CC1120 se refiere a este software). ¡Espero que esto ayude!
Los 24 bits del registro Freq son el multiplicador aplicado al LO para alcanzar la frecuencia deseada. 868MHz no puede tener el mismo valor que 433MHz.
Supongo que tienes razón. Yo también usé SmartRF Studio para encontrar qué registro cambió cuando cambié la frecuencia. Resultó que CC112X_FS_CFGtoma diferentes valores para ambos.

Respuestas (1)

Encontré la respuesta a esto y me gustaría volver aquí.

La diferencia entre 434 MHz y 868 MHz es el CC112X_FS_CFGregistro que está configurado 0x12para 868 MHz y 0x14para 434 MHz.

Lo arreglé y comenzó a funcionar a las mil maravillas.