Forum: Mikrocontroller und Digitale Elektronik Atmega8L und Atmel ATZB-24-A2


von Luc K. (studioluc)


Lesenswert?

Hallo!
Ich versuche mich gerade an Atmels's ATZB-24-A2 zigbee... Eigentlich 
funktioniert alles wunderbar, die modulen sind echt klasse.

Fuer meine applikation habe ich mich entschlossen in mein design ein 
Atmega8L als steuerung zu verwenden, und die firmware serialnet. Das hat 
auch soweit alles geklappt, aber jetzt moechte ich die geraetschaften 
synchron bekommen. Der Atmega ist nach reset sofort verfuegbar, das 
zigbee modul braucht seine weile bis es "ready" ist. Jetzt habe ich mir 
gedacht, nutze vom Zigbee modul das DTR um den uC zu ermitteln das das 
modul fertig ist. ALso DTR an ein eingangspin und ab dafuer.

Jetzt kommt mein problem. Wenn ich mein oscilloscoop an den DTR vom 
modul haenge (der an pin PD3 vom atmega haengt), laeuft alles wunderbar. 
Die software aufm atmega wartet brauf bis DTR hoch geht. Dauert irgendwo 
zwischen 3 und 5 secunden. Alles paletti. Wenn ich mein osci von den pin 
entferne, verhaelt sich die software vom atmega anders. Nach ungef. 250 
millisecs ermittelt er bereits ein high an DTR und sagt ich bin soweit. 
Kan es sein das durch unterschiedliche belastung das DTR signal an der 
zigbee seite sich von alleine nach oben schwingt? Ich meine, dummes 
problem, weil wenn ich es versuche zu messen, funktioniert ja alles 
wunderbar :-))) Hilfe benoetigt hier grins...

Achso, der pullup wiederstand von PD3 ist aus, und ja, der port ist als 
eingang konfiguriert seitens den Atmega...

von Mike J. (emjey)


Lesenswert?

Füge einen Widerstand zwischen Masse und DTR hinzu, das sollte dein 
Signal unten halten.

von Peter R. (gelb)


Lesenswert?

Mike J. schrieb:
> Füge einen Widerstand zwischen Masse und DTR hinzu, das sollte dein
> Signal unten halten.

... weil die Signale nach dem Einschalten hochohmig sind (tri-state).

Grüße, Peter

von Luc K. (studioluc)


Lesenswert?

mmm... das war mein erster versuch bevor ich gepostet habe. das hatte 
ich auch vermutet.... sorry das ich das nicht erwaehnt habe. Aber: wenn 
ich das mache bleibt DTR leider 0... sprich, er zieht nie hoch...

von ??? (Gast)


Lesenswert?

Und wofür brauchst du jetzt den Atmega8L??
Du kannst doch den ATMega1281 des Moduls für die Steuerung verwenden!
Dann gehts natürlich nicht mehr mit serialnet Firmware...

von Luc K. (studioluc)


Lesenswert?

ich moechte die serialnet firmware nutzen. ich habe mir das ueberlegt 
mit der 1281 weil das schon eine tolle sache ist mit dem integrierten 
kontroler. aber ich mache erst mal gehversuche mit dem modul, bevor ich 
an ein marathon anfange :-) das mit dem DTR hat sich auch lustig 
weiterentwickelt. Mit scoop nochmals ueberprueft: pin bleibt nach 
anschliessen von wiederstand zu masse 5 secunden unten. Laut software 
atmega aber kommt sie nicht hoch. wenn ich es nachmesse stimmt es aber.

mein code in C:

DDRD = 0x00;
PORTD = 0x00;

Ich nutze sonst keine pins auf D, daher einfach alles 0.
dan pruefe ich PD3 in eine loop:

while( 1 )
  {
    length = sprintf( txt, "%x", PIND );
    send_text( txt, length );

    _delay_ms( 250 );
  }

send_text schickt text an mein pc ueber UART / FT232 USB als virtueller 
PORT. Die werte die ich reinbekomme:

nach reset   : 0x01
nach 100msecs: 0x03

die werte bleiben jetzt gleich mit oder ohne scoop nach anloeten von 
R=10K um das tristate problem zu loesen. Aber PIND bekommt nummer 3 
(PD3) nie als hoch...

von Peter R. (gelb)


Lesenswert?

Laut Datenblatt ist DTR ein Eingang des Moduls...

Dort ein Signal zu erwarten ist sehr gewagt. Dort gibt es ja nur den 
"Unterschied" zwischen tri-state und echtem Eingang.

Grüße, Peter

von Luc K. (studioluc)


Lesenswert?

wer lesen kan ist klar im vorteil. oh boy.das erklaert ne menge :-)
ich habe inzwischen eine andere loesung fuer mein problem. Das zigbee 
modul quittiert ueber sein uart mit "OK" wenn es soweit ist. Da ich 
inzwischen meine RX interrupts auf mein Atmega8 fertif habe, warte ich 
softwaremaessig auf ein "OK" und dan kanns los gehen :-)

Trotzdem vielen dank fuer alle eure tips und hilfe. Wenn man zulange an 
ein problem werkelt sieht man durch den walt die baeume manchmal nicht 
mehr!

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.