Forum: Mikrocontroller und Digitale Elektronik RFM12B: Startprobleme > evt. Layout Schuld?


von Andreas Häusler (Gast)


Lesenswert?

Hallo Leute

Bin wieder mal auf Eure Hilfe angewiesen!

Habe mir eine Schaltung mit einem RFM12B aufgebaut, welche auch 
einwandfrei lief. (DIP- Modul)

Das SMD- Modul auf die endgültige Printplatte bei selber Verdrahtung und 
Software läuft aber nur sehr unzuverlässig.
Ich bringe das Ding nur zum Laufen, wenn ich die Speisung schnell aus 
und wieder einschalte.
Ich habe dabei festgestellt, dass der Reset (10k Pull-up auf 3,3V) immer 
low bleibt und der Quarz auf dem Modul nicht anschwingt.
Ich habe dannach alles versucht, was ich hier jrgendwie gefunden habe, 
ohne Erfolg. (nRES mit/ohne Pull- up, Kondensatoren auf Speisung 
47uF/100nF/10nF, 10k auf FSK Pin)
Die Speisung brauche übrigens ca. 2ms von 0 auf 3,3V.
An der Software kann es meiner Meinung nicht liegen, da das Modul ja 
noch gar nicht aus dem Reset kommt.

Zuletzt habe ich an die SMD Pads ca. 3cm lange Drähte gelötet und das 
Modul so vom Print distanziert. Und siehe da... das Teil läuft ohne 
Probleme.
Kann es demzufolge sein, dass meine Massefläche unter dem Modul zu 
Problemen führt. Ich habe jede Menge Vias unter das Modul gepappt in der 
Meinung, was gutes zu tun. (Die Vias sind selbstverständlich mit Lötstop 
abgedeckt)

Wäre toll, wenn mit jemand sagen könnte, ob er schon ähnliche 
Beobachtungen gemacht hat.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Unter dem Modul sollten keine anderen Leiterzüge oder Massen geroutet 
werden. Am besten irgendwo separat am Hauptplatinenrand platzieren. Ist 
auch besser für die Abstrahlung und empfangsseitige Empfindlichkeit. 
Blockkondensatoren müssen auf jeden Fall dran, in nächster Nähe zum 
Modul 100nF und dann noch 10µF Tantal.

von Andreas H. (andy61)


Lesenswert?

Danke Travel Rec. für Deine Antwort!

Wenn ich Dich richtig verstanden habe, sollte sich unter dem Modul auch 
keine Massefläche befinden.
Auf dem Pollin Funkboard habe ich allerdings gesehen, dass eine 
durchgehende Massefläche vorhanden ist und damit habe ich eigentlich nie 
Probleme gehabt.

Auf meinem Modul befindet sich ein kleiner SMD Quarz. Könnte es sein, 
dass er weniger gut anschwingt als der grössere alte Quarz?

Die Distanz der Entkoppel- Kondensatoren zum Modul beträgt ca. 3-4cm 
konnte es konstruktiv leider nicht besser lösen.

Spielen evt. die Signalpegel der SPI- Schnittstelle eine Rolle beim 
Power- up des Moduls?

Hat jemand schon Erfahrung gemacht mit dem SW- Reset Kommando bzw. dem 
Normal/Sensitive Reset Flag (dr) im FIFO and Reset Mode Command?

Kann mir jemand sagen, aus welchem Grund der Quarz nach dem Netz- ein 
nicht anschwingt und der Reset dauernd Low bleibt?


Bin für jeden Tip sehr dankbar!

von Daniel (Gast)


Lesenswert?

Was genau läuft denn unter dem Modul?
Hast du Lötstop auf der Platine?
Vlt. Hast du ja irgendwelche DuKo auf dem RFM gebrückt.

von Andreas H. (andy61)


Angehängte Dateien:

Lesenswert?

Unter dem Modul habe ich nur eine beidseitige Massefläche (Top und 
Bottom), keine Signalleitungen.
Die beiden Masseflächen sind mit ca. 30 Vias verbunden. Unter dem Modul 
sind die Vias natürlich mit Lötstop abgedeckt.

Details siehe Anhang...

Im RF Transceiver (Si4421) ist ja ein uController integriert. Dieser 
läuft ja bestimme mit dem Quarz, der auf dem RFM Modul verbaut ist.
Kann es sein, dass beim Modul die Lastkapazität des Quarzes per default 
nicht optimal eingestellt ist und er desshalb Mühe hat mit anschwingen.
Vielleicht verhalten sich ja die beiden verwendeten Bauformen der Quarze 
nicht identisch.

Ich gehe mal davon aus, dass der Wert der Lastkapazität bei der 
Bestückung berüchsichtigt werden musste, oder aber in der Firmware des 
Controllers, das diese ja per Software im Bereich von 8,5-16pF 
einstallbar ist.
Die Frage ist halt, wie kann die Lastkapazität SW- mässig verändert 
werden, wenn der Chip gar nicht aufstartet und dauernd im Reset bleibt?

Ich habe bei anderen Schaltungen ja auch schon erlebt, dass das schon 
ein anfassen des Quarzes genügt, um ihn zum "schweigen" zu bringen.

von Andreas H. (andy61)


Angehängte Dateien:

Lesenswert?

Hier noch mal ein deutlicheres Schema. Sorry...

von Andreas H. (andy61)


Lesenswert?

Hat denn noch niemand dieses Power- up Problem gehabt?

von Holger S. (holli_1)


Lesenswert?

nRES - braucht normalerweise keine Beschaltung, der pull-up ist schon 
intern vorhanden
C13 an DCLK - wird nur für die Betriebsart mit Analog Filter benötigt, 
dann funktioniert aber weder FIFO noch clock recovery, ist das 
beabsichtigt?

Die RFM reagieren unter Umständen empfindlich auf Einbrüche in der 
Versorgungsspannung mit einem Reset. Ich habe schon etliche RFM's auf 
Testboards betrieben, bis jetzt ist noch nie einer hängen geblieben.

von Andreas H. (andy61)


Lesenswert?

Hi Holger

Ja, die Beschaltung ist beabsichtigt.
Ich verwende die Module im OOK- Betrieb (ASK) und auf dem Microchip 
Prototyp- Board mit freiverdrahtetem DIL Modul funktioniert das Ganze 
auch ohne Probleme.
Nur auf meinem Print haben die Dinger Probleme beim Aufstarten...

von Holger S. (holli_1)


Lesenswert?

Was hast du denn an Messtechnik?

von Andreas H. (andy61)


Lesenswert?

DMM, Speicher Oszi, Logic Analyzer... Leider kein Spectrum Analyzer :-(

von Andreas H. (andy61)


Lesenswert?

Ich sehe einfach, dass beim Einschalten der Speisung der Quarz auf dem 
Modul nicht schwingt und der Reset dauernd auf Low bleibt.
Der SCK Ausgang demzufolge natürlich die 1MHz auch nicht ausgiebt...

von Micha (Gast)


Lesenswert?

Zeig mal die andere Seite des Layouts.

von Micha (Gast)


Lesenswert?

Und die bereits gepostete ohne die Pfeile.

von Andreas H. (andy61)


Angehängte Dateien:

Lesenswert?

Hier die beiden Boardseiten. Beide Masseflächen sind mit GND verbunden.

von Holger S. (holli_1)


Lesenswert?

Misst du am Quarz direkt oder am CLK Pin?
Kannst du mit dem LA testen, ob auf dem SPI Bus eine Übertragung statt 
findet? SPI sollte auch ohne den Oszillator funktionieren, da der 
eigentlich primär nur die HF-Seite versorgt und auch abgeschaltet werden 
kann.

von Andreas H. (andy61)


Lesenswert?

Ich habe am Quarz und am CLK Pin gemessen. Beide tot...
Ich habe das Flash im uC versuchsweise gelöscht. Dannach sollte meiner 
Meinung nach alle Portpins als Eingänge geschaltet sein. Nichts...
Dannach die selbe SW wieder geladen, welche einwandfrei auf dem 
Prototyp- Bord läuft. Hat alles nichts gebracht.

von Andreas H. (andy61)


Lesenswert?

Versuchte auch ein paar Sekunden nach dem Einschalten ein SW- Reset 
Kommando zu schicken um das Modul zurückzuholen, falls die Speisung zu 
langsam ansteigt oder zu Beginn nicht stabil ist. Alles ohne Erflog.
Komisch ist einfach, dass alles sauber läuft, sobald ich das Modul vom 
Print distanziere und er nicht vollflächig auflöte.

von Holger S. (holli_1)


Lesenswert?

Schreibe doch mal ein Programm, welches einfach nur die Statusbits 
abfragt. Bei der 1. Abfrage sollte nur das POR Bit gesetzt sein, bei 
einer nochmaligen Abfrage aber nicht mehr.

von Holger S. (holli_1)


Lesenswert?

Andreas Häusler schrieb:
> Komisch ist einfach, dass alles sauber läuft, sobald ich das Modul vom
> Print distanziere und er nicht vollflächig auflöte.

Ich habe bis zu 40 cm Kabel an den Testboards für Erweiterungen und 
Logikanalysator. Die RFM's funktionieren trotzdem.

von Micha (Gast)


Lesenswert?

Ich weiß nicht ob es nur daran liegt, aber du hast eine wahnsinnig 
schlechte Masseanbindung. Verfolge mal GND auf dem Weg zum RFM: viele 
sehr dünne oder sehr lange "Leiterbahnen", absolut nicht niederimpedant.

Versuch mal direkt am RFM noch einen (oder mehrere) 
Blockkondensator(en) zu platzieren.

von Andreas H. (andy61)


Lesenswert?

Neuer Versuch... Klebestreifen unter das Modul geklebt und wieder direkt 
aufgelötet und siehe da.... es läuft!

Trotz Lötstoplack scheint die Masseflächt meinen Modulen nicht gut zu 
tun. Der Schwingkreis der RFM muss scheinbar extrem hochomig sein. Evt. 
sind da zwischen ground plane und Funkmodul Kapazitäten im Spiel, die 
sich in meinem Fall negativ auswirken.

@Holger: Kann nun leider nicht mehr kontrollieren, ob der Status bei den 
fehlerhaften Modulen OK war. (Module laufen ja jetzt) Bin aber der 
Meinung, dass der Status immer ganz unterschiedliche Werte zurück gab, 
solange die Module im Reset waren.
Bei funktionierenden Modulen habe ich immer die korrekten Werte 0x4000 
und dannach 0x0000.

von Holger S. (holli_1)


Lesenswert?

Na da schau her. Geht doch.
Am Anfang hatte ich auch die RFM's direkt auf der Platine, diese ist 
auch doppelseitig. Da ich aber auch die RFM 01 und 02 benutze, habe ich 
die SMD's später "gesockelt". Damit lassen die sich ganz schnell 
tauschen.

von Andreas H. (andy61)


Lesenswert?

Vielleicht kann mir noch jemand erklären, wesshalb es beim Pollin Board 
mit der selben Massefläche funktioniert und bei mir nicht!
(Das dort verwendete Modul hatte übrigens einen andern Quarz im HC49 
Gehäuse!)

Wäre froh um ein wenig mehr Klarheit.

@Micha: Du hast recht, hab ich erst jetzt gesehen. Habe oben im weissen 
Bereich noch Netzspannung(!), deshalb die Abstände zur Massefläche.
Werde ich in der Serie noch besser machen, danke.
Weiss jetzt aber immer noch nicht sicher, ob ich den ground plane in 
Zukunft weglassen soll oder nicht...

Wirkt sich die fehlende Massefläche unter dem Modul unter Umständen auf 
die Reichweite der Module aus?

(Bei den Tests habe ich übrigens direkt 5V eingespiesen, um die 
Fehlerquelle mit Netz auezuschliessen.)

@ Holder: Hattest Du bei Deiner doppelseitigen Platine auch GND direkt 
unter den Modulen?

von Micha (Gast)


Lesenswert?

Andreas Häusler schrieb:
> Werde ich in der Serie noch besser machen, danke.
Du solltest ebefalls versuchen so viele Leiterbahnen wie möglich auf 
eine Fläche und auf Masse möglichst durchgehend auf die andere Fläche zu 
bekommen. Und solche Inseln wie etwa in Bildmitte oberhalb der Bohrung 
(bottom) machen auch wenig Sinn - also weglassen und DKs löschen.

von Holger S. (holli_1)


Lesenswert?

Ich habe auch die Pollin-Boards, die haben ja eine durchgehende 
Massefläche.
Ich schätze das Problem sind die Dukos auf deiner Platine. Da ist doch 
mit Sicherheit kein Lötstopplack drum herum. Die RFM haben auch 2 
vergoldete Dukos, welche für einen HC49 Quarz vorgesehen sind. Einer 
davon geht an Masse, der andere an den Chip. Da gab es mit Sicherheit 
einen Kurzschluss.

von Andreas H. (andy61)


Lesenswert?

Die 2 vergoldeten Dukos hab ich schon gesehen.
Hab die Vias jetzt noch mal ganau angeschaut.
Der Restring unten ist zwar mit Lötstop abgedeckt, aber die 
Durchkontaktierung im Loch selbst kann ich mit der Messspitze problemlos 
erreichen. Evt. reicht das ja umd das Problem zu verursachen.

Werde in der Serie wahrscheindlich zu den SMD Pads auch noch 
Stiftleisten im 2mm Raster vorsehen um im Notfall die Module vom Bord 
distanzieren zu können.

Habe übrigens diesbezüglich auch dem Support von HopeRF geschrieben, 
werde Euch auf dem Laufenden halten.

Herzlichen Dank für Eure Hilfe...

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.