mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel 8051 externer Interrupt, Flankengesteuert


Autor: Joel Schmidt (hansjoerg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kann das jemand kurz helfen.

Ich habe eine externes Signal was einen definierten Low-Puls von ca. 
100ns macht. Diesen Event möchte ich gerne mit einem 8051-Derivat von 
Atmel mittels dem INT0 oder INT1 einfangen. Wenn ich nach dem 
Hardwaremanual von Atmel auf 2-114 gehe steht, daß die Flanke nur nach 
jeweils 2 Cyclen erkannt wird. Ich denke hier sind Maschinencylen (6 x 2 
tosc, bei x1) gemeint.

http://www.atmel.com/dyn/resources/prod_documents/...

Bsp. bei 12MHz (x1) müsste das Signal mindestens 1µs high und 1µs low 
anstehen. 'transition activated'
Da ich den AT89S8253 mit x2-Clock nutze, braucht der der Puls nur halb 
solang sein.  Hat jemand ähnliche Erfahrung mit dem Teil an der Stelle?
Vermutlich werd ich das Signal so nicht dranbekommen. :-(.

danke für Hinweise im voraus...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joel Schmidt schrieb:
> daß die Flanke nur nach
> jeweils 2 Cyclen erkannt wird.

Das stimmt.
Du brauchst also einen schnelleren 8051, z.B. AT89LP4052.


Peter

Autor: Glitch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Du brauchst also einen schnelleren 8051, z.B. AT89LP4052.

Oder Impulsverländerung: Monoflop.

Autor: Joel Schmidt (hansjoerg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort,
habe ich auch schon überlegt eine Monoflopschaltung zu verwenden um den 
Puls zu verlängern, der liegt unter 100ns aber kommt rechnerisch alle 
5µsec. Damit kann ich mit dem bestehenden Prozessor das machen.

gruss

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aber kommt rechnerisch alle 5µsec.

Ist ein bißchen viel, wenn der µC noch etwas anderes erledigen soll.
Was soll es werden? Gibt es ein Konzept?

Autor: Joel Schmidt (hansjoerg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt,
aber es geht nur darum ob das Teil die Flanke noch mitbekommen kann. 
Dabei ist der Wert 5µs als Minimalwert zu sehen.
Die Verarbeitung ist natürlich was anderes.

gruss

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine einfache Impulsverlängerung erreichst Du, indem dem /INT-Eingang 
ein kleiner Kondensator (Richtwert 47-100pF) parallel geschaltet wird. 
Der low-Impuls entlädt diesen über eine Diode (1N4148) und der interne 
pullup-Widerstand läd ihn langsam (1-5µs) wieder auf.
Ein PNP-Transistor an Stelle der Diode verringert die Belastung des 
Eingangssignals; oder auch ein invertierender FET (BS170), ...

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.