Forum: Mikrocontroller und Digitale Elektronik AT32UC3 Single endet Messungen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von 95Jan59 (Gast)


Lesenswert?

Hallo,

ich verwende für meine Bachelorarbeit den Microcontroller AT32UC3C2512c 
und möchte mit dem ADC single ended Messungen machen.

Das Arbeitsprinzip des differentiellen ADC habe ich bereits verstanden 
und weiß nun auch, dass dieser zwei Eingangssignale für eine ADC-Messung 
benötigt.

Problem ist folgendes: Meine Platine ist schon fertig...und ich habe in 
der Entwicklungsphase im Datenblatt nicht richtig erkannt dass man für 
den single ended Modus den negative ADC-Eingang auf Masse legen muss. 
Ich müsste nun also meine Leiterplatte aufkratzen und an einen ADC-Pin 
einen Pull Down Widerstand anbringen.

Da ich das vermeiden möchte ist die Frage, ob man auch intern den 
ADC-Kanal auf Masse ziehen kann. Im Datenblatt steht auch dazu ein 
Absatz, der mir leider nicht weiterhilft (S.1106 Datenblatt):
1
Differential / single ended
2
The ADC is fully differential. To perform single ended measures, the user can perform pseudo
3
unipolar conversions by connecting ground onto the negative input. User can connect it to an
4
external ground through pads or internal ground depending on if there's one connected onto the
5
negative input multiplexer. Since conversion results are always 12 bits in 2's complement representation,
6
the sign bit will not change, and then the resulting resolution is 11 bits max.

Es wird davon geredet, das der negative Eingangsmultiplexer auf Masse 
gelegt werden kann? wie ist das zu verstehen. Ich finde leider im 
Datenblatt nicht wie und wo man da etwas auf Masse legen kann.

Ebenfalls habe ich versucht einen internen Pull Down Widerstand am 
negative  ADC-input zu aktivieren. Dies geht allerdings nur wenn der Pin 
als GPIO definiert ist und nicht wenn er als ADC-Eingang verwendet 
wird....

Hat jemand von euch vielleicht eine Idee?

liebe Grüße,

Jan

von 95Jan59 (Gast)


Lesenswert?

push :)

haben denn so wenige Erfahrungen  mit der AT32UC3 Serie :/

von Peter D. (peda)


Lesenswert?

95Jan59 schrieb:
> haben denn so wenige Erfahrungen  mit der AT32UC3 Serie :/

Ja.
Die AVR32 waren der Versuch von Atmel, eine eigene 32Bit-Architektur auf 
die Beine zu stellen.
Der Versuch kann heute als gescheitert angesehen werden.
Die ARM-Cortex haben sich uneingeschränkt durchgesetzt.
Ich glaube nicht, das noch irgend jemand neue Projekte mit dem AVR32 
anfängt.

von 95Jan59 (Gast)


Lesenswert?

Peter D. schrieb:
> Ja.
> Die AVR32 waren der Versuch von Atmel, eine eigene 32Bit-Architektur auf
> die Beine zu stellen.
> Der Versuch kann heute als gescheitert angesehen werden.
> Die ARM-Cortex haben sich uneingeschränkt durchgesetzt.
> Ich glaube nicht, das noch irgend jemand neue Projekte mit dem AVR32
> anfängt.

okey, das wusste ich nicht... Ich habe bis jetzt noch nicht so viele 
Erfahrungen mit Controllerprogrammierung und bei mir ist diese Info wohl 
vorbeigezogen.
Ich habe den MCU gewählt, da seine Spezifikiationen für meine eher 
anspruchsvolle Projektaufgabe perfekt geeignet ist. Ziel ist es eine 
Stromregelung zu steuern. Dabei warden im 50kHz Zyklus interrupt 
gesteuert aus einer gemessenen Spannung die Sollwerte für die 
Stromregelung vorgegeben. Das ganze natürlich in Echtzeit.


Ich habe das Problem nun so gelöst, das ich einen einzigen ADC Pin 
Hardwareseitig auf Masse gelegt habe. Die anderen Signale, die ich 
wandeln möchte, beziehe ich nun immer auf diesen auf massepotential 
liegenden Referenzkanal.

von Root (Gast)


Lesenswert?

Hallo

a) du musst immer 2 Kanäle auswählen zwischen den dann diffentiel 
gemessen wird.

b) für single ended Messungen muss einer der beiden Kanäle Ground sein.

c) für diesen Zweck (b) stehen intern Signale am Multiplexer bereit.

Messungen sollten also ohne Änderung gehen.


Leider ist es in der Tat so dass die AVR32 nicht mehr weiter entwickelt 
werden. Dabei schmerzt mich besonders das der GNU Compiler auch nicht 
erneuert wird, und damit Standarts wie C++14, C++17 wohl nicht für die 
Entwicklung dieser Kontroller verwendet werden können.

von Peter D. (peda)


Lesenswert?

Root schrieb:
> c) für diesen Zweck (b) stehen intern Signale am Multiplexer bereit.

Ist wirklich sauschwer zu finden im Datenblatt:
S.1147: Table 36-17. INN0/1 selection
Letzte Zeile: 9 = GNDANA

Das Datenblatt ist riesig und der Chip extrem komplex. Gefühlt hat er 
mehr Konfigurationsmöglichkeiten als ein ATmega128 an Flash.

von 95Jan59 (Gast)


Lesenswert?

Peter D. schrieb:
> Root schrieb:
>> c) für diesen Zweck (b) stehen intern Signale am Multiplexer bereit.
>
> Ist wirklich sauschwer zu finden im Datenblatt:
> S.1147: Table 36-17. INN0/1 selection
> Letzte Zeile: 9 = GNDANA
>
> Das Datenblatt ist riesig und der Chip extrem komplex. Gefühlt hat er
> mehr Konfigurationsmöglichkeiten als ein ATmega128 an Flash.

vielen Dank!!!! genau das habe ich gesucht...Ist echt wahnsinn was man 
in diesen Datenblatt alles übersehen kann.

Das heißt ich muss bei meinem neuen Prototypen nicht an der Platine 
herumkratzen.

Der Controller ist schon echt eine Macht. Schade das der support 
eingestellt wurde...

Gruß,

Jan

von Stefan (Gast)


Lesenswert?

95Jan59 schrieb:
> Der Controller ist schon echt eine Macht. Schade das der support
> eingestellt wurde...

Das stimmt, vieles an Peripherie gab es damals nicht mal in der Cortex 
Welt. Z.b. eine FPU ( cm4 wurde erst von arm entwickelt). Aber das der 
Support eingestellt wurde stimmt nicht. Die Bauteile sind immer noch in 
Produktion und microchip verfolgt eine no-eol Politik. Support bekommst 
du direkt auf der microchip Seite. Als der avr32 rauskam war die Welt 
noch nicht reif genug für solche Kaliber. Da war man noch mit einem arm7 
glücklich und von cortex (luminary) wollte keiner was wissen...

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]
  • [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.