STM8S105C6 Mikrodenetleyici: Kapsamlı Genel Bakış ve Programlama Kılavuzu

İçindekiler

STM8S105C6 mikrodenetleyici, gömülü sistem tasarımları için sağlam, güvenilir ve uygun maliyetli bir çözüm olup, mükemmel performans, çevre birimleri desteğinde esneklik ve düşük güç tüketimi sunar. İster endüstriyel, ister otomotiv veya tüketici elektroniği uygulamaları olsun, bu mikrodenetleyici, yüksek kaliteli gömülü ürünler geliştirmek için gerekli tüm temel özellikleri sağlar. Bu makalede, STM8S105C6 mikrodenetleyiciyi ve UART ile nasıl programlanacağını tanıtacağız.

STM8S105C6 Tanıtımı

STM8S105C6, STMicroelectronics tarafından üretilen STM8S mikrodenetleyici ailesinin bir üyesidir. STM8 çekirdek mimarisine dayanan bu ürün, otomotiv, endüstriyel kontrol, ev otomasyonu ve tüketici elektroniği gibi gömülü sistemlerdeki çok çeşitli uygulamalar için tasarlanmıştır. STM8S105C6, yüksek performans, düşük güç tüketimi ve çok çeşitli çevre birimlerini bir araya getirerek birçok gömülü uygulama için çok yönlü ve uygun maliyetli bir çözüm sunar.

STM8S105C6'nın Temel Özellikleri

  • Çekirdek: Yüksek hızda işlem kapasitesine sahip 8 bit STM8 çekirdeği.
  • Saat Hızı: Mikrodenetleyici maksimum 16 MHz frekansta çalışır.
  • Bellek:
    • Flash Bellek: 32 KB sistem içi programlanabilir Flash bellek.
    • RAM: Veri depolama için 2 KB SRAM.
  • Çevre Birimleri:
    • G/Ç Bağlantı Noktaları: 16 adet genel amaçlı G/Ç pini.
    • Zamanlayıcılar: 2 adet genel amaçlı 16 bit zamanlayıcı, 1 adet bekçi zamanlayıcı.
    • İletişim Arayüzleri: Seri iletişim için UART (Evrensel Asenkron Alıcı-Verici), SPI (Seri Çevre Birimi Arayüzü), I2C (Entegre Devreler Arası).
    • Analog Özellikler: 8 kanallı, 10 bit çözünürlüklü 1 ADC (Analog-Dijital Dönüştürücü).
    • PWM (Darbe Genişlik Modülasyonu): Motorları veya LED'leri kontrol etmek için PWM sinyalleri üretebilir.
  • Gerilim Aralığı: 2,95 V ila 5,5 V gerilim aralığında çalışır, bu da onu çeşitli güç kaynağı yapılandırmaları için uygun hale getirir.
  • Düşük Güç Tüketimi: Düşük güçte çalışma için optimize edilmiştir; Uyku, Bekleme ve Durdurma gibi çeşitli güç tasarrufu modlarına sahiptir.
  • Geliştirme Araçları: STM8S105C6, STMicroelectronics'in STVD (STM8 Geliştirme Ortamı), IAR Embedded Workbench ve diğer üçüncü taraf IDE'ler (Entegre Geliştirme Ortamları) dahil olmak üzere çeşitli geliştirme araçları tarafından desteklenir.
  • Paket Seçenekleri: STM8S105C6, 32 pimli LQFP (Düşük profilli Dörtlü Düz Paket) olarak mevcuttur, bu da onu kompakt hale getirir ve çok çeşitli tasarımlara entegre edilmesini kolaylaştırır.

STM8S105C6 Teknik Özellikleri

FeatureSpecification
Core8-bit STM8 core
Clock SpeedUp to 16 MHz
Flash Memory32KB (in-system programmable)
SRAM2KB
Voltage Range2.95V to 5.5V
Timers2x 16-bit general-purpose timers
Watchdog TimerYes
Communication InterfacesUART, SPI, I2C
Analog Features8-channel, 10-bit ADC
PWM ChannelsYes
Operating Temperature Range-40°C to 125°C
Package Type32-pin LQFP

STM8S105C6 Pin Dizilişi

STM8S105C6 SDIP32 pinout
STM8S105C6 SDIP32 pinout

STM8S105C6 Blok Şeması

Block diagram of STM8S105C6
Block diagram of STM8S105C6

STM8'i UART Üzerinden Programlama

STLINK programlayıcısının kullanılmasının yanı sıra, STM8S105C6 mikrodenetleyici, derlenmiş programları mikrodenetleyiciye yazmak üzere Flash Loader Demonstrator yazılımı ile UART arabirimi üzerinden de programlanabilir.

Gerekli Araçlar:

  • STVD-STM8 (Sürüm: 42.0.0)
  • IAR Embedded Workbench IDE (Sürüm: 9.40.2)
  • Flash Loader Demonstrator (Sürüm: 2.8.0)
  • STM8S105C6 Geliştirme Kartı

Programlama sürecinin ayrıntılı açıklaması için, süreci üç adıma ayırdık:

1. Önyükleyiciyi Etkinleştirme

UART üzerinden programlama yapmadan önce, çip üzerinde "BootLoader Enable" seçeneğinin etkinleştirilmesi gerekir. Varsayılan olarak, bu seçenek yeni çiplerde etkindir. Ancak, bir program yüklendiğinde devre dışı kalır. BootLoader'ı etkinleştirmek için iki yöntem vardır:

  1. ST LINK ve STVP (ST Visual Programmer) yazılımını kullanarak çipin OPTION BYTE'ını değiştirmek.
  2. Bir program aracılığıyla OPTION BYTE'yi değiştirmek.

ST LINK Kullanarak OPTION BYTE'ı Değiştirme

Öncelikle, ST LINK, STM8 geliştirme kartı ve bilgisayarı birbirine bağlayın ve STVP (ST Visual Programmer) yazılımını açın. STVP, STVD geliştirme ortamı kurulduğunda otomatik olarak yüklenir. Bu yazılım, ST mikrodenetleyicilerinin flash belleğini programlamak için kullanılan tam özellikli bir grafik programlama aracıdır ve STM8'in FLASH, EEPROM ve OPTION BYTE belleklerini okumanıza, düzenlemenize ve bunlara veri yazmanıza olanak tanır.

BootLoader Enable under Option Byte of STVP
BootLoader Enable under Option Byte of STVP

Ardından, BootLoader'ı etkinleştirmek için OPTION BYTE'ı değiştirin. STVP yazılımında, OPTION BYTE sekmesine gidin ve genellikle OPTION BYTE listesinin en altında bulunan BootLoader seçeneğini bulun. "BootLoader Disable" seçeneğine tıklayın ve açılır menüden "BootLoader Enable" seçeneğini seçin. Bu ayarı yaptıktan sonra, araç çubuğundaki "Program Current Tab" veya "Program All Tabs" seçeneğine tıklayarak OPTION BYTE'ı STM8 mikrodenetleyicisine yazın ve böylece BootLoader'ı etkinleştirin.

Bir Program Kullanarak OPTION BYTE'ı Değiştirme

BootLoader'ı bir program aracılığıyla etkinleştirmek için aşağıdaki kodu derleyin ve ST LINK kullanarak STM8'e yükleyin:

				
					FLASH_DeInit();  // Restore FLASH registers to default values
FLASH_Unlock(FLASH_MEMTYPE_DATA);  // Unlock data EEPROM

// Program OPTION BYTE
FLASH_ProgramOptionByte(0x487e, 0x55);
FLASH_ProgramOptionByte(0x487f, 0xAA);

				
			

2. Geliştirme Ortamının Kurulumu

STVD Geliştirme Ortamı

STVD'de Cosmic derleyicisiyle derleme işlemi tamamlandıktan sonra, varsayılan olarak bir *.s19 dosyası oluşturulur. Bu dosya, Flash Loader Demonstrator yazılımı kullanılarak STM8 mikrodenetleyicisine doğrudan yazılabilir. Yazılım ayrıca *.hex ve *.bin dosyalarının yazılmasını da destekler. Aşağıda, bu üç formatı oluşturmak üzere STVD'nin nasıl yapılandırılacağı açıklanmaktadır.

  1. STVD proje dosyasını açın ve Project Properties (Proje Özellikleri) bölümüne gidin.
  2. Aşağıda gösterildiği gibi Post-Build sekmesini seçin.
Adding .hex and .bin Commands to STVD under the Project Settings Post Build
Adding .hex and .bin Commands to STVD under the Project Settings Post-Build

"Komutlar" metin kutusuna, mevcut komutun arkasına aşağıdaki komutları ekleyin:

				
					chex -fi -o$(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
chex -o$(OutputPath)$(TargetSName).bin $(OutputPath)$(TargetSName).sm8

				
			

Onaylamak için Tamam'a tıklayın. Derleme işlemi tamamlandıktan sonra üç farklı dosya biçimi oluşturulacaktır.

IAR Geliştirme Ortamı

IAR geliştirme ortamı Cosmic derleyicisini kullanmadığından *.s19 dosyalarını oluşturamaz. Ancak diğer iki formatı oluşturabilir. Bunu IAR'da yapılandırmak için:

  1. IAR proje dosyasını açın ve Proje Özellikleri'ne gidin.
  2. Çıktı Dönüştürücü sekmesini seçin.
Setting the Output Converter in IAR Embedded Workbench IDE
Setting the Output Converter in IAR Embedded Workbench IDE

Ardından, "Ek çıktı oluştur" seçeneğini işaretleyin. "Çıktı biçimi" açılır menüsünden, *.hex dosyası oluşturmak için "Intel extended" seçeneğini veya *.bin dosyası oluşturmak için "Binary" seçeneğini seçin. "Varsayılanı geçersiz kıl" seçeneğini seçin ve metin kutusuna istediğiniz dosya adını ve biçimini girin. Onaylamak için "Tamam" düğmesine tıklayın. Derleme işlemi tamamlandıktan sonra, seçilen dosya biçimi oluşturulacaktır.

3. Flash Loader Demonstrator ile Programlama

Flash Loader Demonstrator, ST tarafından geliştirilen ve STM32 veya STM8 mikrodenetleyicilerini UART üzerinden programlamak için kullanılabilen bir ISP yükleme aracıdır. *.s19, *.hex ve *.bin dosyalarının yazılmasını destekler. Aşağıda, STM8 mikrodenetleyicisini programlamak için bu aracın nasıl kullanılacağı açıklanmaktadır:

  1. STM8 geliştirme kartını UART aracılığıyla bilgisayara bağlayın ve Flash Loader Demonstrator yazılımını yükleyin. Yükleme tamamlandıktan sonra yazılımı açın; ana arayüz görünecektir.
  2. Port Name açılır menüsünden STM8 geliştirme kartına bağlı uygun UART bağlantı noktasını seçin.
  3. Echo açılır menüsünden STM8S için Echo Mode'u veya STM8L için Disable'ı seçin.
Select the communication port and device for STM8 development board
Select-the-communication-port-and-device-for-STM8-development-board

Ardından, STM8 geliştirme kartını sıfırlayın ve hızlıca İleri düğmesine tıklayın. Flash Loader Demonstrator'ın STM8'in BootLoader'ından veri alabilmesi için bir saniye içinde tıklamanız gerekir. İşlem başarılı olursa, yazılım STM8 cihaz seçim ekranına geçecektir.

Cihaz türü, STM8 yongası ve dahili FLASH bellek kapasitesine göre belirlenir. STM8S mikrodenetleyiciler için açılır menüden STM8_XXK seçeneğini seçin. STM8L için ise STM8L_XXK seçeneğini seçin. 32 KB dahili FLASH belleğe sahip geliştirme kartımızdaki STM8S105C6'ya göre, açılır menüden STM8_32K seçeneğini seçin.

Download Program to STM8 by Flash Loader Demonstrator
Download-Program-to-STM8-by-Flash-Loader-Demonstrator

Ardından İleri'ye tıklayın; yazılım, yazılacak dosyayı seçmenizi isteyecektir. Dosyadan indir kutucuğunda, yazılacak programın dosya yoluna gidin. İleri'ye tıklayın; dosya, STM8 mikrodenetleyicisinin dahili FLASH belleğine yazılacaktır. Yazma işlemi başarıyla tamamlandığında, yazılım "İndirme işlemi başarıyla tamamlandı." mesajını görüntüleyecektir.

Son olarak, Flash Loader Demonstrator yazılımından çıkmak için Kapat düğmesine tıklayın. STM8 geliştirme kartını sıfırlayın; mikrodenetleyici, programı tanımlanan akışa göre çalıştıracaktır. Programın FLASH belleğine kopyalandığını ve işaretçinin kullanıcı programına atlayıp yürütmeye başlaması için cihazı sıfırlamanız gerektiğini unutmayın. Programın yazma işleminden sonra otomatik olarak çalışmasını istiyorsanız, Kullanıcı programına atla seçeneğini işaretleyin.

Tipik Uygulamalar

  • Otomotiv: Kontrol üniteleri, sensörler ve ekranlar.
  • Endüstriyel: Proses kontrolü, otomasyon sistemleri ve motor kontrolörleri.
  • Tüketici Elektroniği: Akıllı cihazlar, uzaktan kumandalar ve küçük ev aletleri.
  • Ev Otomasyonu: Akıllı ev sistemleri, enerji sayaçları ve güvenlik sistemleri.

Abone ol

Aylık blog güncellemeleri, teknoloji haberleri ve vaka analizleri almak için abone listemize katılın. Asla spam göndermeyeceğiz ve istediğiniz zaman aboneliğinizi iptal edebilirsiniz.

Scroll to Top

Anında Fiyat Teklifi

Instant Quote