Na du hast zwei ADCs im XMega. Den ADCA und ADCB. Beide hängen auch an PortA und PortB. Wenn du jetzt ADCA.CH0 nimmst ist es also PortA.Pin0.
Na du hast zwei ADCs im XMega. Den ADCA und ADCB. Beide hängen auch an PortA und PortB. Wenn du jetzt ADCA.CH0 nimmst ist es also PortA.Pin0.
Grüße,
Daniel
Danke für die Antwort. Aber ich habe mir vorhin im Datenblatt die Stelle nochmal durchgelesen.
Wenn ich es richtig verstehe (und ich weiß nicht ob es so ist), hat der XMega 2 ADCs (wie du schon sagtest). Jeweils einen an PortB und A. Diese ADCs sind in 4 Kanäle unterteilt. Und dann kann man mittels des Mux Registers diesem Channel nochmal nen Pin zuweisen.
Das sieht man in dem Bild aus dem Datenblatt recht gut:
Bild hier
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Das mit den MUX-Registern gibt es auch bei den Megas und Tinys schon. Der ADC tastet ja nur immer einen Port-Pin ab. Damit er weiß welchen, musst du ihm das natürlich sagen. Frei wählen wie bei den externen Interrupts (was ich neben TWI, SPI und USART immer noch am Schärfsten finde). Dort kannst du explizit per Pin-Maske einen Pin auswählen. Was bei den ADCs nicht in der Funktionalität geht. Dort wird via Multiplexer zwischen den Quellen geschaltet. Daher auch der Name Mu(ltiple)x-Register.
Die Grafik ist für mich so zu deuten, dass man mit den MUX-Registern eine Kanalauswahl trifft. Entweder die differentiellen mit oder ohne Verstärkung oder aber die Single-Ended-Eingänge. Dann folgt die Konfiguration hinsichtlich Auflösung, Referenzspannung und Events. Da mit relativ hoher Wahrscheinlichkeit mehrere Kanäle zum Messen verwendet oder aber die Daten für den DMA gehalten werden müssen, gibt es dann pro Kanal ein Register wo man das Ergebnis abholen kann.
Man kann im Übrigen auch 4 virtuelle Kanäle deklarieren. Das geht über das MUXCTRL-Register.
Code:ADCA.CH0.MUXCTRL
Geändert von ePyx (25.03.2012 um 09:39 Uhr)
Grüße,
Daniel
Ich habe mir gerade mal eine Application Note von Atmel angesehen.
Dort habe ich diese Grafik gefunden:
Bild hier
Ich finde die erklärt das ein bischen besser als die im Datenblatt
Das mit den Virtuellen Kanälen habe ich noch gar nicht gesehen ^.^ und bisher hab ich nichtmal ne Ahnung wofür ich das brauchen könnte.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Juhu nun scheint die PLL auch endlich zu arbeiten
Was ich nur noch nicht ganz verstehe ist folgendes:
Ich habe diese Zeile:
OSC.PLLCTRL = OSC_PLLSRC_RC32M_gc | 0x04;
Damit wird in das PLL Control-Register reingeschrieben das der interne 32MHz Takt verwendet wird und ein PLL Multiplikator von 4 verwendet wird. Damit komme ich auf meine Pin-Toggle Frequenz von 2,36MHz (die selbe Frequenz habe ich auch mit 32MHz und ohne PLL).
Aber warum ist das so? Müsste diese Frequenz nicht normalerweise rauskommen wenn ich 0x01 als Multiplikator vorgebe? Weil dann wird die Frequenz ja mit 1 multipliziert und das ergibt dann Ausgangsfrequenz = Eingangsfrequenz. Aber ich muss das mit 4 multiplizieren.
Bis 47MHz habe ich die CPU schon bekommen (und das hat sogar mein Oszi noch gemessen obwohl es nur ein 40MHz Gerät ist). Aber bei einem Multiplikator von 7 gibt das Oszi nur noch nen High-Pegel an.....ich glaube das geht schon an die Grenzen von dem Gerät
Beim internen 2MHz Takt scheint es so zu sein das man mit einem Multiplikator von 1 die Originalfrequenz hat. Beim 2MHz Takt toggled mein Pin mit 150kHz und mit PLL und Multiplikator 1 sind es 220kHz. Wobei das auch schon merkwürdig ist, dass man bei einem Multiplikator von 1 mehr bekommt und bei 32MHz wird es weniger.....
Kann sich da jemand einen Reim drauf machen?
Geändert von Kampi (25.03.2012 um 13:30 Uhr)
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Lesezeichen