TI MSP430 - TI MSP430

TI MSP430
Designer Texas Instruments
Bits 16-Bit
Typ Speicher-Speicher
Endianität kleiner endian
Erweiterungen MSP430X
Register
16, R0 – Programmzähler, R1 – Stapelzeiger, R2 – Statusregister, R2/R3 – Konstantengenerator
MSP 430 FG438 steuert ein Blutzuckermessgerät
Foto von zwei Experimenterboards für den MSP430-Chipsatz von Texas Instruments. Links die größere Chipversion, rechts eine kleine Version im USB-Format.

Der MSP430 ist eine Mixed-Signal- Mikrocontroller- Familie von Texas Instruments , die erstmals am 14. Februar 1992 vorgestellt wurde. Der MSP430 basiert auf einer 16-Bit- CPU und wurde für kostengünstige und insbesondere energiesparende Embedded-Anwendungen entwickelt.

Anwendungen

Aktivmed GlucoCheck Comfort Glukosemessgerät - Leiterplatte unter dem LCD mit einer MSP 430 CPU

Der MSP430 kann für eingebettete Geräte mit geringer Leistung verwendet werden . Die Stromaufnahme im Ruhemodus kann weniger als 1 µA betragen. Die maximale CPU-Geschwindigkeit beträgt 25 MHz. Es kann für einen geringeren Stromverbrauch gedrosselt werden. Der MSP430 verwendet außerdem sechs verschiedene Energiesparmodi, die nicht benötigte Takte und CPU deaktivieren können. Darüber hinaus kann der MSP430 in Zeiten von weniger als 1 Mikrosekunde aufwachen, sodass der Controller länger im Schlafmodus bleiben kann, wodurch der durchschnittliche Stromverbrauch minimiert wird. Das Gerät ist in verschiedenen Konfigurationen mit der üblichen Peripherie erhältlich: interner Oszillator , Timer inklusive Pulsweitenmodulation (PWM), Watchdog-Timer (Watchdog), USART , Serial Peripheral Interface (SPI) Bus, Inter-Integrated Circuit ( I²C ), 10/12/14/16/24-Bit- Analog-Digital-Wandler (ADC) und Brownout- Reset- Schaltung . Einige weniger übliche Peripherieoptionen umfassen Komparatoren (die mit den Timern verwendet werden können, um einen einfachen ADC zu machen), On-Chip- Operationsverstärker (Op-Amp) zur Signalkonditionierung , 12-Bit- Digital-Analog-Wandler (DAC), Flüssigkristall Display (LCD)-Treiber, Hardware-Multiplikator , USB und Direct Memory Access (DMA) für ADC-Ergebnisse. Abgesehen von einigen älteren löschbaren programmierbaren Nur - Lese-Speicher ( EPROM , wie MSP430E3xx) und hochvolumige Masken - ROM (MSP430Cxxx) Versionen, alle Geräte sind in-System - Programmierung aktiviert über Joint Test Action Group ( JTAG ), Vollvierdraht oder Spy-Bi-Wire ), einen integrierten Bootstrapping- Loader (BSL) mit UART wie RS232 oder USB auf Geräten mit USB-Unterstützung. In den Geräten der F20xx-, G2xx0-, G2xx1-, G2xx2- oder I20xx-Familie ist kein BSL enthalten.

Es gibt jedoch Grenzen, die den Einsatz in komplexeren eingebetteten Systemen ausschließen . Der MSP430 hat keinen externen Speicherbus , daher ist er auf On-Chip-Speicher, bis zu 512 KB Flash-Speicher und 66 KB Random Access Memory (RAM) beschränkt, was für Anwendungen, die große Puffer oder Datentabellen benötigen, möglicherweise zu klein ist . Auch wenn es einen DMA-Controller hat, ist es aufgrund des Fehlens eines DMA-Ausgangs-Strobes sehr schwierig, ihn zum Verschieben von Daten vom Chip zu verwenden.

MSP430-Generationen

Es gibt sechs allgemeine Generationen von MSP430-Prozessoren. In der Reihenfolge der Entwicklung sind dies: '3xx Generation, '1xx Generation, '4xx Generation, '2xx Generation, '5xx Generation und '6xx Generation. Die Ziffer nach der Generierung identifiziert das Modell (in der Regel sind höhere Modellnummern größer und leistungsfähiger), die dritte Ziffer bezeichnet den enthaltenen Speicher und die vierte, falls vorhanden, eine kleinere Modellvariante. Die häufigste Variante ist ein anderer Analog-Digital-Wandler auf dem Chip .

Die Generationen 3xx und 1xx sind auf einen 16-Bit-Adressraum beschränkt. In späteren Generationen wurde dies um '430X'-Befehle erweitert, die einen 20-Bit-Adressraum ermöglichen. Wie bei anderen Prozessorarchitekturen (zB dem Prozessor des PDP-11 ) führte die Erweiterung des Adressierungsbereichs über die 16-Bit-Wortgröße hinaus zu einigen Besonderheiten und Ineffizienzen für Programme mit einer Größe von mehr als 64 kByte.

In der folgenden Liste ist es hilfreich, sich die typische Kapazität von 200 mA·Hr einer CR2032- Lithium- Knopfzelle mit 200.000 µA·Hr oder 22,8 µA·Jahr vorzustellen. Betrachtet man also nur den CPU-Bezug, könnte eine solche Batterie 32 Jahre lang eine Stromaufnahme von 0,7 μA liefern. (In Wirklichkeit würde die Selbstentladung der Batterie diese Zahl reduzieren.)

Die Bedeutung der RAM-Retention gegenüber dem Echtzeituhrmodus besteht darin, dass die CPU im Echtzeituhrmodus mit einer laufenden Uhr in den Ruhezustand gehen kann, die sie zu einem bestimmten zukünftigen Zeitpunkt aufweckt. Im RAM-Aufbewahrungsmodus ist ein externes Signal erforderlich, um es aufzuwecken, z. B. ein Eingangs-/Ausgangs- (I/O)-Pin-Signal oder ein SPI-Slave-Empfangsinterrupt.

MSP430x1xx-Serie

Die MSP430x1xx-Serie ist die Basisgeneration ohne eingebetteten LCD- Controller. Sie sind im Allgemeinen kleiner als die '3xx-Generation. Diese Flash- oder ROM-basierten Ultra-Low-Power-MCUs bieten 8 MIPS, 1,8–3,6 V-Betrieb, bis zu 60 KB Flash und eine breite Palette analoger und digitaler Peripheriegeräte.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 0,7 μA Echtzeituhrmodus
    • 200 μA / MIPS aktiv
    • Bietet schnelles Aufwachen aus dem Standby-Modus in weniger als 6 µs.
  • Geräteparameter
    • Flash-Optionen: 1–60 KB
    • ROM-Optionen: 1–16 KB
    • RAM : 128 B–10 KB
    • GPIO-Optionen: 14, 22, 48 Pins
    • ADC-Optionen: Steilheit, 10- und 12-Bit-SAR
    • Weitere integrierte Peripherie: 12-Bit-DAC, bis zu 2 16-Bit-Timer, Watchdog-Timer, Brown-Out-Reset, SVS, USART-Modul (UART, SPI), DMA, 16×16-Multiplikator, Comparator_A, Temperatursensor

MSP430F2xx-Serie

Die MSP430F2xx-Serie ähnelt der '1xx-Generation, arbeitet jedoch mit noch geringerer Leistung, unterstützt bis zu 16 MHz und verfügt über einen genaueren (±2%) On-Chip-Takt, der den Betrieb ohne externen Quarz erleichtert. Diese Flash-basierten Ultra-Low-Power-Bausteine ​​bieten einen Betrieb von 1,8–3,6 V. Enthält den sehr stromsparenden Oszillator (VLO), interne Pull-Up/Pull-Down-Widerstände und Optionen mit niedriger Pinanzahl.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 0,3 μA Standby-Modus (VLO)
    • 0,7 μA Echtzeituhrmodus
    • 220 μA / MIPS aktiv
    • Ultraschnelles Aufwachen aus dem Standby-Modus in weniger als 1 μs
  • Geräteparameter
    • Flash-Optionen: 1–120 KB
    • RAM-Optionen: 128 B – 8 KB
    • GPIO-Optionen: 10, 11, 16, 24, 32 und 48 Pins
    • ADC-Optionen: Steilheit, 10 & 12-Bit SAR, 16 & 24-Bit Sigma Delta
    • Weitere integrierte Peripherie: Operationsverstärker, 12-Bit-DAC, bis zu 2 16-Bit-Timer, Watchdog-Timer, Brown-Out-Reset, SVS, USI-Modul (I²C, SPI), USCI-Modul, DMA, 16×16-Multiplikator, Comparator_A+, Temperatursensor

MSP430G2xx-Serie

Die MSP430G2xx Value-Serie bietet Flash-basierte Ultra-Low-Power-MCUs mit bis zu 16 MIPS bei 1,8–3,6 V-Betrieb. Beinhaltet den Very-Low-Power-Oszillator (VLO), interne Pull-Up/Pull-Down-Widerstände und Optionen mit niedriger Pinanzahl zu niedrigeren Preisen als die MSP430F2xx-Serie.

  • Ultra-Low Power, so niedrig wie (@2,2 V):
    • 0,1 μA RAM-Retention
    • 0,4 μA Standby-Modus (VLO)
    • 0,7 μA Echtzeituhrmodus
    • 220 μA / MIPS aktiv
    • Ultraschnelles Aufwachen aus dem Standby-Modus in <1 μs
  • Geräteparameter
    • Flash-Optionen: 0,5–56 KB
    • RAM-Optionen: 128 B–4 KB
    • GPIO-Optionen: 10, 16, 24, 32 Pins
    • ADC-Optionen: Steilheit, 10-Bit-SAR
    • Weitere integrierte Peripherie: Capacitive Touch I/O, bis zu 3 16-Bit-Timer, Watchdog-Timer, Brown-Out-Reset, USI-Modul (I²C, SPI), USCI-Modul, Comparator_A+, Temperatursensor

MSP430x3xx-Serie

Die MSP430x3xx-Serie ist die älteste Generation und wurde für tragbare Messgeräte mit einem eingebetteten LCD-Controller entwickelt. Dazu gehört auch ein frequenzgeregelter Schleifenoszillator , der sich automatisch auf einen langsamen (32 kHz) Quarz synchronisieren kann. Diese Generation unterstützt keinen EEPROM- Speicher, nur Masken-ROM und UV-löschbares und einmal programmierbares EPROM . Spätere Generationen bieten nur Flash-Speicher- und Masken-ROM- Optionen. Diese Geräte bieten 2,5–5,5 V-Betrieb, bis zu 32 KB ROM.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 0,9 μA Echtzeituhrmodus
    • 160 μA / MIPS aktiv
    • Bietet schnelles Aufwachen aus dem Standby-Modus in weniger als 6 µs.
  • Geräteparameter:
    • ROM-Optionen: 2–32 KB
    • RAM-Optionen: 512 B–1 KB
    • GPIO-Optionen: 14, 40 Pins
    • ADC-Optionen: Steilheit, 14-Bit-SAR
    • Weitere integrierte Peripheriegeräte: LCD-Controller, Multiplikator

MSP430x4xx-Serie

Die MSP430x4xx-Serie ähnelt der '3xx-Generation, enthält jedoch einen integrierten LCD-Controller und ist größer und leistungsfähiger. Diese Flash- oder ROM-basierten Geräte bieten 8–16 MIPS bei 1,8–3,6 V Betrieb, mit FLL und SVS. Ideal für niedrige Leistungsmessung und medizinische Anwendungen.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 0,7 μA Echtzeituhrmodus
    • 200 μA / MIPS aktiv
    • Bietet schnelles Aufwachen aus dem Standby-Modus in weniger als 6 µs.
  • Geräteparameter:
    • Flash-/ROM-Optionen: 4 – 120 KB
    • RAM-Optionen: 256 B – 8 KB
    • GPIO-Optionen: 14, 32, 48, 56, 68, 72, 80 Pins
    • ADC-Optionen: Steilheit, 10- und 12-Bit-SAR, 16-Bit-Sigma-Delta
    • Weitere integrierte Peripheriegeräte: SCAN_IF, ESP430, 12-Bit-DAC, Op Amps, RTC, bis zu 2 16-Bit-Timer, Watchdog-Timer, Basic-Timer, Brown-Out-Reset, SVS, USART-Modul (UART, SPI), USCI-Modul, LCD-Controller, DMA, 16×16 & 32x32 Multiplikator, Comparator_A, Temperatursensor, 8 MIPS CPU-Geschwindigkeit

MSP430x5xx-Serie

Die MSP430x5xx-Serie kann mit bis zu 25 MHz betrieben werden, verfügt über bis zu 512 KB Flash-Speicher und bis zu 66 KB RAM. Diese Flash-basierte Familie zeichnet sich durch einen geringen aktiven Stromverbrauch mit bis zu 25 MIPS bei 1,8–3,6 V Betrieb (165 uA/MIPS) aus. Inklusive innovativem Power-Management-Modul für optimalen Stromverbrauch und integriertem USB.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 2,5 μA Echtzeituhrmodus
    • 165 μA / MIPS aktiv
    • Bietet schnelles Aufwachen aus dem Standby-Modus in weniger als 5 µs.
  • Geräteparameter:
    • Flash-Optionen: bis zu 512 KB
    • RAM-Optionen: bis zu 66 KB
    • ADC-Optionen: 10 und 12-Bit-SAR
    • GPIO-Optionen: 29, 31, 47, 48, 63, 67, 74, 87 Pins
    • Weitere optional integrierte Peripheriegeräte: 12-Bit-DAC, hochauflösende PWM, 5 VI/Os, USB, Backup-Batterieschalter, bis zu 4 16-Bit-Timer, Watchdog-Timer, Echtzeituhr, Brown-Out-Reset, SVS, USCI-Modul , DMA, 32x32 Multiplikator, Comp B, Temperatursensor

MSP430x6xx-Serie

Die MSP430x6xx-Serie kann mit bis zu 25 MHz betrieben werden, verfügt über bis zu 512 KB Flash-Speicher und bis zu 66 KB RAM. Diese Flash-basierte Familie zeichnet sich durch einen geringen aktiven Stromverbrauch mit bis zu 25 MIPS bei 1,8–3,6 V Betrieb (165 uA/MIPS) aus. Inklusive innovativem Power-Management-Modul für optimalen Stromverbrauch und integriertem USB.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 0,1 μA RAM-Retention
    • 2,5 μA Echtzeituhrmodus
    • 165 μA / MIPS aktiv
    • Bietet schnelles Aufwachen aus dem Standby-Modus in weniger als 5 µs.
  • Geräteparameter:
    • Flash-Optionen: bis zu 512 KB
    • RAM-Optionen: bis zu 66 KB
    • ADC-Optionen: 12-Bit-SAR
    • GPIO-Optionen: 74 Pins
    • Weitere integrierte Peripheriegeräte: USB, LCD, DAC, Comparator_B, DMA, 32x32-Multiplikator, Power-Management-Modul (BOR, SVS, SVM, LDO), Watchdog-Timer, RTC, Temperatursensor

HF-SoC (CC430)-Serie

Die RF-SoC-Serie (CC430) bietet eine enge Integration zwischen Mikrocontroller-Kern, Peripheriegeräten, Software und RF-Transceiver. Merkmale <1 GHz HF-Transceiver mit 1,8 V–3,6 V Betrieb. Die Programmierung mit der integrierten Entwicklungsumgebung (IDE) von Arduino ist über die panStamp-API möglich .

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 1 μA RAM-Aufbewahrung
    • 1,7 μA Echtzeituhrmodus
    • 180 μA / MIPS aktiv
  • Geräteparameter:
    • Geschwindigkeitsoptionen: bis zu 20 MHz
    • Flash-Optionen: bis zu 32 KB
    • RAM-Optionen: bis zu 4 KB
    • ADC-Optionen: 12-Bit-SAR
    • GPIO-Optionen: 30 & 44 Pins
    • Weitere integrierte Peripheriegeräte: LCD-Controller, bis zu 2 16-Bit-Timer, Watchdog-Timer, RTC, Power-Management-Modul (BOR, SVS, SVM, LDO), USCI-Modul, DMA, 32x32-Multiplikator, Comp B, Temperatursensor

FRAM-Serie

Die FRAM-Serie von Texas Instruments bietet einheitlichen Speicher mit dynamischer Partitionierung und Speicherzugriffsgeschwindigkeiten, die 100-mal schneller sind als Flash. FRAM ist außerdem in der Lage, in allen Leistungsmodi einen Null-Power-State-Retention durchzuführen, was bedeutet, dass Schreibvorgänge auch im Falle eines Stromausfalls garantiert sind. Mit einer Schreibdauer von über 100 Billionen Zyklen wird kein EEPROM mehr benötigt. Wirkleistungsaufnahme unter 100μA/MHz.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 320 nA RAM-Speicherung
    • 0,35 μA Echtzeituhrmodus
    • 82 μA / MIPS aktiv
  • Geräteparameter:
    • Geschwindigkeitsoptionen: 8 bis 24 MHz
    • FRAM-Optionen: 4 bis 256 KB
    • RAM-Optionen: 0,5 bis 8 KB
    • ADC-Optionen: 10 oder 12-Bit-SAR
    • GPIO-Optionen: 17 bis 83 GPIO-Pins
    • Weitere mögliche integrierte Peripherie: MPU, bis zu 6 16-Bit-Timer, Watchdog-Timer, RTC, Power-Management-Modul (BOR, SVS, SVM, LDO), USCI-Modul, DMA, Multiplikator, Comp B, Temperatursensor, LCD-Treiber, I2C und UART BSL, Extended Scan Interface, 32-Bit-Multiplikator, AES, CRC, Signalverarbeitungsbeschleunigung, kapazitiver Touch, IR-Modulation

Niederspannungsserie

Die Niederspannungsserie umfasst die Teile MSP430C09x und MSP430L092. Diese 2 Serien von Niederspannungs-16-Bit-Mikrocontrollern verfügen über Konfigurationen mit zwei 16-Bit-Timern, einem 8-Bit-Analog-Digital-(A/D)-Wandler, einem 8-Bit-Digital-Analog-(D/A)-Wandler, und bis zu 11 I/O-Pins.

  • Übersicht über die Leistungsspezifikationen, so niedrig wie:
    • 1 μA RAM-Aufbewahrung
    • 1,7 μA Echtzeituhrmodus
    • 180 μA / MIPS aktiv
  • Geräteparameter:
    • Geschwindigkeitsoptionen: 4 MHz
    • ROM-Optionen: 1–2 kB
    • SRAM-Optionen: 2 kB
    • ADC-Optionen: 8-Bit-SAR
    • GPIO-Optionen: 11 Pins
    • Weitere integrierte Peripherie: bis zu 2 16-Bit-Timer, Watchdog-Timer, Brown-Out-Reset, SVS, Komparator, Temperatursensor

Andere MSP430-Familien

Weitere Familien innerhalb des MSP430 umfassen Fixed Function- , Automotive- und Extended Temp- Teile.

Feste Funktion : Der 16-Bit-Mikrocontroller MSP430BQ1010 ist ein fortschrittliches Gerät mit fester Funktion, das auf der Empfängerseite die Steuerungs- und Kommunikationseinheit für die drahtlose Energieübertragung in tragbaren Anwendungen bildet. MSP430BQ1010 entspricht der Wireless Power Consortium (WPC)-Spezifikation. Weitere Informationen finden Sie unter Kontaktlose Stromversorgung .

Automotive : Automotive MSP430 Mikrocontroller (MCUs) von Texas Instruments (TI) sind RISC-basierte 16-Bit-Mixed-Signal-Prozessoren, die AEC-Q100-qualifiziert und für Automobilanwendungen in Umgebungen bis 105 °C Umgebungstemperatur geeignet sind. LIN-konforme Treiber für die MSP430 MCU von der IHR GmbH.

Extended Temp : MSP430-Geräte sind aufgrund ihres geringen Stromverbrauchs und ihrer innovativen analogen Integration in rauen Umgebungen wie der industriellen Sensorik sehr beliebt. Einige Anwendungen in rauen Umgebungen umfassen Transport/Automobil, erneuerbare Energien, Militär/Raumfahrt/Avionik, Mineralienexploration, Industrie und Sicherheit.

  • Gerätedefinitionen:
    • HT: -55 °C bis 150 °C
    • EP: Verbesserte Produkte -55 °C bis 125 °C
    • Q1: Automotive Q100 qualifiziert -40 °C bis 105 °C
    • T: Erweiterte Temperatur -40 °C bis 105 °C Anwendungen

Beachten Sie, dass bei einer Flash-Größe von über 64 KB (128 KB) Befehlsadressen nicht mehr in nur zwei Bytes kodiert werden können. Diese Änderung der Zeigergröße verursacht einige Inkompatibilitäten mit früheren Teilen.

Peripheriegeräte

Die MSP430-Peripheriegeräte sind im Allgemeinen einfach zu verwenden, mit (meist) konsistenten Adressen zwischen den Modellen und ohne Nur-Schreib-Register (außer dem Hardware-Multiplikator).

Allzweck-E/A-Ports 0–10

Wenn das Peripheriegerät nicht benötigt wird, kann der Pin für allgemeine E/A verwendet werden. Die Pins sind in 8-Bit-Gruppen unterteilt, die als "Ports" bezeichnet werden und von denen jeder von einer Reihe von 8-Bit-Registern gesteuert wird. In einigen Fällen sind die Ports paarweise angeordnet, auf die als 16-Bit-Register zugegriffen werden kann.

Die MSP430-Familie definiert 11 I/O-Ports, P0 bis P10, obwohl kein Chip mehr als 10 davon implementiert. P0 ist nur bei der '3xx-Familie implementiert. P7 bis P10 sind nur bei den größten Mitgliedern (und den Versionen mit der höchsten Pinanzahl) der '4xx- und '2xx-Familien implementiert. Die neuesten '5xx- und '6xx-Familien haben P1 bis P11, und die Steuerregister werden neu zugewiesen, um mehr Portpaare bereitzustellen. Jeder Port wird von den folgenden Registern gesteuert. Ports, die bestimmte Merkmale nicht implementieren (wie Interrupt bei Zustandsänderung) implementieren nicht die entsprechenden Register.

P x IN
Port- X- Eingang. Dies ist ein schreibgeschütztes Register und spiegelt den aktuellen Status der Pins des Ports wider.
P x AUS
Port x ausgegeben. Die in dieses Lese-/Schreibregister geschriebenen Werte werden aus den entsprechenden Pins getrieben, wenn sie für die Ausgabe konfiguriert sind.
P x DIR
Datenrichtung Port x . Als 1 geschriebene Bits konfigurieren den entsprechenden Pin für die Ausgabe. Als 0 geschriebene Bits konfigurieren den Pin für die Eingabe.
P x SEL
Port x Funktionsauswahl. Als 1 geschriebene Bits konfigurieren den entsprechenden Pin für die Verwendung durch das spezialisierte Peripheriegerät. Als 0 geschriebene Bits konfigurieren den Pin für universelle E/A. Port 0 (nur '3xx-Teile) wird nicht mit anderen Peripheriegeräten gemultiplext und hat kein P0SEL-Register.
P x REN
Port x Widerstand aktivieren (nur '2xx & '5xx). In diesem Register gesetzte Bits aktivieren schwache Pull-Up- oder Pull-Down-Widerstände an den entsprechenden I/O-Pins, selbst wenn sie als Eingänge konfiguriert sind. Die Richtung des Ziehens wird durch das in das P x OUT-Register geschriebene Bit festgelegt .
P x DS
Port x Laufwerksstärke (nur '5xx). In diesem Register gesetzte Bits aktivieren Hochstromausgänge. Dies erhöht die Ausgangsleistung, kann jedoch elektromagnetische Störungen (EMI) verursachen.

Die Ports 0–2 können Interrupts erzeugen, wenn sich die Eingänge ändern. Weitere Register konfigurieren diese Fähigkeit:

P x IES
Port x Interrupt-Flanke-Auswahl. Wählt die Flanke aus, die bewirkt, dass das P x IFG-Bit gesetzt wird. Wenn sich das Eingangsbit von Übereinstimmung mit dem Zustand P x IES zu Nicht-Übereinstimmung ändert (dh immer dann, wenn sich ein Bit in P x IES XOR P x IN von gelöscht auf gesetzt ändert), wird das entsprechende P x IFG-Bit gesetzt.
P x IE
Port x Interrupt aktivieren. Wenn dieses Bit und das entsprechende P x IFG-Bit beide gesetzt sind, wird ein Interrupt erzeugt.
P x IFG
Interrupt-Flag für Port x . Wird immer dann gesetzt, wenn der entsprechende Pin die von P x IES angeforderte Zustandsänderung durchführt . Kann nur per Software gelöscht werden. (Kann auch per Software eingestellt werden.)
P x IV
Port x Interrupt-Vektor (nur '5xx). Dieses 16-Bit-Register ist ein Prioritätscodierer, der verwendet werden kann, um Pin-Change-Interrupts zu handhaben. Wenn n das niedrigste Interrupt-Bit ist, das in P x IFG anhängig und in P x IE aktiviert ist , liest sich dieses Register als 2 n +2. Wenn kein solches Bit vorhanden ist, wird es als 0 gelesen. Der Skalierungsfaktor von 2 ermöglicht die direkte Verwendung als Offset in einer Verzweigungstabelle . Das Lesen dieses Registers löscht auch das gemeldete P x IFG-Flag.

Einige Pins haben spezielle Zwecke entweder als Eingänge oder Ausgänge. (Zum Beispiel können Timer-Pins als Capture-Eingänge oder PWM-Ausgänge konfiguriert werden.) In diesem Fall steuert das P x DIR-Bit, welche der beiden Funktionen der Pin ausführt, wenn das P x SEL-Bit gesetzt ist. Wenn nur eine Sonderfunktion vorhanden ist, wird P x DIR im Allgemeinen ignoriert. Das P x IN-Register ist noch lesbar, wenn das P x SEL-Bit gesetzt ist, aber die Interrupt-Erzeugung ist gesperrt. Wenn P x SEL gelöscht ist, wird der Eingang der Sonderfunktion eingefroren und vom externen Pin getrennt. Außerdem wird durch die Konfiguration eines Pins für den Allzweckausgang die Interrupt-Erzeugung nicht deaktiviert.

Allzweck-E/A-Registeradressenzuordnung
'1xx–'4xx-Familien
P x IN  P x AUS P x DIR P x SEL P x IES P x IE  P x IFG P x REN
P0 0x10 0x11 0x12 0x13 0x14 0x15
P1 0x20 0x21 0x22 0x26 0x24 0x25 0x23 0x27
P2 0x28 0x29 0x2a 0x2e 0x2c 0x2d 0x2b 0x2f
P3 0x18 0x19 0x1a 0x1b 0x10
P4 0x1c 0x1d 0x1e 0x1f 0x11
P5 0x30 0x31 0x32 0x33 0x12
P6 0x34 0x35 0x36 0x37 0x13
PA P7 0x38 0x3a 0x3c 0x3e 0x14
P8 0x39 0x3b 0x3d 0x3f 0x15
PB P9 0x08 0x0a 0x0c 0x0e 0x16
P10 0x09 0x0b 0x0d 0x0f 0x17
'5xx–'6xx- und '0xx-Familien
P x IN  P x AUS P x DIR P x REN P x DS  P x SEL P x IV  P x IES P x IE  P x IFG
PA P1 0x200 0x202 0x204 0x206 0x208 0x20A 0x20E 0x218 0x21A 0x21C
P2 0x201 0x203 0x205 0x207 0x209 0x20B 0x21E 0x219 0x21B 0x21D
PB P3 0x220 0x222 0x224 0x226 0x228 0x22A
P4 0x221 0x223 0x225 0x227 0x229 0x22B
PC P5 0x240 0x242 0x244 0x246 0x248 0x24A
P6 0x241 0x243 0x245 0x247 0x249 0x24B
PD P7 0x260 0x262 0x264 0x266 0x268 0x26A
P8 0x261 0x263 0x265 0x267 0x269 0x26B
SPORT P9 0x280 0x282 0x284 0x286 0x288 0x28A
P10 0x281 0x283 0x285 0x287 0x289 0x28B
P11 0x2A0 0x2A2 0x2A4 0x2A6 0x2A8 0x2AA
PJ 0x320 0x322 0x324 0x326 0x328 nur 4 Bit; mit JTAG- Pins geteilt.

Integrierte Peripheriegeräte

Analog
  • Analog-Digital-Wandler
Die MSP430-Reihe bietet zwei Arten der Analog-Digital-Wandlung (ADC). 10- und 12-Bit- Wandler mit sukzessiver Approximation sowie ein 16-Bit- Sigma-Delta- Wandler. Datenübertragungscontroller und ein 16-Wort-Konvertierungs- und Steuerpuffer ermöglichen es dem MSP430, Samples ohne CPU-Eingriff zu konvertieren und zu speichern, wodurch der Stromverbrauch minimiert wird.
  • Analoger Pool
Das Analog Pool (A-POOL) Modul kann als ADC, DAC, Komparator, SVS oder Temperatursensor konfiguriert werden. Es ermöglicht dem Benutzer die Flexibilität, eine Reihe von analogen Funktionen mit nur einem Setup zu programmieren.
  • Komparator A, A+
Das Komparatormodul des MSP430 bietet präzise Analog-Digital-Wandlungen mit Flankensteilheit. Überwacht externe analoge Signale und bietet Spannungs- und Widerstandswertmessung. Auswählbare Leistungsmodi möglich.
  • DAC12
Das DAC12-Modul ist ein 12-Bit-DAC mit Spannungsausgang mit interner/externer Referenzauswahl und programmierbarer Einschwingzeit für optimalen Stromverbrauch. Es kann im 8- oder 12-Bit-Modus konfiguriert werden. Wenn mehrere DAC12-Module vorhanden sind, können sie für den synchronen Aktualisierungsvorgang gruppiert werden.
  • Operationsverstärker
Verfügt über Einzelversorgung, Niederstrombetrieb mit Rail-to-Rail-Ausgängen und programmierbaren Einschwingzeiten. Über die Software wählbare Konfigurationsoptionen: Einheitsverstärkungsmodus, Komparatormodus, invertierender PGA, nicht invertierender PGA, Differenz- und Instrumentenverstärker.
  • Sigma-Delta (SD)
Die Module SD16/SD16_A/SD24_A verfügen jeweils über 16-/24-Bit-Sigma-Delta-A/D-Wandler mit interner 1,2-V-Referenz. Jeder Wandler verfügt über bis zu acht vollständig differentielle Multiplex-Eingänge, einschließlich eines integrierten Temperatursensors. Die Wandler sind Oversampling-Sigma-Delta-Modulatoren zweiter Ordnung mit wählbaren Oversampling-Verhältnissen von bis zu 1024 (SD16_A/SD24_A) bzw. 256 (SD16).
Timer
  • Basistimer (BT)
Das BT verfügt über zwei unabhängige 8-Bit-Timer, die kaskadiert werden können, um einen 16-Bit-Timer/Zähler zu bilden. Beide Timer können per Software gelesen und geschrieben werden. Das BT wird um eine integrierte RTC erweitert. Ein interner Kalender gleicht Monate mit weniger als 31 Tagen aus und beinhaltet eine Schaltjahrkorrektur.
  • Echtzeituhr
RTC_A/B sind 32-Bit-Hardware-Zählermodule, die Uhrzähler mit einem Kalender, einem flexibel programmierbaren Alarm und einer Kalibrierung bereitstellen. Der RTC_B enthält ein umschaltbares Batterie-Backup-System, das es dem RTC ermöglicht, zu arbeiten, wenn die Primärversorgung ausfällt.
  • 16-Bit-Timer
Timer_A, Timer_B und Timer_D sind asynchrone 16-Bit-Timer/Zähler mit bis zu sieben Capture/Compare-Registern und verschiedenen Betriebsarten. Die Timer unterstützen mehrere Erfassung/Vergleiche, PWM-Ausgänge und Intervall-Timing. Sie haben auch umfangreiche Interrupt-Fähigkeiten. Timer_B führt zusätzliche Funktionen wie programmierbare Timer-Längen (8-, 10-, 12- oder 16-Bit) und doppelt gepufferte Vergleichsregisteraktualisierungen ein, während Timer_D einen hochauflösenden (4 ns) Modus einführt.
  • Watchdog (WDT+)
Der WDT+ führt nach einem Softwareproblem einen kontrollierten Systemneustart durch. Wenn das gewählte Zeitintervall abläuft, wird ein Systemreset generiert. Wird die Watchdog-Funktion in einer Anwendung nicht benötigt, kann das Modul als Intervall-Timer konfiguriert werden und in ausgewählten Zeitintervallen Interrupts generieren.
System
  • Erweiterter Verschlüsselungsstandard (AES)
Das AES-Beschleunigermodul führt die Verschlüsselung und Entschlüsselung von 128-Bit-Daten mit 128-Bit-Schlüsseln gemäß dem fortschrittlichen Verschlüsselungsstandard in Hardware durch und kann mit Benutzersoftware konfiguriert werden.
  • Brown-Out-Reset (BOR)
Die BOR-Schaltung erkennt niedrige Versorgungsspannungen und setzt das Gerät durch Auslösen eines Power-On-Reset (POR)-Signals zurück, wenn die Stromversorgung angelegt oder entfernt wird. Die Nullleistungs-BOR-Schaltung der MSP430-MCU wird kontinuierlich eingeschaltet, auch in allen Energiesparmodi.
  • Controller für direkten Speicherzugriff (DMA)
Der DMA-Controller überträgt Daten von einer Adresse zur anderen über den gesamten Adressbereich ohne CPU-Eingriff. Der DMA erhöht den Durchsatz von Peripheriemodulen und reduziert den Stromverbrauch des Systems. Das Modul verfügt über bis zu drei unabhängige Übertragungskanäle.
Obwohl das DMA-Subsystem des MSP430 sehr leistungsfähig ist, weist es mehrere Mängel auf, von denen der wichtigste das Fehlen eines externen Transfer-Strobes ist. Obwohl ein DMA-Transfer extern ausgelöst werden kann, gibt es keine externe Anzeige des Abschlusses eines Transfers. Folglich ist DMA zu und von externen Quellen auf externe Trigger-pro-Byte-Transfers beschränkt und nicht auf vollständige Blöcke automatisch über DMA. Dies kann bei der Implementierung von Prozessor-zu-Prozessor- oder Prozessor-zu-USB-Kommunikation zu einer erheblichen Komplexität führen (z. B. indem umfangreiche manuelle Anpassungen des Codes erforderlich sind). Die zitierte Referenz verwendet einen obskuren Zeitgebermodus, um Hochgeschwindigkeits-Strobes für DMA-Übertragungen zu erzeugen. Die Zeitgeber sind nicht flexibel genug, um das Fehlen eines externen DMA-Transfer-Strobes einfach auszugleichen.
DMA-Operationen, die Wortübertragungen zu Byte-Stellen beinhalten, bewirken eher eine Kürzung auf 8 Bits als eine Umwandlung in 2-Byte-Übertragungen. Dies macht DMA mit A/D- oder D/A-16-Bit-Werten weniger nützlich, als es sein könnte (obwohl es bei einigen Versionen des MSP 430 möglich ist, diese Werte über Port A oder B zu DMA zu verwenden, indem ein extern sichtbarer Trigger pro Übertragung verwendet wird, wie z ein Timer-Ausgang).
  • Erweitertes Emulationsmodul (EEM)
Das EEM bietet verschiedene Debug-Funktionen wie 2-8 Hardware-Breakpoints, komplexe Breakpoints, Unterbrechung beim Lesen/Schreiben an einer bestimmten Adresse und mehr. Eingebettet in alle Flash-basierten MSP430-Geräte.
  • Hardware-Multiplikator
Einige MSP430-Modelle enthalten ein speicherabgebildetes Hardware-Multiplizierer-Peripheriegerät, das verschiedene 16 × 16 + 32 → 33-Bit-Multiplikations-Akkumulations-Operationen durchführt. Ungewöhnlich für die MSP430 geht diese Peripherie umfasst eine implizites 2-Bit - Nur - Schreib-Register, was es praktisch unmöglich macht Kontextwechsel . Dieses Peripheriegerät stört die CPU-Aktivitäten nicht und kann vom DMA angesprochen werden. Der MPY auf allen MSP430F5xx- und einigen MSP430F4xx-Geräten bietet bis zu 32-Bit x 32-Bit.
Die 8 verwendeten Register sind:
Die Anschrift Name Funktion
0x130 MPY Operand1 für vorzeichenlose Multiplikation
0x132 MPYS Operand1 für vorzeichenbehaftete Multiplikation
0x134 MAC Operand1 für vorzeichenlose multiplizieren-akkumulieren
0x136 MACS Operand1 für vorzeichenbehaftetes Multiplizieren-Akkumulieren
0x138 OP2 Zweiter Operand für Multiplikationsoperation
0x13A ResLo Niedriges Wort des Multiplikationsergebnisses
0x13C ResHi Hohes Wort des Multiplikationsergebnisses
0x13E SummeExt Ausführen von Multiplizieren-Akkumulieren
Der erste Operand wird in eines von vier 16-Bit-Registern geschrieben. Die geschriebene Adresse bestimmt die durchgeführte Operation. Während der geschriebene Wert aus jedem der Register zurückgelesen werden kann, kann die geschriebene Registernummer nicht wiederhergestellt werden.
Wenn eine Multiplikations-Akkumulations-Operation gewünscht wird, müssen auch die Register ResLound ResHiinitialisiert werden.
Dann wird jedes Mal, wenn in das OP2Register geschrieben wird, eine Multiplikation durchgeführt und das Ergebnis gespeichert oder zu den Ergebnisregistern addiert. Das SumExtRegister ist ein Nur-Lese-Register, das den Übertrag der Addition (0 oder 1) bei einer vorzeichenlosen Multiplikation oder die Vorzeichenerweiterung der 32-Bit-Summe (0 oder -1) bei einer vorzeichenlosen enthält multiplizieren. Im Fall einer vorzeichenbehafteten Multiplikations-Akkumulation muss der SumExtWert mit dem höchstwertigen Bit des vorherigen SumHiInhalts kombiniert werden , um das wahre Übertragsergebnis (-1, 0 oder +1) zu bestimmen.
Das Ergebnis steht nach drei Verzögerungstaktzyklen zur Verfügung, was der Zeit entspricht, die erforderlich ist, um einen folgenden Befehl und ein folgendes Indexwort abzurufen. Somit ist die Verzögerung typischerweise unsichtbar. Eine explizite Verzögerung ist nur erforderlich, wenn zum Abrufen des Ergebnisses ein indirekter Adressierungsmodus verwendet wird.
  • Speicherschutzeinheit (MPU)
Die FRAM-MPU schützt vor versehentlichem Schreiben in bestimmte Nur-Lese-Speichersegmente oder vor der Ausführung von Code aus einem konstanten Speicher. Die MPU kann jede Speicheraufteilung mit Bit-Level-Adressierung einstellen, wodurch der gesamte Speicher für Lese-, Schreib- und Ausführungsoperationen in FRAM-Bauelementen zugänglich wird.
  • Energieverwaltungsmodul (PMM)
Das PMM erzeugt eine Versorgungsspannung für die Kernlogik und bietet mehrere Mechanismen zur Überwachung und Überwachung sowohl der an das Gerät angelegten Spannung als auch der für den Kern erzeugten Spannung. Es ist mit einem Low-Dropout-Spannungsregler (LDO), Brown-Out-Reset (BOR) und einer Versorgungsspannungsüberwachung und -überwachung integriert.
  • Versorgungsspannungsüberwacher (SVS)
Das SVS ist ein konfigurierbares Modul zur Überwachung der AVCC-Versorgungsspannung oder einer externen Spannung. Das SVS kann so konfiguriert werden, dass es ein Flag setzt oder einen Power-On-Reset (POR) erzeugt, wenn die Versorgungsspannung oder die externe Spannung unter einen vom Benutzer gewählten Schwellenwert fällt.
Kommunikation und Schnittstelle
  • Kapazitive Touch-Sense-I/Os
Das integrierte kapazitive Touch-Sense-E/A-Modul bietet mehrere Vorteile für Touch-Button- und Touch-Slider-Anwendungen. Das System benötigt keine externen Komponenten, um die Eigenschwingung zu erzeugen (Reduzierung der Stückliste) und der Kondensator (der die Frequenz der Eigenschwingung definiert) kann direkt angeschlossen werden. Darüber hinaus sind keine externen MUXs erforderlich, um mehrere Pads zuzulassen, und jedes I/O-Pad kann direkt als Cap-Sense-Eingang dienen. Eine Hysterese von ~0,7 V gewährleistet einen robusten Betrieb. Die Steuerung und Sequenzierung erfolgt vollständig in Software.
  • Allzweck-E/As
MSP430-Geräte verfügen über bis zu 12 implementierte digitale I/O-Ports. Jeder Port hat acht I/O-Pins. Jeder I/O-Pin kann entweder als Eingang oder Ausgang konfiguriert und einzeln gelesen oder beschrieben werden. Die Ports P1 und P2 haben Interrupt-Fähigkeit. MSP430F2xx, F5xx und einige F4xx-Geräte verfügen über integrierte, individuell konfigurierbare Pull-Up- oder Pull-Down-Widerstände.
  • Sub-GHz-HF-Frontend
Der flexible Sub-1-GHz-Transceiver CC1101 bietet die erforderliche Empfindlichkeit und Blockierleistung für erfolgreiche Kommunikationsverbindungen in jeder HF-Umgebung. Es zeichnet sich zudem durch einen geringen Stromverbrauch aus und unterstützt flexible Datenraten und Modulationsformate.
  • USART (UART, SPI, I²C)
Die universelle synchrone/asynchrone Empfangs-/Sende-(USART)-Peripherieschnittstelle unterstützt asynchrone RS-232- und synchrone SPI-Kommunikation mit einem Hardwaremodul. Die MSP430F15x/16x USART-Module unterstützen auch I²C, programmierbare Baudrate und unabhängige Interrupt-Fähigkeit für Empfang und Übertragung.
  • USB
Das USB-Modul ist vollständig konform mit der USB 2.0-Spezifikation und unterstützt Control-, Interrupt- und Bulk-Transfers mit einer Datenrate von 12 Mbit/s (Full Speed). Das Modul unterstützt USB-Suspend-, Resume- und Remote-Wake-up-Operationen und kann für bis zu acht Eingangs- und acht Ausgangsendpunkte konfiguriert werden. Das Modul enthält eine integrierte physikalische Schnittstelle (PHY); eine Phasenregelschleife (PLL) für die USB-Takterzeugung; und ein flexibles Stromversorgungssystem, das bus- und selbstversorgte Geräte ermöglicht.
  • USCI (UART, SPI, I²C, LIN, IrDA)
Das Universal Serial Communication Interface (USCI)-Modul verfügt über zwei unabhängige Kanäle, die gleichzeitig verwendet werden können. Der asynchrone Kanal (USCI_A) unterstützt den UART-Modus; SPI-Modus; Pulsformung für IrDA; und automatische Baudratenerkennung für die LIN-Kommunikation. Der synchrone Kanal (USCI_B) unterstützt I²C- und SPI-Modi.
  • USI (SPI, I²C)
Das Universal Serial Interface (USI)-Modul ist eine synchrone serielle Kommunikationsschnittstelle mit einer Datenlänge von bis zu 16 Bit und kann mit minimaler Software SPI- und I²C-Kommunikation unterstützen.
  • Infrarot-Modulation
Diese Funktion ist auf den Chips der Serien MSP430FR4xxx und MSP430FR2xxx verfügbar und wird über den SYSCFG-Registersatz konfiguriert. Dieses Peripheriegerät ist mit anderen Peripheriegeräten (Timer, eUSCI_A) verbunden, um ein IR-moduliertes Signal an einem Ausgangspin zu erzeugen. (Seite 43)
Messung
  • ESP430 (integriert in FE42xx-Geräten)
Das ESP430CE-Modul führt Messberechnungen unabhängig von der CPU durch. Das Modul verfügt über einen separaten SD16, einen HW-Multiplikator und die eingebettete ESP430-Prozessor-Engine für einphasige Energiemessanwendungen.
  • Scan-Schnittstelle (SIF)
Das SIF-Modul, eine programmierbare Zustandsmaschine mit analogem Frontend, dient der automatischen Messung von Linear- oder Rotationsbewegungen bei geringstmöglichem Stromverbrauch. Das Modul bietet Unterstützung für verschiedene Arten von LC- und Widerstandssensoren sowie für die Quadraturkodierung.
Anzeige
  • LCD/LCD_A/LCD_B
Der LCD/LCD_A-Controller steuert LCDs für bis zu 196 Segmente direkt an. Unterstützt statische, 2-Mux-, 3-Mux- und 4-Mux-LCDs. Das LCD_A-Modul verfügt über eine integrierte Ladungspumpe zur Kontraststeuerung. LCD_B ermöglicht das Blinken einzelner Segmente mit separatem Blinkspeicher.
  • LCD_E
Der LCD_E-Controller wird mit den neueren Mikrocontrollern der MSP430FR4xxx-Serie geliefert und steuert LCDs mit bis zu 448 Segmenten direkt an. Unterstützt statische, 2-mux, 3-mux, 4-mux, 5-mux, 6-mux, 7-mux, 8-mux (1/3 Vorspannung) LCDs. Segment- und Common-Pins können auf verfügbare LCD-Treiberpins umprogrammiert werden. Dieses Peripheriegerät kann im LPM3.5-Modus betrieben werden (RTC läuft + Haupt-CPU-Kern herunterfahren im Energiesparmodus).

Softwareentwicklungsumgebung

Texas Instruments bietet verschiedene Hardware- Experimentierboards , die große (ca. 2 cm²) und kleine (ca. 1 mm²) MSP430-Chips unterstützen. TI bietet auch Softwareentwicklungstools sowohl direkt als auch in Zusammenarbeit mit Partnern (siehe die vollständige Liste der Compiler, Assembler und IDEs ). Eine solche Toolchain ist der IAR C/C++- Compiler und die integrierte Entwicklungsumgebung oder IDE. Eine Kickstart-Edition kann kostenlos von TI oder IAR heruntergeladen werden; es ist auf 8 KB C/C++-Code im Compiler und Debugger beschränkt ( Assemblersprachenprogramme jeder Größe können mit dieser kostenlosen Toolchain entwickelt und debuggt werden).

TI kombiniert auch eine Version seines eigenen Compilers und Tools mit seiner Eclipse- basierten Code Composer Studio IDE (CCS). Es verkauft Vollversionen und bietet eine kostenlose Version zum Download an, die eine Codegrößenbeschränkung von 16 KB hat. CCS unterstützt In-Circuit-Emulatoren und enthält einen Simulator und andere Tools; es kann auch mit anderen von TI verkauften Prozessoren arbeiten.

Für diejenigen, die mit Arduino vertraut sind , gibt es auch eine weitere Software Energia Energia , eine Open-Source-Elektronik-Prototyping-Plattform mit dem Ziel, das Wiring- und Arduino-Framework auf das Texas Instruments MSP430-basierte LaunchPad zu bringen, wo Arduino-Code für die Programmierung von MSP430 exportiert werden kann Chips. Die neueste Version von Energia unterstützt MSP-EXP430G2xxx, MSP-EXP430FR5739, MSP-EXP430FR5969, MSP-EXP430FR5994, MSP-EXP430F5529LP, Stellaris EK-LM4F120XL, Tiva-C EK-TM4C123GXL, Tiva-C WiFi LaunchPad, CC-TM4C1220094

Die Open-Source- Community produziert ein frei verfügbares Toolset für die Softwareentwicklung, das auf dem GNU-Toolset basiert . Der GNU-Compiler wird derzeit in drei Versionen abgelehnt:

( MSPGCC )

( MSPGCC Uniarch )

TI hat sich mit RedHat beraten, um dem C/C++-Compiler der GNU Compiler Collection offiziellen Support für die MSP430-Architektur bereitzustellen . Dieser msp430-elf-gcc-Compiler wird von TIs Code Composer Studio Version 6.0 und höher unterstützt.

Es gibt ein sehr frühes llvm-msp430- Projekt, das möglicherweise eine bessere Unterstützung für MSP430 in LLVM bietet .

Andere kommerzielle Entwicklungstoolsets, die Editor, Compiler, Linker, Assembler, Debugger und in einigen Fällen Code-Assistenten umfassen, sind verfügbar. VisSim , eine Blockdiagrammsprache für die modellbasierte Entwicklung, generiert effizienten Festkomma- C-Code direkt aus dem Diagramm. VisSim generierter Code für eine geschlossene ADC+PWM-basierte PID-Steuerung auf dem F2013 kompiliert auf weniger als 1 KB Flash und 100 Byte RAM. VisSim verfügt über On-Chip-Peripherieblöcke für die gesamte MSP430-Familie I²C, ADC, SD16, PWM.

Kostengünstige Entwicklungsplattformen

Das MSP430F2013 und seine Geschwister zeichnen sich dadurch aus, dass es (mit Ausnahme des MSP430G2 Value Line ) das einzige MSP430-Teil ist, das in einem Dual-In-Line-Paket (DIP) erhältlich ist. Andere Varianten dieser Familie sind nur in verschiedenen Aufbaugehäusen erhältlich. TI hat sich einige Mühe gegeben, die eZ430-Entwicklungsplattform zu unterstützen, indem die Rohchips für Bastler einfach in Prototypen verwendet werden können.

eZ430-F2013

TI hat das Low-Budget-Problem gelöst, indem es ein sehr kleines Experimentierboard, das eZ430-F2013 , auf einem USB-Stick anbietet . Dies macht es Designern leicht, den MSP430-Chip für kostengünstige Entwicklungsplattformen zu wählen, die mit einem Computer verwendet werden können. Das eZ430-F2013 enthält einen MSP430F2013-Mikrocontroller auf einem abnehmbaren Prototyping-Board und eine beiliegende CD mit Entwicklungssoftware. Es ist hilfreich für Schulen, Bastler und Werkstatterfinder. Es wird auch von Ingenieuren in großen Unternehmen begrüßt, die Prototypen von Projekten mit Kapitalbudgetproblemen erstellen.

MSP430 LaunchPad

Texas Instruments hat das MSP430 LaunchPad im Juli 2010 auf den Markt gebracht. Das MSP430 LaunchPad verfügt über einen integrierten Flash-Emulator , USB , 2 programmierbare LEDs und 1 programmierbare Drucktaste. Als Ergänzung zum Experimentieren mit dem LaunchPad steht ein Shield Board zur Verfügung.

TI hat seitdem mehrere neue LaunchPads basierend auf der MSP430-Plattform bereitgestellt:

Alle drei dieser LaunchPads enthalten einen eZ-FET JTAG-Debugger mit Backchannel-UART mit Geschwindigkeiten von 1 Mbit/s. Die FRAM LaunchPads (zB MSP-EXP430FR5969, MSP-EXP430FR4133) beinhalten EnergyTrace, eine von TIs Code Composer Studio IDE unterstützte Funktion zur Überwachung und Analyse des Stromverbrauchs.

Debugging-Schnittstelle

Wie andere Mikrocontroller-Anbieter hat TI eine Zweidraht-Debugging-Schnittstelle entwickelt, die auf einigen ihrer MSP430-Teile zu finden ist und die größere JTAG-Schnittstelle ersetzen kann. Das eZ430-Entwicklungstool enthält ein vollständiges USB-angeschlossenes Flash-Emulationstool (FET) für dieses neue Zweidrahtprotokoll namens Spy-Bi-Wire von TI. Spy-Bi-Wire wurde ursprünglich nur bei den kleinsten Geräten der 'F2xx-Familie mit einer begrenzten Anzahl von I/O-Pins, wie MSP430F20xx, MSP430F21x2 und MSP430F22x2, eingeführt. Die Unterstützung für Spy-Bi-Wire wurde mit der Einführung der neuesten '5xx-Familie erweitert, bei der alle Geräte zusätzlich zu JTAG eine Spy-Bi-Wire-Schnittstelle unterstützen.

Der Vorteil des Spy-Bi-Wire-Protokolls besteht darin, dass es nur zwei Kommunikationsleitungen verwendet, von denen eine die dedizierte _RESET-Leitung ist. Die JTAG-Schnittstelle an den MSP430-Teilen mit niedrigerer Pinanzahl wird mit Allzweck-E/A-Leitungen gemultiplext. Dies macht es relativ schwierig, Schaltungen zu debuggen, die um die kleinen Chips mit niedrigem I/O-Budget herum aufgebaut sind, da die vollständige 4-Pin-JTAG-Hardware mit allem anderen in Konflikt geraten wird, das mit diesen I/O-Leitungen verbunden ist. Dieses Problem wird mit den Spy-Bi-Wire-fähigen Chips gemildert, die zur Abwärtskompatibilität mit den alten Entwicklungstools noch mit der normalen JTAG-Schnittstelle kompatibel sind.

JTAG-Debugging- und Flash-Programmiertools, die auf OpenOCD basieren und in der ARM-Architekturgemeinschaft weit verbreitet sind, sind für den MSP430 nicht verfügbar. Speziell für den MSP430 entwickelte Programmiertools sind geringfügig günstiger als JTAG-Schnittstellen, die OpenOCD verwenden. Sollte jedoch während des Projekts festgestellt werden, dass mehr MIPS, mehr Speicher und mehr I/O-Peripheriegeräte benötigt werden, werden diese Tools nicht auf einen Prozessor eines anderen Anbieters übertragen.

MSP430-CPU

Die MSP430-CPU verwendet eine von Neumann-Architektur mit einem einzigen Adressraum für Anweisungen und Daten. Der Speicher ist byteadressiert, und Bytepaare werden Little-Endian zu 16-Bit- Wörtern kombiniert .

Der Prozessor enthält 16 16-Bit-Register, von denen vier für spezielle Zwecke bestimmt sind: R0 ist der Programmzähler , R1 ist der Stack-Zeiger , R2 ist das Statusregister und R3 ist ein "Konstantengenerator", der als Null liest und ignoriert schreibt. Zusätzliche Adreßmoduscodierungen mit R3 und R2 ermöglichen insgesamt sechs häufig verwendete Konstantenwerte (0, 1, 2, 4, 8 und –1), ohne dass ein unmittelbares Operandenwort erforderlich ist. R4 bis R15 stehen für den allgemeinen Gebrauch zur Verfügung.

Der Befehlssatz ist sehr einfach: 27 Befehle existieren in drei Familien. Die meisten Befehle kommen in den Suffix-Versionen .B (8-Bit-Byte) und .W (16-Bit-Wort) vor, abhängig vom Wert eines S/W-Bits: Das Bit wird für 8-Bit auf 1 und für 16-Bit auf 0 gesetzt. Bit. Ein fehlendes Suffix entspricht .W. Byteoperationen an den Speicher wirken sich nur auf das adressierte Byte aus, während Byteoperationen an Registern das höchstwertige Byte löschen.

MSP430-Befehlssatz
fünfzehn 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Anweisung
0 0 0 1 0 0 Opcode S/W Wie registrieren Einzeloperandenarithmetik
0 0 0 1 0 0 0 0 0 S/W Wie registrieren RRC Nach rechts drehen (1 Bit) durch Übertrag
0 0 0 1 0 0 0 0 1 0 Wie registrieren SWPB Swap-Bytes
0 0 0 1 0 0 0 1 0 S/W Wie registrieren RRA Nach rechts drehen (1 Bit) Arithmetik
0 0 0 1 0 0 0 1 1 0 Wie registrieren SXT- Zeichen erweitern Byte zu Wort
0 0 0 1 0 0 1 0 0 S/W Wie registrieren PUSH Wert auf Stack übertragen
0 0 0 1 0 0 1 0 1 0 Wie registrieren CALL Unterprogrammaufruf; PC drücken und Quelle auf PC verschieben
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI Rückkehr vom Interrupt; Pop SR dann Pop PC
0 0 1 Zustand 10-Bit-Offset mit Vorzeichen Bedingter Sprung; PC = PC + 2×Offset
0 0 1 0 0 0 10-Bit-Offset mit Vorzeichen JNE / JNZ Sprung wenn ungleich/Null
0 0 1 0 0 1 10-Bit-Offset mit Vorzeichen JEQ / JZ Sprung wenn gleich/null
0 0 1 0 1 0 10-Bit-Offset mit Vorzeichen JNC / JLO Jump, wenn kein Carry/Low
0 0 1 0 1 1 10-Bit-Offset mit Vorzeichen JC / JHS Jump wenn Carry/höher oder gleich
0 0 1 1 0 0 10-Bit-Offset mit Vorzeichen JN Sprung wenn negativ
0 0 1 1 0 1 10-Bit-Offset mit Vorzeichen JGE Jump wenn größer oder gleich
0 0 1 1 1 0 10-Bit-Offset mit Vorzeichen JL Springen wenn weniger
0 0 1 1 1 1 10-Bit-Offset mit Vorzeichen JMP- Sprung (bedingungslos)
Opcode Quelle Anzeige S/W Wie Ziel Zwei-Operanden-Arithmetik
0 1 0 0 Quelle Anzeige S/W Wie Ziel MOV Quelle zum Ziel verschieben
0 1 0 1 Quelle Anzeige S/W Wie Ziel HINZUFÜGEN Quelle zum Ziel hinzufügen
0 1 1 0 Quelle Anzeige S/W Wie Ziel ADDC Quelle hinzufügen und zum Ziel übertragen
0 1 1 1 Quelle Anzeige S/W Wie Ziel SUBC Quelle vom Ziel subtrahieren (mit Übertrag)
1 0 0 0 Quelle Anzeige S/W Wie Ziel SUB Quelle vom Ziel subtrahieren
1 0 0 1 Quelle Anzeige S/W Wie Ziel CMP Vergleichen (so tun, als würden Sie subtrahieren) Quelle vom Ziel
1 0 1 0 Quelle Anzeige S/W Wie Ziel DADD Dezimal Quelle zum Ziel hinzufügen (mit Übertrag)
1 0 1 1 Quelle Anzeige S/W Wie Ziel BIT Testbits von Quelle UND Ziel
1 1 0 0 Quelle Anzeige S/W Wie Ziel BIC Bit löschen (Ziel &= ~src)
1 1 0 1 Quelle Anzeige S/W Wie Ziel BIS Bit gesetzt (logisches ODER)
1 1 1 0 Quelle Anzeige S/W Wie Ziel XOR Exklusiv oder Quelle mit Ziel
1 1 1 1 Quelle Anzeige S/W Wie Ziel UND Logische UND- Quelle mit Ziel (dest &= src)

Anweisungen bestehen aus 16 Bit, gefolgt von bis zu zwei 16-Bit-Erweiterungswörtern. Adressierungsmodi werden durch das 2-Bit-As-Feld und das 1-Bit-Ad-Feld spezifiziert. Einige spezielle Versionen können mit R0 konstruiert werden, und andere Modi als das direkte Register mit R2 (dem Statusregister) und R3 (dem Konstantengenerator) werden speziell interpretiert. Ad kann nur eine Teilmenge der Adressierungsmodi für As verwenden.

Indizierte Adressierungsmodi fügen dem Befehl ein 16-Bit-Erweiterungswort hinzu. Wenn sowohl Quelle als auch Ziel indiziert sind, steht das Quellerweiterungswort an erster Stelle. x bezieht sich auf das nächste Erweiterungswort im Befehlsstrom in der folgenden Tabelle.

MSP430-Adressierungsmodi
Wie Anzeige Registrieren Syntax Beschreibung
00 0 n R n Direkt anmelden. Der Operand ist der Inhalt von R n .
01 1 n x (R n ) Indiziert. Der Operand befindet sich im Speicher an der Adresse R n + x .
10 n @R n Registrieren Sie sich indirekt. Der Operand befindet sich im Speicher an der in R n gehaltenen Adresse .
11 n @R n + Indirektes Autoinkrement. Wie oben wird das Register dann um 1 oder 2 inkrementiert.
Adressierungsmodi mit R0 (PC)
01 1 0 (PC) ADDR Symbolisch. Entspricht x(PC). Der Operand befindet sich im Speicher an der Adresse PC+ x .
11 0 (PC) # x Sofort. Entspricht @PC+. Der Operand ist das nächste Wort im Befehlsstrom.
Adressierungsmodi mit R2 (SR) und R3 (CG), Sonderfalldecodierung
01 1 2 (SR) & ADDR Absolut. Der Operand befindet sich im Speicher an der Adresse x .
10 2 (SR) #4 Konstante. Der Operand ist die Konstante 4.
11 2 (SR) #8 Konstante. Der Operand ist die Konstante 8.
00 3 (CG) #0 Konstante. Der Operand ist die Konstante 0.
01 3 (CG) #1 Konstante. Der Operand ist die Konstante 1. Es gibt kein Indexwort.
10 3 (CG) #2 Konstante. Der Operand ist die Konstante 2.
11 3 (CG) #−1 Konstante. Der Operand ist die Konstante −1.

Befehle benötigen im Allgemeinen 1 Zyklus pro abgerufenem oder gespeichertem Wort, daher reichen die Befehlszeiten von 1 Zyklus für einen einfachen Register-Register-Befehl bis zu 6 Zyklen für einen Befehl, bei dem sowohl Quelle als auch Ziel indiziert sind.

Die MSP430X-Erweiterung mit 20-Bit-Adressierung fügt zusätzliche Befehle hinzu, die bis zu 10 Taktzyklen benötigen können. Das Setzen oder Löschen eines Peripheriebits dauert zwei Takte. Ein Sprung, gemacht oder nicht, dauert zwei Takte. Bei der 2xx-Serie sind 2 MCLKs 125 ns bei 16 MHz.

Bewegungen zum Programmzähler sind erlaubt und führen Sprünge aus. Die Rückkehr aus dem Unterprogramm wird beispielsweise als MOV @SP+,PC implementiert .

Wenn R0 (PC) oder R1 (SP) mit dem Autoinkrement-Adressierungsmodus verwendet werden, werden sie immer um zwei erhöht. Andere Register (R4 bis R15) werden um die Operandengröße erhöht, entweder 1 oder 2 Byte.

Das Statusregister enthält 4 arithmetische Statusbits, eine globale Unterbrechungsfreigabe und 4 Bits, die verschiedene Taktgeber deaktivieren, um in den Energiesparmodus einzutreten. Bei der Verarbeitung eines Interrupts sichert der Prozessor das Statusregister auf dem Stack und löscht die Low-Power-Bits. Wenn der Interrupt-Handler das gespeicherte Statusregister nicht modifiziert, wird die Rückkehr vom Interrupt den ursprünglichen Niedrigenergiemodus wieder aufnehmen.

Pseudo-Operationen

Viele hinzugefügte Befehle werden als Aliase für Formen des Obigen implementiert. Beispielsweise gibt es keine spezielle Anweisung "Rückkehr aus Unterprogramm", sondern wird als "MOV @SP+,PC" implementiert. Emulierte Anweisungen sind:

MSP430 emulierte Anweisungen
Emuliert Tatsächlich Beschreibung
ADC . x dst ADDC. x #0, dst Carry zum Ziel hinzufügen
BR dst MOV dst ,PC Abzweig zum Ziel
CLR . x dst BEWEG. x #0, dst Ziel löschen
CLRC BIC #1,SR Übertragsbit löschen
CLRN BIC #4,SR Negatives Bit löschen
CLRZ BIC #2,SR Nullbit löschen
DADC . x dst Papa. x #0, dst Dezimal Carry zum Ziel hinzufügen
DEZ . x dst SUB. x #1, dst Dekrement
DECD . x dst SUB. x #2, dst Doppelte Abnahme
DINT BIC #8,SR Unterbrechungen deaktivieren
EINT BIS #8,SR Unterbrechungen aktivieren
INC . x dst HINZUFÜGEN. x #1, dst Zuwachs
INCD . x dst HINZUFÜGEN. x #2, dst Doppelte Erhöhung
INV . x dst XOR. x #−1, dst Umkehren
NOP MOV #0,R3 Keine Operation
POP dst MOV @SP+, dst Pop vom Stapel
RET MOV @SP+,PC Rückkehr aus Unterprogramm
RLA . x dst HINZUFÜGEN. x dst , dst Arithmetik nach links drehen (um 1 Bit nach links verschieben)
RLC . x dst ADDC. x dst , dst Durch das Tragen nach links drehen
SBC . x dst SUBC. x #0, dst Ausleihe (1−carry) vom Ziel abziehen
SETC BIS #1,SR Übertragsbit setzen
SETN BIS #4,SR Negatives Bit setzen
SETZ BIS #2,SR Nullbit setzen
TST . x dst CMP. x #0, dst Testziel

Beachten Sie, dass die unmittelbaren Konstanten −1 (0xffff), 0, 1, 2, 4 und 8 in einer Einzelwort-Anweisung angegeben werden können, ohne dass ein separater unmittelbarer Operand erforderlich ist.

MSP430X 20-Bit-Erweiterung

Der grundlegende MSP430 kann nicht mehr Speicher (ROM + RAM + Peripheriegeräte) als seinen 64K-Adressraum unterstützen. Um dies zu unterstützen, verwendet eine erweiterte Form des MSP430 20-Bit-Register und einen 20-Bit-Adressraum, der bis zu 1 MB Speicher ermöglicht. Dies verwendet den gleichen Befehlssatz wie die Grundform, jedoch mit zwei Erweiterungen:

  1. Eine begrenzte Anzahl von 20-Bit-Befehlen für allgemeine Operationen und
  2. Ein allgemeiner Präfix-Wort-Mechanismus, der jeden Befehl auf 20 Bit erweitern kann.

Die erweiterten Befehle umfassen einige zusätzliche Fähigkeiten, insbesondere Multibit-Verschiebungen und Multiregister-Lade-/Speicheroperationen.

20-Bit-Operationen verwenden das Längensuffix "A" (für Adresse) anstelle von .B oder .W. .W ist immer noch die Standardeinstellung. Im Allgemeinen löschen kürzere Operationen die höherwertigen Bits des Zielregisters.

Die neuen Anweisungen lauten wie folgt:

Erweiterte Anweisungen für MSP430X
fünfzehn 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Zweites Wort Anweisung
0 0 0 0 Quelle 0 0 Opcode Ziel Erweiterte Speicherregisterbewegungen
0 0 0 0 src 0 0 0 0 dst MOVA @R src ,R dst
0 0 0 0 src 0 0 0 1 dst MOVA @R src +,R dst
0 0 0 0 Adresse[19:16] 0 0 1 0 dst Adresse[15:0] MOVA &abs20,R dst
0 0 0 0 src 0 0 1 1 dst x[15:0] MOVA x(R src ),R dst
0 0 0 0 n−1 op. 0 1 0 W/A Ziel Bitverschiebungen (1–4 Bitpositionen)
0 0 0 0 n−1 0 0 0 1 0 W/A dst RRCM . x # n ,R dst (Durch Übertrag nach rechts drehen .)
0 0 0 0 n−1 0 1 0 1 0 W/A dst RRAM . x # n ,R dst (Arithmetik nach rechts drehen , auch bekannt als Vorzeichen nach rechts verschieben.)
0 0 0 0 n−1 1 0 0 1 0 W/A dst RLAM . x # n ,R dst (Arithmetik nach links drehen , auch nach links verschieben.)
0 0 0 0 n−1 1 1 0 1 0 W/A dst RRUM . x # n ,R dst ( Nach rechts ohne Vorzeichen drehen , auch bekannt als logisch nach rechts verschieben.)
0 0 0 0 Quelle 0 1 1 op. Ziel Erweiterte Registerspeicherbewegungen
0 0 0 0 src 0 1 1 0 Adresse[19:16] Adresse[15:0] MOVA R src ,&abs20
0 0 0 0 src 0 1 1 1 dst x[15:0] MOVA R src ,x(R dst )
0 0 0 0 Quelle 1 Opcode Ziel Erweiterte ALU-Operationen
0 0 0 0 imm[19:16] 1 0 0 0 dst imm[15:0] MOVA #imm20,R dst
0 0 0 0 imm[19:16] 1 0 0 1 dst imm[15:0] CMPA #imm20,R dst
0 0 0 0 imm[19:16] 1 0 1 0 dst imm[15:0] HINZUFÜGEN #imm20,R dst
0 0 0 0 imm[19:16] 1 0 1 1 dst imm[15:0] SUBA #imm20,R dst
0 0 0 0 src 1 1 0 0 dst MOVA R src ,R dst
0 0 0 0 src 1 1 0 1 dst CMPA R src ,R dst
0 0 0 0 src 1 1 1 0 dst ADDA R src ,R dst
0 0 0 0 src 1 1 1 1 dst SUBA R src ,R dst
0 0 0 1 0 0 1 1 op. Modus variiert CALLA
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 RETI (wie MSP430)
0 0 0 1 0 0 1 1 0 1 Wie registrieren CALLA- Quelle
0 0 0 1 0 0 1 1 1 0 0 0 Bauchmuskeln[19:16] Bauchmuskeln[15:0] CALLA &abs20
0 0 0 1 0 0 1 1 1 0 0 1 x[19:16] x[15:0] ANRUF x(PC)
0 0 0 1 0 0 1 1 1 0 1 0 (reserviert)
0 0 0 1 0 0 1 1 1 0 1 1 imm[19:16] imm[15:0] CALLA #imm20
0 0 0 1 0 0 1 1 1 1 (reserviert)
0 0 0 1 0 1 dir W/A n−1 registrieren Push/Pop n Register, die mit angegeben enden
0 0 0 1 0 1 0 W/A n−1 src PUSHM . x # n ,R src  Push R src , R( src −1), ... R( srcn +1)
0 0 0 1 0 1 1 W/A n−1 dst−n+1 POPM . x # n ,R dst  Pop R( dstn +1), R( dstn +2), ... R dst

Allen anderen Befehlen kann ein Präfixwort hinzugefügt werden, das sie auf 20 Bit erweitert. Das Präfixwort enthält ein hinzugefügtes Operandengrößenbit, das mit dem vorhandenen S/W-Bit kombiniert wird, um die Operandengröße anzugeben. Eine nicht verwendete Größenkombination existiert; Hinweise deuten darauf hin, dass es in Zukunft für eine 32-Bit-Operandengröße verwendet werden kann.

Das Präfixwort gibt es in zwei Formaten, und die Wahl zwischen ihnen hängt von der folgenden Anweisung ab. Wenn der Befehl irgendwelche Nicht-Register-Operanden hat, wird die einfache Form verwendet, die 2 4-Bit-Felder bereitstellt, um jeden Offset oder jede unmittelbare Konstante im Befehlsstrom auf 20 Bits zu erweitern.

Wenn der Befehl von Register zu Register erfolgt, wird ein anderes Erweiterungswort verwendet. Dazu gehört ein "ZC"-Flag, das den Übertrag unterdrückt (nützlich für Befehle wie DADD, die immer das Übertragsbit verwenden) und einen Wiederholungszähler. Ein 4-Bit-Feld im Erweiterungswort codiert entweder einen Wiederholungszähler (0–15 Wiederholungen zusätzlich zur anfänglichen Ausführung) oder eine Registernummer, die einen 4-Bit-Wiederholungszähler enthält.

MSP430X-Präfixwörter
fünfzehn 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Anweisung
0 0 0 1 1 A/L 0 0 Erweiterungswort
0 0 0 1 1 src[19:16] A/L 0 0 dst[19:16] Speicheroperandenerweiterung
0 0 0 1 1 0 0 ZC 0 A/L 0 0 n−1 Operandenerweiterung registrieren (sofortige Wiederholungszahl)
0 0 0 1 1 0 0 ZC 1 A/L 0 0 Rn Operandenerweiterung registrieren (Wiederholungszähler registrieren)

MSP430-Adressraum

Das allgemeine Layout des MSP430-Adressraums ist:

0x0000–0x0007
Prozessor-Sonderfunktionsregister (Interrupt-Steuerregister)
0x0008–0x00FF
8-Bit-Peripheriegeräte. Auf diese muss mit 8-Bit-Laden und -Speichern zugegriffen werden.
0x0100–0x01FF
16-Bit-Peripheriegeräte. Auf diese muss mit 16-Bit-Laden und -Speichern zugegriffen werden.
0x0200–0x09FF
Bis zu 2048 Byte RAM .
0x0C00–0x0FFF
1024 Byte Bootstrap-Loader-ROM (nur Flash-Teile).
0x1000–0x10FF
256 Byte Daten- Flash-ROM (nur Flash-Teile).
0x1800-0x19FF
512 Byte Daten- FRAM (die meisten FRAM-MCUs, vom Benutzer beschreibbar, keine Kalibrierdaten enthalten)
0x1100–0x38FF
Erweiterter RAM bei Modellen mit mehr als 2048 Byte RAM. (0x1100–0x18FF ist eine Kopie von 0x0200–0x09FF)
0x1100–0xFFFF
Bis zu 60 Kilobyte Programm-ROM. Kleinere ROMs beginnen bei höheren Adressen. Die letzten 16 bzw. 32 Bytes sind Interrupt-Vektoren .

Einige Modelle enthalten mehr als 2048 Byte RAM; in diesem Fall beginnt RAM bei 0x1100. Die ersten 2048 Byte (0x1100–0x18FF) werden aus Kompatibilitätsgründen auf 0x0200–0x09FF gespiegelt. Außerdem biegen einige neuere Modelle die 8-Bit- und 16-Bit-Peripherieregeln ab und ermöglichen den 16-Bit-Zugriff auf Peripheriegeräte im 8-Bit-Peripherieadressbereich.

Es gibt eine neue erweiterte Version der Architektur (mit dem Namen MSP430X), die einen 20-Bit- Adressraum ermöglicht . Es ermöglicht das Hinzufügen von Programm-ROM ab 0x10000.

Die '5xx-Serie verfügt über einen stark überarbeiteten Adressraum, wobei die ersten 4K für Peripheriegeräte und bis zu 16K RAM vorgesehen sind.

Verweise

  1. ^ Evanczuk, Stephen (20. August 2013). „Diashow: Die beliebtesten MCUs aller Zeiten“ . edn.com . Netzwerk für Elektronikdesign . Abgerufen am 3. September 2020 .
  2. ^ MSP430 läuft auf Trauben – Video auf YouTube
  3. ^ a b D. Peters, D. Raskovic und D. Thorsen, "Ein energieeffizientes paralleles eingebettetes System für kleine Satellitenanwendungen" , ISAST Transactions on Computers and Intelligent Systems , vol. 1(2), 2009
  4. ^ MSP430-Mikrocontroller mit dem niedrigsten Stromverbrauch von Texas Instruments
  5. ^ a b http://www.ti.com/lit/slau445
  6. ^ [1] , Energia-Website
  7. ^ MSP430-Artikel im IEEE- Magazin veröffentlicht.
  8. ^ Visuelle Lösungen
  9. ^ MSP430 LaunchPad (MSP-EXP430G2) , Texas Instruments Embedded Processors Wiki
  10. ^ "MSP430 Ultra-Low-Power-Mikrocontroller" (PDF) . Texas-Instrumente . Abgerufen am 9. Juli 2008 .
  11. ^ Das Größenbit heißtA/L, wobeiL(long) von anderen Prozessoren verwendet wird, um 32-Bit-Operanden anzuzeigen. Auch die Beschreibung des SXTX-Befehls (MSP430F5xx Family Benutzerhandbuch alau208f Seite 237) beschreibt die Wirkung des Befehls in den Registerbits 20–31.

Externe Links

Community- und Informationsseiten

C-Code-Generatoren für visuelle Programmierung

Compiler, Assembler und IDEs

  Kostenloser Compiler und IDEs

  Die beliebtesten uneingeschränkten IDEs und Compiler

  Verschiedene IDEs

Liste der Debugging-Tools (nicht vollständig)

Name Hersteller Schnittstelle Protokoll(e) Status
MSP-FET430PIF TI Parallel-Port JTAG
MSP-FET430UIF TI USB-Schnittstelle JTAG, Spy-Bi-Wire
MSP-FET TI USB-Schnittstelle JTAG, Spy-Bi-Wire
MSP-430 LaunchPad TI USB-Schnittstelle Spy-Bi-Wire
MSP-430 LaunchPad eZ-FET TI USB-Schnittstelle Spy-Bi-Wire
eZ430-F2013 TI USB-Schnittstelle Spy-Bi-Wire
eZ430-RF2500 TI USB-Schnittstelle Spy-Bi-Wire
FETP SoftBaugh Parallel-Port JTAG
USBP SoftBaugh USB-Schnittstelle JTAG, Spy-Bi-Wire abgesetzt
MSP430-JTAG Olimex Parallel-Port JTAG
MSP430-JTAG-ISO Olimex USB-Schnittstelle JTAG, Spy-Bi-Wire obsolet
MSP430-JTAG-ISO-MK2 Olimex USB-Schnittstelle JTAG, Spy-Bi-Wire
MSP430-JTAG-Tiny Olimex USB-Schnittstelle JTAG, Spy-Bi-Wire nicht gefunden
MSP430-JTAG-TINY-V2 Olimex USB-Schnittstelle JTAG?, Spy-Bi-Wire
MSP430-JTAG-RF Olimex USB-Schnittstelle JTAG, Spy-Bi-Wire
FlashPro-CC Elprotronik USB-Schnittstelle JTAG, Spy-Bi-Wire, BSL
VisSim /ECD Visuelle Lösungen USB-Schnittstelle JTAG, Spy-Bi-Wire
LA-3713 Lauterbach USB-Schnittstelle / Ethernet JTAG, Spy-Bi-Wire

Andere Werkzeuge