Forum: HF, Funk und Felder cc1110 hilfe


von Thomas M. (superjack)


Lesenswert?

Hallo zusammen,

suche jemanden der sich mit der Programmierung eines cc1110 von TI 
auskennt und etwas helfen kann.

Momentan stehe ich vor dem Problem den Sende- und Empfangsteil 
entsprechend zu konfigurieren.
Ich habe mit SmartRF Studio Einstellungen vorgenommen und den Code 
exportiert.
Die entsprechenden Register gesetzt und versucht, erst einmal ein paar 
bytes zu senden.

Ich habe ein mini-def kit und schaue empfangsseitig mit SmartRF Studio 
ob überhaupt etwas passiert auf der entsprechenden Frequenz.
Ich benutze nicht den IAR und auch nicht SDCC und somit ist es etwas 
schwierig die Beispiele von TI zu benutzen bzw. zu vergleichen.

Die abfrage MARCSTATE ist auskommentiert, da das prog an diesem punkt 
immer   hängenbleibt, wohl weil nicht im tx mode!?
Senden möchte ich entweder das byte im RF Daten puffer RFD oder aus dem 
SYNC0 und SYNC1, deswegen sind beide gesetzt.

Kann man das überhaupt in dieser art und weise mit den strobe Kommandos 
machen?

Hoffe hier ist ein Sichauskenner unterwegs!
Ich schlag mich nun schon ein paar Tage damit herum und komm einfach 
nicht weiter....Bin dankbar für jeden Hilfe

Viele Grüße

code:

/* Sync word qualifier mode = 30/32 sync word bits detected */
/* Channel spacing = 199.951172 */
/* Data rate = 249.939 */
/* RX filter BW = 541.666667 */
/* PA ramping = false */
/* Preamble count = 4 */
/* Whitening = false */
/* Address config = No address check */
/* Carrier frequency = 869.299622 */
/* Device address = 0 */
/* TX power = 0 */
/* Manchester enable = false */
/* CRC enable = true */
/* Deviation = 126.953125 */
/* Packet length mode = Variable packet length mode. Packet length 
configured by the first byte after sync word */
/* Packet length = 255 */
/* Modulation format = 2-FSK */
/* Base frequency = 868.299866 */
/* Modulated = true */
/* Channel number = 5 */

//radio register

xdata unsigned char PKTCTRL0 @0xdf04; // Packet automation control.
xdata unsigned char PKTCTRL1 @0xdf03; // Packet automation control.
xdata unsigned char CHANNR @0xdf06; // Channel number.
xdata unsigned char FSCTRL0 @0xdf08; // Frequency synthesizer control.
xdata unsigned char FSCTRL1 @0xdf07; // Frequency synthesizer control.
xdata unsigned char FREQ2 @0xdf09; // Frequency control word, high byte.
xdata unsigned char FREQ1 @0xdf0a; // Frequency control word, middle 
byte.
xdata unsigned char FREQ0 @0xdf0b; // Frequency control word, low byte.
xdata unsigned char MDMCFG4 @0xdf0c; // Modem configuration.
xdata unsigned char MDMCFG3 @0xdf0d; // Modem configuration.
xdata unsigned char MDMCFG2 @0xdf0e; // Modem configuration.
xdata unsigned char MDMCFG1 @0xdf0f; // Modem configuration.
xdata unsigned char MDMCFG0 @0xdf10; // Modem configuration.
xdata unsigned char MCSM0 @0xdf14; // Main Radio Control State Machine 
configuration.
xdata unsigned char FOCCFG @0xdf15; // Frequency Offset Compensation 
Configuration.
xdata unsigned char FSCAL3 @0xdf1c; // Frequency synthesizer 
calibration.
xdata unsigned char FSCAL2 @0xdf1d; // Frequency synthesizer 
calibration.
xdata unsigned char FSCAL1 @0xdf1e; // Frequency synthesizer 
calibration.
xdata unsigned char FSCAL0 @0xdf1f; // Frequency synthesizer 
calibration.
xdata unsigned char TEST2 @0xdf23; // Various test settings.
xdata unsigned char TEST1 @0xdf24; // Various test settings.
xdata unsigned char TEST0 @0xdf25; // Various test settings.
xdata unsigned char PA_TABLE0 @0xdf2e; // PA output power setting.
xdata unsigned char IOCFG0 @0xdf31;

xdata unsigned char DEVIATN @0xdf11; // Modem deviation setting (when 
FSK modulation is enabled)
xdata unsigned char FREND1 @0xdf1a; // Front end RX configuration
xdata unsigned char FREND0 @0xdf1b; // Front end RX configuration
xdata unsigned char AGCCTR2 @0xdf17; // AGC control.
xdata unsigned char AGCCTR1 @0xdf18; // AGC control.
xdata unsigned char AGCCTR0 @0xdf19; // AGC control.
xdata unsigned char BSCFG @0xdf16; // Bit synchronization Configuration.
xdata unsigned char ADDR @0xdf05; // Device address.
xdata unsigned char PKTLEN @0xdf02; // Packet length.

xdata unsigned char SYNC1 @0xdf00; // sync word high byte
xdata unsigned char SYNC0 @0xdf01; // sync word low byte

xdata unsigned char MARCSTATE @0xdf3b;
xdata unsigned char RFST @0xe1;
xdata unsigned char RFD @0xe9;
xdata unsigned char RFIF @0xd9;

#define PKTCTRL1 0x04
#define PKTCTRL0 0x05
#define CHANNR 0x05
#define FSCTRL1 0x0C
#define FREQ2 0x21
#define FREQ1 0x65
#define FREQ0 0x6A
#define MDMCFG4 0x2D
#define MDMCFG3 0x3B
#define MDMCFG2 0x03
#define MDMCFG1 0x22
#define MDMCFG0 0xf8
#define DEVIATN 0x62
#define MCSM0 0x18
#define FOCCFG 0x1D
#define BSCFG 0x1C
#define AGCCTRL2 0xC7
#define AGCCTRL1 0x00
#define AGCCTRL0 0xB0
#define FREND1 0xB6
#define FREND0 0x10
#define FSCAL3 0xEA
#define FSCAL2 0x2A
#define FSCAL1 0x00
#define FSCAL0 0x1F
#define TEST1 0x31
#define TEST0 0x09
#define PA_TABLE0 0x50
#define IOCFG0 0x06

#define ADDR 0x00
#define PKTLEN 0xff



void main (void){
CLKCON &= 0x80; //highspeed
while(CLKCON & 0x40); //clock überwachen

while(1){

if (taster==0) led=1;
else led =0;
if (taster2==0)
{

RFST = 0x00; //einschalten synth und kalib

SYNC1 = 0xAA;
SYNC0 = 0xAA;
RFD = 0x02;
RFST = 0x03; //TX mode mit Strobe kommando

// while (MARCSTATE != 0x13); //warten bis radio im tx mode


ledrot = 1;
_wait_ms(500);
}
else ledrot =0;
}

}

: Verschoben durch Moderator
von Thomas M. (superjack)


Lesenswert?

Morgen,,,

keiner da der Erfahrungen mit dem Chip und dessen Programmierung hat?

Gibts doch nicht....
Danke Thomas

von Miwi (Gast)


Lesenswert?

Thomas Mahler schrieb:
> Morgen,,,
>
> keiner da der Erfahrungen mit dem Chip und dessen Programmierung hat?
>
> Gibts doch nicht....
> Danke Thomas

An dem WE war die allgemeine Reaktionsfreudigkeit trotz überbordender 
Temperaturen wohl etwas gedämpft....

Selbst in den Österr. Kalkalpen auf 2000m war es zu heiß....

Grüße

MiWi

von michael_ng (Gast)


Lesenswert?

Thomas Mahler schrieb:
> Die entsprechenden Register gesetzt und versucht, erst einmal ein paar
> bytes zu senden.
>
Wo genau in dem Code?

> Ich benutze nicht den IAR und auch nicht SDCC und somit ist es etwas
> schwierig die Beispiele von TI zu benutzen bzw. zu vergleichen.
Ist aber immer noch C, oder? Man kann sie sich also ruhig mal anschauen.

> Senden möchte ich entweder das byte im RF Daten puffer RFD oder aus dem
> SYNC0 und SYNC1, deswegen sind beide gesetzt.
Was man möchte und was das IC kann, sind zwei verschiedene Dinge.
Bitte Datenblatt lesen und mit dem SoC-Konzept vertraut machen. Das ist 
ein 8051 MCU mit angebautem Transceiver. Mit drei Zeilen Code ist das 
nicht getan.
Alles in die Richtung 'Ich weiß nicht so richtig was ich hier mache, hab 
schon alles probiert, komme nicht weiter...' ist keine sehr einladende 
Problembeschreibung.

von ---- (Gast)


Lesenswert?

Würde mit http://www.ti.com/tool/simpliciti beginnen.

von Thomas M. (superjack)


Lesenswert?

Ja vielen Dank für die Antworten.

Wie ich Eingangs schrieb, suche ich Jemanden der sich mit dem Chip und 
dessen Programmierung auskennt und mir HELFEN kann.

Nette Ratschläge, wie "siehe Datenblatt" und "mit diesem und jenem 
vertraut machen" sind überflüssig.

Ich wäre dankbar für HInweise von Leuten die Ahnung haben und helfen 
wollen!
Danke schon mal dafür.

Cheers

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.