www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Oszillator mit AVR durchstimmbar 1-3MHz


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eine Möglichkeit einen in kleinen Schritten einzustellenden 
Oszillator von ca. 1Mhz bis 3,5Mhz mittels PWM bzw. Timer von einem AVR 
zu realisieren.
Er müsste für diesen Bereich etwa in 255 Schritten einstellbar sein.

Sicher schwierig, da die Taktfrequenz kaum höher ist (8 oder 16MHz).


Andere Möglichkeit: Einen Timer, den man per AVR ansteuern könnte.

Danke.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DDS

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke - diese ICs sind sehr interessant und DDS ist sicher richtig.

Ich wollte neben anderen Sachen den uC diesen veränderlichen Takt 
mitmachen lassen. Also alles dem uC überlassen, was aber bei 8..16MHz 
Takt nicht gehen wird. Mit Fast PWM komme ich auf 3,... MHz, kann dies 
aber logischer Weise nur in großen Stufen verändern. ICR (obere Grenze) 
auf 2 gestellt, so dass der Timer nur bis 2 zählt und dann vorn wieder 
anfängt.

Autor: Glutamat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VCO

Autor: Glutamat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit: es gibt auch dds wo du die frequ. Paralell über nen buß anleckst

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit ATmega und soft-DDS wirst Du nicht glücklich. Das klappt nicht.

Alternativen:

- Einen schnelleren Prozessor (ARM)
- Eine PLL (z.B. LM7001) mit VCO (z.B. 4046 für Rechteck)
- Ein DDS-Baustein


Gruß

Jobst

Autor: Sid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manche ATtinys haben eine Highspeed-PWM (glaube bis 64MHz)
zB.: ATtiny25

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Echt? Wie geht denn das - auf die Hälfte teilen o.k. - dann müsste der 
mit 32MHz laufen?

Ich brauche leider einen AVR mit USART und mehr Speicher.

Ich löse es jetzt anders - Danke

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATtiny hat intern eine PLL, die man bis 64MHz laufen lassen kann, um 
damit die PWM zu erzeugen. Ich habe es mir nun nicht genau durchgelesen, 
aber bestenfalls kommt man nur mit 17 Schritten von 1 - 3,5MHz. Das ist 
vermutlich zu grob.

Wie löst Du es jetzt?


Gruß

Jobst

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte mit dem Takt (1..3MHz) einen ISD17xx ansteuern. Das ist ein 
Sprachspeicher IC, der mit diesem externen Takt seine Samplefrequenz 
verändern kann.
Er hat aber auch einen internen Oszi, der über einen Widerstand zu 
steuern ist. Jetzt habe ich dort den PWM-Ausgang des uC angelegt und 
erzeuge quasi verschiedene Analogspannungen, kann sozusagen den ISD 
"vergewaltigen" und den internen Oszi beeinflussen - geht sehr gut.

Ist aber letztendlich keine Lösung des Problems, einen hohen 
veränderlichen Takt mit einem uC zu generieren. Scheinbar müsste man da 
FPGAs nehmen - kenne mich damit aber nicht so gut aus.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür nimmt man in aller Regel PLLs.
Vom Radio bis zum PC werden PLLs verwendet.

http://focus.ti.com/paramsearch/docs/parametricsea...

z.B. dieser
http://focus.ti.com/docs/prod/folders/print/cdce906.html


Oder eben seperat wie schon von mir vorgeschlagen:
Eine PLL (z.B. LM7001) mit VCO (z.B. 4046 für Rechteck)

Beide Teile bekommst Du bei Reichelt.


Gruß

Jobst

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens schrieb:
> Er hat aber auch einen internen Oszi, der über einen Widerstand zu
> steuern ist.

Da den LM7001 mit ein wenig Hühnerfutter dran - gut ist.


Gruß

Jobst

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm ... wie hattest Du denn vor, den Takt dort hinein zu bekommen?

Habe mir gerade diese ISD17xx-Teile angesehen. Da besteht gar keine 
Möglichkeit, sowas einzuspeisen ...

Hast Du Infos, die nicht im Datenblatt stehen?


Gruß

Jobst

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, man kann die Dinger mit SPI ansteuern und dort dann EXT Clock 
einstellen. Dann kann man an den Anschluss des ROSC(Pin20) einen Takt 
einspeisen. Der hat aber eben eine Frequenz von 1..3MHz.

Steht im erweiterten Datenblatt - eine größere pdf mit genauen 
Instruktionen über die SPI Ansteuerung.

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

Bewertung
0 lesenswert
nicht lesenswert
Wenn du noch irgendwo eine 7497 auftreiben kannst...
http://www.alldatasheet.com/datasheet-pdf/pdf/2743...
SN7497N - SYNCHRONOUS 6-BIT BINARY RATE MULTIPLIERS - Texas Instruments
mit 6 Bit einstellbarer Impulszerhacker, von 64 Impulsen werden 1...64 
durchgelassen, das ergibt eine durchschnittliche Frequenz, ist aber 
ziemlich verzappelt. Immer noch weniger als gewünscht, die PLL-ICs mit 
internem Oszillator sind sicher feinstufiger. Der SI570 oder Si571 wäre 
so ein Teil.

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.