Forum: Mikrocontroller und Digitale Elektronik AVR AT32UC3L0256 Digital Frequency Locked Loop (DFLL) konfigurieren


von Chris (Gast)


Lesenswert?

Hallo Leute,

für private LED-Projekte würde ich gerne den AT32UC3L0256 uC von Atmel 
einsetzen. Interessant ist dieser dafür, dass er insgesamt 35 
unabhängige PWM -Kanäle besitzt. Damit komplexere Berechnungen möglichst 
schnell durchgeführt werden können, soll der uC mit der max. Frequenz 
von 50 MHz getaktet werden 
(http://www.atmel.com/devices/at32uc3l0256.aspx?tab=parameters).

Der AT32UC3L0256 enthält intern mehrere Oszillatoren sowie 
Phasenregelschleifen(PLL) und Frquenzregelschleifen(DFLL), die es 
erlauben den uC mit unterschiedlichen Systemtakten zu versorgen. Die 
einzige Möglichkeit, die ich gesehen habe, die CPU des uCs mit 50 MHz zu 
takten, ist die interne DFLL zu verwenden. Diese kann von abhängig von 
internen Oszillatoren Frequenzen zwischen 20 MHz bis 150 MHz erzeugen - 
laut dem Datasheet 
(http://www.atmel.com/Images/Atmel-32145-32-bit-Flash-MCU-UCL0_datasheet.pdf, 
Seite 190, Abschnitt 13.5.4).

Da liegt jetzt auch mein Problem, ich bekomme die DFLL nicht richtig in 
gang bzw. nicht eingestellt.
- Hat jemand mit der DFLL bereits etwas Erfahrung sammeln können?
- Kennt jemand Beispielcode, der funktionsfähig ist?


Im Atmel Software Framework gibt es eine knappt Dokumentation zu einigen 
Funktionen die zur Konfiguration der DFLL eingesetzt werden können 
(http://asf.atmel.com/docs/latest/avr32.applications.uc3l-ek-touch-demo.example/html/group__dfll__group.html). 
Ein Code-Beispiel sieht z.B. so aus:
1
struct dfll_config dfllcfg;
2
dfll_enable_source(CONFIG_DFLL0_SOURCE);
3
dfll_config_defaults(&dfllcfg, 0);
4
dfll_config_enable_dithering(&dfllcfg);
5
dfll_enable(&dfllcfg, 0);
6
dfll_wait_for_accurate_lock(0);

Leider gibt es die Funktion "dfll_enable(...)" nicht, womit dieses 
Beispiel im AVR-Studio nicht kompiliert. Ich habe an dieser Stelle das 
Enable-Bit für die DFLL dann manuel gesetzt, was leider nicht geholfen 
hat.

Wenn da also jemand eine Idee oder Tipp hat, dann wäre ich dafür sehr 
dankbar. :)


Beste Grüße,

-Chris

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.