Halli Hallo
Ich bin auf der suche nach einem etwas grösseren Mikrocontroller, leider
weiss ich aber nicht ob ein solcher mit meinen Wünschen existiert...
Die ganzen AVR / PIC Übersichten haben mir nicht gross weitergeholfen,
da in diesem meist nur Anzahl ADC Inputs angegeben sind... was ich suche
sind aber DAC.
Folgendes muss der Controller erfüllen:
- 1xUART
- 1xSPI
- 4x Analog / Digital Converter
- 8x Digital / Analog Converter (Existiert sowas? Alle 8 Werte müssen
gleichzeitig ausgegeben werden können!)
- Vorzugsweise PIC, AVR auch möglich.
Kennt jemand von euch so ein Teil? Preis spielt erst einmal keine all zu
grosse Rolle.
Desweiteren: Ja, ich kenne das Verfahren eine Spannung mittels eines
PWM's zu erzeugen. Problematisch ist nur, dass das ganze relativ schnell
und Präzise sein sollte. Trotzdem, für den Fall der Fälle frage ich auch
hier einmal:
- Kennt jemand einen uC mit 8 PWM Outputs?
Vielen Dank für eure Hilfe!
Gruss
Hallo,
schoneinmal über externe Bausteine nachgedacht, über SPI oder I2C
angesteuert ?
Da gibt es einige zur Auswahl und der Aufwand ist auch nicht besonders
groß.
Maik S. schrieb:> Hallo,>> schoneinmal über externe Bausteine nachgedacht, über SPI oder I2C> angesteuert ?>> Da gibt es einige zur Auswahl und der Aufwand ist auch nicht besonders> groß.
Funktioniert bei meiner Anwendung leider nicht ganz so einfach. Der
Platz ist sehr stark eingeschränkt. Zudem sollten die Werte wie bereits
erwähnt, schnell aktualisiert sein. Bis du 8 Digitalwerte an deine 8 DAC
über I2C oder SPI gesendet hast, vergeht schon ein bisschen Zeit. Nach
meinen Berechnungen eben leider zu viel Zeit.
Suchender schrieb:> Maik S. schrieb:>> schoneinmal über externe Bausteine nachgedacht, über SPI oder I2C>> angesteuert ?> Funktioniert bei meiner Anwendung leider nicht ganz so einfach. Der> Platz ist sehr stark eingeschränkt.
Wie eingeschränkt?
> Zudem sollten die Werte wie bereits erwähnt, schnell aktualisiert sein.
Wie schnell?
Je präziser deine Fragestellung ist, desto präziser kann eine Antwort
sein. Die Wandlungsbreite von ADC/DAC hast du z.B. auch nicht genannt.
XL
Suchender schrieb:> Maik S. schrieb:>> Hallo,>>>> schoneinmal über externe Bausteine nachgedacht, über SPI oder I2C>> angesteuert ?>>>> Da gibt es einige zur Auswahl und der Aufwand ist auch nicht besonders>> groß.>> Funktioniert bei meiner Anwendung leider nicht ganz so einfach. Der> Platz ist sehr stark eingeschränkt. Zudem sollten die Werte wie bereits> erwähnt, schnell aktualisiert sein. Bis du 8 Digitalwerte an deine 8 DAC> über I2C oder SPI gesendet hast, vergeht schon ein bisschen Zeit. Nach> meinen Berechnungen eben leider zu viel Zeit.
Gehts vielleicht etwas konkreter?
- Wie schnell muss es sein?
- Wieviel Platz ist vorhanden?
Hallo,
so etwas wirst Du nicht fertig finden. Ich habe bei meinen letzten
Projekt
externe DAW mit 8-bit parallel Ansteuerung verwendet (AD7524). Damit
gehts schnell.
Gruß Peter
Axel Schwenke schrieb:> Wie eingeschränkt?
Stark eingeschränkt. Zu stark eingeschränkt um da wietere IC's zu
platzieren. Bleibt vielleicht Platz für ein paar wenige Widerstände und
Kondensatoren der Beugrösse 0402.
Axel Schwenke schrieb:> Wie schnell?
Die ganzen Werte sollten rund alle 5 bis max. 10 ms erneuert werden.
Axel Schwenke schrieb:> Je präziser deine Fragestellung ist, desto präziser kann eine Antwort> sein. Die Wandlungsbreite von ADC/DAC hast du z.B. auch nicht genannt.
Bereich 0V - 2,5V, von 0V - 5V auch in Ordnung. 8 Bit Auflösung dürfte
reichen.
Peter71 schrieb:> Hallo,> so etwas wirst Du nicht fertig finden.
Hmm. Das sehen Leute aus anderen Online Foren anders. Gerade eben wurde
mir folgender Controller Vorgeschlagen:
ADuC7122
(http://www.analog.com/static/imported-files/data_sheets/ADuC7122.pdf)
Sieht mit seinen 12 DAC Outputs doch schonmal ganz nett aus. Bleibt
natürlich die Frage, wie schnell das ganze ist, werde ich mich nun mal
drum kümmern.
jemand schon Erfahrungen gemacht mit dem Controller?
Hi,
mit dem Controller nicht, aber ARM7TDMI ist eine nicht mehr sonderlich
aktuelle Architektur mit ihren Tücken. Wenn du einen passenden uC in ARM
Cortex Architektur findest, ist die definitiv vorzuziehen.
LG Jan
Suchender schrieb:>> Wie schnell?>> Die ganzen Werte sollten rund alle 5 bis max. 10 ms erneuert werden.
Das ist doch schnarch-langsam.
Der einfache interen von z.B. MSP aka. MSP430-ADC10 macht 200kS/s
Also alle 5us einen Messwert. Bie 8 Werten. hast du für 5ms also noch
4,960ms Zeit die Kanäle zu wechseln oder sonstiges zu erledigen.
Wie groß darf denn der Zeitliche Abstand zwischen den Kanälen maximal
sein?
<1ps ... <1us .. <1ms .. <1s ... sind alles nur verschiedene Auffassung
von "Gleichzeitig"
Maxx schrieb:> Wie groß darf denn der Zeitliche Abstand zwischen den Kanälen maximal> sein?
Wie gesagt, ca. alle 5 - 10 ms sollten die Kanäle aktualisiert werden
können. Die Zeit, welche der Rest der Software in Anspruch nimmt ist da
bereits weggerechnet.
Maxx schrieb:> Das ist doch schnarch-langsam.>> Der einfache interen von z.B. MSP aka. MSP430-ADC10 macht 200kS/s> Also alle 5us einen Messwert.
Sogesehen ist es in der tat langsam. Regelt man das ganze aber über I2C
oder SPI mit externen DAC wie hier einige Vorgeschlagen haben, kann das
dann doch schnell mal ne gewisse Zeit dauern. Zudem fehlt der Platz für
externe Schaltungen, so wäre ein uC mit 8 integrierten DAC optimal.
Von euch kennt niemand zufällig ne nette Liste mit einer Übersicht der
ARM Cortex Controllern, welche auch DAC Kanäle beinhaltet? Finde nur
solche mit ADC Outputs...
Vielen dank!
...sollte es da nicht wie immer suchmasken bei den herstellern geben, wo
du einfach auf ">8 DAC" klickst? Und ein großer uC kann vom Platz her
vll auch durch einen kleinen uC + 8 Ch DAC ersetzt werden? Aber "all in
one" ist natürlich besser.
Klaus.
Klaus R. schrieb:> ...sollte es da nicht wie immer suchmasken bei den herstellern geben, wo> du einfach auf ">8 DAC" klickst?Suchender schrieb:> Finde nur> solche mit ADC Outputs
Fraglich, wieso niemand so eine Option anbietet. :(
Suchender schrieb:> Klaus R. schrieb:>> ...sollte es da nicht wie immer suchmasken bei den herstellern geben, wo>> du einfach auf ">8 DAC" klickst?>> Suchender schrieb:>> Finde nur>> solche mit ADC Outputs>> Fraglich, wieso niemand so eine Option anbietet. Vielleicht seh ichs auch
einfach nur nicht. Aber bisher nur bei einer AVR Familie die Option gefunden, und
da waren lediglich 4 Controllers aufgelistet.
Hi,
Suchender schrieb:> Stark eingeschränkt. Zu stark eingeschränkt um da wietere IC's zu> platzieren. Bleibt vielleicht Platz für ein paar wenige Widerstände und> Kondensatoren der Beugrösse 0402.
Was bedeutet das den in mm?
µC gibt es ja in den unterschiedlichsten Größen, der von dir erwähnte AD
µC will 49mm^2, so manch anderer kommt mit 16mm^2 aus. Und halt vieles
dazwischen!
Suchender schrieb:> Axel Schwenke schrieb:>> Wie schnell?>> Die ganzen Werte sollten rund alle 5 bis max. 10 ms erneuert werden.
Das ist ja noch recht gemütlich... Bei 8Bit also eine Nettodatenrate von
ca. 64Kbyte/s. Das könnten noch viele 8Bit µc bewerkstelligen. (Egal ob
Extern oder Intern) Je nachdem was sonst noch passieren muss.
Suchender schrieb:> Gerade eben wurde mir folgender Controller Vorgeschlagen:> ADuC7122> (http://www.analog.com/static/imported-files/data_sheets/ADuC7122.pdf)> Sieht mit seinen 12 DAC Outputs doch schonmal ganz nett aus. Bleibt> natürlich die Frage, wie schnell das ganze ist, werde ich mich nun mal> drum kümmern.
Im DS finde ich dazu interessanterweise nichts. Oder bin ich blind?
Aber wenn ich mir das Funktionsprinzip ansehe glaube ich kaum das
100-200Hz pro DAC da ein echtes Problem darstellen würden.
Aber das es sich bei dem µC um ein nur im 108 Pin BGA Gehäuse
erhältlichen Typ handelt hast du gesehen? Also vom Prototyp an nur mit
Proffessionell gefertigter 4 Lagen Platine (wenn nicht mehr!) und
Bestückung im REflowverfahren möglich. Je nach Anwendung ist das dann
kein Problem oder aber schon ein KO. Das musst du halt abwägen.
Falls in zusammenarbeit mit einem mechanisch kleinen µC doch ein kleiner
externer Wandler in Frage kommt könntest du dir mal entweder den AD5308
(8x DAC) mit 8x5mm oder aber den Einsatz von 2 AD5304 (je 4xDAC) mit
nur 3x3mm Grundfläche auf Machbarkeit überprüfen.
Jan Berg schrieb:> mit dem Controller nicht, aber ARM7TDMI ist eine nicht mehr sonderlich> aktuelle Architektur mit ihren Tücken.
Naja, das ist halt ein sehr spezieller Baustein. Da geht es dann um
sichere und im Kernbereich fehlerfreie Funktion und nicht um die jeweils
aktuellste Architektur. In diesen Nischensegmenten wird ohne Not nur
selten der Kern gewechselt...
Gruß
Carsten
Suchender schrieb:> Sogesehen ist es in der tat langsam. Regelt man das ganze aber über I2C> oder SPI mit externen DAC wie hier einige Vorgeschlagen haben, kann das> dann doch schnell mal ne gewisse Zeit dauern. Zudem fehlt der Platz für> externe Schaltungen,
Der Platz ist in der Tat ein Problem. Aber um da genaues zu sagen müsste
man deine genauen Abmessungen kennen (und ob doppelseitige Bestückung
möglich!)
Aber Geschwindigkeit ist bei externen DAC nicht das Problem. Deine
gemütlichen 5-10ms zwischen den Updates sind selbst mit RS232 doch noch
drin.
Die 5304 und 5308 können beispielsweise mit bis zu 30MHz SPI Clock
angesteuert werden. Da ist VIEL Luft.
Suchender schrieb:> einfach nur nicht. Aber bisher nur bei einer AVR Familie die Option> gefunden, und> da waren lediglich 4 Controllers aufgelistet.
Nun Ja:
DAC ist momentan noch eher selten Anzutreffen. Und ganz sicher nicht mit
vielen Kanälen.
Diese µC mit vielen DAC Kanälen sind halt eine Nischenanwendung die nur
von wenigen Spezialisten bedient wird. Werden ja auch Analog (Spezial)
µC beworben.
Der von dir verlinkte µC kommt daher ja auch von einem HErsteller
(Marktführer? Oder ist das TI) mit absoluten Schwerpunkt im Bereich der
Analogen Halbleitertechnik. Das ist kein Zufall!
Gruß
Carsten
Carsten Sch. schrieb:> Im DS finde ich dazu interessanterweise nichts. Oder bin ich blind?
Stimmt, es gibt keine direkte Angabe (Glaube ich... ansonsten sind wir
wohl beide blind.) Aber von der Zeit her dürfte das schon herkommen.
Carsten Sch. schrieb:> Je nachdem was sonst noch passieren muss.
Das ist noch ein bisschen Unklar. Die Software wird allerdings ziemlich
Umfangreich sein. (Schon jetzt sinds über 12'000 Zeilen C Code), was da
noch alles dazu kommt wird sich im laufe des Projektes zeigen. Ums auch
mal erwähnt zu haben: Es geht um ein spezielles Messgerät welches auf
einem Oktokopter platziert werden soll, daher auch der stark
eingeschränkte Platz.
Carsten Sch. schrieb:> Aber das es sich bei dem µC um ein nur im 108 Pin BGA Gehäuse> erhältlichen Typ handelt hast du gesehen?
Habe ich. Das ganze zu Löten wäre kein Problem, alles dafür vorhanden.
Die grösse des Controllers ist natürlich schon gross, aber an dem Teil
hängen schlussendlich noch weitaus mehr Sachen dran, weit unter 64 Pin's
werden wir kaum durchkommen.
Suchender schrieb:> - Vorzugsweise PIC, AVR auch möglich.
Kann dir schon jetzt sagen: Einen PIC wirst du nicht finden. Ausser die
Dinge wären mir noch nicht bekannt, aber ich habe selbst schon mal
ettliche Stunden mit der Suche verbracht.
Suchender schrieb:> Hmm. Das sehen Leute aus anderen Online Foren anders. Gerade eben wurde> mir folgender Controller Vorgeschlagen:> ADuC7122
Habe meine Abschlussarbeit vor einigen Wochen mit einem ADuC7020
gemacht. Lief perfekt, auch wenn die Architektur in den Augen manchen
"veraltet" ist, denke ich, kann man trotzdem problemlos damit arbeiten.
Solange sie ihre Funktion erfüllen, warum nicht?
Suchender schrieb:> Das ist noch ein bisschen Unklar. Die Software wird allerdings ziemlich> Umfangreich sein.
Wie bereitss weiter oben schonmal geschrieben wurde, Externe DAC können
schon mal mit bis zu 30 MHz laufen. Bleibt also viel Platz.
Ansonsten ein nettes Stichwort: DMA (Direct Memory Access)
Dabei geht es darum, dass beispielsweise ein DA Wandler direkt auf den
speicher des uC's zugreiffen kann, ohne umwege über die CPU machen zu
müssen. Sparrt Zeit.
Entweder den von dir geposteten ADuC7122 verwenden (kann ich Empfehlen,
soll laut dir ja kein Problem sein das Teil anzulöten), oder halt auf
externe DAC's umstellen.
Verschwende nicht zu viel Zeit mit der Suche. Habe ich bei meiner
Abschlussarbeit auch, kann dir sagen, führt zu nichts. Viel mehr als die
ADuC Serie bietet sich kaum an. In Cortex Architektur wäre ein
Controller mit 4 DAC Outputs das höchste, was ich kenne.
Falls es dich interessiert, hier:
http://www.analog.com/en/processors-dsp/analog-microcontrollers/products/index.html
Das ist ja echt langsam. Es gibt z.B. noch den/die MAX5823-MAX5825
(8/10/12bit). Hat 20 Pins und im WLP Package 2,3x2,5mm Groß. Durch I2C
brauchst du ansich nur 2 Leitungen vom uC zum DAC und hast vermutlich
eine bessere interne Referenz als im uC. Man kann auch eine externe
Referenz anschließen. Es sollte sogar eine Doublelayer Platine reichen,
da das quasi BGA Gehäuse nur 4 Reihen an Balls hat. Vom Platz her dürfte
es kleiner sein, als für 8 PWM Kanäle jeweils ein RC Glied und
vielleicht sparst du dir auch ein Größeres Gehäuse vom uC. 400kHz sind
auch Masse für 200Hz Output-Aktualisierung. Somit kannst du auch ein uC
nehmen, wo du schon Tools, Software und Erfahrung hast. Da dann auch ein
sehr kleines Gehäuse... Bei PICs z.B. QFN64 mit 9x9mm, oder wenn das
nicht reicht 121 TFBGA mit 10x10mm (dann wirds aber nichts mehr mit 2
Layer).
>Folgendes muss der Controller erfüllen:>......>- 8x Digital / Analog Converter
Sowas gibts nicht (höchsten bei totalen Exoten, die man nicht bezahlen
kann),
bestenfalls 2 eingebaute DACs, aber nicht mehr.
https://www.microchip.com/maps/microcontroller.aspx
Bei PICs gibt es maximal 4 interne DACs, das sind dann aber 8-bit
Varianten.
Üblicher sind 2 DACs.
8 PWM Module, zusammen mit dem ganzen Rest ist jedoch nichts besonderes
und dort findest du genügend Varianten. Jedoch brauchst du dann für
jeden Kanal einen Tiefpass, braucht also auch wieder Platz.
Alternativ kannst du dir überlegen ob du wirklich für alle 8 Kanäle
einen DAC brauchst, oder für 6 eine PWM reicht und für 2 der DAC.
Aber anstatt einen fetten uC kannst du ja auch einen kleinen und dazu
einen externen 8-Kanal DAC verwenden, wie Michael Skropski empfohl.
Frank M. schrieb:> Aber anstatt einen fetten uC kannst du ja auch einen kleinen und dazu> einen externen 8-Kanal DAC verwenden, wie Michael Skropski empfohl.
Z.B. DAC128S085
8 Kanäle, Daten können im Hintergrund an den DAC geschickt werden und
mit einem Kommando sagst Du dem DAC, er möge jetzt alle seine Ausgänge
neu setzen.
Misst 4x4mm, dann noch einen kleinen Controller daneben und fertig.
>> Die ganzen Werte sollten rund alle 5 bis max. 10 ms erneuert werden.>Das ist doch schnarch-langsam
Ja. Das geht sogar mit kleinsten uCs!, mit 8x soft-pwm.
Und ich würde nicht eine Controller-Familie nur anhand irgentwelcher
exotischer Periferie wählen, da ist man schnell in ner Sackgasse.
8x DAC braucht i.d.R. kein Mensch.