TI MSP430

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Een MSP430 Experimenter's Board. De MSP430-chip zit links boven het midden.

De TI MSP430 is een RISC-gebaseerde microcontroller (MCU) van Texas Instruments. De 16 bit-processor is speciaal ontworpen voor een laag stroomverbruik. De processor is van het type mixed signal processor (MSP), en accepteert dus zowel analoge als digitale invoersignalen.

Stroomverbruik[bewerken]

De microcontroller is ontworpen voor toepassing in apparaten die zeer weinig stroom verbruiken. Door het lage stroomverbruik van de controller zelf, kan deze ook toegepast worden in apparaten die uitsluitend op batterijvoeding werken. Het verbruik bedraagt enkele milliampères, afhankelijk van de toepassing. Om het stroomverbruik te beperken heeft de MSP430 een regelbare klok en een slaap-modus.

Kloksysteem[bewerken]

De hoofdklok bepaalt de maximale kloksnelheid van de microprocessor. Bij de eerste serie heeft deze een frequentie van 8 MHz, bij series met een hoger nummer is ook de kloksnelheid hoger, tot 25 MHz in series 5 en 6. Om het stroomverbruik te minimaliseren werken functies die geen hoge kloksnelheid vragen op een lagere frequentie. De microprocessor gebruikt dus verschillende kloksnelheden. Indien de microcontroller niet intensief gebruikt wordt, kunnen de niet gebruikte klokken worden uitgezet.

Wake-up[bewerken]

De microcontroller kent een slaap-modus, met een stroomverbruik van minder dan 1 microampère, waarbij de randapparatuur doorwerkt maar de centrale verwerkingseenheid is uitgeschakeld zolang er geen data hoeven te worden verwerkt. Als het apparaat erom vraagt kan de controller binnen 1µs weer volledig operationeel zijn (de controller heeft een onmiddellijke wake-up van minder dan 1µs).

Geheugen[bewerken]

De MSP430 kan met verschillende soorten geheugen zijn uitgerust. Het toegepaste geheugen wordt vermeld in het typenummer:

  • "C" staat voor masker-ROM en is door de producent voorgeprogrammeerd;
  • "F" staat voor Flash, universeel, niet-vluchtig geheugen;
  • "FR" voor FRAM (Ferroelectric RAM), dat veel sneller is dan Flash en minder stroom verbruikt;
  • "G" staat voor Flash Value Line, de goedkoopste variant;
  • "L" staat voor RAM, een geheugentype dat de inhoud verliest als de stroom wordt onderbroken.

Bij de MSP430 worden het programma en de data in hetzelfde geheugen opgeslagen. De chip heeft geen memory bus en het beschikbare geheugen is dus gelimiteerd aan het chipgeheugen. De hoeveelheid geheugen verschilt per type en is maximaal 256 KB Flash- en 18 KB RAM-geheugen in de 5- en 6-series. Dit is meestal genoeg, maar bij het verwerken van veel data kan dit een beperking vormen. De werkingsspanning ligt tussen de 1,8 en 3,6 V.

MSP430-typen en naamgeving[bewerken]

MSP430-nomenclatuur

Er zijn veel verschillende typen van de MSP430 met elk iets andere specificaties. De typenamen zijn logisch opgebouwd. Bij de aanduiding MSP430F5137 is dit bijvoorbeeld als volgt:

  • MSP430: de standaardprefix
  • F: flashgeheugen. Zie onder Geheugen voor de andere typen.
  • 5: het serienummer 5, met een frequentie tot 25MHz. Dit kan 1 t/m 6 zijn.
  • 1: het generatienummer binnen de serie.
  • 37: het nummer dat de geheugenconfiguratie aangeeft.

Energiebeheer[bewerken]

Voor een maximale batterijlevensduur moet het stroomverbruik worden geminimaliseerd. Er zijn 4 soorten verbruik:

Standby-verbruik[bewerken]

Wanneer de microcontroller in stand-by staat zal deze zeer weinig stroom verbruiken. Het terugbrengen van de microcontroller in actieve toestand duurt slechts kort, waarna de cpu opnieuw data kan verwerken.

De standbymodus heeft de volgende mogelijkheden en eigenschappen:

  • Automatische ontwaking op tijdsinterval: de microcontroller heeft een realtimeklok (RTC) die in een standby-modus loopt en het mogelijk maakt om de microcontroller na een specifiek tijdsinterval automatisch een wake-up te geven.
  • RAM behouden tijdens stand-by: het behouden van de in het RAM opgeslagen informatie gedurende de standbymodus maakt het mogelijk om de microcontroller snel te starten zonder de opstartcode die veel energie vraagt. Dit spaart energie en tijd.
  • Interruptmogelijkheden: de microcontroller kan bepaalde randapparaten in standbymodus ingeschakeld laten waardoor de microcontroller bij een interrupt, zoals een UART-commando, snel kan ontwaken.
  • Spanningscontrole: Brownout Reset (BOR) en Supply Voltage Supervisor (SVS) zijn belangrijke circuits die de betrouwbaarheid van de microcontroller vergroten. Storingen en onderbrekingen in de voeding van de microcontroller kunnen de betrouwbaarheid van de operatie negatief beïnvloeden. Na een plotselinge of te grote daling van de spanning volgt automatisch een reset.

Stroomverbruik door randapparatuur[bewerken]

Indien er randapparatuur wordt aangesloten op de MSP430 zal deze hiervan data moeten verwerken en mogelijk uitkomsten terugsturen. Dit vraagt energie en kan geoptimaliseerd worden door bijvoorbeeld de mcu minder of efficiënter data te late verwerken.

Stroomverbruik door het geheugen[bewerken]

RAM- en Flashgeheugen kunnen alleen data vasthouden als ze onder spanning blijven. Het stroomverbruik is afhankelijk van de frequentie waarmee data worden geschreven en de hoeveelheid te bewaren data.

Actief stroomverbruik[bewerken]

Het actieve stroomverbruik is stroom die de processor verbruikt bij het verwerken van data. Die kan geminimaliseerd worden door optimale programma's voor de microcontroller te schrijven.

Toepassingen[bewerken]

De MSP430 kan geïmplementeerd worden in een netwerk waarbij draadloos moet worden gecommuniceerd zoals bijvoorbeeld bij een sensornetwerk. Deze chip kan ook dienen in de medische sector, bijvoorbeeld in compacte meettoestellen. Ook capacitieve aanraakscherm-interfaces kunnen worden ondersteund met de MSP430 door gebruik te maken van zijn oscillatoren. Verder wordt deze chip gebruikt in fitnessapparaten, zoals hartslagmeters, en bij het regelen van motoren zoals in printers en speelgoed.

De chip wordt toegepast in compacte toepassingen die gewoonlijk niet veel mogen verbruiken, omdat deze op batterijen werken en de capaciteit dus beperkt is.

Er zijn tegenwoordig modules die de implementatie van deze microcontroller eenvoudig maken. Een voorbeeld hiervan is de WizziKit. Hierbij kunnen externe apparaten worden aangesloten en kan er met JTAG en UART worden gewerkt.

Externe link[bewerken]

Bronnen en referenties