MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2 Hauptthemen Was kann er? Wie sieht er aus? Hosen runter Zu Befehl Äußerlichkeiten Schlaf gut Was kann er? Power 2,5 V 5,5 V Max. 3,8 MHz Min. 0,1 µa 5 Schlaf-Modi Aufwachen in 6 µs 16 Bit RISC-Architektur 300 ns Befehlszykluszeit LCD Treiber intern Texas Instruments 3 Texas Instruments 4 Was kann er? Interner Multiplizierer Spezielle MAC Operationen Interface USART/UART SPI A/D Wandler intern Timer 16 Bit mit 5 CCU Registern Security Fuse (Code Protection) Bis 32 kb ROM / 1 kb RAM OTP, Eprom, Flash Serielle On Board Programmierung Wie sieht er aus? 64 / 100 polig Texas Instruments 5 Texas Instruments 6 MSP 430 1
Blockschalbild Processing Unit Blockschaltbild RISC Architektur Viele Register Operationen 7 Adress Modi für Quellen 4 Adress Modi für Ziele Texas Instruments 7 Texas Instruments 8 Register Befehle Program Counter Stack Pointer Status Register Constant Generator General Purpose Reg 16 Register intern Register-Register Operationen in einem Takt Nur 4 reservierte Register MOV hier,dort ADD #12h,&MEM PUSH R7 SWPB R7 ADD.B #23h,&MEM 52 Befehle 3 Formate und 7 Adressmodi Ein- und Zweioperanden Befehle Befehle ohne Operand (z.b.sprünge) direkte / indirekte Adressierung General Purpose Reg Texas Instruments 9 Texas Instruments 10 Arbeitsmodi 6 Modi verfügbar Active Mode Sleep Mode 1 5 Steuerung über Interrupt möglich / notwendig externer und interner Takt getrennt Steuerung über SFR Texas Instruments 11 Arbeitsmodi Active Normaler Arbeitsmodus Low Power Mode 1 CPU aus Low Power Mode 2 Loop-Control für int. Clock aus Low Power Mode 3 interner Takt aus Low Power Mode 4 DC Generator für DCO aus Low Power Mode 5 Alles aus, nur externes aufwecken Texas Instruments 12 MSP 430 2
Interrupts Speicher Bild der IRQ Tabelle (Seite 7) Bild der ROM Zeichnung Seite 8 Texas Instruments 13 Texas Instruments 14 Takt externer Takt Quarz 32,768 khz multiplizierter externer Takt (intern) 1 bis 3,8 MHz Oszillator startet bei Vcc oder aufwecken (OscBit im SFR) rausgeführter ext. Takt t, t/2, t/4 rausgeführter int. Takt ext. Takt multipliziert mit Faktor: 32, 64, 96, 128 FLL (frequency locked loop) in Kombination mit DCO (digital controlles oszillator) Anlaufzeiten < 1µs Texas Instruments 15 Multiplikation Als Modul implementiert Unterstützt: 8 x 8 Bit 8 x 16 Bit 16 x 8 Bit 16 x 16 Bit mit oder ohne Vorzeichen kann gerechnet werden keine zusätzlichen Zyklen zum Ergebnisspeichern im Register Texas Instruments 16 Digital I / O Digital I / O 5 8-Bit breite I/O Ports jeweils mit 6,7,4 Kontrollregistern Bitweise Ausgabe möglich bidirektional mit Interrupt möglich Port 0 bis 2 kann auf jedem Bit mit Interrupt reagieren generelles Schreiben auf alle 7 Register erlaubt Die 7 Register Input Output Direction Interrupt edge select Interrupt flags Interrupt enable Function select Texas Instruments 17 Texas Instruments 18 MSP 430 3
LCD Treiber Timer 1 (basic) LCD Treiber für bis zu 4 LCD Displays (MUX) Ansteuerung durch Software (Bit s setzen) LCD Speicher im LCD Modul, nicht im RAM Speicher wie RAM ansprechbar Anzeigen Anpassung durch ext. Widerstand teilt den int. oder ext. Takt Steuerung per SFR (BTCTL) Vorsicht: undefinierter Status beim Einschalten, Reset... Konfiguration nach Reset nötig 2 8-Bit Register (kaskadierbar) Beide Register erlauben schreiben/lesen Texas Instruments 19 Texas Instruments 20 Watchdog Timer Zur Systemkontrolle Nach Ablauf Reset Umprogrammierbar, z.b. als Taktgeber (Interrupt nach Ablauf) 16 Bit Aufw ärtszähler Kein direkter Softwarezugriff Kontrolle per Register (WDTCTL) Zugriff nur mit korrektem Passwort im H-Byte (obere 8Bit) falsches Passwort Reset Texas Instruments 21 USART serielle Kommunikation synchron und asynchron Unterstützt synchrones SPI und asynchrones UART Protokoll Datenworte mit 7 oder 8 Bit Übertragungsrate abh. vom Takt und von der Programmierung spezielle Verfahren für Low -Power Texas Instruments 22 timer / port A/D Wandler 2 8-Bit Zähler mit Trigger-Eingang extern oder intern getaktet Ein Zähler kann: frei laufen angehalten werden starten bei ext. Signal Schreiben und Lesen per Software Kaskadierbar Integrierter A/D Wandler Konfiguration durch externe Widerstände und Kondensatoren In Kombination mit den ext. Bauelemente kann die Sample & Hold Zeit Softwaremäßig eingestellt werden Kombinierte Nutzung mit dem Timer/Port Modules Texas Instruments 23 Texas Instruments 24 MSP 430 4
Timer a 16 Bit 5 Capture/Compare Register ext. oder int. Takt Takt teilbar durch 1,2,4,8 Modi: Start Stop Freilaufend Auf-/Abwärtszählen Vergleicher zum zurücksetzen nutzbar Texas Instruments 25 Timer a kann pos. und neg. flankengetriggert werden Stoppen durch Software oder äußeres Signal Compare Mode für Softwaretiming gedacht oder zur Generierung von Z.B. PWM-Signalen 5 getrennte Interrupt Events Texas Instruments 26 8-bit timer/counter 3 grundlegende Funktionen Serielle Kommunikation Plus Counting oder plus accumulation Timer 8 Bit-Aufwärtszähler Vorladewert-Register Kontrollregister Eingangstaktwähler Flanken-Erkennung In/Out Daten-Latch Texas Instruments 27 Temperaturabhängigkeit Takt ist abhängig von der Spannung Texas Instruments 28 Stromaufnahme Typische Stromaufnahmewerte Texas Instruments 29 MSP 430 5