CC1101 tuning

Hi,
in letzter Zeit tauchen ja leider vermehrt CC1101 868MHz-Module auf,
bei denen die Oszillatorfrequenz daneben liegt.
In AskSin++ ist ein script enthalten, mit dem die Frequenzeinstellung
optimiert werden kann.
Der entscehidende Punkt ist, dass zur Einstellung der Frequenz bei homegear
das entsprechende Familienmodul wie MAX! oder Homematic-BidCos dzu neu
compliert werden muss.
Es geht hier eigenlich nur um die Werte für die Register FREQ1 und FREQ0 im CC1101.
Im source code steht 0x21656a für FREQ[2:0], die fraglichen Module liegen bei etwa FREQ[2:0]=0x216622

Wäre es nicht generell möglich, diese Frequenzeinstellung als optionalen Parameter,
analog zur oscillatorFrequency in der Konfiguration zu haben?

Die Alternative, auf den Modulen die Bürdekapazitäten des Quarzes zu
wechseln steht leider nicht allen zur Verfügung.

Viele Grüße

eine Alternative könnte es sein,
die Konfiguration der Oszillatorfrequenz nicht auf genau 26MHz oder 27MHz zu beschränken,
sondern z.B. Werte von z.B. 25.90 bir 26.1 MHz zuzulassen, dann passt
die Frequenzvorgabe in FREQ[2:0] wieder.
Die Berechnung hier ist ja 868.3MHz * 2^16 / 26.0MHz = FREQ[2:0]
Allerdings weiss ich gerade nicht, ob evtl. noch andere Parameter des CC1101
angepasst werden müssten.

Dann müssten allerdings die FREQ[2:0]-Werte dynamisch berechnet werden,
was mir aufwendiger erscheint.

Hey @clh27,

super Thema. Ich habe mich schon oft genug über die grünen China-Module geärgert und bin froh, für mein CC1101-Modul einen ordentlichen und vor allem qualitativ hochwertigen Lieferanten gefunden zu haben.
Trotzdem wär mir natürlich wichtig genau das auch bei den von mir verwendeten Platinen zu testen.

Wenn ich es richtig verstanden habe, können man damit dann doch sogar die Frequenz etwas verschieben um Somfy - oder alles was nicht direkt auf 868MHz liegt - nutzbar zu machen, oder?

Egal wie, das hier ist in jedem Fall ein Thema für @sathya und @malli.

Gruß,
p

Hi @pmayer,
die Frequenz sollte man schon verschieben können, aber
das ist ja nicht unbedingt alles. Was ist da mit Modulation,
Kanalabstand, Datenrate usw? Da scheinen noch mehr
Parameter im CC1101 zu sein als nur die Frequenz.
Ich kenne mich nicht wirklich mit dem CC1101 aus, da
hilft dann nur der Blick ins Datenblatt. Somfy kenne ich
leider garnicht.

Viele Grüße

Ich bin auch kein CC1101 Hardware-Experte. Weiß nur, dass Somfy um ein paar Hz neben den “normalen” 868MHz funkt. Hab selbst auch keine Hardware davon…

Hi,

ja, das geht alles.

868 MHz ist eine Frequenz innerhalb des ISM-Bandes von 863 bis 870 MHz, daher der umgangssprachliche Name “868MHz-Band”.

Somfys Trägerfrequenz ist 868,95MHz. Kann man ohne Probleme über FREQ0 bis FREQ2 im CC1101 einstellen, genau dafür sind die Register ja da. Ebenso die benötigte Modulationsart und Datenrate. Kanalabstand spielt keine Rolle, da es nur diesen einen Kanal gibt und kein Frequenzhopping wie z.B. bei Bluetooth. Paketheader kenne ich nicht auswendig. Das guckt man alles auf einmal nach, wenn man Somfy auf dem CC1101 oder in der Culfw implementiert.

Der CC1101 kann mit einem 26MHz- oder 27MHz-Quarz oder externen Oszillator betrieben werden, theoretisch gehen aber auch andere, weniger gebräuchliche Frequenzen. 26MHz ist gedacht für Europa (868MHz-Band) und 27MHz für USA (915MHz-Band), damit harmonische Vielfache der Quarzfrequenz keine unerlaubt starken Störungen aussenden.

Wenn Du einen schlechten Quarz oder gar einen Keramikoszillator mit danebenliegender Frequenz hast, musst Du die Frequenz entweder messen, um FREQ2…0 gezielt anzupassen, oder ausprobieren.

Quarzfrequenz durch einen Kondensator zu “ziehen”, ist nicht nötig.

Gruß
Malli

1 Like

es geht nicht darum, den Quarz zu ziehen, sondern darum,
falsch verbaute Kondensatoren auszutauschen.
Oder eben nicht, doch dann muss FREQ[2:0] angepasst werden,
das war der Hintergrund für die ursprüngliche Frage, ob diese
Anpassung per Parameter erfolgen kann, und nicht nur per compilation.
s. auch :
https://forum.fhem.de/index.php/topic,91740.0.html
https://asksinpp.de/Grundlagen/FAQ/Fehlerhafte_CC1101.html#ermittlung-der-cc1101-frequenz

1 Like

Tausch der Quarz-Kondensatoren gegen 13pF hat das Problem wie erwartet gelöst.
Da ich jetzt noch 98 Kondensatoren hier liegen habe, ist da Thema für mich
damit erledigt.

Ein schönes WE noch für alle

Hallo @malli ich bin ja im Hintergrund imemr noch am Bau meiner Somfy Steuerung, unteranderem ist da auch noch das Problem mit der Frequenz. Kannst du mit beschrieben, wie ich diese Anpassungen machen kann? Du sprichst oben von SOmfy IO mit 868 Mhz, oder?
Ich habe Somfy RTS und müsste dort die Trägerfrequenz auf 433.42 MHz bringen.

Hallo,

ja, ich sprach von der 868MHz-Variante. Da hatte mich die Frequenzabweichung gewundert. Bei der 433MHz-Variante wundert es mich nicht, da hast Du regelmäßig krautige Hardware.

An dem CC1101 geht das über die beschriebenen Register: Die Bandbreite CHANBW_* in MDMCFG4 auf dem Maximalwert einstellen und dann in FREQ2:0 mehrere Frequenzen um 433MHz in 100kHz-Abständen ausprobieren, bis Du die Frequenz Deines Senders zufällig triffst (die kann gern mal um 2MHz abweichen von 433.42MHz, was bei krautigen breitbandigeren Empfängern sonst kein Problem ist).

An Deinen Somfy-RTS-Geräten kannst Du die Frequenz wahrscheinlich über einen kleinen Trimmkondensator vorsichtig trimmen. Mit Vorsicht und Geduld kannst Du es vielleicht besser hinbekommen als der Hersteller.

PS. Beim Einstellen der richtigen Register im CC1101 hilft Dir nicht nur das Datenblatt, sondern auch SmartRF Studio - da hast Du einen eingebauten Kalkulator, der Dir Trägerfrequenz in Registerwerte umrechnet.

Hey Danke @malli soweit. Habe mir RF Studio mal runtergeladen (in ein Windows 7 auf Virtualbox auf meinem Mac :crazy_face:). Wie kriege ich das am einfachsten Verbunden, was verwendest du als Programmer?

Das RF-Studio ist dazu gedacht, um die TI Evalboards direkt per USB anzuschließen und mit Firmwareentwicklung loszulegen. Ich habe es nur als Offline-Kalkulator genutzt, um mir bequem die Registerwerte auszurechnen (geht sonst auch mit Datenblatt und Taschenrechner). Die Registerwerte gehören dann in die entsprechende conf-Datei des HM-BidCoS/CC1101-Moduls von Homegear eingetragen.

Bin nicht mehr ganz warm in dem Thema. Aber heisst dies: man könnte mit dem RF-Studio die Werte für 433.42 MHz berechnen und dies müsste dann nur in die Conf Datei geschireben werden? Kannst du das ausrechnen?