Forum: Mikrocontroller und Digitale Elektronik max Schaltfrequenz von Ausgängen


von Stefan (Gast)


Lesenswert?

Hallo Leute,

ne kleine Frage am späten Abend: kann man mit Ausgängen von 
ATmega/ATtiny Frequenzen von 20KHz erreichen, und die Flanken noch 
"schön steil" sind. Hab leider kein Oszi da, sonst würd ich es einfach 
anschauen

danke schonmal, und gut Nacht :-)

Gruß Stefan

von Strickwettbewerbgewinner (Gast)


Lesenswert?

20 kHz sind ein Witz, 2 MHz gehen mindestens stabil für SPI (selbst 
getestet), wahrscheinlich noch viel mehr.

von W.A. (Gast)


Lesenswert?

Stefan schrieb:
> kann man mit Ausgängen von ATmega/ATtiny Frequenzen von 20KHz erreichen,
> und die Flanken noch "schön steil" sind.

Was meinst du, was der Prozessor tut, wenn man ihn in zwei direkt 
aufeinanderfolgenden Assemblerbefehlen den Portzustand ändern läßt?

Manchmal (eigentlich ziemlich oft) frage ich mich, wozu die Hersteller 
sich die Mühe mit den Datenblättern machen und warum jeder für eine 
längere Zeit zur Teilnahme am Schulunterricht verpflichtet ist. Damit 
sollte es doch kein Problem sein, sich im Datenblatt die Spezifikation 
für die Flankensteilheit eines Ausgangssignals herauszusuchen. Beim 
ATmega8 ist bei den SPI Timing Characteristics z.B. für die Rise/Fall 
time ein typischer Wert von 10ns angegeben.

von Stefan (Gast)


Lesenswert?

W.A. schrieb:
> Manchmal (eigentlich ziemlich oft) frage ich mich, wozu die Hersteller
> sich die Mühe mit den Datenblättern machen

Wie du an der Uhrzeit siehst war es recht spät, ich sau müde, und hatte 
einfach keine lust mehr mich durchs Datenblatt zu wühlen. Und da es 
bestimmt ne menge Leute gibt, die dass wissen, und mit nem Einzeiler 
beantworten können, hab ich einfach mal gefragt und bin in die Haia 
gegangen. Verzeihung das ich ein paar Bits und Bytes und 2 Minuten 
deines Lebens verschwendet habe.

W.A. schrieb:
> und warum jeder für eine
> längere Zeit zur Teilnahme am Schulunterricht verpflichtet ist

Beruhig dich, ich wollte nur Zeit sparen, oder glaubst du ich bastl 
freiwillig um die Uhrzeit mit Elektronik rum?

Troztdem Danke für die Antworten
Gruß Stefan

von Stefan (Gast)


Lesenswert?

Und sorry für die Rechtschreibfehler, hab sie grad erst gesehen ;-)

von Stefan F. (sfrings)


Lesenswert?

Du kannst Ausgänge so schnell umschalten, wie es der Befehlssatz 
zulässt.

Wenn Du einen Ausgang umschaltest, und direkt danach an einem Eingang 
etwas einlesen willst, was von dem Ausgang abhängt, musst Du allerdings 
eine Verzögerung berücksichtigen.

Bei AVR Mikrocontrollern liefern Lese-Befehle auf Eingänge immer den 
Wert, der einen Taktzyklus vorher anlage. Und bei Ausgaben gab es auch 
eine kleine Verzögerung, soweit ich mich erinnere.

Zwischen dem Schreiben und Lesen der Antwort ist daher in der Regel ein 
NOP nötig. Oder einfach zwimal hintereinander lesen tuts auch. 
Angenommen die acht Bits von Port A (Ausgang) sind mit Port B (EIngang) 
verbunden:

PORTA = 0;
in=PORTB;
in=PORTB;
if (in!=0) printf("Fehler");

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.