mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8 taksignale ausgeben 10-50khz


Autor: ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

muss mit einem mega8 8 voneinander unabhängige taktsignale ausgeben, 
sollten mit möglichst kleiner abstufung (ungefähr 256 schritte) im takt 
regelbar sein.

Ein Mega 8 schafft das nicht allein, oder?

Suche deshalb nach einem ic, dass mit die takterzeugung abnimmt, nach 
möglichkeit mit 8 ausgängen pro ic, vielleicht mit i2c schnittstelle, 
oder ähnlichem. Wär natürlich gut, wenn man das dann auch leicht 
bekommen könnte ( Reichelt, Segor, o.ä.)

Kennt da jemand was?

Danke

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Mega8 muss das locker schaffen

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
wenn ich das richtig verstehe, willst du ein rechtecksignal von 10khz 
bis 50khz erzeugen können. die 40khz dazwischen sollen in 256 teile 
geteilt werden, damit du das ausgangssignal "regeln" kannst. das ganze 8 
mal parallel und wahrscheinlich jedes signal einzeln ansteuerbar. ich 
denke mit einem atmega8 allein wirst du nicht glücklich. ich würde mir 
einen kleinen cpld so programmieren, dass er die 8 signale erzeugen kann 
und den atmega8 würde ich als sollwertgeber einsetzen. im cpld lässt du 
einfach einen zähler hochlaufen, bis der sollwert erreicht ist, dann den 
zähler löschen und das ausgangssignal toggeln.
die sollwerte würde ich seriell in ein schieberegister (oder 8 
schieberegister) schreiben, je nach größe des schieberegisters könntest 
du auch feinere auflösungen realisieren.
gruss timo

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das sollte nen mega8 schaffen. Die Stufung ist auch nicht so 
tragisch, kuckma nach 'DDS', das ist nen recht elegantes Verfahren, 
super für die Aufgabe geeignet. Designparameter ist noch der 
tolerierbare Jitter.


Cheers
Detlef

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Detlef _a (detlef_a)

>Ja, das sollte nen mega8 schaffen. Die Stufung ist auch nicht so
>tragisch, kuckma nach 'DDS', das ist nen recht elegantes Verfahren,

8 mal parallel? Bei 50 kHz? Ich bezweifle das.

MFG
Falk

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pro Kanal nimmst Du ein short, auf das immer ne Konstante aufaddiert 
wird. Das Highbit schiebst Du Dir raus und gibst es aus. Durch Variation 
der Konstante legst Du die Frequenz fest. Das sind zwei Additionen und 
zweimal schieben oder so. Das machst du mit 2*fmax=100kHz. Bei 16Mhz 
Takt hast Du 160 Ticks für 8 mal die obengenannte Aufgabe. Das sollte 
gehen, meiner Ansicht nach.

Cheers
Detlef

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Detlef _a (detlef_a)

>zweimal schieben oder so. Das machst du mit 2*fmax=100kHz. Bei 16Mhz
>Takt hast Du 160 Ticks für 8 mal die obengenannte Aufgabe. Das sollte
>gehen, meiner Ansicht nach.

So weit, so unvollständig. Du hättest dann eine DDS, welche mit 100kHz 
Systemtakt einen 50 kHz Takt erzeugt. Den Jitter wollen wir wohl beide 
lieber nicht anschauen. Selbst mit 200..500 kHz ist das ncoh nicht 
wirklich schön. Aber mit 10 MHz schon eher, für einen kleinen CPLD kein 
Thema. Es muss nciht immer ein uC sein.

MFG
Falk

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Acht 16Bit-Register reihum um 1 decrementieren ( gibts dafür nicht 
SBIW?) und beim Nulldurchgang auf einen einstellbaren Startwert 
rücksetzen und das zugehörige Ausgangsbit toggeln, das jittert natürlich 
bei jedem Nulldurchgang etwas. Für eine Interruptroutine wirds wohl zu 
knapp.

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk
>>Selbst mit 200..500 kHz ist das ncoh nicht wirklich schön.
Nein, wirklich schön ist das nicht, aber die Frequnz stimmt. Um mich mal 
selbst zu zitieren: 'Designparameter ist noch der tolerierbare Jitter'.

ben muß das wahrscheinlich als Projekt machen und da hat der 
Unterrichtende bestimmt den Jitter nicht gespect.

>> für einen kleinen CPLD kein Thema.
Ja, das CPLD und das FPGA sind die Zukunft des embedded computing!

Cheers
Detlef

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein Mega 8 schafft das nicht allein, oder?

Mal ehrlich,
bei einem Stückpreis von nicht mal 2€; wen interessierts?

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab mal nachgeschaut, der SBIW geht nur für die 4 Doppelregister r24-31 
(2 Cycles), die anderen vier müßte man mit  2* DEC (mit BREQ 3 Cycles) 
erschlagen. Wären also ohne Nulldurchgang 20 Takte für eine Schleife, 1 
µsec bei 20 MHz Takt

Autor: ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, habe mir jetzt überlegt 8 softwarepwms laufen zu lassen und die 
spannung dann auf 8 vcos zu geben.

wollte dazu die vcos aus dem 4046 nehmen bin jetzt aber etwas verwirrt:

ist es möglich die maximale und minimale frequenz mit den widerständen 
festzulegen, oder nur die minimale?

in den artikeln zu dem baustein, z.B.:
http://www.elektronik-kompendium.de/public/schaerer/vco.htm
ist von fmin und f max die Rede, auf den Diagrammen sieht es aber so 
aus, als   wäre die obere Frequenz nicht einstellbar.

Kann mir das jemand näher erklären?

Dankeschön

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ ben (Gast)

>Hi, habe mir jetzt überlegt 8 softwarepwms laufen zu lassen und die
>spannung dann auf 8 vcos zu geben.

AHHHHH! Das ist doch nicht wahr. Totaler Unsinn!

>wollte dazu die vcos aus dem 4046 nehmen bin jetzt aber etwas verwirrt:

Das beruht auf Gegenseitigkeit.

>ist es möglich die maximale und minimale frequenz mit den widerständen
>festzulegen, oder nur die minimale?

Beide, aber es ist totaler Murks was du da vor hast.

>Kann mir das jemand näher erklären?

Mach ne digitale Lösung! CPLD, acht AVRs mit PWM Ausgang etc.

MFG
Falk

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss es ein AVR MEga sein ??

Ansonsten sieh dir mal den TMS 470 von TI an ( ARM 7) , dort kannst du 
je nach Variante 16 bis 32 Timer gesteuerte I/O nutzen für PMW, 
Takterzeugung , Pulsweitenmessung, Eventcounter,..........

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.