STM8 Nükleo-64 Panolar

STM8 nükleo panoları nelerdir?

STM8 nükleo panoları, STM8 mikro denetleyicileri için özel olarak STMicroelectronics tarafından tasarlanan bir dizi geliştirme panosuna atıfta bulunur. Bu panolar, STM8 mikrodenetleyici ailesine dayalı uygulamalar oluşturmak ve test etmek için kullanışlı ve esnek bir platform görevi görür. Çeşitli özellikler ve bağlantı seçenekleriyle STM8 Nucleo panoları, geliştiricilere projelerini prototiplemek ve STM8 mikro denetleyicilerinin performansını değerlendirmek için uygun bir ortam sağlar. Bu panolar tipik olarak bir hata ayıklayıcı/programcı, GPIO pinleri, UART, I2C ve SPI arayüzleri ile donatılmış olarak gelir ve geliştiricilerin çeşitli çevre birimleri ve sensörlerle kolayca bağlantı kurmasını ve arayüz oluşturmasını sağlar. STM8 nükleo panoları, kullanım kolaylığı ve STM8 ekosistemiyle uyumlulukları için elektronik endüstrisinde yaygın olarak kullanılmaktadır.

Nucleo-8L152R8 ve Nucleo-8S208RB

Nucleo-8L152R8 ve Nucleo-8S208RB, STM8 mikro denetleyicileri (MCU’lar) entegre eden ve kompakt MCU konfigürasyonları aracılığıyla esnek prototip tasarımları sağlayan ilk Nucleo-64 kartlarıdır. Bu iki model arasındaki önemli fark, flash bellek kapasitelerinde yatmaktadır. İlki, bir STM8L152R8T6 MCU’yu 64 KB flash bellekle entegre ederken, ikincisi 128 KB depolama ile bir STM8S208RBT6 kullanır. Ayrıca, geliştiricilerin tanıdık kalkanlar, ücretsiz eklentiler ve popüler programlama örnekleri kullanmalarına olanak tanıyan Arduino™ UNO V3 konektörüne sahip ilk STM8 geliştirme kartlarıdır. Ayrıca, Cosmic ile işbirliği içinde, STVD-STM8 IDE veya Arduino IDE ile ücretsiz derleyiciler sağlayarak geliştiricilerin bir araç zinciri satın almadan ilk kez C++’daki STM8 MCU’larımız için yazılım geliştirmelerini sağlarız.

STM8 Nucleo 64 Boards Large
(Resim kredisi: CNX yazılımı)

bulduk stm32 nükleo panoları Prototip tasarımı ve geliştirme için özellikle popüler olmak. Ayrıca, tüm Nucleo modelleri Arduino konektörleri sağladığından, artık Nucleo-8L152R8 ve Nucleo-8S208RB ile uyumlu olan geniş bir genişletme kartı yelpazesi sunarlar. Bu, mühendislik ekiplerinin aynı donanımı yeniden kullanabilecekleri, daha da önemlisi, yeni STM8 nükleo panolarındaki uzantıları istiflemeye zaten aşina oldukları için geliştirme süresini azaltabilecekleri anlamına gelir. Bu nedenle, 8 bitlik sistemlerimize işlevsellik eklemek artık daha kolay, giderek daha küçük paketlerde daha karmaşık ve daha akıllı tasarımlar sağlıyor.

STM8 Nükleo Özellikleri

  • MCU türleri ile tahta:

Nucleo-8L152R8 – 64 KB flaş, 2 KB EEPROM ve 4 ile 16 MHz frekansında çalışan STM8L152R8T6 8 bitlik MCU’ya dayalı STMicroelectronics STM8L152R8T6 KB SRAM.

Nucleo-8S208RB – 128 KB flaş, 2 KB EEPROM ve 6 ile 24 MHz frekansta çalışan STM8S208RBT6 8 bitlik MCU’ya dayalı STMicroelectronics STM8S208RB KB SRAM.

4x LED’ler – USB bağlantı göstergesi (LD4), 5V STLINK göstergesi (LD3), kullanıcı LED’i (LD2) ve güç göstergesi (LD1).

2 X düğmeleri – kullanıcı düğmeleri ve bir sıfırlama düğmesi.

Nucleo-8L152R8 geliştirme kartına özel 32.768 kHz harici kristal osilatörü.

USB – Sanal COM portu, çip üzerinde bellek arabirimi ve hata ayıklama arabirimi olarak 1 kanallı MicroUSB arabirimi.

  • Genişletme konektörleri:

Arduino UNO V3 arayüzü.

STM8 için tüm I/O’lar dahil olmak üzere ST Morpho genişletme arayüzü.

Hata Ayıklama – Swim konektörlü ve microUSB bağlantı noktasına sahip yerleşik ST-Link/V2-1 hata ayıklayıcı ve programlayıcı.

Güç – USB VBUS veya harici güç (3.3V, 5V, 7 – 12V) ile çalışır.

Güç yönetimi erişim noktaları.

STM8 Nucleo-64 Geliştirme Kurulu Projesi

Bu proje, bir PC’de çalışan bir terminal penceresinden bir STM8 Nucleo-64 geliştirme kartının nasıl kontrol edileceğini açıklar. Terminal, bir RS232 kablosu kullanılarak STM8S208RBT6’nın (Nucleo-8S208RB) veya STM8L152R8T6’nın (Nucleo-8L152R8 için) UART’ına bağlanır.

Geliştirme panosuna gerekli bileşenleri ekledikten ve uygulama yazılımını indirdikten sonra, kullanıcılar STM8S veya STM8L serisinin GPIO ve Tim3 zamanlayıcılarını yönetebilir ve terminal yazılımını kullanarak sesli uyarı çıkışını yapılandırabilir.

STM8 Nucleo Development Board
STM8 Nucleo Development Board

Gerekli Bileşenler

STM8 Nucleo-64 geliştirme kartı terminali demo uygulamasını çalıştırmak için aşağıdaki bileşenler gereklidir:

  • Bir PC’de çalışan terminal penceresi: Terminal öykünme yazılımı, Windows HyperTerminal, Teraterm Pro veya başka bir terminal yazılımı olabilir.
  • RS232 boş modem kablosu (çapraz iletim ve alma hatları ile).

Nucleo-8S208RB Geliştirme Kurulunun Yapılandırılması

Uygulamayı çalıştırmadan önce, NucleO-8S208RB geliştirme kartı (STM8S208RBT6 cihazına dayalı olarak), sesli uyarı çıkışını etkinleştirecek şekilde yapılandırılmalıdır. Buzzer çıkışı, STM8S208RBT6’nın çoğullanmış bir işlevidir. Bu işlev, OPT2 seçenek baytındaki yeniden eşleme seçeneği biti AFR7’yi “1” olarak ayarlayarak etkinleştirilir.

Not: Nucleo-8L152R8 geliştirme kartı (STM8L152R8T6 cihazına dayalı olarak), kullanıcıların yeniden eşleme işlevini veya sesli uyarısını kontrol etmesini veya etkinleştirmesini gerektirmez.

Uygulama Talimatları

Donanım gereksinimleri

Bu uygulama, STM8 Nucleo-64 kartındaki yerleşik LED’i (LD2) ve bağlı direnci (R1) kullanır. Uygulamanın gerektirdiği harici pasif bileşenler aşağıdaki tabloda listelenmiştir:

ComponentValue
Buzzer B1-
Capacitors C1, C2, C3, C4, C5100 nF
DB9 Connector-

Uygulama ayrıca 5V ile çalışan bir RS232 sürücüsü/alıcı ST232B kullanır (daha fazla ayrıntı için aşağıdaki tabloya bakın). Bu ek bileşen, PCS COM portu standart bir 12V güç kaynağında çalıştığı için önemlidir. Bu, 5V’de çalışan STM8S veya STM8L serisi cihazların UART girişleri/çıkışları ile uyumlu değildir. Cihaz, STM8 Nucleo-64 geliştirme panoları paketiyle eşleşen bir SO16 paketindedir. ST232B hakkında daha fazla bilgi için ST232B veri sayfasına bakın.

ModelComponent DescriptionPackage
ST232BUltra-Fast, Ultra-Low-Power 5V RS232 Driver/Receiver for UART 5/12V Level ConversionSO16

Uygulama şeması

Aşağıdaki diyagram, uygulamanın elektrik şemasını göstermektedir. RS232 kablosu boş bir modem kablosu değilse (iletim ve alma hatları kesişmemişse), U1 pin 14’ü DB9 pin 2’ye ve U1 pin 13’e DB9 pin 3’e bağlayın.

STM8S serisi uygulama şematik diyagramı
STM8L serisi uygulama şematik diyagramı

Uygulama Kuralları

Bu uygulama, STM8S208RBT6 veya STM8L152R8T6 mikro denetleyici ile bir PC’de çalışan terminal penceresi arasında standart iletişim kurar. İletişim, STM8 cihazının UART aracılığıyla RS232 protokolü kullanılarak yapılır. Hem terminal penceresi hem de UART aynı şekilde yapılandırılmalıdır.

Uygulamayı Çalıştırma

Bu uygulamayı çalıştırmak için şu adımları izleyin:

  1. PC’nizde bir terminal penceresi başlatın ve yapılandırın (Bölüm B’ye bakın: Bu durumda Windows HyperTerminal kullanarak Terminal penceresini yapılandırın).
  2. St Visual Develop (STVD) veya başka bir araç zinciri kullanarak uygulama ürün yazılımını derleyin ve çalıştırın.
  3. PC’yi bir RS232 kablosu kullanarak STM8 Nucleo-64 geliştirme kartına bağlayın.
  4. Uygulama başladıktan sonra, Windows HyperTerminal’de bir menü görüntülenecektir. Bu menü, kullanıcıların şunları yapmasını sağlar:
  • LD2 LED’ini açın veya kapatın.
  • LD2’yi yanıp sönme moduna ayarlayın.
  • Buzzer’ı etkinleştirin/devre dışı bırakın ve zil sesi frekansını seçin.

Bu menüde görüntülenen tüm bilgiler STM8S veya STM8L serisi mikrodenetleyici tarafından gönderilir. HyperTerminal’de bir tuşa basıldığında, ilgili ASCII değeri mikrodenetleyiciye gönderilir ve daha sonra kodunu çözer.

STM8 NucleO-64 Geliştirme Kartı ve Terminal Arasındaki İletişim Sırası
  1. STM8S veya STM8L serisi mikro denetleyici, “Seçiminizi girin” dizesini PC Terminal Emulator yazılımına gönderir.
  2. Terminal, “Seçiminizi girin” dizesini görüntüler.
  3. Kullanıcı klavyede “2” tuşuna basar.
  4. Terminal öykünücüsü yazılımı, ilgili ASCII kodunu (0x52) mikro denetleyiciye geri gönderir (bkz. Ek A: Standart ASCII Karakter Kodları).
  5. Mikrodenetleyici, alınan verilerin kodunu çözer ve terminalde görüntülenecek 0x52 kodunu geri gönderir ve “2” değerini bellekte saklar.
  6. Terminal Emulator yazılımı 0x52 kodunu alır ve “2” görüntüler.
  7. Kullanıcı “geri dönüş” tuşuna basar.
  8. Terminal Emulator yazılımı, taşıyıcı dönüşe karşılık gelen 0x0D kodunu geri gönderir (bkz. Ek A: Standart ASCII Karakter Kodları).
  9. STM8S veya STM8L serisi mikrodenetleyici, alınan verilerin kodunu çözer, terminalde görüntülenmek üzere 0x0D kodunu geri gönderir ve Seçenek 2 ile ilişkili işlemi gerçekleştirir.

Windows hiperterminal

STM8S ve STM8L Çevre Birimi

Bu uygulama örneği, genel işlevleri kontrol etmek için STM8S ve STM8L standart ürün yazılımı kitaplıklarını kullanır. Bu uygulamada aşağıdaki çevre birimleri kullanılır:

  • Timer3 (TIM3): Tim3 zamanlayıcı, LD2 yanıp sönme hızını kontrol etmek için kesintiler etkinleştirilmiş bir zaman tabanı olarak yapılandırılır.
  • GPIO’lar: MCU’yu harici donanıma bağlamak için GPIO’lar kullanılır. STM8 serisi için PC5 veya STM8L serisi için PB5, LD2 sürücüsüne itme-çekme çıkışı olarak yapılandırılmıştır.
  • BEEPER: Sesli uyarıyı sürmek için, bip sesi çevre birimi, bip çıkış pinine 1, 2 veya 4 kHz sinyali verir.
  • STM8S serisi için ART3 veya STM8L serisi için USART3: PC’de çalışan terminal penceresi ile iletişim için kullanılır.

ART3 veya USART3’ün aşağıdaki gibi yapılandırılması gerekir:

  • Baud hızı = 960
  • Veri uzunluğu = 8 bit
  • 1 Durak Bit
  • eşitsizlik
  • Almayı ve iletmeyi etkinleştir

(Not: STM8L serisini kullanıyorsanız, USART3 saati devre dışı bırakılmalıdır.)

İletişim, her alma ve iletim işlemi için yoklama ile yönetilir.

(Not: Terminal penceresi ve STM8 aygıtı UART çevre birimi aynı baud hızı, veri uzunluğu, durdurma bitleri ve eşlik ile yapılandırılmalıdır.)

STM8 standart firmware kitaplığı yapılandırması

STM8S serisi standart ürün yazılımı kitaplığı

STM8S serisi standart ürün yazılımı kitaplığının stm8s_conf.h dosyası, kütüphaneyi yapılandırarak uygulamada kullanım için çevresel işlevlerin etkinleştirilmesine izin verir. Aşağıdaki DEFINE ifadelerinin bildirilmesi gerekir:

  • GPIO’yu etkinleştirmek için #define _gpio 1
  • #define _tim3 1 tim3’ü etkinleştirmek için
  • #define _BeePer 1 bipleyiciyi etkinleştirmek için
  • #define _uart3 1 uart3’ü etkinleştirmek için
STM8L serisi standart ürün yazılımı kitaplığı

STM8L serisi standart ürün yazılımı kitaplığının stm8l_conf.h dosyası, kitaplığı yapılandırarak uygulamada kullanım için çevresel işlevlerin etkinleştirilmesine izin verir. Aşağıdakileri içeren ifadelerin beyan edilmesi gerekir:

  • #include “stm8l15x_gpio.h”
  • #include “stm8l15x_tim2.h”
  • #include “stm8l15x_tim3.h”
  • #include “stm8l15x_beep.h”
  • #”stm8l15x_usart.h” dahil

Uygulama yazılımı akış şeması

Bu bölüm, uygulama yazılımının ana döngüsünü ve terminale/terminalden veri alımını/göndermeyi kontrol eden işlevleri açıklar:

  • APP_MENU: Bu işlev, terminalde bir menü görüntülemek ve kullanıcı girişini yönetmek için kullanılır.
  • SerialputString: Bu işlev, terminale dize göndermek için kullanılır.
  • SerialputChar: Bu işlev, terminale tek tek karakterler göndermek için kullanılır.
  • getInputString: Bu işlev, terminalden gönderilen dizeleri almak ve depolamak için kullanılır.
  • getIntegerInput: Bu işlev, terminalden tamsayılar almak için kullanılır.
  • get_key: Bu işlev, bir tuşa basıldığında karşılık gelen onaltılık kodu döndürür.
Uygulamanın ana işlevi

Uygulamanın ana işlevi, STM8S veya STM8L serisi çevre birimlerini yapılandırır ve uygulama tarafından kullanılan tüm çevre birimleri için standart kesintileri etkinleştirir. Başlatıldıktan sonra, ana program Terminal penceresinde Uygulama menüsünü görüntüler.

Main function flow chart of STM8S series or STM8L series peripherals on Windows HyperTerminal software
Main function flow chart of STM8S series or STM8L series peripherals on Windows HyperTerminal software
app_menu işlevi

app_menu işlevi, uygulamanın çekirdeğidir. Terminalde GPIO, TIM3 ve zil sesinin yapılandırılmasına izin veren bir menü görüntüler. app_menu, RS232 arabirimi aracılığıyla veri göndermek ve almak için getInputString, getIntegerInput ve SerialPutString’i çağırır.

App_menu function flow chart
App_menu function flow chart
GetInputString işlevi

GetInputString işlevi, terminal penceresinden gönderilen dizeleri almak ve depolamak için kullanılır. Bu işlev, her bir karakteri elde etmek ve kodunu çözmek için get_key işlevine dayanır (ayrıntılar için Ek’e bakın). Karakterin ASCII değerine göre farklı işlemler yapılır:

ASCII kodu = \b (backspace): Terminal bir geri alan gönderdi. Dize boş değilse, son karakteri dizeden siler.

ASCII kodu {0…9} veya {a…z} içindeyse: karakter dizede saklanır.

ASCII Code = \r (Sacar Return): GetInputString işlevi, dizenin sonunda bir “String End” değeri \0 depolar. BuffP’de saklanan maksimum ASCII kodu sayısı[bytes_read]tampona ulaşılır. Yazılım, kaydedilen dizeyi siler ve terminalden başka bir giriş bekler.

get_key işlevi

GET_KEY işlevi, UART RXNE bayrağını yoklayarak terminaldeki klavye girişini algılamak için kullanılır. Alınan değeri döndürür.

Get_key function flow chart
Get_key function flow chart
SerialPutString ve SerialPutchar Fonksiyonları

SerialPutString, UART aracılığıyla terminale dize göndermek için kullanılır. Dize karakterleri, akış şemasında açıklandığı gibi SerialPutchar işlevi kullanılarak tek tek gönderilir.

SerialPutString İşlev Akış Şeması
SeriputChar İşlev Akış Şeması
getIntegerInput işlevi

GetIntegerInput işlevi, gelen verilerin bir tamsayıya karşılık gelip gelmediğini kontrol eder. Varsa, veriler bellekte saklanır; Aksi takdirde, kullanıcıdan yeni veriler girmesi istenir.

GetIntegerInput function flow chart
GetIntegerInput function flow chart

Paylaş:

Scroll to Top

Instant Quote