Forum: Mikrocontroller und Digitale Elektronik NRF24L01+ und NRF24L01+ PA LNA auto ack


von Robin K. (robink)


Lesenswert?

Guten Abend,

für mein kleines Wireless Mesh Network verwende ich die NRF24L01+ 
Module. Dafür habe ich zehn Stück aus China bestellt gehabt. Diese 
funktionieren wunderbar. Da ich nun aber eine größere Strecke innerhalb 
des Mesh Networks überbrücken wollte, habe ich zwei NRF24L01+ PA LA 
Module bestellt und wollte diese ebenfalls mit einbinden. Mein Gedanke 
war, dass sich diese Module exakt so wie die NRF24L01+ ohne PA/LNA 
verhalten und einfach ersetzt werden können.

Nun komme ich zu meinem Problem. Vielleicht wisst ihr ja weiter und 
könnt mir helfen:
Die Kommunikation zwischen zwei Modulen der gleichen Art (entweder zwei 
Module ohne PA/LNA oder zwei mit PA/LNA) funktioniert wunderbar. Jedoch 
bei der Kommunikation zwischen zwei Modulen unterschiedlicher Art wird 
das auto ACK nicht gesendet. :-(

Um einen Software oder anderen Hardwarefehler auszuschließen habe ich 
bei gleichbleibenden Restaufbau nur die Module vertauscht. So z.B.:

Controller A ohne PA/LNA und Controller B ohne PA/LNA: AACK funktioniert
Controller A mit PA/LNA und Controller B mit PA/LNA: AACK funktioniert
Controller A/B mit PA/LNA und Controller A/B ohne PA/LNA: AACK 
funktioniert nicht (TX_DS bleibt 0)
Die Daten, die sich im Payload befinden, kommen jedoch an.

Welche weiteren Informationen werden benötigt? Die Module sind auf 
250kbps konfiguriert, sodass es sich beides mal um das Plus-Modul 
handeln sollte.

Vielleicht suche ich auch an einer ganz falschen Stelle? Leider fällt 
mir keine Lösungsidee mehr ein. Hoffentlich euch!

Viele Grüße
Robin

von Max H. (hartl192)


Lesenswert?

Bei mir hat das nRF24L01+ ohne PA+LNA problemlos mit dem mit PA+LAN 
komuniziert.

von Timmo H. (masterfx)


Lesenswert?

Auf was hast du ARD stehen? Muss bei 250 kbps > 500µs sein.
Ggf. kann durch den zusätzlichen PA/LNA eine weitere Verzögerung dazu 
kommen (da diese ja auch umgeschaltet werden RX/TX)

von Max H. (hartl192)


Lesenswert?

Timmo H. schrieb:
> Auf was hast du ARD stehen?
Wenn du damit "Auto Retransmit Delay" meinst: Nichts bzw. den Reset 
Wert.

von Timmo H. (masterfx)


Lesenswert?

Dann lies mal die Fußnoten dazu:
1
a. Please take care when setting this parameter. If the ACK payload is more
2
than 15 byte in 2Mbps mode the ARD must be 500μS or more, if the ACK payload 
3
is more than 5byte in 1Mbps mode the ARD must be 500μS or more. In 250kbps 
4
mode (even when the payload is not in ACK) the ARD must be 500μS or more.
5
6
Please see section 7.4.2 on page 33 for more information.
7
8
b. This is the time the PTX is waiting for an ACK packet before a retransmit 
9
is made. The PTX is in RX mode for 250μS (500μS in 250kbps mode) to wait for 
10
address match. If the address match is detected, it stays in RX mode to the 
11
end of the packet, unless ARD elapses. Then it goes to standby-II mode for 
12
the rest of the specified ARD. After the ARD it goes to TX mode and then 
13
retransmits the packet.

von Max H. (hartl192)


Lesenswert?

Ich habe mit ACK aber ohne ACK-Payload gearbeiter.

@Timmo H.: Sry für die Verwirrung, ich habe gedacht dass dein erster 
Post auch vom TO ist, weil ich den Namen anscheinden nicht gelesen habe.

von Robin K. (robink)


Lesenswert?

Guten Morgen,

erst einmal Danke für die Antworten.
ARD habe ich auf 0x8F stehen, also ein delay von 2000µs, was laut 
Datenblatt ausreicht. Um zu prüfen, ob ein größerer Wert notwendig ist, 
habe ich soeben das ARD Register bei beiden Controllern auf 0xFF 
gesetzt. Jedoch wird immer noch kein auto ACK gesendet, sodass ich es 
wieder rückgängig gemacht habe.
Meine Konfiguration nach der Initialisierung sieht nun wie folgt aus.
00:0f
01:3f
02:03
03:03
04:8f
05:15
06:26
07:0e
08:0f
09:00
0x1A: 01 42 42 42 42
0x1B: ff 42 42 42 42
0c:c3
0d:c4
0e:c5
0f:c6
0x10: 01 42 42 42 42
11:20
12:20
13:00
14:00
15:00
16:00
17:11
1c:03
1d:07

Ist in dieser ein Fehler drin?

Viele Grüße
Robin

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.