Noch ein Cortex M3 SiLabs

OP #2577465
Lesenswert?

Auch wenn's wie Werbung klingt...
Wer die 8051er von SiLabs kennt, wird die neuen Cortex-M3 mögen.
- doppelte Crossbar d.h. man kann die Pin/Peripheriezuordnung relativ 
frei festlegen.
- Low power: < 1uA RTC on
- div. interne Oszillatoren, PLL (Dithering etc.), Low-Power, RTC 
(interne, einstellbare Lastkapazität), USB (kein externer Takt/Quarz 
nötig)
- 2x 12-Bit ADC (synchronisierbar, Puls/Phasen, einstellbar/generierbar, 
je 1 MSPS @ 10-Bit)
- Strom/Spannungs-Wandler, IDAC, 2x Komparator
- CapSense <1 uA wake-on-touch
- 5V tolerante IOs, interne LDOs + VREF
- 6 Pins bis 6V die bis zu 300 mA einzeln einstellbar erlauben, zusammen 
max. 400 mA, P/N-Kanal, Slew-rate und Strombegrenzung einstellbar
- 2x I2C, 1x I2S, 3x SPI, 2x USART, 2x UART
- 2x Timer/Counter Array (PCAx) + 1x EPCAn
- DMA, CRC, AES, EMIF
- Verfügbar
- Z.Z. nur im QFN-40/64, QFP-64/80 und LGA-92-Gehäuse erhältlich

Tools: kostenlos, Eclipse-basiert (code-red), GCC
AppBuilder: Pin-Definitionen, Definition verschiedener Modi (Code für 
die Übergänge wird z.T. autom. generiert)
Si32Library (CMSIS, USB (Audio, HID, MSC, DFU), Speicherverwaltung, 
kooperatives "Multitasking" etc)

IMO zusammen mit der intuitiven Software ein wirklich gutes Paket.

http://www.silabs.com/products/mcu/Pages/32-bit-microcontrollers.aspx
#2577641
Lesenswert?

Was das interessante an diesen Controllern ist, man kann mit sehr 
geringem Aufwand eine USB-Schaltung erstellen. Kein 3,3V 
Spannungsregler, keine Vorwiderstände, Pullup-Widerstände und 
Transistoren für USB und sogar kein Quarz erforderlich. Nur den 
Controller mit ein paar 100nF Kondensatoren direkt an die USB-Buchse, 
fertig.

An Peripherie ist fast alles vorhanden, lediglich CAN vermisse ich noch. 
Auf nachfragen auf der Embedded-World sagte man mir dort, dass CAN erst 
für Ende 2013 geplant ist. Leider waren keine Development-Boards mehr 
verfügbar, so dass ich die Controller selber noch nicht testen kann, 
wird mir aber in den nächsten Tagen zugeschickt.

Programmieren lassen sich die Controller nur über JTAG oder SWD, sie 
haben keinen eingebauten Bootloader, wie man es vom STM32 oder den 
LPC-Controllern gewohnt ist.


Erwin
OP #2578746
Lesenswert?

Erwin Reuss schrieb:
> An Peripherie ist fast alles vorhanden, lediglich CAN vermisse ich noch.
> Auf nachfragen auf der Embedded-World sagte man mir dort, dass CAN erst
> für Ende 2013 geplant ist.

AEC-Q100 und bis 125 °C?

> Leider waren keine Development-Boards mehr
> verfügbar, so dass ich die Controller selber noch nicht testen kann,
> wird mir aber in den nächsten Tagen zugeschickt.

Die Tools sollte man aus dem großen Paket installieren...zumindest hier 
hat es der Web-Installer nicht geschafft, das gesamte Paket zu 
installieren (IDE+AppBuilder liefen zwar, die Si32Library fehlte 
allerdings).

> Programmieren lassen sich die Controller nur über JTAG oder SWD, sie
> haben keinen eingebauten Bootloader, wie man es vom STM32 oder den
> LPC-Controllern gewohnt ist.

Hat SiLabs einen Termin für die Debugger genannt?
Z.Z. scheint es die nur im Paket mit einem Eval-Board zu geben.
Gast #2578961
Lesenswert?

Was die Debug-Hardware betrifft:
Wer bereits von den 8051ern her einen Debug-Adapter sein eigen nennt, 
braucht "nur" ein anderes Kabel... Aber psst, ist geheim :) Quelle: Hab 
ich mir auf der embeddedWorld sagen lassen.

Ralf
Gast #2579451
Lesenswert?

Das hört sich doch gut an!

Kein Quarz, kein Spannungsregler!

Wie schauts denn aus mit Std. Peripherial Library oder am besten gibts 
irgendwelche API's oder muss man alles schwer erarbeiten?

Viele Grüße
OP #2579629
Lesenswert?

Cell85 schrieb:
> Das hört sich doch gut an!
>
> Kein Quarz, kein Spannungsregler!
>
> Wie schauts denn aus mit Std. Peripherial Library oder am besten gibts
> irgendwelche API's oder muss man alles schwer erarbeiten?

s.o. bzw.
Low-Level: CMSIS + HAL von SiLabs
High-Level: si32Library, C99, objektorientiert
http://www.silabs.com/Support%20Documents/TechnicalDocs/AN672.pdf
Build (Assertions, Speicherdebugging), Logging, Speicherverwaltung, Io 
(I2C, SPI, USART) synchron/asynchron bzw. blockierend/nicht-blockierend, 
Timer, einfache, kooperative Multitaskingunterstützung, USB (MSD, Audio, 
DFU, HID)
Sieht von der Beschreibung und den Quellen bislang gut aus, wie gut das 
in der Praxis ist, wird sich zeigen
OP #2579692
Lesenswert?

Cell85 schrieb:
> Und wieviel bekommst du dann an PRovision ? :-D

Null, mir gefällt das Gesamtpaket z.Z. nur besser, als das, was die 
anderen M3/M4-MCU-Hersteller liefern.

> Ich hab mir mal ein Dev Board bestellt.

Martin Maurer schrieb:
> Cell85 schrieb:
>> Ich hab mir mal ein Dev Board bestellt.
>
> Kannst Du einen Link und Preis für das Dev Board posten?

http://de.mouser.com/ProductDetail/Silicon-Labs/SiM3U1xx-B-DK/?qs=sGAEpiMZZMtPzP3zsh8uzBBwkCu5GKx7
http://www.silabs.com/products/mcu/udp/Pages/SiM3U1xx-DK.aspx
Mouser und SiLabs ~99€ inkl. USt.
Gast #2582278
Lesenswert?

> Sehr interessant diese Controller...
Ich würd ja auch gern (bin seit Jahren auf den SiLabs 8051ern 
unterwegs), aber wenn ich den Preis mit anderen M3 vergleiche bin ich 
doch etwas abgeschreckt (oder der SiLabs M3 hat irgendwas was ihn 
absolut von anderen abhebt, ich seh's jedenfalls grad nicht). Freilich 
sind solche Features wie DoubleCrossbar etc. ganz nett, aber m.E. lohnt 
sich eine kommerzielle Verwendung nur, wenn man weiss, dass man in 
Zukunft mehrere Schaltungen bauen wird, in denen der SiLabs M3 jedesmal 
geeignet ist. Und das Teilchen für Hobby-Schaltungen verwenden, die man 
anderen zur Verfügung stellen will schreckt evtl. durch den Preis allein 
für die MCU dann doch etwas ab, denke ich.

Ralf
Gast #2584312
Lesenswert?

>> Cortex M3 die einen so kleinen chip haben? 40 pins und ich kann 2 i2c's
>> und 2 uarts benutzen + USB
> Sorry aber Silabs hat den auch nicht. Oder kann man so einen Chip von
> denen irgendwo kaufen?
Türlich haben sie den: Die Crossbar macht's möglich.

Ralf
Gast #2928174
Lesenswert?

@Harald:
> Ja und zwar ein Winkelgeber mit USB.
Cool.

> Gab garkeine Probleme hab hier noch ein Paar "chips" über falls die
> jemand haben mag. Wäre schade wenn die an Lötbarkeit verlieren.
Was die ICs betrifft: Welche sind's, und was magst du dafür haben?

Was "gar keine Probleme" angeht, wie hast du's implementiert, also 
welche USB-Klasse, etc.? Hast du die HAL usw. verwendet?
Ich vermute du hattest schon USB-Kenntnisse?
Ist dein Code "open-source"? Falls gewünscht können wir auch gern per PN 
weiter machen.

Ralf
Gast #2928210
Lesenswert?

@Martin:
>> Falls gewünscht können wir auch gern per PN weiter machen.
> Ich hoffe, es bleibt bei einer öffentlichen Diskussion... :-)
Von meiner Seite aus nix dagegen, ich weiss nur nicht, ob er das wissen 
teilen darf, falls es sich beim Winkelgeber um ein kommerzielles Produkt 
handelt.
Mich hätte ja auch nur der USB-Teil interessiert, da seh ich nix 
kritisches :)

Ralf
#2928215
Lesenswert?

Hab den SIM3U164-B-GM verwendet. Hab noch 6 Stück übrig.
Kannst mir gerne eine PN senden, wenn du die haben magst.
Hab auch noch einen SIM3U167-B-GM.

Ja hab schon viel mit USB gemacht, hab erstmal versucht das USB von Keil 
zu benutzen, ging auch gut.

Bin dann aber komplett mit der HAL und den Tools von Silabs ausgekommen. 
War wirklich nicht schwer.

SWD Pins raus und dann mit dem ULINK2 drauf und los gings!

mein Programm hatte ich schon auf einem STM32 laufen, ich habs dann nur 
noch auf den SIM3U migriert.

Die Schaltung samt USB hab ich auf 11mm x 14mm bekommen :) da man für 
USB ja keinen externen Quarz benötigt.

Ich kann einmal mein Projekt in Keil und einmal in der Silabs IDE mit 
USB VCOM als Template hochladen, das ist glaub ich kein Problem.
Gast #2928278
Lesenswert?

@Harald:
> Hab den SIM3U164-B-GM verwendet. Hab noch 6 Stück übrig.
> Kannst mir gerne eine PN senden, wenn du die haben magst.
> Hab auch noch einen SIM3U167-B-GM.
Ah, das sind QFN bzw. LGA. Hab leider keinen Lötofen für den LGA, das 
müsst ich dann in der Firma machen. Und die QFN... hm... das Raster ist 
nicht feiner als das der QFP, die hätt ich halt bevorzugt... Hast du 
handgelötet? Sind die QFN-Pads seitlich hoch genug damit man 
einigermaßen gescheit rankommt?

> Bin dann aber komplett mit der HAL und den Tools von Silabs ausgekommen.
> War wirklich nicht schwer.
Hört sich gut an :)

> Ich kann einmal mein Projekt in Keil und einmal in der Silabs IDE mit
> USB VCOM als Template hochladen, das ist glaub ich kein Problem.
Das wär toll. Auf was basiert deine VCOM-Implementierung? Dazu hab ich 
bei SiLabs nur etwas im Forum für die 8-Bitter gefunden.

A propo VCOM, wäre es schwierig nicht nur einen, sondern mehrere zu 
realisieren? Also ein Device erzeugt 2-n COM-Ports?

> übrigens als ich damals das hier gesehen hatte musste ich kichern,
> void USB0_enter_default_mode() {...}
> das ist mit dem stm32 nicht so einfach gewesen :D
Nein? ;)
Was die SiLabs-Jungs da bieten ist echt klasse.

Ralf
#2928311
Lesenswert?

Das würde sicherlich gehen.
Ich hab mir alles aus der Silabs 1.1.0 Lib rausgezogen (USB Device).

Nein ich hab das QFN mit nem Heizluftföhn drauf bekommen. Später hab ich 
die Board im Backofen in der Firma gefertigt.

Ich schmeiß mal alles raus und lade es hoch.
Würd mich freuen wenn andere Ihre Errungenschaften auch mal hochladen.
Gast #2928321
Lesenswert?

@Harald:
> Das würde sicherlich gehen.
Mehrere VCOMs? Das wär toll. Für wie groß hältst du den Aufwand?

> Ich hab mir alles aus der Silabs 1.1.0 Lib rausgezogen (USB Device).
Da hab ich keine CDC-Implementierung gesehen. In der 1.0.1 war wohl was 
rudimentäres dabei.

> Nein ich hab das QFN mit nem Heizluftföhn drauf bekommen. Später hab ich
> die Board im Backofen in der Firma gefertigt.
Ne, ich würd dann gleich ganz frech in die SMD-Bestückung gehen und die 
Adapter-Platinen durch den Ofen jagen. Genug Schaltungen mit QFNs haben 
wir, sollte also auch ein passendes Sieb dabei sein :)
Da nirgends steht, dass das ExposedPad mit GND o.ä. verbunden werden 
soll würd's auch mit'm Lötkolben gehen.

> Ich schmeiß mal alles raus und lade es hoch.
> Würd mich freuen wenn andere Ihre Errungenschaften auch mal hochladen.
Das werde ich tun, sobald ich den ersten Proto am Laufen hab. Bin 
allerdings erst in der Layoutphase.

Wo hast du deine ICs denn bestellt?

Ralf
Gast #2928345
Lesenswert?

> Ich denk 2 Tage gehen da bestimmt drauf, hab gerade noch bissl was
> anderes hier.
Kein Ding, ich bin ja auch noch mit dem Layouten beschäftigt :) Frisch 
eingetroffen ist das SIM3U-DevKit, das werd ich danach unter die Lupe 
nehmen.

> Ich lad des aber später mal hoch mit nur einem VCOM.
Okay.

> Ja die CDC hab ich selbst implementiert. Gingen auch ein paar Tage drauf
> aber Silabs hat einen guten Support :)
Das stimmt. Wundert mich dass die CDC/VCOM-Implementierung nicht gleich 
offen in die Supportseite bzw. zu den Beispielen gestellt wurde :/

Ralf
Gast #2928418
Lesenswert?

@Tim:
Glaub ich nicht. Die Teile rennen out-of-the-box, sieht man mal vom 
optionalen Beschreiben des EEPROMs ab. Und sie haben dedizierte 
Funktionen auf den Pins. Wenn man nur die Bridge-Funktionalität braucht 
wird man die Teile auch weiterhin kaufen, warum dafür einen Controller 
nehmen?

Ralf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren