Bu yazı, mikrodenetleyicilerdeki kesinti kavramını kapsamakta, işlevlerini, türlerini ve ilgili mekanizmalarını açıklamaktadır. Bu makalede size kesme vektörlerini, kesme ortamını ve kesmeye dayalı sistemlerin temel unsurları olan Kesinti Hizmet Rutinini (ISR) öğreteceğiz.
Mikrodenetleyicilerde Kesinti Nedir?
Mikrodenetleyicilerdeki bir kesinti, CPU’nun mevcut yürütmesini duraklatmasına ve acil bir göreve yanıt vermesine olanak tanıyan bir mekanizmadır. Kesintiler, zamanlayıcının taşması veya düğmeye basılması gibi harici veya dahili olaylarla tetiklenir. Bir kesinti meydana geldiğinde, mikro denetleyici devam eden görevini durdurur, önceden tanımlanmış bir Kesinti Hizmet Rutinini (ISR) yürütür ve ardından orijinal görevine devam eder.
Kesinti Nedir ve Ne İşe Yarar?
Kesintiler, gömülü sistemlerde gerçek zamanlı performans için çok önemlidir. CPU’nun sürekli olarak durum değişikliklerini yoklamasına gerek kalmadan sistemin kritik olaylara anında yanıt vermesini sağlarlar. Kesintiler şunlardan biri olabilir:
- Harici Kesintiler: Sensörler veya düğmeler gibi donanım aygıtları tarafından tetiklenir.
- Dahili Kesintiler: Zamanlayıcılar veya iletişim arayüzleri (örn. UART) gibi dahili modüller tarafından oluşturulur.
Örneğin sensör tabanlı bir sistemde, belirli bir olay meydana geldiğinde sensörden gelen verileri anında işlemek için harici bir kesme kullanılabilir.
Kesme Vektörü Nedir?
Bir kesme vektörü, belirli bir kesmeyle ilişkili Kesme Hizmeti Rutininin (ISR) adresini tutan bir bellek konumudur. Bir kesinti meydana geldiğinde, mikro denetleyici ilgili ISR’yi yürütmek için kesme vektöründe saklanan adrese atlar. Her kesme kaynağının benzersiz bir vektörü vardır ve bu, mikro denetleyicinin birden fazla kesmeyi verimli bir şekilde işlemesine olanak tanır.
Kesinti Ortamı Nedir?
Bir kesme ortamı, birden fazla kesmeyi yönetmek için kullanılan öncelik sistemini ifade eder. Birçok sistemde kesintilere farklı öncelik seviyeleri atanır. Aynı anda birden fazla kesinti tetiklendiğinde, mikro denetleyici hangi kesmeye ilk önce servis verilmesi gerektiğini belirlemek için kesme ortamını kullanır. Yüksek öncelikli kesintiler hemen ele alınırken, düşük öncelikli kesintiler yüksek öncelikli görev tamamlanana kadar ertelenebilir.
Kesinti Hizmeti Rutini Nedir?
Kesinti Hizmeti Rutini (ISR), bir kesinti meydana geldiğinde yürütülen özel bir işlevdir. Kesintiyi tetikleyen belirli olayı işlemek için gereken kodu içerir. ISR, kontrolü ana programa devretmeden önce sensör verilerini okumak veya zamanlayıcıyı sıfırlamak gibi hızlı görevleri gerçekleştirir. ISR’nin verimliliği kritik öneme sahiptir çünkü ana programın yürütülmesinin gecikmesini önlemek için görevini hızlı bir şekilde tamamlaması gerekir.
Bu açıklamanın mikrodenetleyicilerdeki kesintilerin rolünü daha iyi anlamanıza yardımcı olacağını umuyoruz. Kesintiler, gerçek zamanlı sistemlerde hayati bir rol oynar ve genel yürütme akışını korurken acil görevlerin derhal ele alınmasını sağlar.