Forum: Mikrocontroller und Digitale Elektronik SAME53J20 als 32Bit einstieg


von Matthias T. (matthias_199)


Lesenswert?

Hallo meine lieben,

Da ich langsam aber doch sicher an die grenzen von 8bit xmega und 32MHZ 
komme :)
wollte ich den Sprung auf 32 Bit machen.

Etwas habe ich mich ein den SAME53J20 verschaut.
Meinungen zu dem Teil ?

Meine Anforderungen wären auf jeden Fall mal die 120 MHZ CPU.
265 KB Ram. (größer darf immer :))
64 Pins für IO etc.
SPI,UART,IC2, AD ... die ganzen Schnittellen die man eben so kennt und 
lieben gelernt hat.
AES/CRC on chip.
Ethernet / (Can für später dann eben der 128pin)

Bei den 32bit Teilen habe ich soweit begriffen das die Pins nicht so Fix 
sind wie früher sondern "Frei wählbar" zumindest so mapbar wie auf dem 
Datenblatt.

Jetzt ist das ein großer umstieg und von der 32bit Welt habe ich 
natürlich keine Ahnung, deshalb mal so die Frage in dem Raum ist meine 
Wahl mit meinen Anforderungen Sinnvoll ?

Oder gibt es alternativen die ich gar nicht auf dem Schirm hatte ?

MFG
Matthias

von Henning K. (Firma: CoSynth GmbH & Co. KG) (thehawk)


Lesenswert?

Matthias T. schrieb:
> Ethernet / (Can für später dann eben der 128pin)

Achtung! Für die 64-pin Varianten in der A Revision gibt es da einen 
Showstopper:
(aus den Errata)
...
2.11 Ethernet MAC (GMAC)
2.11.1 Ethernet Functionality in 64-pin Packages
Ethernet functionality in 64-pin packages is not available.
Workaround: None.
...
Ansonsten bin ich mit dem Teil ganz zufrieden, wobei die Komplexität 
doch schon eine andere Hausnummer verglichen mit den xmega ist

von Matthias T. (matthias_199)


Lesenswert?

Ah okey,
das hab ich übersehen.

Aber sagen wir mal auch so, nice to have aber die Projekte die Ethernet 
benötigen, wär ich auch für nen 128pin bereit. Hab ich noch nie verlötet 
aber wird sicher ne Herausforderung.

Zwecks Komplexität gebe ich dir Recht, es scheint mir aber auch das sehr 
sehr viel Grafisch in dem MPLab geht. Und man gar nicht gezwungen ist 
das alles wie mit den 8bit teilen zu machen, was zum lernen aber sicher 
sinnvoll wäre.

MFG
Matthias

von W.S. (Gast)


Lesenswert?

Matthias T. schrieb:
> Meine Anforderungen wären auf jeden Fall mal die 120 MHZ CPU.
> 265 KB Ram. (größer darf immer :))
> 64 Pins für IO etc.
> SPI,UART,IC2, AD ... die ganzen Schnittellen die man eben so kennt und
> lieben gelernt hat.
> AES/CRC on chip.
> Ethernet / (Can für später dann eben der 128pin)

Du hast bislang nur AVR benutzt und jetzt als blutiger Anfang mit einem 
Cortex M4F bestehst du auf AES, Ethernet und CAN? So als Allererstes?

Ich sag's mal so: Die Dinger kosten so um die 4..5€ das Stück, sind also 
nicht wirklich teuer, Doku ist nicht chinesisch und verschweigt wohl 
auch nichts, also warum nicht?

Ob die Peripherie dir gefällt und ob du gut mit den Manuals 
zurechtkommst wäre die nächste Frage, aber die kannst du ja schnell dir 
selbst beantworten.

Eines noch: bei einem 64 pinnigen Chip hast du geschätztermaßen nur um 
die 45..50 Portpins, der Rest geht für Versorgung, Takt etc. drauf. Für 
Kleinkram reichen auch µC mit nur 48 Pins völlig aus und größere mit 100 
Pins aufwärts sind eigentlich nur für Projekte gut, die man zuvor 
sorgfältig plant, eine entsprechende LP macht und zum Schluß ein gutes 
Gerät draus gemacht hat. Für allgemeine Bastelzwecke sind die zu groß.

Ob du nun gleich 265 K an RAM tatsächlich benötigst, wage ich zu 
bezweifeln. Ebenso ist 1 MB an Flash ne reichliche Nummer für den 
Anfang. Nach meiner Erfahrung reichen für kleinere Anfangsprojekte und 
für "Universal-Hudeln" 32K Flash und 16..20K RAM völlig aus. Und die 
Cortexe für sowas liegen preislich um 1€ oder weniger. Wenn man da mal 
einen ermordet, ist das nicht so schlimm.

Ähem, besagte Hudeln sind kleine Boards, die nur den µC, 
Programmieranschluß, USB und Pinheads enthalten und für alle möglichen 
und unmöglichen temporären Zwecke MAL EBEN benutzt werden können.

W.S.

von Elektolurch (Gast)


Lesenswert?

Also prinzipiell ist deine Überlegung sicher richtig, einen Controller 
zu suchen, den man für alles Zukünftige nutzen kann - und nur 1x 
Einarbeitung hat.
Ich kam auch vom XMega, nun zum SAMD21.
Da ich die Feinheiten des Controllers voll im Griff haben wollte, habe 
ich mich entschieden, meine mini-HAL / Peripherietreiber selbst zu 
schreiben.
Doch die Einarbeitung war drastisch intensiver (2 Monate Vollzeit), als 
ich dachte...
Auch durfte ich mich in ein angefangenes Projekt mit SAM4S und ASF 
einarbeiten. 2 Wochen lang rauchte mir der Kopf, dann lichteten sich die 
Nebel langsam.
Beim SAME54 ist es ohne ASF o.ä. kaum stemmbar, die komplexen Funktionen 
zu benutzen. Und beim ASF ist die Einarbeitung auch anstrengend und 
langwierig, da man zuerst nicht weis, wo was zu finden ist und was man 
alles einschalten muss.
Außerdem hat man dann keinen Einblick, was die Routinen genau machen.
Nachteilig fand ich zudem, dass die Compilierungszeit für ein kleines 
Projekt eine gefühlte Ewigkeit dauert - zumindest im Vergleich mit 
meiner HAL.
Nach diesen Erfahrungen schätze ich den XMega noch mehr, da die Timer 
und das Eventsystem mit der CPU-Frequenz läuft und so immer genau 1 Takt 
Verzögerung hat.
Auch ist der XMega erstaunlich leistungsfähig, da der Flash ohne 
Waitstates auskommt. Die DMA bringt zusätzlich Performance.
Also für etliche Projekte bevorzuge ich ihn weiterhin.
Das ist halt meine Erfahrung & Meinung. Andere sehen das sicher anders.

von Rudolph (Gast)


Lesenswert?

Matthias T. schrieb:
> Etwas habe ich mich ein den SAME53J20 verschaut.
> Meinungen zu dem Teil ?
>
> Ethernet / (Can für später dann eben der 128pin)

Der E53 hat gar keinen CAN, logischer wäre eigentlich gewesen, wenn die 
ATSAMD54 heißen würden.
D51 - kein CAN, kein Ethernet
E51 - CAN
E53 - Ethernet
E54 - CAN und Ethernet

Das ATSAME54-XPRO ist gar nicht mal so teuer, das kann man sich mal hin 
legen und damit spielen, zumal da auch noch der Debugger gleich mit 
drauf ist.

Ich benutze gerne die E51, wenn auch hauptsächlich für CAN-FD und SPI.
Mit dem kleinen Bruder von dem habe ich angefangen, das ist der 
ATSAMC21, der ist dem E51 sehr ähnlich.

Die sind preiswert, gut dokumentiert, breit aufgestellt als Familien und 
haben Peripherie ohne Ende.
Und Microchip hat mit dem Harmony V3 eine Alternative zum ASF.

ASF habe ich noch nie verwendet, kurz drüber geschaut in der Hoffnung 
was über den Controller zu lernen und festgestellt, dass ASF im 
wesentlichen dazu geschaffen wurde um mit möglichst viel sinnlosen Code 
möglichst gut zu verbergen was eigentlich passiert.

Wenn ich jetzt was neues machen müsste würde ich wohl hier rein schauen:
https://github.com/Microchip-MPLAB-Harmony/csp_apps_sam_d5x_e5x
https://github.com/Microchip-MPLAB-Harmony/csp_apps_sam_c20_c21

Ich muss mich nur mal dazu aufraffen auf die neuen Includes von 
Microchip aus den V3 Paketen umzustellen, dann könnte ich auch direkt 
die eine oder andere plib_xxx.c übernehmen.

von Matthias T. (matthias_199)


Lesenswert?

Danke für die vielen Hilfe Stellungen.
Also den XMEGA schätze ich immer noch sehr nur arbeite ich montan an 
einem Project wo der Xmega Herzstück eines Funkübertragungssystem ist 
und Pakete mit einerm TU von 1500 Bytes verschicken soll.
Wenn er noch ein paar packte Puffern soll weil LBT im Einsatz ist wird 
alles eng :)

Ich würde mit dem SAME5 genauso wie mit dem Xmeag meine UART crc .... 
treiber selbst schrieben ist glaube ich die ebste übung ums zu lernen.

und Ja ddie Hoffnung ist das ich diese MCU lange zeit nutzen werde :) 
mal abwarten wann 64 bit populär wird ^^

EDIT: Ja das MPLAB hab ich schon gesehen glaub auch oben genant das 
macht ja so quasi einiges

: Bearbeitet durch User
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.