Debouncing, dijital elektronikte kullanılan bir tekniktir, sadece tek bir sinyalin bir geçiş veya düğme basıldığında kaydedilmesini sağlamak için kullanılır. Mekanik anahtarlar genellikle iletişimin nedeni ile birden fazla sinyal üretir, bu da dijital sistemlerde hataya neden olabilir. Implementing debouncing, giriş okumalarının güvenilirliğini artırmaya yardımcı olur.

Anahtarlama Bounce

Mekanik bir geçiş bastırılır veya serbest bırakılırsa, temaslar devlet temiz bir şekilde değişmez. yerine, yerleşmeden önce birkaç kez hızlıca temasa geçilir ve temasa geçilirler. Bu fenomen, birkaç mikrosaniyeden milisaniyeye kadar sürebilir, birden fazla istenmeyen sinyallere yol açabilirler.

Pratik Debouncing Teknikleri

Donanım ve yazılım yaklaşımları da dahil olmak üzere dijital girdileri kınamak için çeşitli yöntemler kullanılır. Donanım ve yazılım yaklaşımları dahil olmak üzere, genellikle RC filtreleri veya Schmitt tetikleyicilerini içerir, ancak yazılım debouncing hızlı devlet değişikliklerini görmezden gelmek için zaman algoritmalarını kullanır.

Yazılım Debouncing

Yazılım debouncing genellikle girişleri normal aralıklarla örneklemektedir ve devlet değişikliğini ancak belirtilen bir süre boyunca istikrarlı kalırsa onaylar. Bu yöntem mikrokontrollü kodda uygulamak için esnek ve kolaydır.

Örneğin, bir düğme girişi her 10 milisaniye okunursa, sistem girişin değişimini kaydettikten önce en az 50 milisaniyede kaldığını doğrulayabilir. Bu, çürük olası hataları azaltır.

Tartışma Zamanı

Debounce zamanı, anahtar özelliklerine ve sistem gereksinimlerine bağlıdır. Ortak bir yaklaşım 5 ila 20 milisan arasında bir debounce aralığı seçmektir. hesaplama maksimum geri dönüş süresini ölçmeyi ve bir güvenlik marjını eklemeyi içerir.

Örneğin, geçiş 10 milisaniye kadar kaybolursa, 20 milisaniyenin bir debounce zamanı önemli gecikme olmadan güvenilir tespit sağlar.

  • Maksimum sıçrama süresi belirleme süresi
  • Bir debounce aralığı biraz daha uzun süre indirmek zaman
  • Kodlama süresiz örnekleme
  • Giriş yapmadan önce istikrarlı durumu onaylayın