- Microcontroller en microprocessor
- Factoren waarmee u rekening moet houden bij het selecteren van een MPU of MCU
- 1. Verwerkingskracht
- 2. Interfaces
- 3. Geheugen
- 4. Vermogen
- Conclusie
Het brein van een ingebed apparaat, de verwerkingseenheid, is een belangrijke bepalende factor voor het succes of falen van het apparaat bij het uitvoeren van de taak (en) waarvoor het is ontworpen. De verwerkingseenheid is verantwoordelijk voor elk proces van invoer tot het systeem tot de uiteindelijke uitvoer, dus het selecteren van het juiste platform voor de hersenen wordt erg belangrijk tijdens het ontwerp van het apparaat, aangezien al het andere afhankelijk is van de nauwkeurigheid van die beslissing.
Microcontroller en microprocessor
De verwerkingscomponenten die worden gebruikt voor ingebedde apparaten kunnen worden onderverdeeld in twee brede categorieën; Microcontrollers en microprocessors.
Microcontrollers zijn kleine computerapparaten op een enkele chip die een of meer verwerkingskernen bevatten, met ingebouwde geheugenapparaten naast programmeerbare speciale en algemene invoer- en uitvoerpoorten (I / O). Ze worden vooral gebruikt in toepassingen waar alleen specifieke repetitieve taken moeten worden uitgevoerd. We hebben het al gehad over het selecteren van de juiste microcontroller voor uw embedded projecten.
Microprocessors daarentegen zijn computerapparaten voor algemeen gebruik die alle functies van de centrale verwerkingseenheid op een chip bevatten, maar geen randapparatuur zoals geheugen en invoer- en uitvoerpinnen zoals de microcontroller.
Hoewel fabrikanten nu veel dingen veranderen die de grens tussen microcontrollers en microprocessors doen vervagen, zoals het gebruik van geheugen op chips voor microprocessors en het vermogen van microcontrollers om verbinding te maken met een extern geheugen, bestaan er nog steeds belangrijke verschillen tussen deze componenten en de ontwerper zal moeten het beste kiezen tussen hen voor een bepaald project.
Lees meer over het verschil tussen microcontroller en microprocessor.
Factoren waarmee u rekening moet houden bij het selecteren van een MPU of MCU
Voordat een beslissing wordt genomen over de richting die moet worden gevolgd met betrekking tot het verwerkingsapparaat dat moet worden gebruikt voor het ontwerp van een ingebed product, is het belangrijk om de ontwerpspecificaties te ontwikkelen. Het ontwikkelen van de ontwerpspecificaties biedt een mogelijkheid voor het voorontwerp van apparaten, wat helpt bij het identificeren van het probleem dat moet worden opgelost, hoe het moet worden opgelost, de componenten die moeten worden gebruikt en nog veel meer. Dit helpt de ontwerper om weloverwogen algemene beslissingen over het project te nemen en helpt te bepalen in welke richting hij de verwerkingseenheid moet afleggen.
Enkele van de factoren in de ontwerpspecificatie waarmee rekening moet worden gehouden voordat u kiest tussen een microcontroller en een microprocessor, worden hieronder beschreven.
1. Verwerkingskracht
Verwerkingskracht is een van de belangrijkste (zo niet de belangrijkste) dingen waarmee u rekening moet houden bij het kiezen tussen een microcontroller en een microprocessor. Het is een van de belangrijkste factoren die kantelen naar microprocessors. Het wordt gemeten in DMIPS (Dhrystone Million of Instructions Per Seconds) en vertegenwoordigt het aantal instructies dat een microcontroller of microprocessor in een seconde kan verwerken. Het is in wezen een indicatie van hoe snel een apparaat een taak kan voltooien die eraan is toegewezen.
Hoewel het bepalen van de exacte rekenkracht die uw ontwerp nodig heeft een zeer moeilijke taak kan zijn, kan een weloverwogen schatting worden gemaakt door de taak (en) te onderzoeken, het apparaat wordt gemaakt om uit te voeren en wat de rekenvereisten van die taken kunnen zijn. Bijvoorbeeld, de ontwikkeling van een apparaat dat het gebruik van een volledig besturingssysteem vereist , ofwel embedded Linux, Windows CE of een van de andere besturingssystemen, zou een verwerkingsvermogen van wel 500 DMIPS vereisen, wat klinkt als een processor? Ja. Om hieraan toe te voegen, heeft het draaien van een besturingssysteem op een apparaat een geheugenbeheereenheid (MMU) nodig die de vereiste verwerkingskracht verhoogt. Apparaattoepassingen waarbij veel rekenkunde nodig is, vereisen ook zeer hoge DMIPSwaarden en hoe meer wiskundige / numerieke berekeningen het apparaat moet uitvoeren, hoe meer de ontwerpvereisten neigen naar het gebruik van een microprocessor vanwege het vereiste verwerkingsvermogen.
Een andere belangrijke implicatie van verwerkingskracht die de keuze tussen microprocessors en microcontrollers beïnvloedt, is de complexiteit of eenvoud van zaken als gebruikersinterfaces. Het is tegenwoordig wenselijk om kleurrijke en interactieve GUI's te hebben, zelfs voor de meest elementaire toepassingen. De meeste bibliotheken die worden gebruikt bij het maken van gebruikersinterfaces zoals QT, hebben een verwerkingsvermogen nodig van wel 80-100 DMIPS en hoe meer animaties, afbeeldingen en andere multimedia-inhoud er worden weergegeven, hoe meer rekenkracht er nodig is. Eenvoudigere gebruikersinterfaces op schermen met lage resolutie vereisen echter weinig verwerkingskracht en kunnen worden gevoed met behulp van microcontrollers, aangezien een groot aantal van hen tegenwoordig wordt geleverd met ingebouwde interfaces voor interactie met verschillende schermen
Naast enkele van de hierboven genoemde kernfuncties, is het belangrijk om wat rekenkracht te reserveren voor communicatie en andere randapparatuur. Hoewel de meeste hierboven gegeven voorbeelden het gebruik van een microprocessor ondersteunen, zijn ze over het algemeen duurder in vergelijking met microcontrollers en zullen ze een overkill zijn wanneer ze in bepaalde oplossingen worden gebruikt. van het product hoger dan normaal en kan uiteindelijk leiden tot marktfalen.
2. Interfaces
De interface die moet worden gebruikt om verschillende elementen van het product met elkaar te verbinden, is een van de factoren waarmee u rekening moet houden voordat u kiest tussen een microcontroller en een microprocessor. Het is belangrijk om ervoor te zorgen dat de te gebruiken verwerkingseenheid de interfaces heeft die vereist zijn voor de andere componenten.
Vanuit het oogpunt van connectiviteit en communicatie beschikken de meeste microcontrollers en microprocessors over de interfaces die nodig zijn om verbinding te maken met communicatieapparatuur, maar wanneer snelle communicatie-randapparatuur zoals de supersnelle USB 3.0-interface, meerdere 10/100 Ethernet-poorten of Gigabit Ethernet-poort nodig zijn, kantelen in de richting van de microprocessor, aangezien de interface die nodig is om deze te ondersteunen, over het algemeen alleen op hen wordt aangetroffen omdat ze beter in staat zijn om de grote hoeveelheden gegevens en de snelheid waarmee die gegevens worden overgedragen, te verwerken en te verwerken.
De impact van de protocollen die voor deze interfaces worden gebruikt op de hoeveelheid geheugen die nodig is voor de firmware, moet worden bevestigd, aangezien deze de neiging hebben om de geheugenvereisten te verhogen. Het is een algemene vuistregel dat een op een microprocessor gebaseerd ontwerp wordt toegepast voor toepassingen die een snelle connectiviteit vereisen waarbij grote hoeveelheden gegevens worden uitgewisseld, vooral wanneer het systeem het gebruik van een besturingssysteem omvat.
3. Geheugen
Deze twee gegevensverwerkende apparaten gaan op een andere manier om met geheugen en gegevensopslag. Microcontrollers worden bijvoorbeeld geleverd met ingebouwde, vaste geheugenapparaten, terwijl microprocessors worden geleverd met interfaces waarop geheugenapparaten kunnen worden aangesloten. Twee belangrijke implicaties hiervan zijn;
Kosten
De microcontroller wordt een goedkopere oplossing, omdat er geen extra geheugenapparaat voor nodig is, terwijl de microprocessor een dure oplossing wordt die moet worden toegepast vanwege deze aanvullende vereisten.
Beperkt geheugen
Door het vaste geheugen op de microcontroller is de hoeveelheid data die erop kan worden opgeslagen beperkt. Dit is een situatie die niet van toepassing is op processors, aangezien ze meestal zijn aangesloten op externe geheugenapparaten. Een goed voorbeeld van wanneer deze beperking een probleem kan zijn, is bij het ontwikkelen van firmware voor het apparaat. Het toevoegen van extra kilobytes aan de codegrootte kan een wijziging in de te gebruiken microcontroller vereisen, maar als het ontwerp op een processor was gebaseerd, hoeven we alleen het geheugenapparaat te wijzigen. Zo microprocessors bieden meer flexibiliteit met geheugen.
Er zijn verschillende andere factoren op basis van het geheugen waarmee rekening moet worden gehouden, een daarvan is de opstarttijd (opstarttijd). De microprocessors slaan de firmware bijvoorbeeld op een extern geheugen op (meestal een extern NAND- of Serial Flash-geheugen) en bij het opstarten wordt de firmware in de DRAM van de processor geladen. Hoewel dit binnen een paar seconden gebeurt, is het voor bepaalde toepassingen misschien niet ideaal. De microcontroller daarentegen kost minder tijd.
Voor algemene snelheidsoverwegingen wint de MCU meestal vanwege zijn vermogen om de meest tijdkritische applicaties aan te pakken vanwege de processorkern die erin wordt gebruikt, het feit dat het geheugen is ingebed en de firmware die ermee wordt gebruikt, altijd een RTOS of bare metal is C.
4. Vermogen
Een laatste punt om te overwegen is het stroomverbruik. Hoewel microprocessors energiezuinige modi hebben, zijn deze modi niet zo veel als degene die beschikbaar zijn op een typische MCU en met de externe componenten die vereist zijn voor een op een microprocessor gebaseerd ontwerp, is het iets ingewikkelder om energiezuinige modi te bereiken. Afgezien van de energiebesparende modi, is de werkelijke hoeveelheid stroom die door een MCU wordt verbruikt een stuk lager dan wat een microprocessor verbruikt, want hoe groter de verwerkingscapaciteit, hoe meer stroom nodig is om de processor aan de gang te houden.
Microcontrollers hebben daarom de neiging om toepassingen te vinden waar verwerkingseenheden met ultralaag vermogen nodig zijn, zoals afstandsbedieningen, consumentenelektronica en verschillende slimme apparaten waarbij de nadruk bij het ontwerp ligt op de lange levensduur van de batterij. Ze worden ook gebruikt waar een zeer deterministisch gedrag nodig is.
Microprocessors zijn daarentegen ideaal voor industriële en consumententoepassingen die een besturingssysteem vereisen, rekenintensief zijn en een snelle connectiviteit of een gebruikersinterface met veel media-informatie vereisen.
Conclusie
Er zijn nog verschillende andere factoren die als bepalende factoren dienen voor de keuze tussen deze twee platforms en ze vallen allemaal onder prestaties, mogelijkheden en budget, maar de algehele selectie wordt gemakkelijker wanneer een goed systeemvoorontwerp aanwezig is en de vereisten duidelijk worden vermeld. Microcontrollers worden meestal gebruikt in oplossingen met een zeer krap BOM-budget en met strikte stroomvereisten, terwijl microprocessors worden gebruikt in toepassingen met enorme reken- en prestatie-eisen.