mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega 16 AD Wandler schneller machen


Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

meine Frage ist wie bekomme ich den AD Wandler "schneller" Ich habe eine 
Mega 16 auf einzelwandlung eingestellt. Für eine Wandlung benätigt der 
Controller momentan 425 Zyklen lt. Simulator das kommt mir recht viel 
vor.
Vorteler ist 32 der Controller wird mit 16 MHz betrieben ohne AD 
Interrupt.

 Initialisierung mit:
ldi     tempL,(1<<ADEN) | (1<<ADPS2) | (0<<ADPS1) | (1<<ADPS0)
out     ADCSRA, tempL


und Wandlung:

               ldi   tempL,(0<<MUX1)|(0<<MUX0)|(1<<REFS1) |(1<<REFS0) 
|(1<<ADLAR) | (0<<MUX3) ;Kanal 0 (Rot)
               out   ADMUX,templ
               sbi   ADCSRA, ADSC
wait_adc1:     sbic  ADCSRA, ADSC

               rjmp  wait_adc1


mache ich was Falsch ausser das der Wandler dann mit 500 kHz läuft

Autor: Winne Z. (rugbywinne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schnell muss den der ADC werden ?

Autor: Daniel Katzenberger (lostsoul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wenn du deinen Vorteiler auf 2 stellst,wird die Wandlung schneller.....

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so schnell als möglich bei noch annehmbaren schwankungen des ergebinsses 
also nicht mehr als ca. 3 Bit

@lostsoul

ist dann zu ungenau bzw es gibt zu grosse schwankungen im ergebniss

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
René Schink wrote:

> Ich habe eine
> Mega 16 auf einzelwandlung eingestellt. Für eine Wandlung benätigt der
> Controller momentan 425 Zyklen lt. Simulator das kommt mir recht viel
> vor.

Nö, passt ziemlich genau: 13*32 = 416 Takte

Selbst jetzt bist du schon außerhalb der Specs für 10bit. Du kannst 
theoretisch noch etwas mit dem Vorteiler runtergehen (bis auf etwa 8), 
aber mehr als etwa 6bit sind dann nicht mehr drin.
Darüber steigen die Verzerrungen meinen Erfahrungen nach sehr schnell 
stark an. Mehr als etwa 100-200kHz Samplerate ist eher nicht mehr 
brauchbar.

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also Probieren und mal sehn was hinten rauskommt.

Externe wandler gibt es da empfehlungen (8 Bit paralel und ca. doppelt 
so schnell wie der Interne des Mega 16)
habt Ihr emfehlungen?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI

'By default, the successive approximation circuitry requires an input 
clock frequency between 50 kHz and 200 kHz to get maximum resolution.'

Wenn du es wirklich schneller haben willst, wirst du auf den XMega 
warten müssen.

MfG Spess

Autor: Winne Z. (rugbywinne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Deine Schaltung und Dein Programm es zulassen, kannst Du den MEGA 
auch noch hochtakten.

20MHz geht, 40MHz auch.

Ob die AD-Wandlung noch "sauber" genug ist sollte man sicherheitshalber 
überprüfen.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Winfried Z. wrote:
> Wenn Deine Schaltung und Dein Programm es zulassen, kannst Du den MEGA
> auch noch hochtakten.
>
> 20MHz geht, 40MHz auch.

Davon würde ich abraten, denn das mag bei einem AVR funktionieren, nicht 
aber bei jedem. Und dann wird die Fehlersuche lustig wenn man nicht weiß 
ob der Fehler an dem Takt oder an der Software liegt.

> Ob die AD-Wandlung noch "sauber" genug ist sollte man sicherheitshalber
> überprüfen.

Schonmal den ADC mit Prescaler 2 bei 16MHz laufen lassen ? Ich habs 
ausprobiert: Dann ist ein Sinus entweder DC ein Rechteck, oder sonst was 
undefiniertes. Das Ergebnis ist ziemlich willkührlich, je nach AVR.

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.