www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taktsignal erzeugen für externen AD Wandler


Autor: George (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi...

Ich möchte mit meinem ATmega16 ein Taktsignal für einen externen AD
Wandler erzeugen. Dieses möchte ich in C/C++ programmieren.
Jetzt meine Frage. Kennt jemand von euch eine geeignete Funktion
(Header Datei) in C die mir helfen könnte... Ich möchte im Nanosekunden
bereich, Einstellungen treffen können... Ist das überhaupt möglich?

Danke schon mal

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'Im Nanosekunden-Bereich' ist ziemlich vage ausgedrückt. ATMega16
läuft mit max. 16MHz, d.h. ne Zykluszeit von 62,5ns. Schneller kommste
damit nicht hin. Gehe davon aus, dass du 'Entscheidungen treffen'
meinst. Über nen Interrupt dauert's immer ein paar Zyklen. Für eine
'Entscheidung' musste da mit ein paar hundert ns rechnen. Wenns
wirklich Zeitkritisch ist, ist Assembler sinnvoll (u.U. eingebunden in
C-Code). Wesentlich schneller gehts dann nur im DSP-Bereich...

Gruß

Johnny

Autor: George (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist so das ich einen AD-Wandler über den µC ansteuern will. Der
AD-Wandler braucht einen Takt SCLK. Mit CS (Chipselect) geb ich
sozusagen ein Startsignal das der Takt losgeht. 16 Takte geht ein
Zyklus. In den ersten 3 Takten ist der AD-Wandler im Track mode. In den
restlichen 13 Takten schickt er das digitalisierte Signal zum µC raus.

Meine Taktfrequenz ist 8MHz. Jetzt mal abgesehen vom Nanosekunden
Bereich. Hättest du eine Idee wie ich das realisieren könnte. Ich bin
noch Anfänger in Sachen µC und C-Programmierung...

Autor: Manos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist denn der AD-Wandler so schnell von der Samplingrate bzw. wieviele
Samples schafft der? Denke mal nicht, dass der 1.000.000 Wandlungen/sek
schafft. Ist das eine SPI-Schnittstelle am Wandler?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am besten mal posten, was das für'n ADC ist (Typ, Hersteller). Das
macht es einfacher:-)

Autor: klaus bröntgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab sowas mit einem tiny mal gemacht. also nur per assembler
(sbi/cbi fürs cs und ori zum clk-toggeln; befehle ohne
wartepausen/interrupts einfach nacheineinander ausgeführt in einer
mainloop).
geht, aber geht nur langsam (ein paar hundert-werte/min, jedenfalls
weit von der performance des wandlers entfernt).
zu testzwecken allemal tauglich, aber für ernsthaften transfer
warscheinlich zu lahm und wackelig.
nimm lieber etwas kombinatorische logik, also flip-flops und gatter.
egal, ob diskret (verdrahtungsaufwand) oder cpld. das geht allemal
sauberer und skalierbarer.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"16 Takte geht ein Zyklus."

Klingt nach einem Fall fürs SPI (HW oder SW).

Die Takte müssen nur im angegebenen min/max-Bereich sein, der genaue
Wert ist unkritisch.


Peter

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.