Output Nadelimpuls bei JEDER Flanke

#3343297
Lesenswert?

Erstmal Hallo allerseits.
Habe da ein kleines Problem:
Ich möchte bei jeder Flankenänderung zweier Eingangssignale einen kurzen 
Nadelpuls erzeugen.
Hintergedanke ist den Nadelpuls zum triggern eines Input Capture 
Interrupts eines Atmel µC herzunehmen und dann "nachzusehen" welchen 
Level die Eingangssignale haben.
Gibt es da etwas fertiges?
Das ist die Lösung die ich bis jetzt erdacht habe:


IN ------||---|\ +    ____
              | \____|      |
              | /    |      |
       Vref---|/ -   |      |
                     |      |
                     |  >1  |------- µC
IN ------||---|\ -   |      |
              | \____|      |
              | /    |      |
       Vref---|/ +   --------



Vref=2.5V
0V <= In <= 5V
Nach den Kondensatoren kommt noch eine Diode zur Begrenzung der 
negativen (positiven) Überspannung und ein Pull-down (pull-up) 
widerstand.

Bin über jede Hilfe dankbar.
mfg. Robert
Gast #3343303
Lesenswert?

Hi,

was willst du denn genau machen? Ist dein Signal ein Logikpegel? Dann 
schau mal genauer im Datenblatt beim ext. Interrupt nach der Int0 kann 
z.B. auf beide Flanken reagieren.

Wenn du ein Analogsignal auf diese Weise bearbeiten möchtest, würde ich 
eher den ADC auf free running stellen und immer beim fertig stellen der 
Wandlung nachschauen, was auch immer du wissen möchtest.


Grüße,
#3343320
Lesenswert?

Das mit dem XOR hab ich mir auch schon überlegt.

Zur genaueren Erklärung:
Ich habe zwei von einander unabhängige Signale die ich in den Bereich 
0-5V bringen kann. Ich möchte jedoch möglichst genau mittels Input 
Capture den Zeitpunkt einer Flanke feststellen können und zwar relativ 
zu einem Timer der mittels Output Compare ein Signal ausgibt. Daher kann 
ich nicht zwei ICP Eingänge nehmen da der zweite Timer ja nicht 100% 
synchron ist. Ebenso ist ein Externer Interrupt zu ungenau (IMHO). Im 
nachhinein nachzusehen welche Flanke von welchem Signal das gerade war 
ist einfach und auch zeitlich kein Problem (Abstand von den Flanken 
>1ms).
#3343339
Lesenswert?

MaWin schrieb:
>> Das ist die Lösung die ich bis jetzt erdacht habe:
>
> Die funktioniert natürlich nicht.
> Es fehlen Gleichstrompfade beim Kondensator.
>
Nein:
Nach den Kondensatoren kommt noch eine Diode zur Begrenzung der
negativen (positiven) Überspannung und ein Pull-down (pull-up)
widerstand.

>> Zur genaueren Erklärung:
>
> Geht sicher auch rein in Software.
Wüsste nicht wie. Man kann zwar in der ISR die Flanke auf die der ICP 
Interrupt triggert ändern, das funktioniert jedoch nur für ein signal! 
Habe jedoch zwei die alle möglichen Zustände annehmen können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren