KULLANDIĞIM MİKRODENETLEYİCİLER

MİKRO DENETLEYİCİ SEÇİMİM

Bu bölümde projelerimde kullandığım mikro denetleyiciler hakkında bilgi vereceğim. Özellikle yaygın olarak kullandığım 48 ve 64 pinli STM32F103 denetleyicisinin pin fonksiyonlarını dokümantasyonlarından aldığım bilgiler ile özetleyeceğim.

Bunu ikide bir yüzlerce sayfalık data sheet karıştırmaktan sıkıldığımdan, sıklıkla başvurulması gereken bilgileri kolay erişilebilecek bir yerde bulundurmak için yapıyorum. Blogumdan yararlanmak isteyenler için de kullanışlı olabilir.

Bu yayın sadece çok temel bilgileri içeriyor, binlerce sayfalık dokümanın yerini tutması mümkün değil. Detaylar için gene de data sheetlere başvurmaktan kaçınamıyoruz.

Bu arada bir not ve özür: Ben öteden beri bu yongaları mikro işlemci olarak anarken bir zaman sonra "mikro işlemci" ve "mikro denetleyici" terimlerinin artık farklı amaçlarla kullanıldığını öğrendim, ama bu zamana kadar yazdığım yüzlerce sayfa metinde "mikro işlemci" adını kullandığımdan hepsini düzeltmeye girişemedim. Okuyucularım kusura bakmasınlar, benim mikro işlemci dediğim her şey aslında güncel anlamıyla bir mikro denetleyicidir.

Neredeyse 50 yıllık bilgisayar kullanıcısı olarak, günümüzün tek yongalık işlemcilerini kullanmak için gereken dokümantasyon ile ilk yıllarımın odalar dolduran bilgisayarlarının kullanıcı dokümantasyonu arasında fark olmadığını söyleyebilirim. (İlk haşır neşir olduğum makinanın IBM in o günlerde devrim yaratmış modeli, tranzistorlu 1620 modeli olduğunu belirteyim.)

GEÇMİŞTE KULLANDIĞIM MİKRO DENETLEYİCİLER

Mikro denetleyicileri 1970 lerin başlarında elime ilk alışım benim mühendislik hayatımdaki kilometre taşlarından birisidir. Bunu bir başka yayında anlatmıştım, ona erişmek için burayı tıklayınız.

Başlangıç dönemlerinde -yani 40 yıl önce- kullandığım INTEL’in 8080 ve 8086, Zilog’un Z80 mikro denetleyicileri o dönemin lider ürünleri idi ve ilk göz ağrılarım olarak gönlümdeki yerlerini muhafaza ediyorlar.

Zamanla mikro denetleyici seçenekleri çığ gibi büyüdü. Hem üreticileri açısından hem de kapasite açısından izlenmesi güç bir tempo ortaya çıktı. Öyle ki, kalabalık bir mühendis ekibi çalıştırmadıkça her yeni mikro denetleyiciyi incelemeye dahi imkan yok, kaldı ki ben tek başıma her birinin örneklerini ele alıp deneyeyim.

Eğer bu alanda amatörce bir şeyler yapmak istiyorsam bir mikro denetleyici ailesinden bir iki tip seçip onlara odaklanmam gerektiğini anladım. Zira tek bir mikro denetleyicinin her biri  yüzlerce sayfadan oluşan onlarca dokümanını inceleyip, hakkıyla öğrenip kullanmak bile ciddi bir emek ve zaman gerektiriyor.

Seçime nereden başlayacağımı da karşıma çıkan tesadüfler belirledi. Piyasada ATMEL, MIKROCHIP, TEXAS, PHILIPS ve MOTOROLA ürünlerinin yaygın olduğu bir dönemde SIEMENS’in Kartal Elektronik Fabrikasındaki görevim karşıma ATMEL in C51 yapısındaki 89S53 mikro denetleyicisini çıkardı.

ATMEL C51 Yapısında mikro işlemciler

Bu fabrikada arkadaşım Cüneyt BİLGE ATMEL 89S53 kullanarak GSM tabanlı ürünler geliştirmekteydi, ben de kendime bir fırsat yaratarak o çalışmalara bir ucundan katıldım. Yönetici de olsam mühendislik kanıma işlemiş, uzak durmam mümkün değil.

Böylece fabrikanın teknik ve iş geliştirme yöneticiliği görevini yürütürken bir yandan da 8 bit mikro denetleyici ile birkaç ürün tasarımı yaptım. Bu denetleyicinin kapasite ve yeteneklerini son bitine kadar kullandığımı iddia edebilirim.

BUGÜNKÜ MİKRO DENETLEYİCİLERİM

Bugün ise artık 32 bit ARM işlemciler kullanıyorum. Seçimim ise STM32F103. Bu mikro işlemci STM32 ailesinin en küçük ferdi, en ucuz olanı. Bir dezavantajı var. Genelde ST Firmasının ve geliştirmecilerin internette bulunabilecek uygulama örnekleri bu ailenin daha üst sınıflardaki tiplerine ait oluyor. Buna rağmen ben bu tipi bütçeme uygun ve uygulamalarım için yeterli budum. Bu mikroişlemci ile geliştirilen bir uygulama rahatlıkla diğerlerine uygulanabiliyor, halbuki tersi her zaman geçerli değil.

Bunun yaygın alternatifleri ise ATMEL ve MIKROCHIP. Ben bunlara elimi sürmedim. Bu seçimin özel bir nedeni yok, sadece ilk elime geçen geliştirme kitinin STM32 tabanlı olmasından kaynaklanıyor.

Mikroişlemciler ile geliştirme yaparken, prototip çalışmalarında entegre devreyi plastik kılıfı ile ele alıp çalışmaya başlamak mümkün değil. Bu nedenle minik plaketlere temel destek elemanları ile -kristal, besleme devreleri, reset butonu vb.- monte edilmiş olarak alıp kullanmak en uygun yaklaşım oluyor. Böylece hiç olmazsa prototip için lehimleme işlemlerini pas geçebiliyoruz. Bu modüller birkaç dolara internetten tedarik edilebiliyor.

Gerek hazır aldığım gerekse kendi tasarımım olan geliştirme kitlerini aşağıdaki yayınlarımda anlattım:

KENDİ TASARIMIM OLAN GELİŞTİRME KİTLERİ

HAZIR OLARAK SATIN ALDIĞIM GELİŞTİRME KİTLERİ

Epeyce çeşitli olan bu kitlerle ilgili bilgilere erişmek için burayı tıklayınız.

STM32F103 LQFP48 ve LQFP64 PİN BİLGİLERİ

Ağustos 2020 notu : Her ne kadar artık ST nin cubeMX aracı sayesinde data sheet bilgilerine erişim çok kolaylaşmış da olsa, zamanında emek harcayıp hazırlamış olduğum bu bölümü kaldırmaya gönlüm elvermedi.

STM32F103 LQFP48 PIN DİYAGRAMI

STM32 LQFP48 Pin diyagramı

STM32F103 LQFP64 PIN DİYAGRAMI

STM32F103 LQFP Pin diyagramı

STM32F103 LQFP48 ve LQFP64 PIN FONKSİYONLARI

Not : FT = Five Volt Tolerant
Not : FT = Five Volt tolerant
FT = Five volt tolerant
FT = Five volt tolerant

Bu yayının sonu – Selçuk Özbayraktar İlk yayın 2018 – güncelleme Ağustos 2020