CC1120 empfängt nicht beim Software-Upgrade

Hinweis: Nur lesen, wenn Sie bereits Erfahrungen mit CC1120-Modulen von Texas Instruments gesammelt haben.

Ich verwende dieses Entwicklungsboard von Texas Instruments mit einem daran angeschlossenen CC1120-Modul.

Ich habe die TrxEB RF PER Test Software (Rev. C) darauf verwendet und konnte erfolgreich Pakete an ein anderes Modul im RX Sniff-Modus übertragen. Heute habe ich jedoch auf die Software CC112x-Softwarebeispiele (Rev. E) aktualisiert, mit der ich direkt in den RX-Sniff-Modus wechseln kann (es gibt eine separate App dafür), anstatt durch ein Menü navigieren zu müssen. Diese beiden Firmwares finden Sie hier (scrollen Sie nach unten zum Abschnitt Software).

Hinweis: Die Rev. E-Firmware ist aufgrund ihrer Ordnerhierarchie etwas schwierig zu kompilieren. Ich habe hier eine sauberere Version davon hochgeladen .

Der Sender funktioniert einwandfrei und ich kann mit einem Labor-Spektrumanalysator Übertragungen bei 868 MHz sehen, die Pakete werden jedoch nicht am Empfängerende angezeigt.

Ich hatte früher Probleme beim Senden bei hohen Frequenzen, also wechselte ich in der Rev. C-Firmware (die ein Menü hatte) auf 434 MHz. Ich muss jedoch einige Register ändern, um dasselbe in der Rev. E-Firmware zu tun.

Ich habe herumgesucht und die Register, die die Übertragungsfrequenz steuern, scheinen von den folgenden Werten gesteuert zu werden:

    //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
    };

Ich bin überrascht, dass 434 MHz und 868 MHz dieselben Werte verwenden (diese Werte stammen aus der Rev. C-Firmware. Dann gibt es noch Folgendes:

    //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   
    };

Leider ist das Register, das dieses Array steuert, in der neueren Firmware standardmäßig CC112X_FS_CFGeingestellt , ein Wert, der weder 434 MHz noch 868 MHz entspricht.0x12

Jeder, der mit dem CC1120-Funkmodul erfolgreich auf einer anderen Frequenz senden konnte?

Ich habe dieses Entwicklungsboard nicht verwendet, aber ich habe stattdessen CC1120-Module verwendet, die über CCDebugger mit einem Computer verbunden sind, auf dem die SmartRFStudio-Software ausgeführt wird. SmartRFStudio gibt Ihnen alle Registerwerte für jede mögliche Konfiguration (sogar das CC1120-Datenblatt bezieht sich auf diese Software). Hoffe das hilft!
Die 24 Bits des Freq-Registers sind der Multiplikator, der an den LO angelegt wird, um die gewünschte Frequenz zu erreichen. 868MHz kann nicht den gleichen Wert wie 433MHz haben.
Ich schätze du hast Recht. Ich habe auch SmartRF Studio verwendet, um herauszufinden, welches Register sich geändert hat, als ich die Frequenz geändert habe. Es stellte sich heraus, dass CC112X_FS_CFGbeide unterschiedliche Werte annehmen.

Antworten (1)

Ich habe die Antwort darauf gefunden und möchte hierher zurückkommen.

Der Unterschied zwischen 434 MHz und 868 MHz ist das Register, das für 868 MHz auf und für 434 MHz auf at CC112X_FS_CFGeingestellt ist .0x120x14

Ich reparierte es und es begann wie ein Zauber zu funktionieren.