- Belangrijke factoren waarmee u rekening moet houden bij het selecteren van een MCU
- 1. Toepassing
- 2. Selecteer Microcontroller-architectuur
- 3. Bitgrootte
- 4. Interfaces voor communicatie
- 5. Bedrijfsspanning
- 6. Aantal I / O-pinnen
- 7. Geheugenvereisten
- 8. Verpakkingsgrootte
- 9. Stroomverbruik
- 10. Ondersteuning voor Microcontroller
Een microcontroller is in wezen een kleine computer op een chip, zoals elke computer. Hij heeft geheugen en is meestal geprogrammeerd in embedded systemen om invoer te ontvangen, berekeningen uit te voeren en uitvoer te genereren. In tegenstelling tot een processor, bevat het het geheugen, de CPU, I / O en andere randapparatuur op een enkele chip, zoals weergegeven in de onderstaande lay-out.
Het kiezen van de juiste microcontroller voor een project is altijd een complexe beslissing, omdat dit de kern van het project is en het succes of falen van het systeem ervan afhangt.
Er zijn duizend verschillende soorten microcontrollers, elk met een unieke functie of concurrentievoordeel, van vormfactor tot pakketgrootte, tot de capaciteit van de RAM en ROM waardoor ze geschikt zijn voor bepaalde toepassingen en ongeschikt voor bepaalde toepassingen. Om de hoofdpijn te vermijden die gepaard gaat met het kiezen van de juiste, kiezen ontwerpers vaak voor microcontrollers die ze kennen en die soms, zelfs niet echt voldoen aan de eisen van het project. Het artikel van vandaag gaat in op enkele van de belangrijke factoren waarmee u rekening moet houden bij het selecteren van een microcontroller, waaronder de architectuur, het geheugen, interfaces en I / O-onroerend goed.
Belangrijke factoren waarmee u rekening moet houden bij het selecteren van een MCU
Hieronder volgen enkele van de belangrijke factoren om naar te kijken bij het selecteren van een microcontroller, waaronder onder andere de architectuur, het geheugen, interfaces en I / O-onroerend goed.
1. Toepassing
Het eerste dat u moet doen voordat u een microcontroller voor een project selecteert, is een diep begrip ontwikkelen van de taak waarvoor de op microcontroller gebaseerde oplossing moet worden ingezet. Tijdens dit proces wordt altijd een technisch specificatieblad ontwikkeld en dit zal helpen om de specifieke kenmerken van de microcontroller te bepalen die voor het project zal worden gebruikt. Een goed voorbeeld van hoe de toepassing / het gebruik van het apparaat de te gebruiken microcontroller bepaalt, wordt getoond wanneer een microcontroller met een drijvende-komma-eenheid wordt gebruikt voor het ontwerp van een apparaat dat zal worden gebruikt om bewerkingen uit te voeren met veel decimale getallen.
2. Selecteer Microcontroller-architectuur
De architectuur van een microcontroller verwijst naar hoe de microcontroller intern is gestructureerd. Er zijn twee belangrijke architecturen die worden gebruikt voor het ontwerp van microcontrollers;
- Von Neumann Architecture
- Harvard-architectuur
De Von Neumann-architectuur maakt gebruik van dezelfde bus om gegevens te verzenden en instructiesets uit het geheugen op te halen. Daarom kunnen gegevensoverdracht en het ophalen van instructies niet tegelijkertijd worden uitgevoerd en zijn ze gewoonlijk gepland. De Harvard-architectuur daarentegen omvat het gebruik van afzonderlijke bussen voor het verzenden van gegevens en het ophalen van instructies.
Elk van deze architecturen heeft zijn eigen voor- en nadelen. De Harvard-architectuur zijn bijvoorbeeld RISC-computers (Reduced Instruction Set) en kunnen dus meer instructies uitvoeren met lagere cycli dan de CISC-computers (Complex instruction Set) die zijn gebaseerd op de von Neumann-architectuur. Een belangrijk voordeel van de op Harvard (RISC) gebaseerde microcontrollers is het feit dat het bestaan van verschillende bussen voor gegevens- en instructiesets de scheiding mogelijk maakt van de geheugentoegang en de bewerkingen van de rekenkundige en logische eenheid (ALU). Dit vermindert de hoeveelheid rekenkracht die de microcontroller nodig heeft en het leidt tot lagere kosten, een laag stroomverbruik en warmteafvoer, waardoor ze ideaal zijn voor het ontwerp van op batterijen werkende apparaten. Veel ARM,AVR en PIC Microcontrollers zijn gebaseerd op de Harvard-architectuur. Voorbeelden van microcontrollers die de Von Neumann-architectuur gebruiken, zijn onder andere 8051, zilog Z80.
3. Bitgrootte
Een microcontroller kan 8 bits, 16 bits, 32 bits en 64 bits zijn, wat de huidige maximale bitgrootte is die een microcontroller bezit. De bitgrootte van een microcontroller vertegenwoordigt de grootte van een "woord" dat wordt gebruikt in de instructieset van de microcontroller. Dit betekent dat in een 8-bits microcontroller de weergave van elke instructie, adres, variabele of register 8-bits duurt. Een van de belangrijkste implicaties van de bitgrootte is de geheugencapaciteit van de microcontroller. In een 8-bits microcontroller zijn er bijvoorbeeld 255 unieke geheugenlocaties zoals bepaald door de bitgrootte, terwijl er in een 32-bits microcontroller 4.294.967.295 unieke geheugenlocaties zijn, wat betekent dat hoe groter de bitgrootte, hoe hoger het aantal unieke geheugenlocaties beschikbaar voor gebruik op de microcontroller. Fabrikanten tegenwoordig echterontwikkelen manieren om via paging en adressering toegang te bieden tot meer geheugenlocaties voor microcontrollers met een kleinere bitgrootte, zodat de 8-bits microcontroller 16-bits adresseerbaar wordt, maar dit maakt het programmeren voor de ontwikkelaar van embedded software gecompliceerd.
Het effect van bitgrootte wordt waarschijnlijk significanter ervaren bij het ontwikkelen van de firmware voor de microcontroller, met name voor rekenkundige bewerkingen. De verschillende gegevenstypen hebben verschillende geheugengroottes voor verschillende bitgroottes van de microcontroller. Als u bijvoorbeeld een variabele gebruikt die is gedeclareerd als een geheel getal zonder teken dat vanwege het gegevenstype 16 bits geheugen nodig heeft, in codes die moeten worden uitgevoerd op een 8-bits microcontroller, zal dit leiden tot het verlies van de meest significante byte in de gegevens die soms kan worden erg belangrijk voor het vervullen van de taak waarvoor het apparaat waarop de microcontroller moet worden gebruikt, is ontworpen.
Het is dus belangrijk om een microcontroller te selecteren met een bitgrootte die overeenkomt met die van de te verwerken gegevens.
Het is waarschijnlijk belangrijk op te merken dat de meeste toepassingen tegenwoordig tussen de 32 bits en 16 bits microcontrollers zijn vanwege de technologische vooruitgang die op deze chips is verwerkt.
4. Interfaces voor communicatie
Voor communicatie tussen de microcontroller en enkele van de sensoren en actuatoren die voor het project worden gebruikt, kan het gebruik van een interface tussen de microcontroller en de sensor of actuator nodig zijn om de communicatie te vergemakkelijken. Om bijvoorbeeld een analoge sensor op een microcontroller aan te sluiten, moet de microcontroller voldoende ADC (analoog naar digitaal converters) hebben, of zoals ik eerder al zei, kan het variëren van de snelheid van een DC-motor het gebruik van een PWM-interface op de microcontroller vereisen. Het is dus belangrijk om te bevestigen dat de te selecteren microcontroller voldoende interfaces heeft, waaronder UART, SPI en I2C.
5. Bedrijfsspanning
De bedrijfsspanning is het spanningsniveau waarop een systeem is ontworpen om te werken. Het is ook het spanningsniveau waarmee bepaalde kenmerken van het systeem verband houden. Bij hardware-ontwerp bepaalt de bedrijfsspanning soms het logische niveau waarop de microcontroller communiceert met andere componenten waaruit het systeem bestaat.
Het spanningsniveau van 5V en 3,3V is de meest populaire bedrijfsspanning die wordt gebruikt voor microcontrollers en er moet een beslissing worden genomen over welk van deze spanningsniveaus zal worden gebruikt tijdens het proces van het ontwikkelen van de technische specificaties van het apparaat. Het gebruik van een microcontroller met een bedrijfsspanning van 3,3 V in het ontwerp van een apparaat waarbij de meeste externe componenten, sensoren en actuatoren werken op een spanningsniveau van 5 V, zal geen erg slimme beslissing zijn, aangezien er een logisch niveau moet worden geïmplementeerd shifters of converters om de uitwisseling van gegevens tussen de microcontroller en de andere componenten mogelijk te maken en dit zal de fabricagekosten en de totale kosten van het apparaat onnodig verhogen.
6. Aantal I / O-pinnen
Het aantal algemene of speciale invoer- / uitvoerpoorten en (of) pinnen van een microcontroller is een van de belangrijkste factoren die de keuze van een microcontroller beïnvloedt.
Als een microcontroller alle andere functies zou hebben die in dit artikel worden genoemd, maar niet genoeg I / O-pinnen heeft zoals vereist door het project, kan deze niet worden gebruikt. Het is bijvoorbeeld belangrijk dat de microcontroller voldoende PWM-pinnen heeft om het aantal DC-motoren te regelen waarvan de snelheid door het apparaat zal worden gevarieerd. Hoewel het aantal I / O-poorten op een microcontroller kan worden uitgebreid door het gebruik van schuifregisters, kan het niet voor alle soorten toepassingen worden gebruikt en stijgen de kosten van de apparaten waarin het wordt gebruikt. Daarom is het beter om ervoor te zorgen dat de microcontroller die voor het ontwerp wordt geselecteerd, het vereiste aantal algemene en speciale I / O-poorten voor het project heeft.
Een ander belangrijk ding om in gedachten te houden bij het bepalen van het aantal algemene of speciale I / O-pinnen dat nodig is voor een project, is de toekomstige verbetering die aan het apparaat kan worden aangebracht en hoe deze verbeteringen het aantal I / O-pinnen kunnen beïnvloeden. verplicht.
7. Geheugenvereisten
Er zijn verschillende soorten geheugen die aan een microcontroller zijn gekoppeld, waar de ontwerper op moet letten bij het maken van een selectie. De belangrijkste zijn de RAM, ROM en EEPROM. De hoeveelheid van elk van deze geheugens die nodig zijn, is misschien moeilijk in te schatten totdat ze worden gebruikt, maar als je kijkt naar de hoeveelheid werk die de microcontroller nodig heeft, kunnen voorspellingen worden gedaan. Deze hierboven genoemde geheugenapparaten vormen het data- en programmageheugen van de microcontroller.
Het programmageheugen van de microcontroller slaat de firmware voor de microcontroller op, zodat wanneer de stroom wordt losgekoppeld van de microcontroller, de firmware niet verloren gaat. De hoeveelheid programmageheugen die nodig is, hangt af van de hoeveelheid gegevens zoals bibliotheken, tabellen, binaire bestanden voor afbeeldingen enz. Die nodig zijn om de firmware correct te laten werken.
Het datageheugen wordt daarentegen gebruikt tijdens runtime. Alle variabelen en gegevens die worden gegenereerd als resultaat van onder andere bewerkingen tijdens runtime, worden in dit geheugen opgeslagen. De complexiteit van berekeningen die tijdens de runtime plaatsvinden, kan dus worden gebruikt om de hoeveelheid datageheugen te schatten die nodig is voor de microcontroller.
8. Verpakkingsgrootte
De pakketgrootte verwijst naar de vormfactor van de microcontroller. Microcontrollers worden over het algemeen geleverd in pakketten die variëren van QFP, TSSOP, SOIC tot SSOP en het reguliere DIP-pakket, waardoor montage op breadboard voor prototyping eenvoudig is. Het is belangrijk om voorafgaand aan de productie te plannen en te bedenken welk pakket het beste zal zijn.
9. Stroomverbruik
Dit is een van de belangrijkste factoren waarmee u rekening moet houden bij het selecteren van een microcontroller, vooral wanneer deze moet worden ingezet in een batterijgevoede toepassing zoals IoT-apparaten, waarbij het gewenst is dat de microcontroller zo laag mogelijk stroomt. De datasheet van de meeste microcontrollers bevat informatie over verschillende op hardware en (of) software gebaseerde technieken die kunnen worden gebruikt om het stroomverbruik van de microcontroller in verschillende modi te minimaliseren. Zorg ervoor dat de microcontroller die u selecteert, voldoet aan de stroomvereisten voor uw project.
10. Ondersteuning voor Microcontroller
Het is belangrijk dat de microcontroller waarmee u werkt, voldoende ondersteuning heeft, inclusief; codevoorbeelden, referentieontwerpen en indien mogelijk een grote community online. Voor het eerst met een microcontroller werken, kan verschillende uitdagingen met zich meebrengen en als u toegang hebt tot deze bronnen, kunt u ze snel overwinnen. Hoewel het gebruik van de nieuwste microcontrollers vanwege die coole nieuwe functies een goede zaak is, is het raadzaam om ervoor te zorgen dat de microcontroller al minstens 3-4 maanden bestaat om de meeste vroege problemen te voorkomen die mogelijk verband houden met de microcontroller zou zijn opgelost omdat verschillende klanten de microcontroller met verschillende applicaties veel zouden hebben getest.
Het is ook belangrijk om een microcontroller met een goede evaluatiekit te selecteren, zodat u snel kunt beginnen met het bouwen van prototypes en gemakkelijk functies kunt testen. De evaluatiekits zijn een goede manier om ervaring op te doen, vertrouwd te raken met de toolketen die voor de ontwikkeling wordt gebruikt en tijd te besparen tijdens de ontwikkeling van het apparaat.
Het selecteren van de juiste microcontroller voor een project zal een probleem blijven, elke hardware-ontwerper zal het moeten oplossen en hoewel er weinig meer factoren zijn die de keuze van de microcontroller kunnen beïnvloeden, zijn deze hierboven genoemde factoren de belangrijkste.