Forum: Mikrocontroller und Digitale Elektronik 32 Bit MCU gesucht


von Conrad J. (Gast)


Lesenswert?

Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser, nicht 
umgehbarer floating point Operationen an seine Grenzen stößt und die 
Berechnungen für die Einstellung eines Messinstruments zu lange dauern. 
Der wird außerdem nur mit 8MHz betrieben.

Ich würde daher gerne langfristig mal auf eine 32 bit Architektur 
umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz 
betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU 
vorhanden ist.

Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her 
das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach 
handhaben lassen?

von Flachtroll (Gast)


Lesenswert?

Wegen ein paar Floatingpoint Rechnugen fuer eine Anzeige ? Wieviel 
Updates pro Sekunde benoetigst du ? Mehr als 3 pro Sekunde sind sowieso 
zu nervoes fuer den Benutzer.
Bleib beim ATMega. Allenfalls nicht blockierend programmieren, dann 
wird's auch schneller.

von Jochen (Gast)


Lesenswert?

Conrad J. schrieb:
> Kann mir jemand vielleicht MCUs empfehlen,

Sieh Dir doch mal die STM32-Serien von ST an.

von Conrad J. (Gast)


Lesenswert?

Flachtroll schrieb:
> Wegen ein paar Floatingpoint Rechnugen fuer eine Anzeige ? Wieviel
> Updates pro Sekunde benoetigst du ? Mehr als 3 pro Sekunde sind sowieso
> zu nervoes fuer den Benutzer.

Es geht nicht um anzeigen, sondern um Werte einzustellen für eine 
Messrampe. Das muss deutlich öfter als 3 mal in der Sekunde passieren.

von J. S. (jojos)


Lesenswert?

Eine unendlich oft gestellte Frage hier.
Die C/C++ Programmierung sieht erstmal gleich aus, die Peripherie und 
Core Features machen den Unterschied. Low Level Registerprogrammierung 
wie bei den AVR geht auch, nur sind die devices viel komplexer und man 
muss meist mehr einstellen. Dafür gibt es dann viel fertige 
Unterstützung vom Hersteller oder Drittherstellern.

von nix gibts (Gast)


Lesenswert?

ESP32 + Arduino und fertig. Was Arduino an Rechenleistung verschenkt 
bringt der ESP dafür umso reichlicher mit.

STMs sind wie das meiste Zeug aktuell Unobtainium, ESP32 gibts als 
NodeMCU zurzeit problemlos und günstig ($5,20/Stck. und weniger).

von Horst S. (h3aau)


Lesenswert?

moin,
ich bin da bei den Teeny's gelandet. der 4.1 ist ein echter hammer.
die sind auch unter arduino zu bearbeiten.

https://www.pjrc.com/
gruss Horst

von Falk B. (falk)


Lesenswert?

Conrad J. schrieb:
> Es geht nicht um anzeigen, sondern um Werte einzustellen für eine
> Messrampe. Das muss deutlich öfter als 3 mal in der Sekunde passieren.

Kann schon sein, aber auch das schafft ein AVR ziemlich zügig. Die 
größte Begrenzung sitzt meistens vor der Tastatur.

Warum nur 8 MHz? 3,3V Betrieb? Die neueren ATXmega können bei 3,3V bis 
32MHz, da ist schonmal Faktor 4 kostenlos erreicht.

Und last but not least gibt es Festkommaarithmetik, die in vielen 
Fällen ausreichend und schneller ist.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Conrad J. schrieb:
> Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser,
> nicht umgehbarer floating point Operationen an seine Grenzen stößt

Das "nicht umgehbar" zweifle ich mal stark an. Floating point scheint 
zwar auf den ersten Blick das Schweizer Taschenmesser zu sein. Aber bei 
vielen Ausgabenstellungen reicht auch Integer. Notfalls lang (bis 64 Bit 
kann der gcc) und/oder als Fixpoint-Arithmetik. Und wenn es um Rampen 
geht, die kann man auch vorberechnen.

> Der wird außerdem nur mit 8MHz betrieben.

Er könnte aber mit 16MHz betrieben werden und wäre dann doppelt so 
schnell. Was spricht dagegen?

> Ich würde daher gerne langfristig mal auf eine 32 bit Architektur
> umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz
> betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU
> vorhanden ist.

32 Bit µC sind eine ganz andere Liga. Aber auch die werden entsprechend 
langsamer, wenn du sie mit Taktfrequenzen weit unter ihren Möglichkeiten 
betreibst. Und eine floating point Lib ist auch da langsamer als die 
FPU.

> Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her
> das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach
> handhaben lassen?

Gibts nicht. Etwas umlernen mußt du schon. Und im Moment wäre das 
wichtigste Kriterium wohl ohnehin Verfügbarkeit. Es sei denn, dein 
"langfristig" von oben meint mehrere Jahre.

von PittyJ (Gast)


Lesenswert?

Nimm einen Arm-M4 oder. Die haben FPU.
Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend 
notwendig in Floating Point. Und auf dem M0 (ohne FPU) brauchte es doch 
Rechenzeit, die dann für was anderes fehlte.

Aktuell habe ich eine STM H7. Ist aber sehr in der oberen Liga. Dafür 
angenehm zu benutzen und sehr viel Leistung.

von Stefan F. (Gast)


Lesenswert?

Wenn 3,3V OK sind würde ich mir mal den RP2040 anschauen, den kann man 
wenigstens kaufen.

Mein aktueller Favorit ist der STM32F303, davon habe ich auch genug 
vorrätig. Aber die gebe ich nicht her.

von Falk B. (falk)


Lesenswert?

PittyJ schrieb:
> Nimm einen Arm-M4 oder. Die haben FPU.
> Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
> notwendig in Floating Point.

Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu 
UNBEDINGT ne FPU braucht?

> Und auf dem M0 (ohne FPU) brauchte es doch
> Rechenzeit, die dann für was anderes fehlte.

Glaub ich nicht.

> Aktuell habe ich eine STM H7. Ist aber sehr in der oberen Liga. Dafür
> angenehm zu benutzen und sehr viel Leistung.

Für die faulen und unfähigen Programmierer. Nicht immer, aber oft.

von Michael M. (Gast)


Lesenswert?

Falk B. schrieb:
> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
> UNBEDINGT ne FPU braucht?

Das hab ich mich auch gefragt... hier mal mit Nano auf 16Mhz

Für 1 berechnungen hat:
calc int = 13 berechnet in 4 microSekunde.
calc long = 13 berechnet in 4 microSekunde.
calc float = 13.00 berechnet in 12 microSekunde.
---------
Für 10 berechnungen hat:
calc int = 40 berechnet in 4 microSekunde.
calc long = 40 berechnet in 8 microSekunde.
calc float = 40.00 berechnet in 96 microSekunde.
---------
Für 100 berechnungen hat:
calc int = 310 berechnet in 4 microSekunde.
calc long = 310 berechnet in 4 microSekunde.
calc float = 310.00 berechnet in 1064 microSekunde.
---------
Für 1000 berechnungen hat:
calc int = 3010 berechnet in 4 microSekunde.
calc long = 3010 berechnet in 8 microSekunde.
calc float = 3010.00 berechnet in 9020 microSekunde.
---------
Für 10000 berechnungen hat:
calc int = 30010 berechnet in 4 microSekunde.
calc long = 30010 berechnet in 4 microSekunde.
calc float = 30010.00 berechnet in 97404 microSekunde.

selbst bei 1000 Berechnungen brauch er nur 1ms.

von Michael M. (Gast)


Lesenswert?

oh warte da passt was nicht :/

von PittyJ (Gast)


Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>> Nimm einen Arm-M4 oder. Die haben FPU.
>> Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
>> notwendig in Floating Point.
>
> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
> UNBEDINGT ne FPU braucht?

Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit 
beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und 
anschliessender Taupunkt Berechnung.

Das frickel nicht selber auf Ints um. Wenn sich in der Maschine 
plötzlich Kondenswasser bildet, will ich nicht Schuld sein. Da nehme ich 
dann lieber die Originalformeln.

Ausserdem mußten gleichzeitig noch diverse andere Dinge stattfinden. An 
der CPU sind noch ca 12 weitere Sensoren und 3 Kommunikationskanäle.

Manche Leute machen mehr, als nur einen Sensor an ihren AVR 
dranzufädeln.
Da nehme ich einen Prozessor mit FPU, und habe meine Ruhe.

von Alltag in Embedded (Gast)


Lesenswert?

PittyJ schrieb:

>> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
>> UNBEDINGT ne FPU braucht?
>
> Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit
> beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und
> anschliessender Taupunkt Berechnung.
>
> Das frickel nicht selber auf Ints um.

Ich glaube nicht, das es keine reputable floatin point emulation/library 
für den avr gibt.
Und so ein taupunkt schlägt nicht alle milisekunden um, da ist schon 
eine Berechnung pro Sekunde mehr als genug.  Die NASA hat schliesslich 
mit Transistorcomputern auch den Mond getroffen.

von Falk B. (falk)


Lesenswert?

PittyJ schrieb:
> Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit
> beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und
> anschliessender Taupunkt Berechnung.
>
> Das frickel nicht selber auf Ints um. Wenn sich in der Maschine
> plötzlich Kondenswasser bildet, will ich nicht Schuld sein. Da nehme ich
> dann lieber die Originalformeln.

Vollkommen OK.

> Ausserdem mußten gleichzeitig noch diverse andere Dinge stattfinden. An
> der CPU sind noch ca 12 weitere Sensoren und 3 Kommunikationskanäle.

Auch OK. Aber ehe eine 32 BIT CPU, auch wenn es nur ein AMR-M0 ist, in 
die Knie geht, muss schon einiges passieren. Meistens ist es das 
schlechte Konzept.

> Manche Leute machen mehr, als nur einen Sensor an ihren AVR
> dranzufädeln.
> Da nehme ich einen Prozessor mit FPU, und habe meine Ruhe.

Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen 
Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber 
nicht gut finden.

Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM 
viel CPU-Leistung gebraucht wird.

von Peter D. (peda)


Lesenswert?

Conrad J. schrieb:
> Es geht nicht um anzeigen, sondern um Werte einzustellen für eine
> Messrampe.

Für eine Rampe muß man nicht sämtliche Berechnungen bei jedem 
Einzelschritt vom Urschleim her neu machen. Es reicht, wenn man 
konstante Operationen aus der Schleife herauszieht und nur das 
berechnet, was wirklich neu ist.

von ... (Gast)


Lesenswert?

> Und auf dem M0 (ohne FPU) brauchte es doch
> Rechenzeit, die dann für was anderes fehlte.

> Wenn 3,3V OK sind würde ich mir mal den RP2040 anschauen, den kann man
> wenigstens kaufen.

Das ist ein stinkender M0!
Es sind sogar zwei stinkende M0!

> Mein aktueller Favorit ist der STM32F303, davon habe ich auch genug
> vorrätig. Aber die gebe ich nicht her.

Das hebt nicht mal Rosemarie Nitribit an.
Auch dem fehlt die FPU.

von Harry L. (mysth)


Lesenswert?

... schrieb:
> Auch dem fehlt die FPU.

natürlich hat der eine FPU!
Das ist ein Cortex-M4

von Stefan F. (Gast)


Lesenswert?

... schrieb:
> Das ist ein stinkender M0!

Na und? Wenn er vorher mit 8 MHz klar kam sind 133 MHz ein großer 
Sprung, auch wenn so ein ARM für gleiche Aufgaben ein paar mehr Takte 
braucht, als AVR. Außerdem hat der TO geschrieben, dass er keine FPU 
braucht.

von Alltag in Embedded (Gast)


Lesenswert?

Also wenn man auf einem C64 Fraktale berechnet hat, dann ein AVR auch 
einen poopligen Taupunkt berechnen:

https://www.stefanbion.de/fraktal-generator/history.htm

von Erdbeere (Gast)


Lesenswert?


von Patrick C. (pcrom)


Lesenswert?

Conrad J. schrieb:
> Kann mir jemand vielleicht MCUs empfehlen,

Also meine wahl ist der PSOC5lp weil :
* 32 bit / 256MBit
* Eingebauter 1x Hohe genauigkeits- deltasigma ADC
* Eingebauter 2x SAR ADC
* Eingebauter 4xDAC mit Strom/Spannung-ausgang
* Eingebauter DC/DC converter speisung ab 0.8V
* Speisung bis 5V
* Pro port unterschiedliche Vcc moeglich
* Viele hardware moeglichkeiten eingebaut (Opamps, 4xDAC 
Strom/Spannung...)
* ... Die unabhangig von controller selber funktionieren koennnen
* Flexibele clock-speed moeglichkeiten >> Low power vs High speed
* Viele libraries angeboten durch Hersteller
* Devboards $10 incl programmer
Also viel eingebaute peripherals, nicht viel externe Komponenten 
benoetigt

Nur... was heute oft das problem ist ob die chips jetzt verfuegbar sind 
(bei viele Hersteller)

Patrick aus die Niederlaende

von Falk B. (falk)


Lesenswert?

Patrick C. schrieb:
> Also meine wahl ist der PSOC5lp weil :

... eierlegende Wollmilchsau ....

Ist oft nicht das Mittel der Wahl, weil man das Meiste in einem Projekt 
gar nicht braucht. Als Experimentierplattform natürlich sehr angenehm.

von PittyJ (Gast)


Lesenswert?

Falk B. schrieb:
> Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM
> viel CPU-Leistung gebraucht wird.

Nö wozu auch. Geplant sind 1000 Einheiten. Kostet eine CPU 5 Euro mehr, 
weil sie genug Leistung hat, ich aber 2 Monate Entwicklung einspare, 
dann hat die Firma mehr verdient als durch eine Spar-CPU.
Und da nehme ich die CPU, die ich schon kenne, selbst wenn die 50 
Prozent überdimensioniert ist. Da kenne ich alle Probleme, die 
Arbeitsumgebung ist eingerichtet, die API vertraut.
Da analysiere ich keinen Monat, ob ich evtl 1/3 Flash weniger brauche, 
und nehme dann was unbekanntes mit alles Risiken.

von Patrick C. (pcrom)


Lesenswert?

Falk B. schrieb:
> Ist oft nicht das Mittel der Wahl, weil man das Meiste in einem Projekt
> gar nicht braucht.

Fuer die art der Projekten die ich mache ist er ja super. Ich design auf 
maximaler version, wenn design fertig kann ich noch wenn noetig 
preisweter machen mittels pin-compatible version der weniger resourcen 
hat.
Jetzt musz ich sagen das bei meine Projekten die stuckzahl wenig ist und 
die Kosten 90% gemacht werden waerend entwicklung, nicht warende die 
Produktion.

Dann ist ein Flexibeler Processor mit viel resources prima.

Patrick aus die Niederlaende

von Ingo Less (Gast)


Lesenswert?

Patrick C. schrieb:
> Also meine wahl ist der PSOC5lp weil :
> * 32 bit / 256MBit
> * Eingebauter 1x Hohe genauigkeits- deltasigma ADC
> * Eingebauter 2x SAR ADC
> * Eingebauter 4xDAC mit Strom/Spannung-ausgang
> * Eingebauter DC/DC converter speisung ab 0.8V
> * Speisung bis 5V
> * Pro port unterschiedliche Vcc moeglich
> * Viele hardware moeglichkeiten eingebaut (Opamps, 4xDAC
> Strom/Spannung...)
Sigma-Delta und interner DC/DC. Dachte immer, sowas schließt sich von 
selbst aus. Ansonsten is das schon ganz schön krass, wass der an Bord 
hat.

von Falk B. (falk)


Lesenswert?

PittyJ schrieb:
>> Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM
>> viel CPU-Leistung gebraucht wird.
>
> Nö wozu auch. Geplant sind 1000 Einheiten. Kostet eine CPU 5 Euro mehr,
> weil sie genug Leistung hat, ich aber 2 Monate Entwicklung einspare,
> dann hat die Firma mehr verdient als durch eine Spar-CPU.

Das war gar nicht das Thema. Sondern deine Aussage

Beitrag "Re: 32 Bit MCU gesucht"

"Nimm einen Arm-M4 oder. Die haben FPU.
Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
notwendig in Floating Point. Und auf dem M0 (ohne FPU) brauchte es doch
Rechenzeit, die dann für was anderes fehlte."

Mein Einwand war und ist

"Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
UNBEDINGT ne FPU braucht?"

> Und da nehme ich die CPU, die ich schon kenne, selbst wenn die 50
> Prozent überdimensioniert ist. Da kenne ich alle Probleme, die
> Arbeitsumgebung ist eingerichtet, die API vertraut.

Du lenkst vom Thema ab. Es ging nie darum, eine andere CPU-Architektur 
zu nutzen.

> Da analysiere ich keinen Monat, ob ich evtl 1/3 Flash weniger brauche,
> und nehme dann was unbekanntes mit alles Risiken.

Auch darum ging es nicht. Sondern um deine gewagte Aussage, daß für eine 
Luftfeuchteberechung eine FPU nötig ist. Und meine Frage, ob du jemals 
gemessen oder analysiert hast, wo wieviel Leistung verbraten wird, da ja 
nach deiner Aussage die Berechnung per Software Fließkomma zu langsam 
war.

von PittyJ (Gast)


Lesenswert?

Falk B. schrieb:
> Auch darum ging es nicht. Sondern um deine gewagte Aussage, daß für eine
> Luftfeuchteberechung eine FPU nötig ist. Und meine Frage, ob du jemals
> gemessen oder analysiert hast, wo wieviel Leistung verbraten wird, da ja
> nach deiner Aussage die Berechnung per Software Fließkomma zu langsam
> war.

Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da 
brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.
Für eine 2 Berechnung (Farbkorrektor HLS) habe ich Teile schon in einen 
Low Prio Thread verpackt, damit die Kommunikation besser reagieren 
konnte. Damit steigt aber die Komplexität und Fehleranfälligkeit.
Das war eine M0 ohne FPU.
Da freut man sich über eine STM M7 mit FPU. Das ist entspannter.

von avr (Gast)


Lesenswert?

PittyJ schrieb:
> Da freut man sich über eine STM M7 mit FPU. Das ist entspannter.

Man wählt keinen komplexen H7 von ST um Entwicklungszeit zu sparen. Das 
ist ziemlich absurd. Wenn es ein Cortex M4 ohne komplexes Caching wäre, 
hätte ich das abgekauft.

von Falk B. (falk)


Lesenswert?

PittyJ schrieb:
> Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da
> brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.

Du kannst deine Aussage nicht begründen. Punkt.

> Für eine 2 Berechnung (Farbkorrektor HLS) habe ich Teile schon in einen
> Low Prio Thread verpackt, damit die Kommunikation besser reagieren
> konnte. Damit steigt aber die Komplexität und Fehleranfälligkeit.
> Das war eine M0 ohne FPU.
> Da freut man sich über eine STM M7 mit FPU. Das ist entspannter.

Das kann jeder Depp.

von PittyJ (Gast)


Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>> Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da
>> brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.
>
> Du kannst deine Aussage nicht begründen. Punkt.

Warum auch.
Mein Chef ist zufrieden.
Die Firma macht gut Gewinn.
Mein Haus ist abbezahlt.
Die Geräte laufen 24/7 ohne Probleme, keine Ausfälle.

Was will ich mehr?
Nur mir noch beweisen dass es auch mit einem Atmel328 gehen würde? Da 
habe ich besseres zu tun.

von Falk B. (falk)


Lesenswert?

PittyJ schrieb:
>> Du kannst deine Aussage nicht begründen. Punkt.
>
> Warum auch.

Also mal wieder nur substanzloses Geplapper. Moderne Märchen erzählen, 
aka urban legend. Spiel, Satz, Sieg.

von J. S. (jojos)


Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>>> Du kannst deine Aussage nicht begründen. Punkt.
>>
>> Warum auch.
>
> Also mal wieder nur substanzloses Geplapper. Moderne Märchen erzählen,
> aka urban legend. Spiel, Satz, Sieg.

Mit solchen Kindereien bist du für mich der größte Looser auf dem Platz. 
Kein Fachwissen der Welt kann soviel Arroganz und Großkotzigkeit 
aufwiegen.

von Falk B. (falk)


Lesenswert?

J. S. schrieb:
>> Also mal wieder nur substanzloses Geplapper. Moderne Märchen erzählen,
>> aka urban legend. Spiel, Satz, Sieg.
>
> Mit solchen Kindereien bist du für mich der größte Looser auf dem Platz.
> Kein Fachwissen der Welt kann soviel Arroganz und Großkotzigkeit
> aufwiegen.

Ein hohes Niveau sieht nur von unten wie Arroganz aus. ;-)

Im Ernst. Wenn einer eine Behauptung aufstellt, muss er sie auch 
sinnvoll begründen können. Erst recht bei "gewagten" Behauptungen.

"Extraordinary claims require extraordinary proof."

wie die Angelsachsen so schön sagen. Haltlose Behauptungen gibt es im 
Internet schon genug.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

es geht doch gar nicht darum ob jemand (der sich mit H7 herumschlägt) 
nicht auch einen Mega328 programmieren könnte. Der TO wollte mehr Power 
und die AVR haben ihr Limit, auch wenn es nicht ein paar float 
Berechnungen sind. Nur muss man sich in die 32 Bit Welt auch 
einarbeiten, und wenn ein Cortex-M da überdimensioniert erscheint, dann 
ist das trotzdem ist eine gute Übung zum Einstieg.
Ich mag diese Kleingeistigkeit nicht. Für 3D Drucker haben die 8 Bitter 
die Entwicklung nur blockiert. Als man Marlin noch für jede Einstellung 
neu kompilieren musste, konnte Smoothieware auf dem 32 Bit LPC1769 schon 
lange SD Karten einlesen und darüber konfiguriert werden. Und per 
Ethernet gefüttert werden. Mal so als Beispiel.
In jede Controller Architektur muss man sich erstmal einarbeiten und ist 
wieder blutiger Anfänger. Bei den CM reicht das aber für lange lange 
Zeit bis man DMA, Ethernet, USB, schnelle Displays usw. ausgereizt hat. 
Da sind 8 Bitter schon lange abgehängt.
Aktuell habe ich eine Kiste mit 17x H7 vor mir. Ich kann den Kollegen ja 
mal sagen das sie nicht programmieren können und das gefälligst mit 
Mega328 bauen sollen.

von Karl (Gast)


Lesenswert?

Falk B. schrieb:
> Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen
> Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber
> nicht gut finden.

Profis können rechnen 5€ mehr für die CPU oder 50 Stunden frickeln. Wie 
viele Stück muss man kaufen, dass sich das Frickeln lohnt:

Profi = 200€/h*50h/5€/Stück = 2000 Stück
Falk B. = 0€/h*50h/5€/Stück = 0 Stück

von Falk B. (falk)


Lesenswert?

Karl schrieb:
>> Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen
>> Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber
>> nicht gut finden.
>
> Profis können rechnen 5€ mehr für die CPU oder 50 Stunden frickeln. Wie
> viele Stück muss man kaufen, dass sich das Frickeln lohnt:

Jaja, das Gelaber. Mein Gott. Geh mal davon aus, daß ich weiß, was eine 
Aufwandsabschätzung und Gewinnschwelle ist.

https://de.wikipedia.org/wiki/Gewinnschwelle

Und geh mal davon aus, daß auch ich weiß, daß bei Einzelstücken oder 
kleinen Stückzahlen die Entwicklungskosten die Materialkosten um 
Größenordnungen übersteigen. Ich mache Entwicklung, jeden Tag. Das war 
aber gar nicht das Thema der Diskussion.

Aber auch für dich "Blitzmerker" nochmal langsam. Der Op meint, seine 
Berechnungen sind zu langsam und er hätte gern mehr CPU Power. Der Op 
ist ein Bastler, Gewinnschwelle und Kosten sind bedeutungslos.

PittyJ stellt eine Behauptung auf, die er keine Sekunde belegen kann. 
Nix als Ausreden und Ablenkung. So wie bei dir. Auch nix Neues, wenn 
Leute keine Argumente mehr haben.

von Gee (Gast)


Lesenswert?

wozu 32bit? dsPIC mit 100MHz (intern) und gut ist

von Thomas W. (Gast)


Lesenswert?

Moin, -

Conrad J. schrieb:
> Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser, nicht
> umgehbarer floating point Operationen an seine Grenzen stößt und die
> Berechnungen für die Einstellung eines Messinstruments zu lange dauern.
> Der wird außerdem nur mit 8MHz betrieben.

Das haben ja alle schon gesagt: Man kann auch mit der Frequenz nach oben 
gehen, aber vielleicht Faktor 3.

> Ich würde daher gerne langfristig mal auf eine 32 bit Architektur
> umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz
> betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU
> vorhanden ist.
>
> Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her
> das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach
> handhaben lassen?

Natuerlich ist ein STM32 schon ein ganz anderes Biest, mehr omphf!, mehr 
Moeglichkeiten. Ob Du diese Moeglichkeiten brauchst kannst nur Du 
entscheiden.

1) STM32 et al. haben 3.3V Technologie, d.h es kann sein, dass Du Deine 
Peripherie anpassen musst,
2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du 
kannst in Deinem Code einen Breakpont setzen und Register/Variablen 
anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du 
einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese 
Debugging-Moeglichkeit gewinnst ist unglaublich.

Gruesse

Th.

von J. S. (jojos)


Lesenswert?

Thomas W. schrieb:
> 1) STM32 et al. haben 3.3V Technologie, d.h es kann sein, dass Du Deine
> Peripherie anpassen musst,

wobei die meisten Eingänge 5V tolerant sind. Und wenn die Bastler bei 
3,3 V angekommen sind (was die meiste Peripherie heute schon erwartet 
und nur in Arduino Shields hin- und her gewandelt wird), ist die Welt 
schon bei 2,5 oder 1,8 V.

Thomas W. schrieb:
> die Lebenszeit die Du mit diese
> Debugging-Moeglichkeit gewinnst ist unglaublich.

full ack, aber auch hier verteidigen die Frickler ihr Serial.print() 
debugging vehemment.

von Thomas W. (Gast)


Lesenswert?

Moin, -

ich wollte nur darauf hinweisen, dass der STM32 eine 3v3-Maschine ist. 
Ob das ein Unterschied macht weiss nur der TO.

Beim Debugging: ca. 1990 war das Debugging beim PC ungefaehr wie beim 
Arduino, bei TurboPascal halt mit PrintLN(). Fuer normales Geld hatte 
man nix anderes.

Als ich (ca. 1993) eine VAX (mit VMS) gesehen hatte (mit dem VAX 
Debugger) dachte ich: Das ist das Endziel: Sprachen-unabhaengig, 
Source-code beim Debug zu sehen (step-In, Step-out, Breakpoints), 
automatisieren von Ablaeufen. Ich war komplett begeistert.

OK, 2022: Eclipse mit Debugger ist ungefaehr das. Ein ST-Link-Clone 
kostet keine 5EUR und spart richtig Lebenszeit. Ich will das nicht mehr 
missen.

Gruesse

Th.

P.S.: Komplett bloed, aber ein Song ueber den besten Debugger (in 1993):

https://catonmat.net/ftp/mark_wheadon-just_one_more_hack.mp3

Ein paar Warme Worte:

https://catonmat.net/musical-geek-friday-just-one-more-hack

Schon lange her

von Rudolph R. (rudolph)


Lesenswert?

Ich werfe mal einen neuen Kandidaten ins Feuer - ATSAMC20.
Ja, Chipkrise und so, aber Digikey hat erstaunlicherweise gerade
ATSAMC21E18A-AUT ab Lager: 
https://www.digikey.de/de/products/detail/microchip-technology/ATSAMC21E18A-AUT/5875967
Das ist ein Cortex M0+, 48MHz, läuft 2,7V bis 5V, Peripherie bis unters 
Dach, auf funktionale Sicherheit ausgelegt und der kleinste "E" ist im 
gleichen Gehäuse wie der Mega328.
Und theorethisch gibt es in der Familie zig Varianten, so 48, 64, 100 
Pins, weniger Speicher.
Der Unterschied zwischen ATSAMC20 und ATSAMC21 ist, der C21 hat CAN-FD, 
beim 32er Pin 1 Kanal, ab 64 Pins zwei Kanäle.

Dabei fällt mir das hier ein:
https://github.com/RudolphRiedel/SAMC21_one/blob/master/04_Hardware/SAMC21_one/SAMC21_one.PDF

Das liegt hier noch, aber inzwischen benutze ich hauptsächlich die "J" 
Version mit 64 Pins und 2 CAN-Kanälen.
Oder den dickeren ATSAME51J (der nicht zu bekommen ist), der ist bis auf 
einen Pin kompatibel zum C21J und ist ein Cortex M4F mit noch mehr 
Peripherie.

Ich bin da ran, weil ich vor ein paar Jahren die Notwendigkeit gesehen 
habe im Job CAN-FD unterstützen zu müssen.
Und eine Alternative zu denen ist mir immer noch nicht in die Finger 
gekommen.

: Bearbeitet durch User
von dfg (Gast)


Lesenswert?

Axel S. schrieb:
>> Der wird außerdem nur mit 8MHz betrieben.
>
> Er könnte aber mit 16MHz betrieben werden und wäre dann doppelt so
> schnell. Was spricht dagegen?

nein, sogar mit 20 Mhz

von Christoph M. (mchris)


Lesenswert?

>2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du
>kannst in Deinem Code einen Breakpont setzen und Register/Variablen
>anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du
>einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese
>Debugging-Moeglichkeit gewinnst ist unglaublich.

Das haben die AVRs allerdings auch. Nur brauchst du dort keinen ST-Link 
sondern einen Atmel-ICE o.ä.

von Peter D. (peda)


Lesenswert?

PittyJ schrieb:
> ich aber 2 Monate Entwicklung einspare,
> dann hat die Firma mehr verdient als durch eine Spar-CPU.

Oder Du wunderst Dich, warum die Super-Duper CPU genau so langsam ist, 
weil Du den Flaschenhals nicht beseitigt hast.
Ein Profiling, wo es klemmt, kostet keine 2 Monate.
Oftmals erreicht man durch simples Umstellen des Programmablaufs mehr 
Optimierung, als durch stupide Erhöhung der CPU-Frequenz und damit des 
Stromverbrauchs.

von Stefan F. (Gast)


Lesenswert?

Thomas W. schrieb:
> ca. 1990 war das Debugging beim PC ungefaehr wie beim
> Arduino, bei TurboPascal halt mit PrintLN().

Das stimmt nicht. Die Turbo Pascal IDE von Borland aus dem Jahr 1990 
hatte einen richtigen Debugger.

http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/turbo_pascal/Turbo_Pascal_Version_6.0_Users_Guide_1990.pdf

von Thomas W. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Thomas W. schrieb:
>> ca. 1990 war das Debugging beim PC ungefaehr wie beim
>> Arduino, bei TurboPascal halt mit PrintLN().
>
> Das stimmt nicht. Die Turbo Pascal IDE von Borland aus dem Jahr 1990
> hatte einen richtigen Debugger.
>
> 
http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/turbo_pascal/Turbo_Pascal_Version_6.0_Users_Guide_1990.pdf

OK, ich hatte bei TP 3 aufgehoert. Und da war das Debugging nicht so 
fortschrittlich... Vielleicht war es auch schon/erst 1986 (Zeitzeugen 
sind nicht die besten Zeugen)

Gruesse

Th.

von Peter D. (peda)


Lesenswert?

Wie lange braucht eigentlich ein 32Bitter mit 200MHz für delay_1ms() 
gegenüber einem 8Bitter an 8MHz?

Ohne Profiling ist der Griff zu einer schnelleren CPU komplett sinnlos.

von Michael F. (Firma: IAR Systems) (michael_iar)


Lesenswert?

Christoph M. schrieb:
> Thomas W. schrieb:
>> 2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du
>> kannst in Deinem Code einen Breakpont setzen und Register/Variablen
>> anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du
>> einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese
>> Debugging-Moeglichkeit gewinnst ist unglaublich.
> Das haben die AVRs allerdings auch.

Moin,

jein...

Natürlich gibt es beim AVR auch InCircuit Debugging. Die Arm CoreSight 
Unit der Cortex-M bietet aber deutlich mehr Debugging Features und 
manche können ohne Einfluss auf die Ausführungsgeschwindigkeit der 
Applikation genutzt werden (z.B. Data Breakpoints).

Gruß,
Michael

von Tam H. (Firma: Tamoggemon Holding k.s.) (tamhanna)


Lesenswert?

GigaDevice GD32VF. Ist auch sanktionssicher, und verfügbar.

Video zum Einstieg unter https://www.youtube.com/watch?v=XZvkdkvxgSs. 
Bei Fragen kannst du mich auch anschreiben (PN hier im Forum).

von Simon (Gast)


Lesenswert?

Rudolph R. schrieb:
> Ich werfe mal einen neuen Kandidaten ins Feuer - ATSAMC20.

Dem kann ich nur zustimmen.
Bei mir verlief der Umstieg vom ATmega32m1 auf den ATSAMC20, aufgrund 
des selben Herstellers, der selben Tool, ähnlicher Datenblätter etc., 
recht gut.

von Patrick C. (pcrom)


Lesenswert?

Ingo Less schrieb:
> Sigma-Delta und interner DC/DC. Dachte immer, sowas schließt sich von
> selbst aus.

Man braucht es nicht beiden zu nutzen, in mein Projekt benutze ich DCDC 
um spannung flexibel anzubieten (wegen stromverbrauch). Auch 
processorclock wird zwischen 3MHz und 48MHz hin und her gesetzt. Da 
alles integriert ist kan man 'einfach' der delta-sigma synchronisieren 
mit frequenz von DC/DC oder sogar DC/DC ausschalten waehrend der messung 
und danach wieder einschalten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.