ADC Treiber mit ATXMega 384C3

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Page 3 of 6
Torsten
Benutzer
Avatar
Gender:
Location: Bad Doberan
Age: 59
Posts: 62
Registered: 11 / 2005
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 14:51  ·  #17
Hallo Thorsten,

vielleicht macht es Sinn den Wert für das MUX Register mal anzupassen, laut Datenblatt ATXMega C Seite 298, Tab. 25-11.

Torsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 17:29  ·  #18
Hallo rolf,
Hallo Torsten,

worin liegt eigentlich hierbei der Sinn, wenn ich im "single-ended", zusätzlich das MUXPOS auf den ADCx angeben muß. Das ist mir nicht so ganz klar. Ich habe im Datenblatt zwar was gelesen, dass dies etwas mit dem EVENT-System vom XMEGA zu tun hat.

Wenn ich doch eigentlich den ADC1 einstelle und diesen zum messen starte, muß ich dann wirklich zusätzlich den MAXPOS auf ADC1 (0001) einstellen? Und wenn ja warum?

Auch wenn ich das MUXPOS anpasse:
Code
  ADCACH0MUXCTRL := $0; // MUX CTRL MAXPOS ADC0
  ADCACH1MUXCTRL := $4; // MUX CTRL MAXPOS ADC1
  ADCACH2MUXCTRL := $8; // MUX CTRL MAXPOS ADC2
  ADCACH3MUXCTRL := $C; // MUX CTRL MAXPOS ADC3


Macht es keinen Unterschied.

@Thorsten; Bei Dir laufen jetzt die ADC mit Messungen an den Externen Ports?

Thorsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 18:21  ·  #19
Hallo rolf,

bitte schaue Dir mal das Bild an.
Hier ist doch noch was anderes FAUL.

Ich bin mit einem PDI Debugger gerade an das System und habe den BREAK direkt auf das EnableInts, nach dem ADC-INITs gemacht. Aus irgendeinen Grund sind aber nur die Parameter vom ADC0 gesetzt worden. Das kann doch so eigentlich gar nicht sein. Oder?

Könnt es sein, das diese Bereiche aus irgendeinen Grund gesperrt sind? Ich meine irgendwo was gelesen zu haben, während der Messung.

Thorsten
Attachments
ADC_XMEGA384
Filename: DebugC.jpg
Filesize: 609.55 KB
Title: ADC_XMEGA384
Information: ADC_XMEGA384
Download counter: 124
Torsten
Benutzer
Avatar
Gender:
Location: Bad Doberan
Age: 59
Posts: 62
Registered: 11 / 2005
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 18:45  ·  #20
Hallo Thorsten,
ich nutze vom PortA Pin 0,1,2 , wenn ich den ADC Treiber so konfiguriere bekomme ich nur vom A.0 ein Ergebnis der Rest ist null.
Was ist eigentlich der Unterschied zwischen der Konfiguration des Treibers ADCAchans[0..2] und [0..7]?
Ich habe mich heute mal versucht durch die Datenblätter und Applikationen zu arbeiten, so richtig habe ich auch nichts gefunden. Mir ist nur aufgefallen, dass es bei den ADCs der A Serie und der C Serie der XMegas Unterschiede gibt, was hier wohl keine Neuigkeit ist.
Mir fehlt leider in der Woche etwas Zeit um weiter nach einer Lösung zu suchen. Ich bin noch mit dem Aufbau der Hardware beschäftigt.

Torsten
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 20:43  ·  #21
Hallo Thorsten,
das Problem ist dass da mehr als 4 channels angesprochen werden [0..4]
Da scheint die C Version anderst zu funktionieren als die A Version.
Schleierhaft ist die Anzahl der zur Verfügung gestellten channel Register.
Bei der A Version sind das 4. Bei der C Version findet man hierzu keine
Angaben. Z.B. gibt es da mehr als 4 ??
ADCACH0CTR...ADCACH3CTR beim A.
Und beim C evtl.
ADCACH0CTR...ADCACH7CTR
Nix zu finden....

rolf
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 21:50  ·  #22
Hallo rolf,

ich arbeite mich weiter vor. Mir fehlt aber etwas die Zeit.

Ich denke folgendes, ich kann die Register für die Chan1 bis Chan3 nicht beschreiben, da der C wahrscheinlich nur den Chan0 hat.

Also muß man wahrscheinlich über die "ADCACH0MUXCTRL" die Pins umschalten und für die einzelnen Pins messen und dann weiterschalten. Leider bekomme ich es nicht sauber ans laufen, aber es sieht besser aus. Irgendwo im Internet habe ich gelesen das man nach dem umschalten wohl einige Messungen verwerfen muss, da nach dem umschalten der ADC einen Moment braucht.

Ich will eine positive Spannung Messen, im "singleended" Mode gegen die interne INTVCC/1.6.
Kannst Du mir erklären, wie ich dann das Register ADCACH0MUXCTRL setzen muß? Dies ist mir trotz den Datenblättern nicht so klar.

Muss ich bei den Ports noch was anderes beim INIT anpassen als das für eine ADC Messung?
Code
  DDRA.0:= 0;  // 0=EINGANG  1=Ausgang
  DDRA.1:= 0;  // 0=EINGANG  1=Ausgang
  DDRA.2:= 0;  // 0=EINGANG  1=Ausgang
  DDRA.3:= 0;  // 0=EINGANG  1=Ausgang


Thorsten
Attachments
EvtlADC
Filename: 08-10-_2019_19-12-37.jpg
Filesize: 69.78 KB
Title: EvtlADC
Information: EvtlADC
Download counter: 111
Torsten
Benutzer
Avatar
Gender:
Location: Bad Doberan
Age: 59
Posts: 62
Registered: 11 / 2005
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 22:44  ·  #23
Hallo Thorsten,
nach dem Umschalten auf den nächsten Kanal könnte vielleicht das Flush Bit im Control A Register helfen.

Torsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: ADC Treiber mit ATXMega 384C3

 · 
Posted: 08.10.2019 - 23:54  ·  #24
Quote by Torsten

Hallo Thorsten,
nach dem Umschalten auf den nächsten Kanal könnte vielleicht das Flush Bit im Control A Register helfen.

Torsten

Hallo Torsten,

leider macht das keinen Unterschied, ob mit oder ohne Flush. Die C-Serie muss irgendeine Eigenheit haben, über die ich aber keine Doku finde. Ich befürchte langsam, dass bei diesem CHIP in einen anderen Modi gelesen werden muß.

Thorsten
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Page 3 of 6
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 17 · Cache Hits: 15   144   159 · Page-Gen-Time: 0.037424s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI