PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : STM32-F446 und ADC1-2



White_Fox
02.11.2015, 19:04
Hallo

Ich suche im Datenblatt verzweifelt die PINs, an denen die AD-Wandler ADC1 und ADC2 angeschlossen sind. Ich finde in der Pinbeschreibung lediglich unter "Aditional Functiions" ADC3, der an PortF geht. Aber ich finde nirgendwo eine Spur von ADC1-2. Am Anfang der Tabelle steht noch der Hinweis mit der I/O-Struktur:
"TTa - 3.3 V tolerant I/O directly connected to ADC". Aber kein einziger Pin trägt in der Tabelle das Prädikat TTa, meist sind alle nur FT.
Kann mir da jemand auf die Sprünge helfen?

Irgendwie finde ich das Dokumaterial von ST reichlich verwirrend.

Peter(TOO)
02.11.2015, 19:45
Hallo,

Grundsätzlich solltest du immer die genaue Typenbezeichnung angeben.

Je nachdem welche 3 Buchstaben da hinten dran stehen, hat der Chip 14, 16 oder 24 ADC-Channel.

Ein Teil der Pins ist für ADC 1, 2 und 3 sind gemeinsam., Bei den Pins als ADC123 Bezeichnet, z.B. PA0...3 ,PC0...3
PA4...7 gehen auf ADC1 & 2 (Bezeichnet als ADC12), ebenfalls PC4 & 5, PB0 & 1

Da war wohl ein Baum im Weg um den Wald zu sehen ;.-)

MfG Peter(TOO)

White_Fox
02.11.2015, 20:18
Ach, da wird doch schon so allerhand klarer. Herzlichen Dank. :)
Ja, wenn man es weiß ist es logisch.


Grundsätzlich solltest du immer die genaue Typenbezeichnung angeben.
Tja...ich bin ja noch am Suchen welchen ich überhaupt brauche, in der entsprechenden Beschreibung werden alle Gehäuseformen in einem Abwasch abgehandelt, LQFP64/100/144, WLCSP81 und UFBGA144. Das macht die Sache nicht einfacher. Ich will keinen unnötig riesigen Controller verwenden (ich halte sowas für miese Konstruktion), aber mir nutzen CAN und UART nix wenn ich beide brauche und die sich denselben PIN teilen.

Die ARM-Welt ist schon eine andere, wenn man bisher nur AVRs kennt. Die Auswahl an PINs und deren Verteilung/Funktionszuweisung ist geradezu erschlagend.

Peter(TOO)
02.11.2015, 21:37
Hallo,

Tja...ich bin ja noch am Suchen welchen ich überhaupt brauche, in der entsprechenden Beschreibung werden alle Gehäuseformen in einem Abwasch abgehandelt, LQFP64/100/144, WLCSP81 und UFBGA144. Das macht die Sache nicht einfacher. Ich will keinen unnötig riesigen Controller verwenden (ich halte sowas für miese Konstruktion), aber mir nutzen CAN und UART nix wenn ich beide brauche und die sich denselben PIN teilen.
Bei Stückzahlen kann das einiges ausmachen, deshalb gibt es oft auch die vielen Varianten mit unterschiedlich grossem Speicher.
Heute ist sind die I/O-Pins das Problem, auf den Chip bekommt man jede Menge an Features unter :-(


Die ARM-Welt ist schon eine andere, wenn man bisher nur AVRs kennt. Die Auswahl an PINs und deren Verteilung/Funktionszuweisung ist geradezu erschlagend.
Naja, das ist wie mit den Programmiersprachen, ab der 3ten Sprache wird es einfach, so lange man innerhalb der prozeduralen Sprachen bleibt.

Ähnlich ist es mit den Datenbüchern, Jeder Hersteller baut die etwas anders auf aber jeder Hersteller hat sein eigenes modulares System.
Auch sind die Peripherie-Module, selbst bei unterschiedlichen CPUs des selben Herstellers, meist recht ähnlich. Meistens ist die Entwicklung heute evolutionär, da werden dem Modul einfach immer wieder neue Tricks beigebracht.

Mit der Zeit, weiss man worauf man bei der Auswahl alles achten muss. Wie du schon richtig erkannt hast, ist nicht die Summe der Peripherie massgebend, sondern, welche Kombinationen daraus gleichzeitig verwendbar sind.

Als guter Hardware-Entwickler muss man immer auch die Software im Auge behalten. Im Prinzip kann man die Bits eines BCD-Schalters wild auf die Ports verteilen, die Software muss sich dann aber die Bits zusammensuchen und irgendwie wieder ins BCD-Format bringen, das erzeugt dann aber viel Code und benötigt Laufzeit.
Manche schnelle oder komplexe PWM-Geschichten lassen sich auch besser per DMA und einer Tabelle als mit einem PWM-Modul realisieren.

MfG Peter(TOO)

White_Fox
03.11.2015, 07:06
Naja, meine Stückzahlen sind überschaubar: Genau 1 plus Ersatzteile.

Über die Programmierung brüte ich auc schon einige Ideen aus. Da der Käfer anscheinend in jedem Fall mehr AD-Eingänge zur Verfügung stellt als ich brauche hab ich überlegt, trotzdem alle AD-Wandler zu nutzen und meine Sensoren so zu verteilen, daß ich alle AD-Wandler immer der Reihe nach abfrage. Wenn der erste Wandler seine Berechnung fertig hat kann er schon mit der Wandlung des nächsten Kanals anfangen während ich den nächsten (und vielleicht übernächsten) Wandler abfrage.

Ein Wandler wäre zwar schnell genug für alle Sensoren (mindestens 7), aber die Wandler sind ja so oder so da, also warum nicht nutzen. Außerdem hab ich grad festgestellt daß sich das mit der Kombination der restlichen Funktionen besser macht. :)


Übrigens ist mir grad aufgefallen warum ich das mit den ADC123 nicht gesehen habe: der Drucker (solche Arbeiten mache ich am liebsten mit richtigem Papier wo ich drin rumschmieren kann) hat mir alle Seiten unterschlagen wo diese aufgeführt waren. Nur der ADC3 tauchte in meinem Ausdruck auf. Warum auch immer...