Texas Instruments presenteert microcontroller ter grootte van een suikerkorrel

Texas Instruments heeft een nieuwe microcontroller, of mcu, aangekondigd, met een afmeting van slechts 1,38mm2. Dat is iets groter dan een suikerkorrel. Het bedrijf spreekt zelf van 'de kleinste microcontroller ter wereld'.

Dat de microcontroller zo klein is, maakt hem vooral geschikt voor bijvoorbeeld oortjes en medische apparaten waar ruimte schaars is, zegt Vinay Agarwal, vicepresident en algemeen directeur van de MSP Microcontrollers-afdeling bij Texas Instruments. Het bedrijf stelt dat de mcu maar liefst 38 procent kleiner is dan die van concurrenten.

De mcu bevat 16KB aan flashgeheugen, 1KB SRAM en een 32bit-Arm Cortex-M0+ als cpu met frequenties tot 24MHz. De mcu gebruikt in zuinige modus 87μA per MHz: op volle snelheid zou dat 2mA worden. In stand-bymodus (met sram-retentie) is dat 5μA. Uitgeschakeld daalt dat tot 200nA, of 0,2μA. Vermogens geeft TI niet op: die zijn afhankelijk van variabele werkspanningen; met 1,8V zou het vermogen ongeveer 3,8mW voor werking op volle snelheid zijn. Verder bevat de zogenaamde MSPM0C1104 een 12bit-analoog-naar-digitaalconverter met drie kanalen en zes input- en outputpinnen. Ook is het compatibel met standaard communicatie-interfaces zoals UART, SPI en I2C.

Wie de mcu in bulk koopt, betaalt daarvoor twintig dollarcent per stuk. Een andere optie is om de MSPM0C1104 te kopen als onderdeel van de MSPM0C1104 LaunchPad development kit, die 6 dollar kost.

Update, 12.58 uur - In het artikel stond dat de microcontroller 87 microwatt en 5 microwatt aan vermogen gebruikt. Dat moet microampère/MHz zijn. Het artikel is daarop aangepast.

MSPM0C1104

Door Eveline Meijer

Nieuwsredacteur

13-03-2025 • 09:01

120

Submitter: Noxious

Reacties (119)

119
114
52
2
0
38
Wijzig sortering
Jammer dat het artikel van tweakers niet klopt.

Zie datasheet:
Optimized low-power modes
– RUN: 87µA/MHz
– STOP: 609µA at 4MHz, 311µA at 32kHz
– STANDBY: 5µA with SRA

De chip verbruikt dus 87 microampere per MHz. Dus op 24MHz verbruikt hij 24*87 = 2088 microampere. Dit moet je vermenigvuldigen met de spanning en dan krijg je het verbruik in microwatt.

Het uitschrijven van de afkortingen maakt het ook voor iemand bekend met de materie lastig om te lezen.

[Reactie gewijzigd door LED-Maniak op 13 maart 2025 12:09]

Dit was inderdaad een foutje - ik heb dit verkeerd gelezen. Daarvoor mijn excuses. Inmiddels is het aangepast en klopt dit wel.
Nee, de aanpassing klopt helaas ook niet.
Standby current van 5uA is het totale verbruik met behoud van SRAM retentie. Dat is niet per MHz.
Nu klopt het wel.
Nee, sorry hoor, er klopt nog steeds niks van.
Uit het stukje:
Het apparaat vraagt bij gebruik 87 microampère/MHz aan vermogen en 5 microampère met behoud van SRAM-retentie als het inactief is.
Ik denk dat in deze zin zo ongeveer 3 conceptuele fouten in zitten.
-uA/Mhz is geen eenheid van vermogen.
-'met behoud van SRAM-retentie' is dubbelop.
-Standby mode is niet hetzelfde als 'inactief'.

Hoe kun je schrijven dat het nu wel klopt terwijl er niks van klopt en terwijl andere posters je al het juiste antwoord hebben gegeven? Volgens mij gebruik je AI om je gebrek aan kennis te verhullen. Slechte zaak IMO.
Ik heb even zitten meekijken en ik vind het ook een beetje verwarrend, omdat TI geen spanningen opgeeft, alleen stroomsterkte onder bepaalde condities. En ik durf eerlijk gezegd niet te zeggen of ze daarbij van de voedingsspanning (1,62V tot 3,6V) uitgaan, of van de door de pmu geconverteerde spanning uitgaan.
Ik heb daarom de stroomsterktes laten staan en een voorbeeld van (vol) vermogen bij een spanning van 1,8V erbij gezet.
Ik denk dat de wereld van dit soort gespecialiseerde mcu's behoorlijk ver van ons tweakers afstaat en het daarom lastig is goed te verwoorden. Reden waarom het opgepikt is (vermoed ik tenminste) is hoe klein ('de kleinste mcu ter wereld') deze is, want verder laten we embedded spul natuurlijk vrijwel altijd links liggen...
Wat betreft het verbruik, over het algemeen mag je er vanuit gaan dat de aangeleverde voedingsspanning * stroomsterkte het verbruik is bij een MCU. Als er een interne PMU in zit in de vorm van een LDO dan is dit simpelweg affakkelen, wat netto op hetzelfde verbruik neer komt.
Geintegreerde switching powersupplies met betere efficientie zijn een uitzondering, en hier niet aanwezig.

[Reactie gewijzigd door P5ycho op 13 maart 2025 16:11]

check, dank voor de verheldering (y)
Ik heb even zitten meekijken en ik vind het ook een beetje verwarrend, omdat TI geen spanningen opgeeft, alleen stroomsterkte onder bepaalde condities.
Het staat gewoon in de datasheet , pagina 15... :)
Ik denk dat de wereld van dit soort gespecialiseerde mcu's behoorlijk ver van ons tweakers afstaat
Ja, begrijp ik. Het is soms ook echt verwarrend en zo'n MCU heeft vaak veel functies en modes en manieren van gebruik. Maar dan moet je het mischien niet in te veel detail willen proberen te beschrijven. Voor de kenner doet het er namelijk toe of die cijfers correct zijn en voor de leek maakt het eigenlijk helemaal niet uit of die cijfers genoemd worden. Dus het komt er op neer dat het of goed moet zijn of niet beschreven hoeft te worden. :)
ja, ik had dat stukje gezien, over POR en BOR, maar ik vond brown-out reset voltage en power-on reset voltage eerlijk gezegd verwarrende termen en durfde niet te zeggen of dat de voedingsspanning voor de mcu is: als ze dat ook vdd zouden noemen zou het iets herkenbaarder zijn :D
En als ze met ingangspanning rekenen (zoals @P5ycho zei) en alles boven die ~1,6V alsnog dissiperen als warmte, kun je niet van die pmu-uitgangsspanningen uitgaan (volgens mij :? )
De stroomwaardes in het artikel lijken overeen te komen met de tabellen (7.5.1 en 7.5.2) op pagina 15 waar een VDD van 3.3V wordt gespecificeerd.
POR en BOR zijn enkel bij de boot en bij een brown-out van toepassing en hebben verder niks met het normale ge/verbruik te maken. Het zijn resets die plaatsvinden onder bepaalde omstandigheden zijnde bij een opbouwende spanning op de VDD pin bij de boot en bij een te lage spanning bij een brown-out. :)

Verder lijkt het mij dat die PMU redelijk efficient moet zijn aangezien ze met A/MHz rekenen. Dat betekent dus dat de ingangsstroom (dus de stroom die je op de VDD input meet) letterlijk meeschaalt met de snelheid. Als er werkelijk veel gedissipeerd zou worden dan had dat niet zo geschaald.
Het zou ook gek zijn om een VDD te vragen van 3.3V terwijl je alles boven de 1.6V wegsluist.
Ik denk dat de wereld van dit soort gespecialiseerde mcu's behoorlijk ver van ons tweakers afstaat en het daarom lastig is goed te verwoorden.
Zelfs ervaren techneuten kunnen hier over struikelen met veel misrepresentaties tot gevolg (ook in academia veel gezien die dit soort controllers gebruiken). Niets om voor te schamen dat dit in een kort nieuws artikeel niet uiteen te zetten is.

Fabrikanten poetsen hun cijfers zo mooi mogelijk op om op de eerste "brochure pagina" kwijt te kunnen. Vaak mag je bij alle brochure specs wel vijftig sterrtjes bij zetten, en moet je soms ellendig lange documenten in duiken om te zien hoe het echt zit. Bvb, een bepaalde uA/MHz is alleen haalbaar zonder PLL, waarbij de hoogst mogelijke klokfrequentie niet gehaald kan worden. Of enkel wanneer een inaccurate interne oscillator wordt gebruikt, waardoor communiceren via een simpele seriele poort niet betrouwbaar is.

Of nog leuker: wat je exact wilt weten staat niet in de datasheet. Koop een ontwikkelbordje maar, trek een week lang je haren uit je hoofd, om er vervolgens achter te komen dat er een silicon bug aanwezig is, de library van de fabrikant lage quality control heeft, jouw meetprobe tussen de verkeerde contacten had zitten, of dat de meting alleen werkt als je alles even een hard reset geeft.

Heb ik al eens gezegd dat embedded hardware/software developer langdradig, vermoeiend en moeilijk werk is? En we worden zo onderbetaald tov alles wat hip is met AI en data.. O-)
Allereerst: ik gebruik géén AI 'om mijn gebrek aan kennis te verhullen'. Of überhaupt bij het schrijven van artikelen.

Ik zeg wel eerlijk dat mijn kennis veel meer aan de softwarematige kant van tech ligt. Dit is dus niet mijn expertisegebied. Gelukkig hebben we heel veel collega's die hier wél heel veel van weten (maar niet altijd tijd hebben om dit soort nieuwsberichtjes te maken). Dus laat ik dit soort berichten door hen checken, als ik ze dan een keer moet schrijven. Zo zorgen we dat de berichtgeving klopt én daar leer ik zelf ook weer van.

In dit geval had ik iets verkeerd gelezen, waardoor er toch een foutje in is geslopen. Dat is heel vervelend en dat probeerde ik zo goed mogelijk op te lossen. Blijkbaar ging dat niet helemaal goed. Dat vind ik natuurlijk vervelend en daarvoor bied ik natuurlijk mijn excuses aan.

Ik heb mijn collega's gevraagd nog weer even mee te kijken. Daarmee is het nu alsnog goed gefixt. Maar nee, daar komt geen AI bij kijken.
Ok, dan bied ik ook mijn excuuses aan voor de beschuldiging van het gebruik van een chatbot. :)
Overigens kan ik bevestigen dat er nu geen onzin meer staat !!! :D
Misschien de cijfertjes weglaten de volgende keer. Het nieuws is “klein” , dus ik ging lezen wat de bga afmetingen zijn, om van een kouwe kermis thuis te komen 😉
0.35 mm afstand dus, weer wat kleiner ! 0.4 mm is mijn kleinste tot nu toe, maar deze kun je rondom aansluiten, dat maakt het wel een stuk makkelijker ! Produktie blijft wel een uitdaging.
Even eerlijk, zou je deze reactie op dezelfde manier geschreven hebben als de auteur ipv. Eveline, Evert-Leen o.i.d. heette?

Inderdaad, uA/MHz is geen eenheid van vermogen, maar een eenheid van spanning per rekenkracht. Reageer je ook zo iedere keer als je op het nieuws of ergens anders iets hoort als kilowatt per uur? Ja, heel veel mensen maken die fout. Waar maak je je druk om.
En ja, retentie plus behoud is dubbelop. Wat erg zeg.

En die laatste alinea is wel helemaal uitermate onnodig.

Je kan heel prima feedback geven zonder denigrerend te doen. Misschien eens proberen.
Even eerlijk, zou je deze reactie op dezelfde manier geschreven hebben als de auteur ipv. Eveline, Evert-Leen o.i.d. heette?
Ja hoor! Ik ben niet seksistisch :)
Jammer dat stroom als vermogen wordt aangeduid ook.
Ik had het al voorgekauwd in het feedback topic.
De spec geeft aan dat het device in RUN conditie 87µA/MHz trekt. Op 24MHz klokfrequentie kom je dan uit op 2088 µA. uitgaande van 1.8V voeding kom je op 2088 µA * 1.8V = 3,76 mW.

STANDBY conditie geeft dan 9µW.
Tijd om intern even een begeleidend document voor electronica-zaken te schrijven zodat stroom, spanning, vermogen etc juist worden aangeduid. Deze zaken zijn in de laatste 25 jaar dat Tweakers bestaat niet veranderd, dus kun je dit prima voorkomen.

De meesten lezen er waarschijnlijk toch overheen, ikzelf was zo onder de indruk van het verbruik dat ik het niet geloven kon. En waarempel, het klopte ook niet.
Ben niet zo thuis in deze chips. Heb wel met Raspberry wat geprutst. Wat kun je er dan als hobbyist met deze chip doen. Kun je nu zelf allerlei tiny apparaatjes maken? Enige tweakers die meer kunnen vertellen over de toepasbaarheid?
Deze chips zijn ontworpen om in massaproducten gebruikt te worden. Je programmeert ze één keer met een heel specifieke toepassing en dan kom je er niet meer aan. Dat kan een broodrooster zijn, een LED dimmer, een bloedmonitor, een... noem maar op.

Als hobbyist is dit spul moeilijk te gebruiken. Alleen al het solderen op een printje is onbegonnen werk voor de meesten van ons. Als je een Raspberry gewend bent en je wil iets kleiners, denk dan aan Arduino of ESP32. Dit chippie is niet voor de hobby.
Raspberry Pi is vele malen krachtiger. 16kB aan opslag geheugen, en 1kB aan werkgeheugen... daar kun je echt alleen heel eenvoudige code op draaien. Prima als je bijvoorbeeld een sensor wilt uitlezen, evt. wat waardes wil middelen ofzo, en vervolgens een LEDje aan of uitschakelen, of de data digitaal doorsturen naar een krachtigere SoC.
Voor een hobbyist is dit kleine part niet erg praktisch. Veel te klein om handmatig te solderen, en je hebt dat kleine formaat waarschijnlijk helemaal niet nodig. Fysiek grotere parts hebben ook meer memory etc en kosten nauwelijks meer.
Een PCB is typisch 1.2 tot 1.6mm dik... die is gelijk al een stuk dikker dan de afmeting van dit chippie :)

[Reactie gewijzigd door Gwannoes op 13 maart 2025 10:04]

Als hobbyist vrijwel niets, dat het zo klein en compact is geeft je hier niet echt een voordeel, dan wil je toch vaak werken met ontwikkelbordjes die je leven makkelijk maken wat het punt moot maakt.

Hoe nuttig zo'n kleine MCU is... Voor alle toepassingen waar ik ervaring heb kan ik een betere oplossing verzinnen. Het moet wel waar ruimte echt schaars is waar een standaard MCU niet kan, dus dan kom je al snel uit bij spullen die in contact komen met mens & dier, niet mijn vakgebied.
Als hobbyist heel weinig, dit gaat niet zomaar te solderen zijn voor een beginnend hobbyist. Je moet dit ook minder zien als een Raspberry Pi (welke vele malen krachtiger is, en een volledig OS draait) maar eerder als een miniscule arduino.
Ben niet zo thuis in deze chips. Heb wel met Raspberry wat geprutst. Wat kun je er dan als hobbyist met deze chip doen. Kun je nu zelf allerlei tiny apparaatjes maken? Enige tweakers die meer kunnen vertellen over de toepasbaarheid?
De oplossing is dat je een printje ontwerpt en de priegel-componenten er direct bij koopt en erop laat solderen: PCB assembly. Zij hebben er de machines voor. Dat is helemaal niet duur!
Er zijn meer componenten (weerstandjes, condensators) die te klein zijn om even met de hand te solderen. Soms zijn die bij assembly zelfs gratis of 1 cent per stuk. Laat het uit je hoofd om die componenten zelf los in te kopen...!
Je kan je printje zo ontwerpen dat je aan het priegelspul kopersporen naar Through-Hole gaatjes op de gebruikelijke 2,54mm maakt: daar kan je wel zelf draad, connectors, potmeters, etcetera aan solderen.

[Reactie gewijzigd door Bruin Poeper op 13 maart 2025 10:39]

Ik zie 8 pinnen. Dat beperkt toch wel sterk wat je hier mee kunt doen.

2x Power, Ground
6x ADC/DAC
2x I2C
4x SPI
?x logic ports

Mooi chipje, maar hoe haal je eruit wat erin zit...
Ik zie 8 pinnen. Dat beperkt toch wel sterk wat je hier mee kunt doen.

2x Power, Ground
6x ADC/DAC
2x I2C
4x SPI
?x logic ports

Mooi chipje, maar hoe haal je eruit wat erin zit...
Ik vermoed dat de hoeveelheid RAM (1kB) en flashgeheugen (16kB) een veel grotere beperking is. Daar kun je niet zo gek veel code in kwijt :)
Je zal versteld staan wat daar allemaal in past. Ik ben begonnen met een Z80, onder CP/M bouwde ik een compleet terminal programma in 4KB, waarbij ik 200 bytes RAM nodig had.

Ooit een Atmel AT90S2313 (2KB ROM, 128 bytes RAM) gebruikt om een flap controller voor een vliegtuig te bouwen. Ook dat ging prima, ruimte zat.
Je kunt inderdaad heel veel. We doen het alleen bijna niet meer. Kijk wat een ESPnogwat aan geheugen en kracht heeft. Vergelijk dat met een oude Arduino en het verschil is enorm. Ga terug naar een Z80 oid en verschil is absurd groot. Toch kon je met een Z80 en een paar kb aan ram enorm veel doen.

Ik werd voor gek verklaard toen ik 25 jaar geleden vond dat we dingen toch echt wel moesten optimaliseren qua ram en cpu gebruik. Want, waarom?
Eigenlijk is het juist wel redelijk veel. Gecompileerde software neemt niet zoveel ruimte in.

Ter vergelijking, de guidance computer van de 1e maandlander had 4KiB RAM en 72KiB 'flash'.
(Zie Apollo wiki pagina
Ook weer niet helemaal waar, speciaal gescreven code waarbij rekening is gehouden dat de compiler er kleine code van kan maken is wel nodig. Maar met talen als "C" en "C++" kan je een heel eind komen om het klein te houden.
Gewoon zelf code maken en geen library's gebruiken.
1k ram is best veel!
We zijn spoiled met allemaal libraries en oneindig hoeveelheid lijkende RAM
Waarschijnlijk dat er over een jaar of zo DOOM op gespeeld kan worden........
Net als bij heel veel ander microcontrollers kan een pin meerdere functies leveren. Kwestie van een paar configuratieregistertjes instellen.
4x ADC + 1x I²C + 1x SPI kan prima
Je hebt op dit ding 6 pennen, dus dat alles tegelijk kan niet. Maar ik ben wel serieus onder de indruk, ik heb de datasheet er even op nageslagen en op die 6 pennen hebben ze wel alles gefrut wat je zou kunnen willen. UART, SPI, I2C, ADC kanalen, het zit allemaal wel uitgebroken op een pin.
Programmable outputs, gebruik wat je nodig hebt.
Heel vaak zie je dat er maar 2 of drie IO poorten gebruikt worden met chips die er 20 hebben. daarvoor is dit dus prima. heb je meer poorten nodig plaats je gewoon een tweede controller :)
Lijkt mij prima on standalone een I2C sensortje te monitoren, en eventueel zelfs bewerkte data via UART naar buiten te gooien. Als ontwikkel omgeving heb je ook nog eens de optie om de grotere pin devices te gebruiken. Pas in het uiteindelijke product moet je op die 8 pinnen uit komen.

En mits er teveel I/O is om aan te sluiten, dan heb je ook waarschijnlijk niet heel veel aan deze miniatuur form factor.. want dan zit er genoeg spul om de microcontroller heen dat het sowieso al groot is.
Nou, er zijn genoeg 8-pins microcontrollers van Microchip / Atmel, die ook al die peripherals hebben, en die prima dienst doen als locdecoders voor modelbanen enzo. Daarbij lezen ze het digitale signaal af van de rails, sturen ze een H-bridge aan voor de motor, en is er zelfs nog plek over voor 1 of 2 (licht) functies. Met de ADC (eventueel te multiplexen), kunnen ze een lastgestuurde regeling maken.

Of als je meer baat hebt bij i2c of spi, dan gebruik je die, om een temperatuur sensor uit te lezen, of een oled schermpje aan te sturen.

Je kan ze niet allemaal tegelijkertijd gebruiken, als dat je eigenlijke vraag is, maar je kan wel kiezen welke combinatie van peripherals je nodig hebt/gebruiken wilt voor je eigen doeleinden. Wil je een OLED scherm aansturen, op basis van seriele berichten van een ander systeem? Dan gebruik je de i2c of spi bus, en de uart voor diverse communicatie opties.

Wil je alleen wat LEDS aansturen op basis van een ADC meting? Kan ook (bijv. een VU-meter). Het lijkt me heel stug dat je een apparaat gaat ontwikkelen die alles in een keer gebruikt/nodig heeft. Dan pak je een iets grotere MCU met meer pinnen, om die te gebruiken. Dit is echt voor wat specifieke, single task, doelen, en dan kan je de MCU voor meerdere doelen inzetten.
Prachtige is dat deze chips zo flexibel zijn waardoor ze zeer breed toegepast kunnen worden, om zeer specifieke dingen te doen zonder dat je hiervoor een ASIC hoeft te maken.
Lijkt er op dat er meerdere varianten zijn, variërend van 8 tot 20 pinnen. De kleinste package heeft er dus 8, dus zal je in een dergelijke toepassing moeten kiezen uit de mogelijkheden die de microcontroller biedt.
Ook is het compatibel met standaard communicatie-interfaces zoals Universal Asynchronous Receiver Transmitter, Serial Peripheral Interface en Inter-Intergrated Circuit.
uart, spi en iic. In normaal Nederlands.
Ook nog wel eens geschreven als I²C.
Ha! ik dacht al 'hmm zegt me niks' maar UART, spi en I²C ken ik dan weer wel. Dat zijn inderdaad de bekendere en meer gebruikte termen :p
Dat zijn afkortingen van Engelse termen, dat is nogal ver weg van normaal nederlands. Dat gezegd hebbende, ik herken de afkortingen ook sneller dan de voluitgeschreven termen, ook al wist ik niet goed wat ze betekenen.
Je vraagt je inderdaad af wat een redacteur bezielt om een compleet standaard term als UART te verhaspelen naar een uitdrukking die niemand gebruikt en niemand begrijpt. De doelgroep weet wat een UART is. Wie dat niet weet is nog verder van huis met deze " vertaling" want UART kun je op z'n minst nog googlen.
Maar kan je er Doom op draaien! ;)

Mooie technologie dit. Ik vind het altijd fascinerend hoe er aan allerlei kanten van dit thema wordt door-ontwikkeld. Enerzijds de ruwe kracht en symmetrische calculaties van CPUs en GPUs. Aan de andere kant van het spectrum microcontrollers die superspecifiek zijn. (bijvoorbeeld sensoren die zonder vertraging een signaal uitsturen of verwerken. (denk aan sensoren 'in' een auto. Je moet bijvoorbeeld niet hebben dat je airbag met een vertraging van 0,4 seconde pas geactiveerd wordt, dan lig je al bijna tegen je voorruit. ;) )) en apparaatjes als ESP32 die supergeneriek zijn en voor vrijwel alles programmeerbaar zijn. En dan ook nog dit soort 'apparaten/componenten'.
Maar kan je er Doom op draaien! ;)
Dat kan met een opslaguitbreiding (om als swap space te gebruiken). Of het op een speelbare snelheid zal draaien is iets anders.

[Reactie gewijzigd door The Zep Man op 13 maart 2025 09:40]

24 MHz processor... dat gezegd hebbende, ik heb gegoogled of Doom op een Cortex M0+ draait (instructieset? ik ben niet zo thuis hierin). Ik heb gevonden dat de RP2040 / Raspberry Pi Pico ook Cortex M0+ is en Doom draait daar wel op: YouTube: RP2040 Doom: DOOM1 Demo/Gameplay on a Raspberry Pi Pico

Maar dat zal wel niet te vergelijken zijn. Deze heeft veel minder geheugen bijvoorbeeld.
24 MHz processor...
De processor zal niet de beperkende factor zijn. De beperking zit in de I/O en wat je daarop aansluit.
Haha, denk dat het een hele uitdaging is met 6 I/Os om memory, keyboard/mouse, en display aan te sluiten :)
Via bijvoorbeeld I2C kan je met een beperkt aantal verbindingen meerdere apparaten aansturen. Geheugen en beeld zijn de grootste uitdagingen, maar niet onmogelijk. Zo hoedt het beeld bijvoorbeeld niet 320x200 met 256 kleuren op 60 Hz te zijn.

[Reactie gewijzigd door The Zep Man op 13 maart 2025 11:08]

Doom is natuurlijk geport naar devices met heel weinig RAM, maar onze eerste PC thuis bij men ouders was een 386SX 25MHz met 2MB RAM.
Doom had 4MB nodig. Na veel zagen hadden mijn ouders het geheugen naar een whopping 8MB laten upgraden, ik zo blij als een kind :D (ik was nog een kind :+ )
zitten daar dan ook USB poorten op?
Zitten daar dan ook USB-poorten op?
Waarop? Op de microcontroller (natuurlijk) niet. Je kunt wel een USB-controller maken die kan communiceren met de controller.

edit:
Quote toegevoegd (fixed).

[Reactie gewijzigd door Room42 op 13 maart 2025 09:28]

De vraag lijkt mij te zijn of er een USB peripheral op de microcontroller zit, dus dat alleen nog de USB poort eraan gekoppeld hoeft te worden, of dat je een andere (micro)controller ernaast moet zetten op de USB dan uit te lezen. En in dit geval zal er geen USB peripheral op zitten.
De vraag lijkt mij te zijn of er een USB peripheral op de microcontroller zit, dus dat alleen nog de USB poort eraan gekoppeld hoeft te worden,
Dat is iets te simpel gesteld. Een controller kan qua protocol prima USB ondersteunen voor het aansturen van vast aangesloten apparaten. Aan een USB-poort kleven meer eisen die vaak buiten de microcontroller omgaan, zoals de stroomvoorziening.

[Reactie gewijzigd door The Zep Man op 13 maart 2025 11:04]

Klopt, iig als je netjes een USB host wil spelen. Echter veruit de meeste microcontrollers worden gebruikt enkel als USB device (als ze uberhaupt al host optie hebben). En als ze al USB host zijn, dan voor de meeste toepassingen heb je het over dat er een USB stick ingeduwd moet kunnen worden, en dan moet hij netjes een stroom beperkingen hebben voor het geval die USB stick kapot is. Maar je zal niet snel volledig USB-PD erbij willen hebben.

Wil je dat wel, dan moet dat inderdaad extern geregeld worden. Maar onder de streep heb je microcontrollers met een USB peripheral, waarbij je dan beperkte hoeveelheid hardware nodig hebt (de connector bijvoorbeeld, en mogelijk inderdaad wat dingen voor voeding), en je hebt ze zonder USB peripheral, en dan kunnen ze gewoon niks met USB. (Waarbij iemand nu gaat zeggen dat je USB kan bitbangen, en ja dat kan bij traagste USB standaard, maar dat is typisch iets wat je enkel doet omdat het kan, niet omdat het logisch is).
nee, dan heb je nog een USB - UART interface chipje nodig. Bv FTDI maakt veel van die chipjes.

Maar als je USB nodig hebt, dan hoeft het toch niet superklein? De fysieke USB aansluiting is al tig keer zo groot als dit chipje. Zelfs als je de PCB in de de USB stekker wilt stoppen, mag het best wat groter zijn.

Weet overigens niet heel goed wat dan wel de usecase voor deze MCU is, de voorbeelden van bv in-ear dopjes lijken me onzin. Deze chip heeft geen audio DAC/ADC en geen Bluetooth, en elke Bluetooth interface heeft al een uitgebreidere MCU geintegreerd.
Voor hele simpele producten, bijvoorbeeld een IOT sensor:

0. Gebaseerd op de interne timer kun je iets elke X seconden doen.
1. Gebruik een ADC pin om een thermistor uit te lezen. (temperatuur meting)
2. Zet met een IO pen een draadloze transmitter aan.
3. Gebruik UART o.i.d. om een signaal te sturen over deze transmitter.
4. Zet de transmitter weer uit.

Omdat deze MCU zo belachelijk weinig stroom gebruikt en je je transmitter kunt aan/uit schakelen heb je hiermee een super energie zuinige sensor gemaakt. Alleen dit MCU'tje moet 24/7 draaien.
Een IOT sensor heeft een communicatie chip nodig, bv Bluetooth of Zigbee. Die radiomodules hebben altijd een flink uitgebreide MCU, die direct de sensor uit kan lezen. Dus in zo'n scenario hang je de sensor gewoon gelijk aan een Nordic of ESP chipje. Die kan je zelf wakker laten worden op het moment dat je de data wil versturen, en weer in deep sleep laten gaan.

Je kunt dat soort controllers ook beperkt wakker maken, dat bv alleen een GPIO gepolled wordt, en een groot deel in slaap blijft.
in de philips melkopschuimer zit een chip van soortgelijk formaat (heb een kapotte ooit uit elkaar gehaald).
Dit is fundamentelere technologie. Je zou deze controller kunnen gebruiken 'als' USB-controller.) De communicatiepoorten op dit apparaatje zijn platweg stroompjes die uitgestuurd worden. Het is niet zo zeer 'USB' of 'HDMI' of 'Ethernet'. Dit soort apparaatjes kunnen de laag daaronder verzorgen.

N.B. Ter nuancering. Een USB-controller is complexer dan dat dit specifieke chipje aan zal kunnen. Een USB-controller heeft een gigantische bandbreedte te verwerken en kan bijvoorbeeld ook versleuteling (native) ondersteunen. De moderne USB-controllers op USB-flash-drives zijn bijvoorbeeld veelal 32-bits RISC controllers.
Microchip heeft al jaren de PIC16F1454 als klein USB controllertje (Maar wel USB 2.0 met 1.5 of 12Mbit/s). Die chip heeft ook maar 14kB programma geheugen en 1kB RAM. Zelfde orde grootte als deze chip. Maar de kleinste package is 16-pin 4x4mm UQFN, dat is nog een heel flink stuk groter dan deze chip.

Op het laagste niveau is USB niet zo heel erg boeiend. Tijdens het aanmelden van apparaat bij de host zal een device wat descriptors opsturen, een device adres meekrijgen, en vanaf dan kan het middels de host driver over enkele endpoints data gaan babbelen (bvb keystrokes, SCSI commands, enz.) Enige beveiligingen of bandbreedte vereisten komen daar nog eens boven op. In feite een simpele computer muis of toetsenbord zou je prima met zo'n chipje kunnen bouwen.

Wat wel belangrijk is dat een flink deel van USB device peripheral in hardware gebeurd. De balanced pair aansturen, bits decoderen, tokens decoderen, en vervolgens middels DMA een bak aan endpoints afhandelen. Het zou mij niets verbazen dat de USB controller op die PIC16 even groot is als de CPU core zelf.

[Reactie gewijzigd door Hans1990 op 13 maart 2025 10:13]

Mag je nog wel oppassen dat je hem niet per ongeluk inademt.
Ik ben vooral verbaasd over de prijs. De kleinste microcontroller ter wereld: 20 cent. :P
In bulk, dat wel.

Maar dat verbaasde mij ook. Ik denk at er veel vraag naar is dan, dat ze dit al zo massaal aan durven.

Ik zou het productieproces wel eens afgebeeld willen zien.
Wat ik ervan weet is dat de chips zelf enorm efficient gemaakt kunnen worden - op dit formaat, honderden zo niet duizenden per wafer. Wat me echt verbaast is het proces dat daarop volgt, verpakken, connectors aansluiten, etc. Dat moet wel met naaldjes en dergelijke gebeuren.
Zo'n 50.000 stuks uit een 300 mm wafer, om precies te zijn.
…ter grootte van een suikerkorrel
Dat is nou niet bepaald een SI maateenheid. Hoe groot is een standaard suikerkorrel? Kun je überhaupt wel spreken van een "korrel" ipv een kristal? Dit is een tech-website, niet een roddelblad. Kunnen we aub gewoon 1,38mm² gebruiken?
Ik heb geen beeld bij 1.38mm2, een suikerkorrel voorbeeld plaatst het geheel in context.
Of ter grootte van een 0603 weerstand/condensator voor de kenners
Oke, dus even resumerend om bij deze amerikaanse maten aan te vullen (aangenomen dat 0603 de "inch" SMT code betreft):

- 0201: zout korrel
- 0603: suiker korrel
- 1206: rijst korrel

Hebben we nog meer korrels om 0402, 0805 en 2512 aan te duiden? :+ Dan is het lijstje namelijk compleet. Praat ook natuurlijk wat makkelijker als je op werk/hackerspace wilt uitleggen wat voor soort korrels je op printplaten aan het bakken bent. /S
Grappig, want ik heb precies het tegenovergestelde.
Zoals gezegd geen idee hoe groot een standaard suikerkorrel is. Is dat hetzelfde als een suiker kristal? Hebben we het overeen kristal wat vermalen is tot poedersuiker ? Is een korrel groter of kleiner dan een kristal? Giet eens een pak kristalsuiker leeg. En een pak poedersuiker. En een pak basterdsuiker. En een pak ruwe rietsuiker. Ik durf te wedden dat er aardig wat verschil zit in de grootte van de "korrels".
Dus op een website waar we geregeld dingen meten in nanometers zou ik graag een wat minder vage titel willen zien.
Start je eigen nieuws site zou ik zeggen.. Haha het is toch iets alledaags dat je vergelijkingen maakt om dingen te verduidelijken. Tjsonge..
Mijn punt was juist dat dit het NIET verduidelijkte.
Maar blijkbaar denk ik hier ander over dan veel andere mensen hier.
Een suikerkorrel is geen context voor een microcontroller. En wat is "het geheel" hier eigenlijk?

Waarschijnlijk heb ik gemist dat "context" nu ook is opgenomen in management-speak, en daardoor zijn betekenis is verloren, net als "exponentieel", "algoritme", "agile", en nog veel meer technische termen die interessant klinken.

In plaats van het interessant klinkende (alsof je een echte opleiding hebt gevolgd in plaats van MBA) "context" zou je ook kunnen zeggen dat de suikerkorrel een idee geeft van de afmetingen.
Bij mij juist het omgekeerde. Ik weet toch behoorlijk precies hoe groot 1mm is en dus ook hoe groot 1mm². Ik wil overigens nog wel eens een suikerkorrel zien die meer dan 1mm² groot is. Dat is toch echt wel serieus grofkorrelige suiker.

EDIT: volgens ChatGPT is een suikerkorrel tussen de 0.38 en 0.75 mm2. Dus de helft minder dan het artikel 'beweert'.

[Reactie gewijzigd door Twixie op 13 maart 2025 12:58]

Oftewel een 5,17 miljardste van een voetbalveld.
Ik ben best wel een nerd, natuurkundige en erg precies in dit soort dingen. Ik vind het belangrijk dat de oppervlakte genoemd wordt, maar ter grootte van een suikerkorrel geeft mijns insziens een goede referentie. Dat plaatst het in perspectief en is van toegevoegde waarde.
Voor de niet natuurkundigen of niet precieze mensen zou een "banana for scale" ook nog een optie kunnen zijn.
Je kan een wolkenkrabber naast een auto zetten om de grootte van een auto in perspectief te zetten. De wolkenkrabber doet echter niets voor de grootte van een auto ten opzichte van een vrachtwagen.

[Reactie gewijzigd door The Zep Man op 13 maart 2025 09:38]

Maar als je weet dat een microcontroller normaal gesproken minimaal de grootte heeft van een vingernagel (wel/niet geknipt), dan is een suikerkorrel opeens wel duidelijk een heel stuk kleiner.

De foto van de vinger met daarop deze microcontroller vind ik ook een goede toevoeging @Terr-E . Een microcontroller van 1,38mm² zou namelijk ook best 30 cm lang kunnen zijn.
Ik haalde de 1,38mm² uit de text van het artikel. Voor een titel zou een LxBxH notatie wat veel zijn, maar 1,38mm³ (uitgaande van 1 x 1 x 1,38 mm) zou ook een optie zijn wat mij betreft.
Maar als je weet dat een microcontroller normaal gesproken minimaal de grootte heeft van een vingernagel (wel/niet geknipt),
Een gemiddelde lezer van T.net zal die vergelijking niet maken in het hoofd.
dan is een suikerkorrel opeens wel duidelijk een heel stuk kleiner.
Lees waarop ik reageer. Dat heeft niets te maken met de vergelijking met een suikerkorrel.

[Reactie gewijzigd door The Zep Man op 13 maart 2025 09:42]

Een foto van een auto naast een wolkenkrabber zetten als nog niemand weet hoe groot een auto is, lijkt mij een verkeerde keuze. Die zou je dan naast een vrachtauto zetten (of naast een mens, want iedereen heeft ongeveer wel een idee hoe groot een vrachtwagen is).

Zo zet je dus ook een microcontroller dat zo groot is als een suikerkorrel, op de foto terwijl die op iemands vinger ligt en niet terwijl die op de grond naast een wolkenkrabber ligt.
In dat geval moet men ook duiden welk type suiker het is.
Het verschil tussen wat je koopt als rietsuiker en kristalsuiker is best groot.
pfff wat een dilemme. Het gaat hier puur om een beeld erbij te krijgen. 1.38mm2 zegt vrij weinig voor de gemiddelde. Laten we ons om andere dingen zorgen maken.
Als het werkelijk de eerste microcontroller ter grootte van een suikerkorrel was dan zou het inderdaad voldoende zijn, maar volgens het artikel heeft de concurrentie er 1 die 38% groter is, wat dus afhankelijk van de korrel ook al de grootte van een suikerkorrel was.
Prima toch dat er dan twee micro controllers zijn ter grootte van een suikerkorrel. De een is weer net wat groter dan de ander.

Ik vind dat de comment sectie alleen maar vervuild wordt, met zulke onnodige reacties. Vandaar mijn irritatie.
Ik vind abstracte techniek kunnen formuleren in niet abstracte dagelijkse fysieke begrijpelijkheid een vaardigheid.

Dat gezegd hebbende is de exacte afmeting vermelden wel een waardevolle toevoeging aan het artikel, gezien het gaat over iets zo klein mogelijk maken.
[...]

Dat is nou niet bepaald een SI maateenheid. Hoe groot is een standaard suikerkorrel? Kun je überhaupt wel spreken van een "korrel" ipv een kristal? Dit is een tech-website, niet een roddelblad. Kunnen we aub gewoon 1,38mm² gebruiken?
Dat bepaal jij niet
Die Amerikanen doen er alles aan om maar geen metric-system te hoeven gebruiken...
In dit geval is het de redactie van Tweakers die de vertaling voor ons (terecht) maakt.
inderdaad, wees blij dat ze het niet een nanoBanana of picoBanana for scale noemen 8)7
Dankjewel daar ging mijn koffie 😄😄
Behalve als ze het over hun 9 millimeter hebben.....
9mm is toch NAVO-rommel. Ze hebben liever hun .45 :-)
haha, ja, onder het imperialistisch systeem is dit dan misschien 1/100ste teennagel :) :) :)
100ste? Nee, het is 2 1/4 63ste freedom unit.
Het grappige is, in het artikel waar naar verwezen wordt wordt er gesproken over een pepervlok.

https://www.ti.com/about-...iest-of-applications.html
Measuring only 1.38mm2, about the size of a black pepper flake
Als ik het goed begrijp is dit te vergelijken met de PY32F002AL15S6TU aan 7 cent
https://www.cnx-software....et-puya-py32-series-mcus/
- SOP8
- Cortex-M0+
- 3KB sram (x 3)
- 20 KB Flash (x 1.25)

deze MSPM0C1104 MCU lijkt me vooral kleiner. Maar ook beperkter en 3 maal zo duur. (vermoedelijk door het kleine formaat en omdat TI over het algemeen niet low budget is...)

Op dit item kan niet meer gereageerd worden.