STM32 / Ders 14

CAN ve Mesaj Filtreleme Laboratuvari

Bu demo, standart 11-bit CAN ID'leri uzerinden donen bir bus'ta filtre kararinin nasil CPU ve FIFO maliyetine donustugunu gorunur kilar. Ayni akista `accept all`, `ID list` ve `ID mask` secimlerini; yararli frame kaybi, false accept ve parser baskisi acisindan karsilastir.

Filtre Kontrolleri

Her tick'te bir frame geliyor; uygulama ise belirli araliklarla FIFO'dan bir frame cekiyor.

FIFO derinligi sabit: `3`. `Accept all` secimi parser'a bol miktarda frame tasiyabilir; dar filtre ise bazi gerekli ID'leri daha periferal seviyesinde kaybettirebilir. `ID mask` modunda esitlik: `(rx_id & mask) == (filter_id & mask)` olarak dusunulur.

0 Kabul edilen frame
0 Kacirilan yararli frame
0 False accept
0 FIFO overflow
0 Maks FIFO derinligi
%0 Filtre precision

Filtre Teshisi

Motor monitor
Yararli ID: uygulamanin gercekten istedigi frame Ayni aile: maskeye takilabilecek yakin noise Uzak traffic: diag/UI/debug FIFO dolarsa filtre karari yetmez; uygulama da yetismelidir

Zaman Cizelgesi

Bus, filtre, FIFO ve app parser ayni akista.
Yararli frame / parser use Ayni aileden noise Uzak noise frame FIFO dolu ama task henuz cekmedi FIFO kuyrugu Miss / overflow

Olay Gunlugu

Filtre kararinin pratik ozeti

    Mini Quiz

    CAN filtrelemenin en dogru gerekcesi hangisidir?

    Dogru secenegi tiklayip neden filtre kararinin parser maliyetiyle birlikte dusunulmesi gerektigini bir cümlede toparla.