www.mikrocontroller.net

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


Autor: Thomas "s." (kyma)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas "s." (kyma)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.