STM8: Unterschied zwischen den Versionen
Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Ivan (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Ivan (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 27: | Zeile 27: | ||
* '''Stack Pointer (SP)''': 16 Bit, zeigt auf nächsten freien Speicherplatz im Kellerspeicher. | * '''Stack Pointer (SP)''': 16 Bit, zeigt auf nächsten freien Speicherplatz im Kellerspeicher. | ||
* '''Condition Code (CC)''': 8 Bit, enthält die üblichen Flags (Carry, Zero, etc.) und die Interrupt Level Flags. | * '''Condition Code (CC)''': 8 Bit, enthält die üblichen Flags (Carry, Zero, etc.) und die Interrupt Level Flags. | ||
===Peripherie=== | |||
* '''Clock System''': Takterzeugung aus externem Quarz oder Oszillator, interner 16MHz/128kHz-RC-Oszillator. | |||
* '''Power Management''': Warte-Modus, Aktiver Wartemodus mit aktiviertem internem Spannungsregler, Wartemodus mit deaktiviertem Regler, Halt-Modus. | |||
* '''Watchdog''': Konfigurierbarer "Windowed-Watchdog" und vom Taktsystem unabhängiger "Independent Watchdog". | |||
* '''Timer''': Flexible Timeroptionen: 8 Bit mit Prescaler, 16 Bit Capture/Compare, PWM, Komplementärausgabe, | |||
* '''ADC''': Je nach Familie 10 (STM8S, STM8A) oder 12 (STM8L) Bit Auflösung, SAR, bis zu 25 Kanäle. | |||
* '''DAC''': 12 Bit Auflösung, mit Output Buffer. | |||
* '''Comparator''': Rail-to-Rail, interne oder externe Referenzspannung möglich. | |||
* '''I2C''': Adressierbare serielle Schnittstelle mit bis zu 400kHz Geschwindigkeit, Master- Slave- und Multimaster-fähig, unterstütztzt PMBus und SMBus, Hardware-CRC vorhanden. | |||
* '''SPI''': Serielles Peripherie-Interface, bis zu 10 MBit/s, Polarität und Phase frei einstellbar, Hardware-CRC vorhanden. | |||
* '''U(S)ART''': Full featured UART, unterstützt zusätzlich LIN 2.1 als Master und Slave, IrDA-Emulation und Smartcard-Modus | |||
* '''DMA''': Erlaubt UART, SPI, I2C, ADC, DAC und Timern direkten Speicherzugriff | |||
* '''CAN''': Geschwindigkeit bis zu 1 MBit/s, unterstützt beCAN 2.0B | |||
* '''Beeper''': Asugabe eines Buzzer-Signals mit einstellbarer Frequenz von 1, 2 oder 4 kHz. | |||
* '''SWIM''': Single-Wire Interface Module, erlaubt Programmierung über Eindraht-Schnittstelle. | |||
===Weblinks=== | ===Weblinks=== |
Version vom 30. März 2010, 14:18 Uhr
Beim STM8 handelt es sich um die neueste 8-Bit-Controllerlinie von ST Microelectronics. Sie zeichnet sich durch schnelle Ausführungszeiten (durchschnittlich 1,6 Takte per Instruktion), 16 MByte linearem Adressraum, umfangreichen Peripherieoptionen (wie integriertem CAN-Controller) und integriertem echtem EEPROM aus.
Übersicht
- Architektur: Akkumulatorbasierte, modifizierte Harvard-Architektur mit gemeinsamen Adressraum
- Busbreite: Datenbus 32 Bit, Adressbus 24 Bit
- Hauptspeicher: 512 Bytes bis 6 kBytes SRAM
- Programmspeicher: 4 bis 128 kBytes Flash
- EEPROM: 384 Bytes bis 2 kBytes
- Spannungsversorgung: 1,8 bis 5,5V
- Taktfrequenz: bis 24 MHz
- Bauformen: SDIP, SOIC, TSSOP, LQFP, QFN, UQFPN, WLCSP, Unsawn Wafer.
- Pins: 20 bis 80
Familien
- STM8S: Standardversion
- STM8L: Low-Power-Version
- STM8A: Automotive Grade
Register
- Akkumulator (A): 8 Bit, Allgemeines Arbeitsregister für logische und mathematische Operationen.
- X Indexregister (X): 16 Bit, z.ß. nutzbar als Speicheroffset. Enthält bei 16/8- und bei 16/16-Division den Dividenden.
- Y Indexregister (Y): 16 Bit, nutzbar wie X-Indexregister. Divisor bei 16/16-Division.
- Program Counter (PC): 24 Bit, enthält Adresse des nächsten auszuführenden Befehls.
- Stack Pointer (SP): 16 Bit, zeigt auf nächsten freien Speicherplatz im Kellerspeicher.
- Condition Code (CC): 8 Bit, enthält die üblichen Flags (Carry, Zero, etc.) und die Interrupt Level Flags.
Peripherie
- Clock System: Takterzeugung aus externem Quarz oder Oszillator, interner 16MHz/128kHz-RC-Oszillator.
- Power Management: Warte-Modus, Aktiver Wartemodus mit aktiviertem internem Spannungsregler, Wartemodus mit deaktiviertem Regler, Halt-Modus.
- Watchdog: Konfigurierbarer "Windowed-Watchdog" und vom Taktsystem unabhängiger "Independent Watchdog".
- Timer: Flexible Timeroptionen: 8 Bit mit Prescaler, 16 Bit Capture/Compare, PWM, Komplementärausgabe,
- ADC: Je nach Familie 10 (STM8S, STM8A) oder 12 (STM8L) Bit Auflösung, SAR, bis zu 25 Kanäle.
- DAC: 12 Bit Auflösung, mit Output Buffer.
- Comparator: Rail-to-Rail, interne oder externe Referenzspannung möglich.
- I2C: Adressierbare serielle Schnittstelle mit bis zu 400kHz Geschwindigkeit, Master- Slave- und Multimaster-fähig, unterstütztzt PMBus und SMBus, Hardware-CRC vorhanden.
- SPI: Serielles Peripherie-Interface, bis zu 10 MBit/s, Polarität und Phase frei einstellbar, Hardware-CRC vorhanden.
- U(S)ART: Full featured UART, unterstützt zusätzlich LIN 2.1 als Master und Slave, IrDA-Emulation und Smartcard-Modus
- DMA: Erlaubt UART, SPI, I2C, ADC, DAC und Timern direkten Speicherzugriff
- CAN: Geschwindigkeit bis zu 1 MBit/s, unterstützt beCAN 2.0B
- Beeper: Asugabe eines Buzzer-Signals mit einstellbarer Frequenz von 1, 2 oder 4 kHz.
- SWIM: Single-Wire Interface Module, erlaubt Programmierung über Eindraht-Schnittstelle.