STM32 CAN Donanımında hata tespiti

Başlatan Mucit23, 01 Nisan 2019, 15:09:59

Mucit23

Selamlar

CM0 çipimde Can bus haberleşmesi yapıyorum. Can bus daha önce birçok kez kullanmıştım genel olarak yapıyı biliyorum. Güvenlik adına hata tespiti yapmam gereken bir durum var. İki cihaz birbirine karşılıklı olarak Can bus üzerinden mesaj gönderiyor. Arada herhangi bir şekilde Can bus donanımı sekteye uğrasa veya bağlantı kopsa kesme oluşmasını istiyorum.

Kesmeler aktif ve Mesaj gelince kesme oluşturabiliyor kesme içerisinde gelen mesajı okuyorum. Burada sıkıntı yok. Fakat normal çalışma esnasında örneğin CAN bağlantısını kopardığım da Herhangi bir kesme oluşmuyor. Çıkamadım işin içinden.

En basitinden Debug'da CAN->ESR(CAN error status register ) registerini inceliyorum hiçbir değişiklik olmuyor. Can kablosunu taktığımda normal olarak haberleşmeye devam ediyor sistem.

Kendim manuel yöntemlerle hata tespiti yapabilirim. Örneğin x sn kadar veri gelmezse şunu yap vs vs. Ama donanımsal olarak neden çalışmıyor onu merak ediyorum.

dumansiz

Bunun için "fault tolerant can transceiver" gerekmiyor mu? TJA1054 gibi.

Mucit23

Yapıyı tam olarak anlayabilmiş değilim. Fakat dahili can donanımının içerisinde hata tespiti yapılabilecek birçok interrupt kanalı var. Bunları çözemedim.

beatname

Merhabalar,

Daha önce STM32F103VBT6 ile yaptığım çalışmalarda ESR registerının çalıştığını görmüştüm. Basit bir can analyzer yapmıştım. Bus statuslarını bu register değerine göre TFT ekranda görüntülüyordum. Herhangi bir sorun olmamalı