www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD Wandlergeschwindigkeit


Autor: Nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe mir vor längerer Zeit ein Bedienpult für meine Lichtanlage
gebaut welches von einer C-Controll gesteuert wird und Daten an den PC
sendet wo das eigentliche Programm läuft. Es besteht aus 8
Schiebepotis, 8Taster und 8 Leds. Die übertragung der Werte geschieht
mit 9600 Baud (ist mir zu langsam) und sieht folgendermassen aus:
PC sendet "1" > C-Controll AD-wert 1 einlesen und senden > PC sendet
wert zurück > AD-wert 2 einlesen und senden > PC sendet wert zurück
>.......> AD-wert 8 einlesen und senden > PC sendet ein Byte für die
Leds > C-Controll sendet stand der Taster >  warten bis alles von vorn
beginnt.
Das dauert alles viel zu lange jetzt will ich die ganze Sache von einem
AVR erledigen lassen. Nun meine Fragen:

1. sind die AD-Wandler im AVR schneller als in der C-Controll (leider
hab ich kein Datenblatt für die C-Controll)

2. wie mache ich aus den 10 Bit 8?(zweimal schieben und dann werte bit
9 und bit 10 in 7 und 8 packen geht das so oder gehts auch einfacher)

3. sollte ich vieleicht die Art meiner Übertragung ändern? Die
Geschwindigkeit herhöhe ich auf 38400 Baud oder noch schneller weiß ich
noch nicht genau.

Vielen Dank im voraus

Nico

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Nico,
zu deiner Kommunikation kann ich nur sagen: "Boaaa! Wie
umständlich!"
Du weisst duch, wie viele Bytes du zum PC schickst (9 Bytes?).
Prinzipell müsste es doch gehen, wenn du dein Bedienteil mit einem Byte
"triggerst" (LED-Status), woraufhin die Bedieneinheit ihre Daten an
den PC schickt.
Oder andere Lösung: Sobald sich etwas an der Bedieneinheit ändert,
werden die Daten an den PC geschickt und der "berechnet" das Byte für
die LEDs, was er dann wiederum schickt.

Wie schnell die AD-Wandlung der C-Control ist, kann ich nicht sagen.
Mit dem AD-Wandler des AVR habe ich auch noch nicht gearbeitet.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Wandlergeschwindigkeit der AVR ADC steht im Datenblatt.  Man muß
nur beachten, daß diese abhängig vom gewählten ADC-Takt ist, den man
für optimale Ergebnisse im Bereich 50 ... 200 kHz wählen muß (wird
durch einen Vorteiler aus dem Systemtakt gewonnen, man kann also mit
dem Vorteiler den Takt in Grenzen einstellen).

Es wurde auch schon berichtet, daß die ADCs bei nur 6 bit Genauigkeit
auch bis zu 2 MHz getaktet werden können (also gewissermaßen 10fach
übertaktet).

Prinzipiell macht man 8 bit aus 10 bit durch Rechtsverschiebung um 2
bit.  Kann man genausogut als Division durch 4 bezeichnen.

Wenn Du einen der neueren ATmegas nimmst, kannst Du aber ein nettes
Feature dieser Teile ausnutzen: die können das ADC-Ergebnis alternativ
statt in den unteren 10 bit auch in den oberen 10 bit des
16-bit-Ergebnisregisters abbilden.  Damit brauchst Du Dir anschließend
nur das obere der beiden 8-bit-Teilregister zu nehmen, dann hast Du
Deinen skalierten Wert.

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.