Forum: Mikrocontroller und Digitale Elektronik nRF905 Programmieren


von Micha (Gast)


Lesenswert?

hi,

versuch mich seit längerem an dem Funkchip nRF905. Aber so richtig will
der nicht anlaufen. Hat jemand von euch Erfahrung damit und kann mir
vielleicht kleine Tipps zum Start geben?
Porgrammierung RF-Config Register, TX-Adress, TX-Payload und
RX-Payload.


micha

von Remo (Gast)


Lesenswert?

Hi micha

Ja ich habe den auch schon programmiert. Bin leider noch nicht fertig
geworden. Was für ein Prozessor verwendest Du und wo siehst Du das
Problem?

Kann Dir sonst noch Sourcen schicken, muss sie aber zuerst noch
aufbereiten.

von Micha (Gast)


Lesenswert?

Hi Remo,

als Prozessor verwende ich den MSP430F149.
Das Problem liegt darin, das ich noch nie etwas mit der SPI gemacht
habe, und ich auch keine Möglichkeit habe (OSZI, usw) zu messen ob der
nRF905 wirklich was sendet. Ich muss also eine Verbindung aufbauen und
mit einem zweiten Teil das Signal wieder auffangen. Und das ist doch
wohl .....  unmöglich!
Vielleicht stell ich mich auch wieder mal nur zu ..... an.


gruß

von Remo (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe Dir mal ein bisschen source code geschickt. Es ist von einem
kleinen Projektlein dass ich mal angefangen habe. Leider bin ich noch
nicht weiter gekommen ( die liebe Zeit ). Auf jeden fall siehst du in
den Files

physical.c und physical.h
hwinit.c und hwinit.h

wie die SPI funktioniert. Und Du siehst auch das Prinzip mit der
Kommunikation zwischen msp430 und Nrf905.
Send funktioniert. Empfangen habe ich noch nicht codiert.
Ich weiss,es sind ziemlich viele codezeilen. aber wenn Du das
Datenblatt des NRF zur hilfe nimmst, so siehst du, wie es funktionieren
sollte. Die konfigurationsregister habe ich im MSP430 zwischengepuffert.
Dies ist zwar nicht nötig, weil mann ja alle aus dem nrf zurücklesen
kann, aber mir war (damals) wichtig, dass nicht all zu viele SPI
zugriffe vorgenommen werden müssen.

Gruss Remo

von Micha (Gast)


Lesenswert?

danke Remo,

hab mir das mal angeschaut. ist wirklich ziemlich viel Code.
Habs auch hinbekommen mit meinen zwei Teilen etwas zu senden und zu
empfangen.
Leider bin ich mit der Auswertung nur bis zum CD Bit gekommen, aber das
ist immerhin ein Fortschritt. Den rest werd ich wohl auch hinbekommen.

Ach ja, die Reichweite von dem Teil topp. ca 30m durch Wände, das ist
vollkommen ok.

gruß micha

von liu yong xiang (Gast)


Lesenswert?

I dont understant what your say in germany,because I am a chinese.
can you give me the project of nff905 and msp430's schemtic?
and I find the source codes are not complete.

von Michalina (Gast)


Lesenswert?

hi habe probleme beim Programmieren (RF-Config Register, TX-Adress,
TX-Payload und RX-Payload)
des nRF905. Habe einen ATmega128 als MCU.
Kann mir vielleicht jemand dafür tipps geben???

MfG Michalina

von Micha (Gast)


Lesenswert?

Hi,
ich nehme mal an das die SPI Schnittstelle funktioniert?
Also meine Erfahrung mit dem nRF905 ist, das er sehr zeitkritisch ist,
was ich meine, man ist meistens zu schnell und muss sich wirklich
100%ig an die Timings richten.
Ich weiß nicht genau wo ich anfangen soll, schreib doch mal was
funktioniert.

Ansonsten, Befehle sind ungefähr "new instruction (setzen/löschen Pin
?   muss ich nachschauen!)" - Write Payload - Daten rüberschieben -
dann diesen gewissen Pin wieder einmal setzen und löschen. Das sollte
es gewesen sein.

Ähm, sorry das es nicht genauer geht, hab grad das Datenblatt nicht
da.

micha

von Michalina (Gast)


Lesenswert?

Sorry bin noch ganz neu auf dem Gebiet!was meinst mit spi funktioniert?
habe leider noch keine fertige Platine(wird gerade geäzt)ist leider
sonst alles nur in der Theorie da. Muß also bei NULL anfangen und
wollte nun erst mal die beiden Bausteine miteinander verknüpfen. Was
meinst den mit Timer???

MfG Michalina

von Micha (Gast)


Lesenswert?

hi,

hui na da viel SPass!  gr    Ne, mal ernst. Als erstes musst du den
AVR mit dem nRF über die SPI Schnittstelle verbinden. Das ist denke ich
das kniffeligste. Aber die Schnittstelle kannst du testen indem du an
den nRF Daten sendest, die danach wieder beim wiederholten Senden bei
dir am AVR ankommen sollten. Das ist in deinem Fall der erste Schritt,
wenn das geht!  jippi
Alles weiter ist dann wirklich halb so wild! Hier sind noch keine
Timings zu beachten.

Wie willst du den nRF betreiben? LoopAntenne oder externe? Frequenz? Du
solltest dich bei der Bestückung zu 100% an das Beispiellayout im
Datenblatt halten, um Fehler auszuschließen.

Wenn er den dann mal funktioniert, ist es ein prima teil. Macht
übrigens Spass.

michael

von Michalina (Gast)


Lesenswert?

hab eine externe Antenne mit 868 MHz und hab auch genau das Beispiel-
Layout verwendet.
Bin jetzt soweit, dass i8ch die konfig eingelesen habe und versuche
mich nun ans einlesen von payload und addr...
mal schauen ob das gut geht!!!

MFG Michalina

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

hat etwas länger gedauert, sorry. Versuch es mal mit der Datei. Dies
sollte funktionieren. Bei mir gehts zumindest. Dies ist meine
InitRoutine! Ich hoffe ich habe es einigermaßen verständlich mit
Kommentaren gefüllt.
Wenn du noch Fragen hast kannste auch direkt schreiben auf meine mail
addy.

Viel Glück
Michael

von Michalina (Gast)


Lesenswert?

HI Micha

hattest mir ja so net mit der init vom nRF905 geholfen, vielleicht hast
du bei diesem Problem auch einen Tipp für mich!

Meine Übertragung läuft sowiet gut. Ich hab nur das Problem das er bei
Tastendruck (über Hyper Terminal) immer den zuletzt eingegebenen
Buchstaben ausgibt. Kleines Beispiel:

Eingabe     Ausgabe

  d               nix bestimmtes weil kein buchstabe im Puffer ist

  a                 d

  w                a

  w                w

  x                w   ......und so weiter

weißt du vielleicht woran das liegen kann (Timingproblem???)? Suche
schon seit Tagen den fehler vielleicht kannst mir ja helfen.

Liebe Grüße Michalina

von Sven (Gast)


Lesenswert?

Hallo

Habe mir auch ein Modul gebaut und bekomme auch schon ein CD Signal und 
das DR Signal


Meine Frage


Muß die RX Adresse = die TX Adresse des Ziels sein


Modul1 =CCCCCCCC
Modul2 =CCCCCCCC

oder????

Ich bekomme keinen Payload vom anderen Modul.

Das Mudul empfängt alle 1 secunde (so habe ich den TX eingestellt an 
Modul1) ein CD und auch ein DR aber kein AM Adress Match.

Es scheint als ob die TX Adresse = RX Adresse sein muß????


Ist es überhaupt möglich ohne Adressen was zu empfangen so eine Art 
sniffer lässt sich nicht realisieren oder???


Danke

von Aschi (Gast)


Lesenswert?

Hallo @ all!

> Ach ja, die Reichweite von dem Teil topp. ca 30m durch Wände, das ist
> vollkommen ok.

Wie ist das genau mit de reichweite, genügt die, um eine Wohnung 
abzudeken?

danke für alle Infos!

gruss
aschi

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.