Forum: Mikrocontroller und Digitale Elektronik DDS Signal stoppt nicht bei ICP ohne Eingang


von Thomas ". (kyma)


Angehängte Dateien:

Lesenswert?

Hallo,

mit einem Atmega 162 generiere ich ein DDS Signal in Abhängigkeit von 
einem externen Signal, das über ICP gemessen wird.

Nun sollte bei Ausbleiben des externen Signales die Generierung des DDS 
Signales unterbrochen werden und eine ERROR LED angehen.(von PA0)

Im STK 500 funktioniert das alles bestens. Wenn das DDS aus ist ist im 
Oszi auch eine 0 Linie.

Auf dem Steckbrett aufgebaut bekomme ich allerdings zwar die ERROR LED 
an, aber irgendein komisches Signal mit der Frequenz des vorherigen 
Signales läuft weiter. (SteckbrettDDS_02.png, DDS_02.png.)

Nach einem RESET ohne externes Signal bekomme ich dann auch eine 
Null-Linie.

Ich habe die Schaltung, die Oszibilder und den Code angehängt, da ich 
alles mir Mögliche ausprobiert habe, den Fehler aber nicht gefunden 
habe.

Vielleicht kennt jemand das Phänomen oder hat eine Idee , woran es 
liegen könnte.

Vielen Dank

Thomas

von Ulrich (Gast)


Lesenswert?

Das Problem liegt wie zu erwarten in der Software.

Wenn man per Datenrichtungsregister den Ausgang zum R2R auf Eingang 
umschaltet, werden dann immer noch die internen Pullups geschaltet. Es 
kommt also noch ein Schwaches Signal an.

von Thomas ". (kyma)


Lesenswert?

@ Ulrich

danke für die Antwort.  Aber weswegen passiert das nicht innerhalb des 
STK 500? Bestünde dann die Lösung darin statt des 
Datenrichtungsregisters alle PORTB Pins auf 0 zu setzen?


Gruß

Thomas

von Ulrich (Gast)


Lesenswert?

Der Fehler sollte auch beim STK500 auftreten, es sei denn die Hardware 
ist da etwas anders aufgebaut (z.B. R5 nach VCC statt nach GND).

Es hilft nichts die Portpins einmal auf 0 zu setzen - so wie ich es 
gesehen habe läuft die DDS Routine ja weiter.  Da müßte man schon 
zusätzlich die Frequenz auf 0 setzen und die Phase auch.
Einfacher wäre ein extra Flag, das in der DDS routine abgefragt wird.

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.