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


von Joel S. (hansjoerg)


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/doc4316.pdf

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...

von Peter D. (peda)


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

von Glitch (Gast)


Lesenswert?

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

Oder Impulsverländerung: Monoflop.

von Joel S. (hansjoerg)


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

von Frank (Gast)


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?

von Joel S. (hansjoerg)


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

von Frank (Gast)


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), ...

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.