Etkileşimli STM32 CAN ve Mesaj Filtreleme

İçindekiler

Etkileşimli STM32 CAN ve Mesaj Filtreleme#

STM32 / Ders 14

Bu laboratuvar, `CAN filter` kavramini yalnizca register ayari olarak degil; gereksiz frame'leri daha periferalde kesen, ISR/FIFO yukunu azaltan ve yanlis ayarda ise kritik mesajlari kacirabilen somut bir sistem karari olarak gorunur kilar. Hedef, `accept all`, `ID list` ve `ID mask` secimlerini ayni bus akisi uzerinden sezgisel hale getirmektir.

Ne Yap Bus profilini, filtre modunu, ID slotlarini, mask genisligini ve uygulama servis araligini degistir; ardindan kabul edilen frame sayisi, FIFO baskisi ve noise yukunu izle.
Ne Ogren `accept all`, `ID list`, `ID mask`, `false accept`, `useful miss` ve `FIFO overflow` kavramlarinin neden ayni karar zincirine ait oldugunu gor.
Gorev Once tum trafik acikken neden ISR yukunun arttigini gor. Sonra filtreyi daraltip gerekli frame'leri kacirmadan noise'u azaltacak bir ayar kur.
CAN filtresi "ne gelirse parser ayiklar" diye gecistirilebilecek bir ayrinti degildir. Filtre fazla gevsek olursa uygulama gereksiz trafik tasir; fazla sert olursa hayati frame'ler daha periferalde kaybolur.

Bu Derste Ne Oturmali?#

  1. Accept all, ilk deneme icin kolay gorunebilir ama gercek sistemde ISR ve FIFO yukunu gereksizce buyutebilir.

  2. ID list, belirli frame’leri tam isabetle almak icin temizdir; ama eksik slot secimi yararli mesajlari disarida birakabilir.

  3. ID mask, bir mesaj ailesini birlikte almak icin gucludur; fakat mask fazla genisse noise frame’leri de iceri alabilir.

  4. Dogru filtre secimi sadece register yazmak degil; uygulamanin hangi frame’lere ihtiyaci oldugunu, parser kapasitesini ve bus gurultusunu birlikte dusunmektir.

Not

Bir sonraki dogal laboratuvarlar USB CDC + ring buffer, stream buffer / message buffer, reset reason + backup registers ya da FDCAN + mailbox olabilir.