Forum: Mikrocontroller und Digitale Elektronik Umschaltvorgang des ATmega32 (I/O Pins)


von Dr. Hastig (Gast)


Lesenswert?

Hallo Leute,

ich habe eine Frage zum ATmega32.

Wie schnell werden die I/O Pins von 1 auf 0 umgeschaltet? Was für einen 
Quarz darf ich verwenden damit ich von einem Takt auf den anderen ein 
sauberen Pegel habe? Wie schnell darf überhaupt ein Quarz für ein 
ATmega32 sein?

Im Datasheet habe ich nur eine maximale Frequenz für Keramikresonatoren 
gefunden.

Sry falls die Frage etwas unsinnig erscheint aber ich bin sehr neu auf 
dem Gebiet und wollte wissen wie schnell ich maximal Pins umschalten 
kann.


~ Dr. Hastig

von Peter D. (peda)


Lesenswert?

Dr. Hastig wrote:

> Was für einen
> Quarz darf ich verwenden damit ich von einem Takt auf den anderen ein
> sauberen Pegel habe?

Das hängt nicht vom Quarz ab, sondern vom Schaltungsaufbau und der Last.


> Wie schnell darf überhaupt ein Quarz für ein
> ATmega32 sein?

Da schauen wir einfach mal ins Datenblatt und da steht doch tatsächlich 
0-16MHz (1. Seite).


Peter

von Falk B. (falk)


Lesenswert?

@Dr. Hastig (Gast)

>Wie schnell werden die I/O Pins von 1 auf 0 umgeschaltet?

Typisch 5ns.

> Was für einen
>Quarz darf ich verwenden damit ich von einem Takt auf den anderen ein
>sauberen Pegel habe?

So ziemlich jeden.

> Wie schnell darf überhaupt ein Quarz für ein ATmega32 sein?

Ja nach Typ und Betriebsspannung 16 bzw. 20 MHz.

MFG
Falk

von Dr. Hastig (Gast)


Lesenswert?

Danke für die Antworten.

@Peter
Ich  bin ehrlich gesagt garnicht auf die Idee gekommen in der Übersicht 
zu gucken.
Wenn man in der entsprechenden Sektion (Seite 26) guckt steht da nur:
"For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed 
and
16 MHz with CKOPT programmed."
Also nur eine Angabe für Keramikresonatoren und nicht für Quaraz. Da ich 
mich da nicht gut auskenne wusste ich nicht ob es für beide gilt.

@Falk
Wo hast du das mit den 20 MHz her?

Also wenn ich den ATmega32-A mit einem 16 MHz Quarz betreibe sollte der 
schnell genug umschalten. Dran hängen wird wohl ein MAX304* oder ein 
MAX346*.

von Peter (Gast)


Lesenswert?

Ich bin mir jetzt nicht 100% Sicher aber ich denke der Quarz hat wenig 
mit der Schaltgeschwindigkeit eines IO-Ports zu tun.

Es sollte also egal sein ob du ihn mit 1Mhz oder 16Mhz betreibst. Die 
Flanke sollte immer gleich aussehen.

von Hannes Lux (Gast)


Lesenswert?

> Wo hast du das mit den 20 MHz her?

Falk schrieb auch: Je nach Typ...

Es gibt AVRs, die können bis 20MHz. Der Mega32 gehört nicht dazu.

Ich halte es allerdings für vernünftiger, statt des maximalen Taktes ein 
ordentliches Programm mit effizienten Algorithmen zu verwenden. Das 
bringt unterm Strich mehr.

...

von Marius W. (mw1987)


Lesenswert?

Im Datenblatt steht zwar nix von den 20 MHz, aber ein µC gibt nicht 
zwangsläufig bei 16,1 MHz schon den Geist auf. Übertakten ist auf jeden 
fall möglich. Für Anwendungen, die wirklich sicher sein sollen, ist es 
natürlich nicht zu empfehlen, aber sonst kann man das ruhig mal 
ausprobieren.

MfG
Marius

von Hannes Lux (Gast)


Lesenswert?

> Im Datenblatt steht zwar nix von den 20 MHz,

Doch, steht drin, zumindest bei den Typen, die dafür vorgesehen sind 
(Tiny2313, Megax8, Mega644, ...), der Mega32 gehört aber nicht dazu.

Das Übertakten sollte man einem Anfänger nicht empfehlen, das bringt nur 
Frust. Das hat nur Sinn, wenn auch der Hardwareaufbau optimal ist und 
man auf EEP verzichtet.

...

von Dr. Hastig (Gast)


Lesenswert?

Mir ging es darum wie schnell ich ein sauberen Pegel erhalte beim 
Umschalten. Wenn ich z.B. alle 3 Takte einen Pin Umschalte wäre es schön 
zu wissen ob dazwischen der Pegel lange genug sauber steht.

von Oha (Gast)


Lesenswert?

Ja. Die Logik ist noch HCMOS, und daher beliebig gut, digital 
betrachtet. Ganz im Gegensatz zu ECL, das eher an Linearverstaerker 
erinnert, allerdings auf einer anderen Zeitskala.

von Winfried (Gast)


Lesenswert?

Das hängt auch von der äußeren Beschaltung ab, also von der kapazitiven 
Belastung. Wenn du schlecht routest oder lange Kabel anschliest, erhöhen 
sich die Schaltzeiten wesentlich.

Aber erzähl doch mal, wozu das wichtig ist. Was stellt den so hohe 
Anforderungen an die Schaltgeschwindigkeit?

Die Umschaltzeit hat übrigens, wie schon oben geschrieben, gar nichts 
mit der Taktfrequenz zu tun.

von Dr. Hastig (Gast)


Lesenswert?

Ob ich wirklich eine so hohe Anforderung hab weiß ich ehrlich gesagt 
noch nicht. Ich hatte halt die Bedenken (da ich mich mit der Sache so 
gut wie garnicht auskenne) das es sein könnte das der Umschaltvorgang 
einige Mikrosekunden dauert und es somit mehrere Takte braucht bis ein 
sauberer Pegel anliegt.

Wenn ich einen Pin nun Millionen Male innerhalb einer Sekunde umschalten 
würde, dann hätte es ja sein können das ich einige Takte warten muss bis 
ich wieder den pegel änder.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die Pins eines Ports werden mit maximal einem Takt Verzögerung 
ausgegeben, damit sie alle synchron sind. Das Schalten selbst dauert nur 
einige Nanosekunden. Beim Abfragen eines gerade geschalteten Pins sollte 
man ein 'nop' einfügen, bevor man diesen Pin wieder liest. Die maximale 
per Software ausführbare Schaltfrequenz ist fCPU/4.

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.