3 Ağustos 2020 Pazartesi

Pic programlama Bekçi Zamanlayıcısı Sıfırlama (WDT)

Bekçi Zamanlayıcısı Sıfırlama (WDT)
WDT, bir PIC  tutacağı için Master Clear Harici Sıfırlamaya benzerEtkinleştirildiğinde MCU sıfırlanır ve Program Sayacını tekrar program yazılımının başına (org 0) yerleştirin
WDT, zaman aşımı süresi aşıldığında etkinleştirilir. Ana sistem saatinden bağımsız, serbest çalışan bir zamanlayıcıdır. Cihazdaki kodun çalışması, yazılımın beklenen yoldan sapmasına neden olan harici bir kaynaktan etkileniyorsa, WDT, sıfırlamanın tasarımda nasıl kullanıldığına bağlı olarak cihazı otomatik olarak sıfırlayabilir. Yazılım tasarımcısı, WDT sayacını temizlemek ve bir WDT sıfırlamasının oluşmasını önlemek için talimatlar verebilir. Harici bir parazitin doğru çalışmayı etkilemesi gibi, bu talimatlar yürütülmediğinde, WDT cihazı devreye alacak ve sıfırlayacaktır.
WDT, bir yapılandırma ayarında veya hatta yazılım kontrolü altında etkinleştirilebilir veya devre dışı bırakılabilir.
Özellikler:
  • Bağımsız Saat Kaynağı
  • Çoklu Çalışma Modları
    • WDT Her Zaman Açık
    • Uykuda WDT Kapalı
    • Yazılımla Kontrol Edilen WDT
    • WDT Her Zaman Kapalı
  • 1 milisaniyeden 256 saniyeye kadar yapılandırılabilir zaman aşımı süresi
  • Çoklu Sıfırlama Koşulları
  • Uyku Sırasında Operasyon

WDT Ön Ölçekleyici

WDT aslında her saat darbesinde artırılan bir sayaçtır. Ön ölçekleyici, sıfırlamaya neden olacak saat darbelerinin sayısını belirleyen bir değere ayarlanabilir. WDT temizlendiğinde, ön ölçekleyicideki sayaç sıfıra sıfırlanır ve zaman sayımı baştan başlar.

WDT Gösterge Uçları

RWDT = 0 ve TO = 0 Bir Watchdog zaman aşımı Sıfırlama normal çalışma sırasında meydana geldiği Durum defterine bitleri temizlenir.

WDT Çalışma Modları

WDT'nin dört çalışma modu vardır:
  • WDT Her Zaman Açık
  • Uykuda WDT Kapalı
  • Yazılımla Kontrol Edilen WDT
  • WDT Kapalı
Yapılandırma kaydındaki iki bit, WDT modunu kontrol eder. Bu bitler aşağıda gösterilen WDTE bitleridir.

WDT Her Zaman Açık

WDT bu mod seçildiğinde, uyku sırasında bile her zaman çalışır.

Uykuda WDT Kapalı

WDT, bu mod seçildiğinde cihazın uyku moduna geçmesi dışında açıktır.

Yazılımla Kontrol Edilen WDT

Bu mod seçildiğinde WDT yazılımda etkinleştirilebilir veya devre dışı bırakılabilir. WDTCON kaydının SWDTEN biti, WDT'yi etkinleştirmek veya devre dışı bırakmak için ayarlanabilir veya silinebilir.

WDT Kapalı

WDT devre dışıdır ve cihazı sıfırlayamaz.


Zaman Aşımı Süresi

WDT zaman tabanını 31khz Düşük Frekanslı Dahili Osilatörden (LFINTOSC) alır. Bu osilatör sistem saatinden bağımsız olarak çalışır (sistem osilatörü olarak LFINTOSC seçilmediği sürece).
WDT zaman aşımı, Watchdog Zamanlayıcı Kontrol Kaydındaki (WDTCON) Watchdog Zamanlayıcı Periyodu Bitleri (WDTPS) ile ayarlanabilir. Beş bit, 1 Milisaniye ila 256 saniye arasında değişen zamanlayıcı süresini seçer.
Kayıt ve WDPTS bitleri aşağıda gösterilmiştir.

WDT'yi temizleme

Diğer sıfırlama seçeneklerinin aksine, WDT'nin yazılım kontrolü yoluyla oluşması önlenebilir. Bu, bekçi sayacını zaman aşımı işaretine ulaşmadan temizleyerek oluşur. WDT sayacı başka yollarla da otomatik olarak sıfırlanabilir.
WDT sayacının sıfırlanma yollarının listesi aşağıdadır:
  • WDT dışında herhangi bir Sıfırlama işlemi WDT sayacını temizler
  • Clrwdt WDT sayacı temizleyecektir montaj talimatı
  • Cihaz uyku moduna girdiğinde WDT sayacı temizlenir
  • Cihaz uyku modundan çıktığında WDT sayacı silinir
  • WDT devre dışı bırakıldığında, WDT sayacı temizlenir
  • Osilatör Başlatma Zamanlayıcısı çalışırken WDT sayacı temizlenir
Clrwdt komutu hariç tüm bu koşullar WDT sayacını otomatik olarak temizler.

Uyku Sırasında Operasyon

Cihaz uyku moduna girdiğinde WDT sayacı temizlenir. WDT uyku sırasında çalışma için etkinleştirildiyse, WDT sayacı her saat darbesinde artmaya devam eder.
Cihaz uyku modundan çıktığında, WDT sayacı tekrar sıfırlanır ve etkinleştirilirse saymaya devam eder.
WDT uyku modunda zaman aşımına uğradığında, sıfırlama program sayacını sıfırlamaz, bunun yerine cihazı uyku modundan çıkarır. Çalıştırma, cihazı orijinal olarak uyku moduna geçiren uyku talimatından sonra verilen talimatta devam edecektir.
POR = 0 ve TO = 0 Durum defterine bitleri bir uyandırma uykudan WDT zaman aşımı neden oldu göstermek için temizlenecektir.

Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...