mikrocontroller.net

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


Autor: Dr. Hastig (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dr. Hastig (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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*.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Dr. Hastig (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dr. Hastig (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

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.