İstenmeyene Göğüs Gerenler : Filtreler – 1

  • 12 ay önce, Baran EKREM yazdı.
  • 0 Yorum
  • 1.261 Kişi Okudu


Elektronik gibi ucu bucağı olmayan devasa bir alanda matematiğin önemi bir hayli büyük. Şunu söyleyebilirim ki matematiğin önemi elektroniğin kendisinden daha öte. Özellikle bir takım donanımları iyi bir şekilde analiz edebilmek için çok ciddi matematik bilgisine ihtiyaç duyuyoruz. Bu yazı dizisinde filtreleri ve onların matematiksel modellerini inceleyeceğiz. Bunun sebebi daha sonra yapmayı planladığım sinyal işleme, filtreleme gibi çalışmalar için iyi birer matematiksel altyapı oluşturabilmek. Mühendislik yolunda kat edeceğimiz çok fazla zorluk var. Ömür boyu bu karşılaşacağımız sorunlara akıllıca birer çözüm üretebilmek adına bu temelleri çok iyi inşa etmeli ve bir takım yapıları analiz etmeliyiz. O halde ilk olarak öncelikle alçak geçiren pasif filtreyi analiz ederek başlayalım. (Devamını Oku)

IAR ile STM8S – SPI

  • 1 sene önce, Baran EKREM yazdı.
  • 2 Yorum
  • 913 Kişi Okudu

Özellikle sensör ve çeşitli modülleri kullanmaya çalıştığınızda görmekten kusacağınız 2 haberleşmeden biri olan SPI, ufak tefek detaylarıyla başımızı çok ağrıttığını söyleyebilirim. Merak etmeyin ağrı kesiciniz bu yazıda. Yüksek hızları, çoklu cihaz haberleşebilme özelliği ile çok yaygın hale gelip her denetleyicinin içinde yer alan bu protokol, ufak ama önemli detaylar ile dolu. Fazla dikkate alınmayan 4 farklı modu yüzünden çalışmayan haberleşmenin kullanıcılara çok fazla zaman kaybettirdiğini söyleyebilirim. Genellikle PCB üstü kurulan bu haberleşme ile sensör ve çeşitle modülleri rahatlıkla kullanabiliriz. Birazdan SPI’ın aslında bir Shift Register olduğunu göreceksiniz. Hazırsanız başlayalım. (Devamını Oku)

IAR ile STM8S – UART

  • 1 sene önce, Baran EKREM yazdı.
  • 2 Yorum
  • 815 Kişi Okudu

UART/USART asla elimizin altından düşürmediğimiz bir protokol. Gerek özel haberleşmelerimiz gerek sensör okuma olsun bir çok yerde kullanılmasıyla birlikte uzun zamandır RS-232 olarak da çevremizde görüyoruz. Burada RS232 sadece daha farklı gerilim sevilerinde olmasının yanı sıra büyük port olması ve artık bilgisayarlarımızda bulunmaması nedeniyle sanal Com Port’lar bu eski dinazorların yerini çoktan aldı. FT232, CPxxx serisi gibi USB/Seri Çeviriciler hem az yer kaplaması hem USB den çalışması hemde düşük gerilim seviyeleri ile deneleyicilere uygun seviyede çıkış vermesinden ötürü bir hayli yaygınlaştı. Lafı daha fazla uzatmadan STM8S serisinde bu işleri nasıl yaptığımızı inceleyelim. (Devamını Oku)

IAR ile STM8S – PWM

  • 1 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 806 Kişi Okudu

Bir önceki yazıda Timer konusunu tamamladığımıza göre bu bölümde PWM’e geçebiliriz. Burada Timer’dan çok farklı bir şey olmayacak sadece Timer’ları ilgili çıkışlara yönlendireceğiz. STM8S de bulunan bir güzel özellik Timer’ın çıkışı almaktan ziyade bu çıkışlarını “Complement”‘ini almak da mümkündür. Bahsettiğim bu yapıyı genellikle 32-Bit MCU’larda görüyordum. 8 bit bir MCU’da bu özelliği görmez oldukça güzel. Bu sayede Half Bridge – Full Bridge uygulamalarını rahatlıkla gerçekleştirebileceğiz. Kafanızdaki soruya hemen cevap vereyim. Evet “Dead Time” özelliği bile var.  (Devamını Oku)

IAR ile STM8S – TIMER

  • 1 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 571 Kişi Okudu

Bu yazıda Timer’lara giriş yaparak artık zamanlama sorunlarının üstesinden rahatça gelebileceğiz. Daha önce STM32F0 Derslerinde sayaçları incelemiştik. Kısaca özetleyecek olursak. Belirlenen değere kadar saydıkların da bize bir kesme üretirler böylece ana programdan bağımsız olarak periyodik bir kesme sinyalimiz olur. Bu MCU’lar da  zaman yönetimi konusunu çözerek bize bir hayli fayda sağlar. Bunun dışında PWM çıkışları, Capture girişleri, Encoder girişleri gibi bir takım ekstra özellikleri de vardır. Bunlar daha sonraki yazılarda değineceğiz. Şimdi STM8S’in içindeki sayaç bloğunu inceleyerek işe başlayalım. (Devamını Oku)

IAR ile STM8S – Beeper ve Timer

  • 3 sene önce, Baran EKREM yazdı.
  • 4 Yorum
  • 1.462 Kişi Okudu

STM8S serisine kaldığımız yerden devam edecek olursak öncelikle hoşuma giden bir özelliği inceleyeceğiz. Sanırım sesi geldi bile BEEEP ! 🙂 Beeper modülü işlemci içerisinde bulunan bir buzzer kontrolcüsü gibi düşünülebilir. 3 farklı frekans da sinyal üreterek farklı ses ihtiyaçlarınızı oldukça hızlı bir şekilde karşılar. Normalde bu işi yapmak için bir tane Timer harcamak küçük işlemcilerde biraz fazla olabilir. Beeper 1, 2 ve 4kHz’lik çıkış sinyalleri mevcuttur. Kullanımı oldukça basit olan bu modül sadece kalibrasyon fonksiyonunu ihtiyaç duyar. Kalibrasyon işlemini bir kere yaptıktan sonra frekans’ı seçip modülü çalıştırabilirsiniz. Beeper kalibrasyon için bir tane Timer’a ihtiyaç duyar. (Devamını Oku)

IAR ile STM8S – Clock, CCO ve GPIO

  • 3 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 1.434 Kişi Okudu

Bir önceki yazıda proje oluşturmayı ve basit bir led örneğini tamamlamıştık. Bu yazıda Clock ayarlarının nasıl yapıldığını ve temel GPIO komutlarının nasıl kullanıldığını göreceğiz. Öncelikle şunu belirtmek gerekirse ST yayınladığını standart kütüphanesi ile işleri bir hayli rahatlatıp basite indirgemiş. Kullandığınız kütüphane fonksiyonları tamamen elinizin altında. Yapacağı işin dışınca herhangi bir şeye müdahale etmiyor. Bu sayede register’leri kontrollü bir şekilde takip ediyor ve olağan dışı durumlar ile karşılaşmıyorsunuz. CCS C kullananlar bu durumlardan bir kaçını tecrübe etmiştir. İlk olarak yapılması gereken işlem her zaman olduğu gibi Clock ayarlarıdır. (Devamını Oku)

IAR ile STM8S – Giriş

  • 3 sene önce, Baran EKREM yazdı.
  • 10 Yorum
  • 2.929 Kişi Okudu

Bundan yaklaşık bir kaç ay önce STM8 programlamaya başlamak istiyordum fakat ST Visual Develop beni bu işten bir hayli soğuttu. Anlam verilemeyen derleme hataları ve eski IDE yapısı ile çok kullanışsız olduğunun farkına vardım. Kenarda duran STM8S leri denemek için IAR’I denemek istediğimde IDE rahatlığı, kod tamamlama, düzgün ve hızlı derleme, Debug yapma gibi özelliklerinin oldukça verimli olduğunu gördüm. Özelikle küçük projelerde kullanılan 8 Bit işlemciler fiyat konusunda kıyasıya yarışıyor. ST’nin STM32F1xx 32 bit olmasına rağmen çok ciddi fiyatlara satılıyor. Bu yüzden 8 bit kullanmak yerine daha ucuz olsun derseniz STM32 bile kullanabilirsiniz. (Devamını Oku)

Cyclic Redundancy Check (CRC Control)

  • 3 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 665 Kişi Okudu

Haberleşmede toplu veri transferinin vazgeçilmezi olan CRC oldukça faydalı ve onay görmüş bir hata tespit etme yöntemidir. Modbus CanBus ve bir çok haberleşme paketlerinde kullanılan bu yapı veride bozulma varsa bunu tespit etmemize yarıyor. Genellikle 8, 16, 32 bit olarak hesaplanan türlerinden ziyade 15 bitlik halde hesaplanan durumlarda mevcut. Bende CRC ye tasarlayacağım haberleşme paketinde ihtiyaç duydum. Büyük verilerin transferinde CRC şiddetle öneriliyormuş. (Devamını Oku)

C – Dynamic Memory Allocation

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 706 Kişi Okudu

Bu yazıda Dynamic Memory Allocation yani “Dinamik bellek tahsisi” konusundan bahsedeceğim. “Dinamik bellek yönetimi, Dinamik dizi tanımlama” gibi tanımlamalarda bu konunun içinde olacak. Konunun amacı bellekte bizim belirlediğimiz boyutta programımıza özel bir hafıza alanı ayırıp kullanmak ve gerekirse bu alanı genişletebilmek daha sonra işimiz bittiğinde alanı temizleyip serbest bırakmak. (Devamını Oku)