STM32F103 Geliştirme Kartına İlk Bakış

 Sitemizde daha önce photon geliştirme kartının incelemesini yapmış ve bu incelemede ilgili fiyat aralığında alınabilecek daha güzel geliştirme ortamları olduğundan bahsetmiştim. Bu yazımda ise, daha ucuz fakat performans düzeyi oldukça iyi olan yeni bir geliştirme kartı ve mikrokontrolcü ailesinden bahsedeceğim. Gücünü 32 bitlik ARM Cortex M3 mimarisinden alan STM32F103 kontrolcüsü.

Gömülü sistemler dünyasına herhangi bir sebeple yolu düşen herkesin duyması muhtemel ilk 3 kontrolcüden biridir ARM. Tüm dünyaya yayılan ARDUINO (avr), ülkemizde oldukça popüler olan PIC ve birçok kişinin uzaktan bakıp imrendiği ARM. ARM aslında bir kontrolcüden ziyade bir işlemci mimarisidir. O kadar geniş bir kullanım alanı vardır ki; cep telefonlarımızdan tabletlerimize, internet cihazlarımızdan araçlarımıza kadar gömülü sistemlerin girdiği her alanda kendine sağlam bir yer edinmiştir. Her PIC ile uğraşan bireyin bir gün bende ARM mimarili kontrolcülere geçmeliyim dediğini duyarsınız. Tabi AVR ve PIC markalarının da 32 bitlik güzel kontrolcüleri, DSP işlemcileri mevcuttur. Hatta AVR bazı entegrelerinde ARM mimarisini kullanmaktadır.

STM ise, bu sektörde bende varım diyen ve bu söylemi boşa çıkarmayan bir üreticidir. STM32 serisi entegreler, son zamanlarda -yazılım ortamının ve program yapısının hobicilere göre biraz karmaşık olmasına karşın- açık kaynak kod dünyasında çok tercih edilir olmuştur. Geliştirme kartımızda bulunması sebebiyle STM32F103C8 kontrolcüsünü özel olarak ele alacak olursak CPU özelliklerini şöyle sıralayabiliriz:

  • 32 bit ARM korteks M3 işlemci mimarisi,
  • 72 MHz saat hızı,
  • 64 Kbyte flash,
  • 20 Kbyte SRAM,
  • 2V ile 3.6V arası gerilimlerde çalışabilme özelliği.

Dahili dış çevre birimleri ya da içerdiği donanımlar ise:

  • Dahili RTC (gerçek zamanlı saat donanımı),
  • Tek çevrimde çarpma ve bölme yapabilme,
  • 10 kanal ’12’ bit analog/dijital çevirme,
  • Dahili sıcaklık sensörü,
  • 7 kanal DMA (direk erişimli bellek) modülü,
  • 2 IIC,
  • 2 SPI,
  • 3 USART,
  • 1 USB 2.0,
  • 1 CAN,
  • 1 gelişmiş kontrol zamanlayıcısı,
  • 37 giriş / çıkış bacağı.

Tüm bu özellikleri ise LQFP48 yapısıyla 7mm x 7mm lik yüzey montajlı (SMD) entegresine sığdırmıştır. İçerdiği bu özellikler ise fiyat olarak gözümüzü korkutmasın. Kontrolcüyü herhangi bir geliştirme kartı olmaksızın tekil alımlarda 10 TL altına bulmak mümkündür. Geliştirme kartı olarak ise fiyatı sadece 20 TL civarındadır ve çok fazla alternatifi mevcuttur.

Yukarıda saydığım özellikleri ve fiyatı duyunca hangimizin iştahı artmadı ki? Fakat dezavantajı, bahsettiğim gibi programlamasının PIC ya da AVR kadar kolay olmadığıydı. Bunu gören girişimciler ise, işe koyulup STM32F103 için bir bootloader yazıp ardından Arduino IDE si için gerekli kütüphaneleri oluşturarak aynı Arduino kodlar gibi STM32F103 ü kodlamayı başarmışlardır. Orjinal Arduino dan daha iyi fiyata ve daha fazla özelliğe sahip böyle bir girişimi kim reddedebilir ki?

Aslında ben reddedenlerdenim. Sebebim ise ARM programlamayı öğrenmek ve bunu orjinal haliyle yapmak. İlerleyen yazılarda MikroC for ARM ile STM32F programlamaya dair bilgiler paylaşacağım.

Şimdi gelelim geliştirme kartımızın özelliklerine… Yazıdaki görseli incelerseniz kartın 2 adet USB bağlantısına sahip olduğunu görürsünüz. En sağdaki kartta bulunan entegreyi programlamak için kullanılırken solda bulunan ise entegrenin desteklediği USB 2.0 bağlantısını gerçekleştirip USB uygulamaları gerçekleştirme amaçlı. Bu arada bu kartta olmasına karşılık birçok alternatifinde dahili usb – seri programlayıcı bulunmamaktadır. Bu tarz kartları programlamak için FTDI ve muadilleri olan USB – SERİ dönüştürücülere ihtiyaç duyulmaktadır. Kartın özelliklerine geri dönersek, üzerinde programlama ve hata ayıklama için kullanılan JTAG portu görülmektedir. Dahili RTC modülü için 32.768 KHz kristal, açma/kapama butonu, reset düğmesi, bir takım ayar jumperları ve 2 adet kullanıcı ledi görülmektedir. Bu ledler LOW – ACTIVE yani 0V ta yanacak şekilde tasarlanmışlardır. (PA8 ile PB15 pinlerine bağlıdırlar.) Cihazda 3.3V gerilim düzenleyici bulunmaktadır. STM32F103 kontrolcüsünün tüm giriş / çıkış birimleri pinlerle çıkartılmıştır. Bunlar PA0 – PA15, PB0 – PB15 ve C13-C14-C15 numaralı pin ve portlardır. Kartta toplam 35 pin giriş / çıkış birimi olarak kullanılmaktadır.

Kartımıza nasıl program yükleyebileceğimizi bir sonraki yazımızda bulabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir