STM8S105K4-Mikrocontroller: Übersicht, Hauptmerkmale und praktische Anwendungen

Der Mikrocontroller STM8S105K4, der für seine Effizienz und Vielseitigkeit bekannt ist, ist eine gute Wahl für eingebettete Anwendungen in Unterhaltungselektronik und industriellen Systemen. Dieser Artikel bietet einen Überblick über seine wichtigsten Funktionen, die Pin-Konfiguration und das Blockdiagramm sowie eine Schritt-für-Schritt-Anleitung zum Einrichten eines Projekts in IAR Embedded Workbench. Mit Beispielcode für die grundlegende GPIO-Steuerung und Anweisungen zur Programmierung und Fehlerbehebung hilft Ihnen dieser Leitfaden, schnell und effektiv mit dem STM8S105K4 zu beginnen.

Überblick

Der STM8S105K4 ist ein 8-Bit-Mikrocontroller von STMicroelectronics, der zur STM8-Familie gehört. Er wurde für eine Vielzahl von Anwendungen entwickelt und bietet ein ausgewogenes Verhältnis zwischen Leistung, Energieeffizienz und Erschwinglichkeit. Mit seinen fortschrittlichen Peripheriegeräten und dem integrierten EEPROM eignet sich der STM8S105K4 für allgemeine Steuerungsaufgaben in der Unterhaltungselektronik, in industriellen Systemen und vielem mehr.

Funktionen und Spezifikationen

  • Kern: 8-Bit-STM8-Kern mit Harvard-Architektur, Betriebsfrequenz bis zu 16 MHz.
  • Speicher:
    • Flash-Speicher: 16 KB
    • RAM: 1 KB
    • EEPROM: 640 Byte
  • Timer:
    • 16-Bit-Timer für erweiterte Steuerung (TIM1)
    • 16-Bit-Allzweck-Timer (TIM2)
    • 8-Bit-Basistimer (TIM4)
  • Kommunikationsschnittstellen:
    • UART-, I²C- und SPI-Schnittstellen für vielseitige Konnektivität.
  • Analoge Funktionen:
    • 10-Bit-ADC mit bis zu 5 Kanälen
    • Interne Spannungsreferenz für verbesserte analoge Präzision
  • GPIO:
    • Mehrere I/O-Pins mit programmierbaren Pull-up-, Ausgangstyp- und Geschwindigkeitseinstellungen
    • Bis zu 38 I/O-Ports (je nach Gehäuse)
  • Betriebsspannung: 2,95 V bis 5,5 V
  • Temperaturbereich: -40 °C bis +85 °C (Industriequalität)
  • Gehäuse: Erhältlich in LQFP32 und anderen kompakten Gehäuseoptionen.

Pin-Konfiguration

Der STM8S105K4 bietet je nach Gehäuse bis zu 48 E/A-Pins, die für verschiedene Funktionen wie ADC-Eingang, PWM-Ausgang, UART, SPI, I²C und allgemeine digitale E/A konfiguriert werden können. Zu den wichtigsten GPIOs gehören:

  • Port A (PA0 bis PA7): Konfigurierbar für digitale I/O und alternative Funktionen.
  • Port B (PB0 bis PB7): Wird in erster Linie für E/A verwendet, wobei bestimmte Pins alternative Funktionen unterstützen.
  • Port C, D und E: Unterstützung für zusätzliche I/O-, Analogeingangs- und Timer-Funktionen, einschließlich PWM-Erzeugung.
STM8S105K4 LQFP48 pinout
STM8S105K4 LQFP48 pinout

Jeder Pin kann individuell für den Ein- oder Ausgang konfiguriert werden und unterstützt sowohl Push-Pull- als auch Open-Drain-Modi. Darüber hinaus sind die Pins ESD-geschützt und für Hochleistungsausgänge für LED- und Relais-Anwendungen geeignet.

Blockdiagramm

STM8S105K4 block diagram
STM8S105K4 block diagram

Das Blockdiagramm des STM8S105K4 umfasst:

  • Kern: STM8-Kern mit Taktsteuerung, Programmzähler und ALU für 8-Bit-Verarbeitung.
  • Speichereinheiten:
    • Flash-Speicher für die Codelagerung
    • EEPROM für die Datenspeicherung
    • SRAM für allgemeine Zwecke
  • Peripheriegeräte:
    • ADC für analoge Signalverarbeitung
    • Timer (TIM1, TIM2 und TIM4) für Ereigniszeitsteuerung, PWM und Wellenformgenerierung
    • Kommunikationsschnittstellen (UART, SPI und I²C) für die Verbindung mit Sensoren, Displays und anderen Modulen
  • Systemsteuerung:
    • Taktgeneratoreinheit mit internen und externen Taktquellen
    • Watchdog-Timer für die Systemzuverlässigkeit
    • Energieverwaltungseinheit mit Energiesparmodi
  • E/A-Steuerung: GPIO-Konfiguration und -Verwaltung für die Anbindung externer Geräte

Diese modulare Architektur ermöglicht Flexibilität bei der Bewältigung einer Vielzahl von Aufgaben, von der Echtzeitsteuerung bis zur seriellen Kommunikation.

Anwendungen

Der Mikrocontroller STM8S105K4 eignet sich ideal für eine Vielzahl von Anwendungen, darunter:

  1. Unterhaltungselektronik: Haushaltsgeräte, Fernbedienungen und Displaysteuerung
  2. Industrielle Steuerung: Motorsteuerung, HLK-Systeme und SPS-Module
  3. Automobilanwendungen: Sensorschnittstellen, Armaturenbrettsteuerung und Beleuchtungssysteme
  4. Gesundheitswesen: Medizinische Geräte, Überwachungssysteme und tragbare Gesundheitsgeräte
  5. IoT-Geräte: Intelligente Sensoren, Funkmodule und Energiezähler

Mit seiner Kombination aus analogen, digitalen und Kommunikationsfunktionen ermöglicht der STM8S105K4 Entwicklern die Erstellung effizienter, vielseitiger und kostengünstiger eingebetteter Systeme für verschiedene Branchen.

Erstellen eines IAR-Projekts für STM8S105K4

In diesem Beispiel erstellen wir ein IAR-Projekt, um die LED mithilfe des Mikrocontrollers STM8S105K4 zum Leuchten zu bringen.

Erforderliche Werkzeuge

Hardwarekomponenten:

  • STM8S105K4-Mikrocontroller
  • ST-LINK/V2 Debugger und Programmierer
  • STM8S105K4-Entwicklungsboard (optional)
  • LED und Widerstand (1 kΩ)
  • Breadboard und Jumper-Kabel

Software-Tools:

  • IAR Embedded Workbench für STM8
  • ST Visual Programmer (STVP)

Schritte zum Erstellen des Projekts

Projektordner erstellen:

    • Erstellen Sie einen Ordner mit dem Namen testund darin einen weiteren Ordner mit dem Namen user.

Öffnen Sie IAR Embedded Workbench:

    • Öffnen Sie IAR für STM8 (Version 9.40.2).

Neues Projekt erstellen:

    • Gehen Sie zu Project -> Create New Project.
    • Wählen Sie im Dialogfeld STM8 Series -> Empty projectund klicken Sie auf OK.
    • Speichern Sie die .ewp Datei im test/user Ordner und benennen Sie sie test.
Create a new project on IAR Embedded Workbench IDE
Create a new project on IAR Embedded Workbench IDE

Projektgruppe hinzufügen:

    • Wählen Sie das Menü aus und klicken Sie auf Project -> Add Group.
    • Geben Sie der Gruppe einen Namen userund klicken Sie auf OK.
Add Project Group for STM8S105K4
Add Project Group for STM8S105K4

Erstellen Sie eine Hauptdatei:

    • Gehen Sie zu File -> New -> Fileund speichern Sie sie als main.c.
    • Hinzufügen main.c zur user Gruppe.
Create a main.c file and add it to the user group
Create a main.c file and add it to the user group

Konfigurieren der IAR-Umgebung

Projektoptionen:

    • Ziel und Klick Project -> Options.

Zielgerät festlegen:

    • In General Options -> Target -> Devicewählen Sie STM8S105K4 (oder Ihr spezifisches Gerätemodell).
Set target device STM8S105K4 in project options
Set target device STM8S105K4 in project options

Include-Pfade konfigurieren:

    • Fügen Sie in C/C++ Compiler -> Preprocessorfügen Sie den Pfad "$PROJ_DIR$\..\user".
    • Diese Syntax gibt den Include-Dateipfad innerhalb des Projektverzeichnisses an.
Configure include path in CC Compiler Preprocessor
Configure include path in CC++ Compiler - Preprocessor

Debugger einrichten:

    • In Debugger -> Setup, stellen Sie den Driver auf ST-LINK.
    • Klicken Sie OK , um die Konfiguration zu speichern.
Setup debugger driver as ST LINK
Setup debugger driver as ST-LINK

Code hinzufügen und Projekt erstellen:

    • Geben Sie in main.cden folgenden Code ein und gehen Sie dann zu Project -> Rebuild All.
    • Wenn Sie Total number of errors: 0 und Total number of warnings: 0, ist das Projekt korrekt eingerichtet.
Add LED blinking code to main.c file for STM8S105K4 project
Add LED blinking code to main.c file for STM8S105K4 project

Header-Datei einbinden:

    • Stellen Sie sicher, dass die Header-Datei IOSTM8S105K4.h im IAR-Installationsverzeichnis verfügbar ist:
      Software (E:) > IAR for STM8 > arm > inc > ST.
iostm8s105k4.h header file
iostm8s105k4.h header file

Code schreiben, herunterladen und debuggen

Der folgende Code schaltet eine an Pin PE5 angeschlossene LED mit einer Verzögerungsschleife um, sodass die LED blinkt.

				
					#include "iostm8s105k4.h"  // Ensure this header file exists in your project

int main(void) {
    int i, j;  // Variables for delay loop

    // Configure PE5 as an output pin
    PE_DDR |= 0x20;   // Set bit 5 of PE_DDR (PE5) to 1 to configure as output
    PE_CR1 |= 0x20;   // Set bit 5 of PE_CR1 to 1 for push-pull mode
    PE_CR2 &= ~0x20;  // Set bit 5 of PE_CR2 to 0 for low speed

    // Main loop
    while (1) {
        PE_ODR ^= 0x20;  // Toggle PE5 (connected to LED)

        // Simple delay loop
        for (i = 0; i < 100; i++) {
            for (j = 0; j < 1000; j++) {
                // Empty loop for delay
            }
        }
    }
}

				
			

Hardware-Verbindungen

  • PE5LED1K-WiderstandMasse

Nachdem Sie den Code hochgeladen und das Programm gestartet haben, sollte die LED an PE5 blinken und damit bestätigen, dass die Projektkonfiguration abgeschlossen ist.

Passiven Piepser mit STM8S105K4 ansteuern

In diesem Beispiel wird der Pin PD4 des Mikrocontrollers STM8S105K4 zum Ansteuern eines passiven Summers verwendet. Die Summerfunktion ist eine alternative Funktion von PD4. Durch Konfigurieren des Bits AFR7 können wir die alternative Funktion für PD4 aktivieren, wodurch dieser den Summer ansteuern kann.

Codeausführung

				
					/* Includes */
#include "user.h"

/* Function Prototypes */
void HalBeep_Init(BEEP_Frequency_TypeDef beep_fre);

/* Main Function */
void main(void)
{
    /* Clock, LED, and Timer Initialization */
    HalCLK_Config();
    HalLed_Init();
    HalTimer1_Init();
    // HalUART2_Init(); // Uncomment if UART is required
    
    /* Buzzer Initialization */
    HalBeep_Init(BEEP_FREQUENCY_2KHZ); // Initialize the buzzer at 2kHz
    BEEP_Cmd(ENABLE); // Enable the buzzer
    enableInterrupts(); // Enable interrupts

    while (1)
    {
        // Main loop - insert additional code here if needed
    }
}

/* Buzzer Initialization Function */
void HalBeep_Init(BEEP_Frequency_TypeDef beep_fre)
{
    BEEP_DeInit(); // Reset the BEEP registers to their default values
    BEEP_Init(beep_fre); // Initialize the BEEP with the specified frequency
}

				
			

Programmierung und Konfiguration der PD4-Signaltonfunktion

  1. Flashen Sie das Programm mit ST-Link und STVP-Software:
    • Verwenden Sie den ST-Link-Programmierer und die offizielle STVP-Software, um die Hex-Datei auf den Mikrocontroller zu flashen.
  2. Schritte zum Flashen und Konfigurieren in STVP:
    • Schritt 1: Öffnen Sie die STVP-Software, wählen Sie die Option „PROGRAM MEMORY“ (Programmspeicher) und gehen Sie zu File -> Openund suchen Sie die gespeicherte Hex-Datei.
    • Schritt 2: Wählen Sie die Option „OPTION BYTE” und ändern Sie das AFR7-Bit, um die alternative Funktion für PD4 zu aktivieren.
    • Schritt 3: Gehen Sie im Software-Menü zu Program -> All Tabs , um sowohl die Programm- als auch die Optionsbytes zu flashen.
Modify the AFR7 for PD4
Modify the AFR7 for PD4

Teilen auf:

Nach oben scrollen

Instant Quote